一文读懂七层模型

2017-11-23 09:51:00 4968 3 编辑:深正互联 来源:互联网

网络通信

在介绍HTTP协议之前,笔者先给大家讲解一下网络通信的基本原理。为了保证数据能够从目标源到达目的地,并且保证数据的完整性,两端都要使用的规范就是协议。协议决定了数据的格式和传输的一组规则或者惯例。

数据经过转化以电子信号的形式在目标之间进行传递,在目的地再把数据还原成原始状态。为了降低网络设计的复杂性,将协议进行了分层设计,意义在于用户服务层模块独立于通信线路和通信硬件接口,使得应用层协议的设计只关注应用本身,而不必关心底层的是怎么实现的。

1.jpg

数据在传输的时候,从最原始的数据经过一层又一层的处理,最后变成电子信号,通过网线光缆传输数据;在到达目的地之后,从电子信号开始,一步一步向上解析,还原成最原始的数据。那么,是什么保证了数据在还原的时候不会出错呢?这就是协议,在每一次处理数据的时候,都会给这个数据加上一个自己的协议包头,这样在解析数据的时候只要按着这些包头解析就不会出错了。

1.jpg

举一个邮局的例子。应用层就好比写信人和收信人,笔者要写信给小明,用的协议就是汉字,这样双方都能看得懂;写完之后笔者将信交给邮局,邮局就好比传输层,负责处理我们的信件,邮局和邮局之间也使用相同的协议(信件分发规则,或者内部查询代码等),便于邮局之间的沟通;之后再通过运输部门送到指定的地点

1.jpg

由于OSI模型过于复杂,因而并没有得到广泛应用。20世纪70年代中期,美国国防部为ARPANET开发了TCP/IP网络体系结构。TCP/IP是一组用于实现网络互连的通信协议。Internet网络体系结构以TCP/IP为核心。基于TCP/IP的参考模型将协议分成4个或5个层次,4层分别是网络接口层、网络层、传输层(主机到主机)和应用层。而TCP/IP模型因其开放性和易用性在实践中得到了广泛应用,TCP/IP协议栈也成为互联网的主流协议。TCP/IP模型图下图所示。

1.jpg

TCP/IP各层对应的协议如下图所示。

1.jpg

结合上图,我们来看一下数据是怎么传输的。数据在传输的时候,首先由应用层的协议封装后传递给传输层;传输层封装TCP头部,交给网络层;网络层封装好IP头之后,再交给数据链路层封装Ethernet帧头和帧尾;最后交给物理层,物理层以比特流的形式将数据发送到物理的线路上,如下图所示。

1.jpg

下面笔者再针对每一层进行简单的说明。

1.物理层

物理层是TCP/IP模型的底层,为设备之间的数据通信提供可靠的物理连接。物理层定义了物理链路的建立、维护和规范。在物理层,包括信号线的功能、0和1的电平表示、数据传输速率、物理连接器规格及其相关属性。物理层的作用是通过传输介质发送和接收二进制比特流。

物理层的设备包括光钎、电缆、无线信道、计算机、终端、插头、接收器、发送器等,用来给数据传输提供介质。

2.数据链路层

物理链路层是为网络层提供服务的,解决了两个节点之间的通信问题。传输的数据单元为帧。该层负责网卡设备的驱动、帧的同步、冲突检测、数据差错校验等工作。

数据帧中包含物理地址(MAC地址)、控制码、数据及校验码等信息。通过校验、确认和反馈重发等手段,将不可靠的物理链路转成为对网络层来说无差错的数据链路。此外还会协调收发双方的传输速率,进行流量控制,防止接收方因来不及处理发送方传来的高速数据而导致缓冲器溢出及线路阻塞。

交换机由于运行在数据链路层,所以被称为二层网络设备。它一般只认帧中的源和目的地的MAC地址进行数据传输。优点是算法简单,转发效率极高;缺点是只能识别MAC地址,不能划分子网。

3.网络层

网络层负责点到点的传输,即从一台设备到另一台设备。通过全局唯一的IP地址来保证数据准确无误地到达指定的目标端。网络层定义了基于IP的逻辑地址,能够连接不同的媒介类型,并且会选择数据通过网络的最佳途径。为了防止通信子网中出现过多的数据包而造成网络阻塞,网络层还有对流入的数据包数量进行控制的权利;当数据包要跨越多个通信子网才能到达目的地的时候,还能解决网际互连的问题。

网络层为传输层提供服务,其主要作用是提供全局唯一的网络地址。网络层地址由两部分地址组成:网络地址和主机地址。基本的数据单位是IP数据报。

路由器在网络层,所以是第三层设备。互联网上有大量的路由器负责根据IP地址选择合适的路径转发数据包,数据包从源到目的地,往往要经过十几台路由器。同时,路由器还具有交换机的功能,可以在不同的链路层接口之间转发数据包,因此路由器需要将传进来的数据包拆掉网络层和链路层两层首部并重新封装。IP协议不能保证传输的可靠性,数据包在传输过程中可能会丢失,可靠性可以在上层协议或应用程序中提供支持。

4.传输层

我们知道,网络层仅仅保证了源主机和目标主机的连接,IP协议并不能保证数据的安全性和可靠性。

于是,基于IP协议,又有了第四层——传输层协议,负责为上层协议提供可靠和透明的数据传输服务,包括处理差错控制和流量访问等。该层向高层屏蔽了下层数据通信的细节,使高层用户看到的只是在两个传输实体间的一条从主机到主机的、可由用户控制和设定的、可靠的数据通路。

传输层的协议数据单元称为段或报文。主要的协议有TCP(TransmissionControl Protocol)和UDP(User Datagram Protocol)。TCP是面向连接的可靠传输协议,UDP用于提供简单的无连接服务。

5.应用层

传输层仅仅保证了数据安全、可靠地传递,并不能确定数据的准确去向,也就是准确到达指定的服务或者应用,于是就有了基于TCP/IP或者UDP/IP协议的应用层。

应用层为用户提供所需的各种服务,是用户与网络的接口。该层通过应用程序来完成网络用户的应用需求。应用层提供的协议主要有文件传输协议(FTP)、超文本传输协议(HTTP)、简单邮件传输协议(SMTP)、域名系统(DNS)、动态主机配置协议(DHCP)等。

目标主机收到数据包后,如何经过各层协议栈最后到达应用程序呢?整个过程如下图所示。

1.jpg



本站文章均为深正网站建设摘自权威资料,书籍,或网络原创文章,如有版权纠纷或者违规问题,请即刻联系我们删除,我们欢迎您分享,引用和转载,但谢绝直接搬砖和抄袭!感谢...
关注深正互联

15

技术从业经验

多一份方案,会有收获...

联系深正互联,免费获得专属《策划方案》及报价

在线咨询
微信交谈
拒绝骚扰,我们只想为给您带来一些惊喜...
多一份免费策划方案,总有益处。

请直接添加技术总监微信联系咨询

深正互联微信
扫描即可沟通