1.TCP/IP 协议族
在TCP/IP 协议族中,有很多种协议,如图2-3-1 所示。
图2-3-1 TCP/IP 协议族
TCP 和UDP 是两种最著名的传输层协议,二者都使用IP 作为网络层协议。虽然TCP 使用不可靠的IP 服务,但它提供一种可靠的传输层服务。UDP 为应用程序发送和接收报文。报文是指从发送方传输到接收方的信息单元,与TCP 不同的是,UDP 是不可靠的,它不能保证报文能安全无误地到达最终目的地。
IP 是网络层上的主要协议,同时被TCP和UDP 使用,网络层又称IP 层。TCP 和UDP 的每组数据都通过端系统和每个中间路由器中的IP 层在互联网中进行传输。
ICMP 是IP 协议的附属协议。IP 层用它来与其他主机或路由器交换错误报文和其他重要信息。尽管ICMP 主要被IP 层使用,但应用程序也有可能访问它,如Ping 和Traceroute都使用了ICMP。
ARP (地址解析协议)和RARP (反向地址转换协议)是某些网络接口(如以太网和令牌环网)使用的特殊协议,用来转换IP 层和网络接口层使用的地址。
2.封装
当应用程序用TCP 传送数据时,数据被送入协议栈,然后逐个通过每一层,直到被当作一串比特流送入网络。其中每一层对收到的数据都要增加一些首部信息(有时还要增加尾部信息),该过程称为封装,如图2-3-2 所示。TCP 传给IP 的数据单元称为TCP 报文或TCP 段(TCP segment)。IP 传给网络接口层的数据单元称为IP 数据报(IP packet)。通过以太网传输的比特流称为帧(frame)。(www.xing528.com)
图2-3-2 用户数据的封装过程示意
许多应用程序都使用TCP 或UDP 来传送数据,因此传输层协议在生成报文首部时要存入一个应用程序的标识符,以表明数据来源于哪种应用程序。为此,TCP 和UDP 都用一个16 位的端口号来表示不同的应用程序。TCP 和UDP 把源端口号和目的端口号分别存入报文首部。
与之类似,TCP、UDP、ICMP 和IGMP 都要向IP 传送数据,因此IP 必须在生成的IP 首部中加入某种标识,以表明数据属于哪一层。为此,IP 在首部中存入一个长度为8 位的数值,称为协议域。1 表示ICMP 协议,2 表示IGMP 协议,6 表示TCP 协议,17 表示UDP 协议。
网络接口分别要发送和接收IP、ARP 和RARP 数据,因此也必须在以太网的帧首部加入某种形式的标识,以指明生成数据的网络层协议。因此,以太网的帧首部也有一个16 位的帧类型域。
3.分用
当目的主机收到一个以太网数据帧时,数据就开始从协议栈由底向上升,同时去掉各层协议加上的报文首部。每层协议盒都要检查报文首部的协议标识,以确定接收数据的上层协议。这个过程称为分用。以太网数据帧的分用过程如图2-3-3 所示。
图2-3-3 以太网数据帧的分用过程
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。