网络七层模型和四层模型
网络 刘宇帅 6年前 阅读量: 2102
网络模型历史
在网络刚开始发展的时候,网络协议是由各个互联网公司自己定义的,各家协议不能互通。这大大限制了网络的发展,为了解决这个问题,国际标准化组织1984年提出了标准模型OSI(Open Systems Interconnection Model)标准。这只是一个标准,TCP/IP协议是基于此设计的。
OSI模型
OSI模型是从上而下的,越底层越接近硬件,越往上越接近软件。七层模型依次是物理层、数据链路层、网络层、传输层、会话层、表示层、应用层。这种分层是思想是计算机科学中常用的方法,分层的好处就是各层只需要按照规定的接口和其他层交互,不需要管各层的具体实现,这样当需要某一层需要做调整时也能够在不影响其他层的前提下完成。
各层功能职责
- 物理层:底层数据传输,如网线、网卡标准等。
- 数据链路层:定义数据基本格式,如何传输、如何标识,如网卡MAC地址。
- 网络层:定义IP编址、路由功能,如不同设备的数据转发
- 传输层:端到端的传输数据的功能,如TCP、UDP
- 会话层:控制应用程序之间会话功能,如不同软件数据分发给不同软件
- 表示层:数据格式标识,压缩加密等功能
- 应用层:各种应用软件,如web应用等
数据交互
我们简化模型,假设有 计算机 A 和 计算机 B 要进行信息交互,比如 A 上开发了一个网页,需要 B 去访问。B 发出一个请求给 A,那么请求数据从 B 的 应用层开始向下传到表示层、再从表示层传到会话层直到物理层,通过物理层传递到 A ,A 的物理层接到请求后将请求向上传递到自己的应用层,应用层再将要请求的数据向自己的物理层方向传递然后 B 接到数据传递数据到自己的应用层。
TCP/IP四层协议
四层协议是对OSI七层协议的实现,并简化为四层,分别为应用层、传输层、网络层、数据链路层。
应用层
应用层决定了向用户提供应用服务通信的活动。
TCP/IP预存了各类通用的应用服务。比如,FTP、DNS、HTTP、SMTP、TELNET、IRC、WHOIS等
传输层
传输层对上层应用层提供了网络连接中的两台计算机之间数据的传输。
传输层包含两个性质不同的协议:传输控制协议TCP、用户数据报协议UDP。
网络层
网络层用来处理在网络上流动的数据包。数据包是数据包是网络传输的最小单元。该层规定了通过怎样的路径到达目标计算机,并把数据传送给对方。
与对方计算机之间通过多台计算机或网络设备进行传输时,网络层所起的作用就是在众多的选项内选择一条传输路线。网络层协议ICMP、IP。
数据链路层
用来处理连接网络的硬件部分。包括控制操作系统、硬件驱动、NIC(网卡)及光纤等物理可见部分。包括ARP、RARP。
四层协议数据传输流
TCP/IP协议族进行网络通信时,会通过分层顺序与对方进行通信。发送端从应用层往下走,接受端则由数据链路层往上走。
我们用HTTP举例说明,首先作为发送端的客户端在应用层(HTTP协议)发出一个想看web页面的请求,接着为了传输方便传输层(TCP协议)把应用层接收到数据(HTTP请求报文)进行分割,并在各个报文上打上序号及端口号后转发给网络层,在网络层(IP协议)增加座位通信目的地的MAC地址后转发给链路层。这样以来发送网络的通信请求就准备齐全了。
作为接收端服务器在链路层接收数据,按顺序往上层发送,一直到应用层,直到应用层才算真正接收到客户端发送来的HTTP请求。
发送端在层与层之间传输数据时,每经过一层必定会打上一个该层所属的首部信息。反之,接收端在层与层传输数据时每经过一层会把对应首部消去。