首页 理论教育TCP/IP通信处理方法

TCP/IP通信处理方法

【摘要】:TCP/IP体系结构通信过程和OSI参考模型通信处理过程类似,也是经过了发送端的封装与接收端的解封装两个过程,如图3—8所示。图3—8TCP/IP体系结构通信处理过程每个分层中,都会对所发送的数据附加一个首部,在这个首部中包含了该层必要的信息,如发送的目标地址及协议等相关信息。

TCP/IP体系结构通信过程和OSI参考模型通信处理过程类似,也是经过了发送端的封装与接收端的解封装两个过程,如图3—8所示。

图3—8 TCP/IP体系结构通信处理过程

每个分层中,都会对所发送的数据附加一个首部,在这个首部中包含了该层必要的信息,如发送的目标地址及协议等相关信息。通常,为协议提供的信息为包首部,所要发送的内容为数据。网络中传输的数据包由两部分组成:一部分是协议所要用到的首部,另一部分是上层传过来的数据。包首部就像是一列火车的火车头。首部的结构由协议的具体规范详细定义。例如,识别上一层协议的域应该从包的哪一位开始取多少个比特,如何计算校验和并插入包的哪一位,等等。相互通信的两端计算机如果在识别协议的序号以及校验和的计算方法上不一样,就根本无法实现通信。

1.发送端数据封装过程

如图3—9(a)所示,在发送端,应用程序将数据交给应用层,应用层完成相应的处理后(如编码、加解密等)交给传输层,传输层附加相应的协议首部后把数据提交给网络层,网络层将数据封装在一个报头内,该报头包含了完成这个传输所需要的信息,如源地址和目的地址。然后交给数据链路层,它把网络层信息封装在一个帧内。帧头包含了用来完成数据链路功能要求的信息,如物理地址。最后物理层把数据链路帧编码成能在介质中传输的“1”和“0”模式。图3—8(b)所示是传输TCP应用的数据的封装过程。

图3—9 发送端数据封装过程

2.接收端数据解封装过程

如图3—10所示,接收端将接收到的数据从TCP/IP体系结构的底层开始依次去掉每一层相应的首部,最后还原成不带任何层次首部和其他信息的数据送给应用程序。(www.chuimin.cn)

图3—10 接收端数据解封装过程

3.数据包的整体结构

数据包经过发送端、接收端、中途转发的设备时,从前往后依次被附加了以太网包首部(包括LLC首部和MAC首部)、IP包首部、TCP包首部(或者UDP包首部)以及应用自己的包首部和数据。而包的最后则追加了以太网包尾(Ethernet Trailer),如图3—11所示。

图3—11 数据包的整体结构中主要选项

每个包首部中至少都会包含两个信息:一个是发送端和接收端地址,另一个是上一层的协议类型。经过每个协议分层时,都必须有识别包发送端和接收端的信息。数据链路层会用MAC地址,网络层会用IP地址,而传输层则会用端口号作为识别两端主机的地址。即使是在应用程序中,像电子邮件地址这样的信息也是一种地址标识。这些地址信息都在每个包经由各个分层时,附加到协议对应的包首部里。

此外,每个分层的包首部中还包含一个识别位,它是用来标识上一层协议的种类信息。例如,以太网的包首部中的以太网类型,IP首部中的协议类型以及TCP/UDP首部中两个端口的端口号等都起着识别协议类型的作用。就是在应用层的首部信息中,有时也会包含一个用来识别其数据类型的标签。