美文网首页收藏问题程序员
计算机网络知识持续构建(一)——概览篇

计算机网络知识持续构建(一)——概览篇

作者: liufxlucky365 | 来源:发表于2016-10-09 13:53 被阅读75次

    作为程序员,关于网络方面的知识是必不可少的,本系列以《计算机网络 自顶向下方法》为基础,为大家总结梳理计算机网络方面的主要知识体系和相关原理,必有疏漏错误的地方,欢迎大家指出分享

    网络模型

    可以说整个计算机网络都是围绕以下这个五层模型进行构建的,先大概看一下我自己总结的大白话版

    层级名称 主要相关协议 主要作用 传输内容
    应用层 HTTP、SMTP、FTP、DNS 应用之间数据交换 报文
    传输层 TCP、UDP 在不稳定的网络基础上实现可控(稳定)网络传输 报文段
    网络层 IP、DHCP、NAT 划分、定位网络,实现数据跨网络传输;构建路由表,转发数据报 数据报
    链路层 ARP、RARP、RIP 信道调度
    物理层 利用各种介质(双绞铜线、光纤、电磁波)实现0、1数据的真实传输

    始终不要忘记,我们构建网络的目的是为了实现远程终端之间应用的信息共享,也就是应用层的目的。由此出发,自上而下来分析,这个模型就很合情合理了,甚至可以理解为当时的最优可行解。

    1. 为了实现远程终端之间的数据传输,那首先我们需要能够在不同网络之间定位到目标终端,这就是网络层IP协议的主要作用
    2. 同时又由于网络层只能实现最大努力的交付,即不保证数据是否达到,为了实现可控(即确保百分百到达,或者可以丢失一部分数据),我们在网络层之上又构建了传输层来实现传输控制
    3. 有了地址和交付确认,我们现在还缺实现跨网络交换数据的“虚拟顺丰”,这便是链路层的作用,构建好各个网络的传输地址,逐级的交换数据,将数据送达到目标终端
    4. 说一千道一万,之前的几点都是模型的建立,真正要进行01数据传输,依赖的还是物理层,物理层利用各种物理介质的特性进行数据的传输

    首先对网络模型有个总体的了解,至于各层的细节,比如终端中包含了很多应用,如何区分?IP地址即将耗尽,如何最大效率的分配?一些企业的私有网络又是如何和因特网对接的?将会在之后陆续进行总结

    网络接入

    说了这么多,好像所有都是免费的啊,除了自己买根网线。那我们的网费都交给谁了?

    我们的网费都交给各级网络提供商了(ISP)。各大洲之间会有海底光缆进行互联,然后各个国家又有自己的主网络节点,然后各个地区都有ISP的节点,这些节点将散落在各个社区的住户接入了互联网

    <img src="http://liufxlucky365.github.io/images/computer_net_up_to_down/internet_world.png"/>

    另外值得一提的是谷歌由于财大气粗和出于安全考虑,自己完成了网络的接入,在各个国家建立了自己的节点,俨然一个小型ISP

    网络安全

    深入了解网络模型后,你会发现这里面有很多地方都是基于相信各个终端是不会作恶的(这主要是由于网络最初的建立便是基于“一群相互信任的用户连接到一个透明的网络上”),但现实中这几乎是不可能的,所以网络攻击手段层出不穷。

    比如网络嗅探,本来一些终端是应该忽略掉不是发给他的信息的,就比如学校传达室里的信件,谁都能够接触到,但应该又收信人查看,网络嗅探就是在窥伺别人的隐私

    又比如IP哄骗,快递员把邮件送到了你们的合租房,本来是你室友的东西,但你冒充了他,哄骗了快递员,将数据交付给了你

    另一个臭名昭著的是拒绝服务攻击(DoS),不断的对网络服务发起请求,直到其瘫痪为止,后来又演变为分布式的拒绝服务攻击(DDoS),消耗服务器资源的方式也层出不穷,最简单即暴力请求,复杂点的如利用TCP协议的一些特性,发送一些特制的报文,延长服务器的处理时间,消耗有限资源

    至此,我们大概对计算机网络模型有了一个肤浅的认识,然后将在以下各篇总结中对各个协议的主要细节和工作原理有更深刻的认识

    相关文章

      网友评论

        本文标题:计算机网络知识持续构建(一)——概览篇

        本文链接:https://www.haomeiwen.com/subject/thwpyttx.html