TCP/IP四层模型简单介绍

OSI七层参考模型

OSI(Open System Interconnection 开放系统互联)参考模型,是国际标准化组织(ISO)制定的一个用于计算机或通信系统间互联的标准体系。
OSI分为七层
应用层:为用户提供服务和协议
表示层:设备固有数据格式和网络标准数据格式的转换
会话层:通信的管理,负责建立和断开通信连接
传输层:管理两个节点之间的数据传输,负责数据的可靠传输
网络层:负责地址管理,路由选择
数据链路层:相邻设备之间的数据传输,差错控制等控制
物理层:关电信号的传递
OSI是一个理论上的网络通信模型,TCP/IP则是实际运行的网络协议。

TCP/IP四层模型

TCP/IP协议族分为四层,分别为应用层,传输层,网络层,链路层
应用层: 负责程序之间的数据沟通,应用层常用知名协议http超文本传输协议、Telnet网络远程访问协议、ftp文件传输协议、SMTP简单邮件传输协议,SNMP简单网络管理协议,同时可以自己定义协议。
传输层:为两台主机的应用程序之间提供端到端的数据传输,提供了两种不同的服务,面向连接,可靠的数据流TCP传输控制协议,和无连接,不可靠面向数据报传输的UDP用户数据报协议。
网络层:网络层主要提供地址管理,和路由选择,TCP/IP协议族中,网络层协议包括IP协议(网际协议)、ICMP (Internet控制报文协议),IGMP (Internet 组管理协议)。
链路层:链路层主要提供相邻设备之间的数据传输, 链路层主要实现三个目的:接受和发送ip数据包、接受发送ARP(地址解析协议)请求(获取目标主机的MAC地址) 、为发送RARP(逆地址解析协议,针对无盘机)请求和接收RARP应答,另外根据网络中硬件的不同,链路层有不同的协议,如以太网,令牌环网。

TCP/IP协议通信过程

局域网中ftp协议通信过程(忽略物理层光电信号的传输)
来自TCP/IP协议详解
发送端数据从应用层到链路层的过程为数据的封装,对端即接收端对数据进行分用

封装

应用程序需要传递信息时需要将传递的内容放入协议栈中,逐层添加每一层的控制信息,直到物理层转换比特流发送添加控制信息这个过程成为封装。
来自TCP/IP协议详解
tcp交给ip的数据包成为TCP报文段或者TCP段,IP递交给链入层的数据单元为IP数据报,链路层形成的数据单元为以太网桢。

分用

当主机拿到以太网桢进行解析的过程为分用,根据以太网帧的头部中协议类型可以判定是那个协议的数据包,另外以太网桢具有固定的头部和尾部大小,分离头部和尾部得到对应协议的数据包进行递交,假设为IP 协议,IP协议拿到数据包,根据IP数据报中头部中首部长度进行分离,同时根据服务类型判定上层协议类型进行递交,假设为TCP协议,当TCP协议拿到TCP报文段同样根据报文头中的首部长度进行分离,同时根据端口号进行数据的递交,应用层拿到数据通过自己定义的数据格式进行解析。这整个过程成为分用。另外这个过程还涉及到其他的将在后面解释协议时进行讲解如IP 分片,TCP 的可靠传输,TCP分组等很多其他过程。
来自TCP/IP协议详解

参考:《TCP/IP详解卷1:协议》 LawrenceBerkeley

猜你喜欢

转载自blog.csdn.net/Jocker_D/article/details/84307959