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

(参考文献)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上并不常用的服务)


评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值