您的位置:首页 > 理论基础 > 计算机网络

TCP/IP的层次结构以及各层数据封装的过程 (一)

2014-10-19 23:14 351 查看
(参考文献)TCP/IP详解,卷1:协议

Tcp/ip协议的四个层次:



在以上的图中,FTP属于应用层的协议,TCP、UDP属于运输层的协议。

在TCP/IP协议族中,网络层IP提供的是一种不可靠的服务,,它尽可能的把分组从源节点送到目的节点,但是并不提供任何可靠保证。而TCP在不可靠的IP层上提供了一个可靠的运输层(参见TCP三次握手),为了提供这种可靠的服务,TCP采用了超时重传,发送和接收的端到端的确认分组等机制。

TCP、IP协议的分层结构图:



在以上图中,ICMP(控制报文协议)是IP协议的附属协议,IP层用它来与其他主机或路由器交换错误报文和其他重要信息。

ICMP是Internet组管理协议,它用来把一个UDP数据多播到多个主机上。

互联网地址分类:



数据包的封装:



当应用程序用TCP传数据时,数据被送入协议栈中,由上到下对每一层的数据进行加工(主要是增加一些首部信息和尾部信息);TCP串给IP的数据单元被称为TCP报文段;IP传为网络接口层的数据单元被称为IP数据报;通过以太网传输的比特流称作帧。

封装流程图图下图:



UDP数据与TCP数据基本一致,唯一不同的是,UDP传给IP的信息单元称为UDP数据包,并且UDP的首部长为8字节。

在上面的TCP、IP的分层结构图中我们可以看见,用户程序、TCP、UDP、ICMP等都会向IP传送数据,因此在IP的首部加入了长度为8bit的标识;1表示ICMP协议,2表示IGMP协议,6表示TCP,17表示UDP协议。

TCP、和UDP在传送数据的过程中都会用到一个16bit的端口号来表示不同的应用程序TCP和UDP把源端口号和目的端口号分别存入报文首部中。(216= 65536)

网络接口通常要发送和接收IP、ARP、RARP数据,因此在以太网的首部(及帧的首部)也有一个16bit的标识。

数据帧的解析过程:



端口号的分配(216 = 65536):

在上面说了TCP和UDP采用了16bit的端口号来识别应用程序。

知名端口号一般位于:1 --- 255 之间

256 --- 1023的端口号,通常是由Unix系统占用(系统占用)

1024 ---5000 是大多数TCP、IP实现的临时分配

大于5000的一般是给其他服务预留的(Internet上并不常用的服务)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: