当应用程序使用TCP传输数据时,数据经过协议栈中四层中的每一层,直到被当作二进制流发送到网络中。其中每一层都会在上层数据的基础上增加一些信息,通常是一些首部信息,有时候也会在尾部增加。
TCP传给IP的数据单元称作TCP报文段或简称为TCP段。IP传给网络接口层的数据单元称作I P数据报。通过以太网传输的二进制流称作帧。以太网的数据帧必须保证在46-1500字节的范围内。
UDP数据和TCP数据大致相同,不同的是UDP发送给IP的数据被称为UDP数据报。
因为TCP,UDP,ICMP等协议都会发送数据给IP,因此IP层必须进行区分。所以IP在首部添加了一个8位的数值,称为协议域。1表示为ICMP协议,2表示为IGMP协议,6表示为TCP协议,17表示为UDP协议。
很多应用程序都可以使用TCP或者UDP传输数据,因此必须进行区分。运输层的协议的首部包含一个应用程序的标识符。TCP和UDP都使用一个16位的端口号表示应用程序。TCP和UDP中的首部包含源端口号和目的端口号。以太网帧也要进行类似的处理。