当应用程序用TCP传送数据时,数据被送入协议栈中,然后逐个通过每一层直到被当作一串比特流送入网络,这叫做封装;
TCP传给IP的数据单元称作TCP报文段或简称为TCP段(TCP segment)。
IP传给网络接口层的数据单元称作IP数据报(IP datagram)。
通过以太网传输的比特流称作帧(Frame )。
以太网数据帧的物理特性是其长度必须在46~1500字节之间。
IP和网络接口层之间传送的数据单元应该是分组(packet),分组既可以是一个IP数据报,也可以是IP数据报的一个片(fragment);
UDP数据与TCP数据基本一致,唯一的不同是UDP传给IP的信息单元称作UDP数据报(UDP datagram),而且UDP的首部长为8字节。
IP在首部中存入一个长度为8 bit的数值,称作协议域。1表示为ICMP协议,2表示为IGMP协议,6表示为TCP协议,17表示为UDP协议。
TCP和UDP都用一个16 bit的端口号来表示不同的应用程序。
TCP和UDP把源端口号和目的端口号分别存入报文首部中。
网络接口分别要发送和接收IP、ARP和RARP数据,因此也必须在以太网的帧首部中加入某种形式的标识,以指明生成数据的网络层协议。为此,以太网的帧首部也有一个16 bit的帧类型域。
*************************************************************
当目的主机收到一个以太网数据帧时,数据就开始从协议栈中由底向上升,同时去掉各层协议加上的报文首部。每层协议盒都要去检查报文首部中的协议标识,以确定接收数据的上层协议,这个过程称作分用(Demultiplexing)。
协议是通过目的端口号、源IP地址和源端口号进行解包的。
阅读(1057) | 评论(0) | 转发(0) |