现在Internet使用的主流协议族是TCP/IP协议族,它是一个分层,多协议的通信体系。TCP/IP协议族是一个四层协议系统,自底而上分别是数据链路层、网络层、传输层和应用层。每一层完成不同的功能,且通过若干协议来实现,上层协议使用下层协议提供的服务。
1、数据链路层
数据链路层实现了网卡接口的网络驱动程序,以处理数据在物理媒介上的传输。不同的物理网络具有不同的电气特性,网络驱动程序隐藏了这些细节,为上层协议提供一个统一的接口。
数据链路层常用的协议是ARP协议和RARP协议。他们实现了IP地址和机器物理地址之间的相互转换。因为网络层使用IP地址寻址一台机器,而数据链路层使用物理地址寻址一台机器,因此网络必须先将目标机器的IP地址转换成其物理地址,才能使用数据链路层提供的服务,这就是ARP协议的用途。RARP协议则仅使用于网络上某些无盘工作站。
2、网络层
网络层实现数据包的选路和转发,即数据通过发送方发出后,如何在广域网中选择合适的路线到达接受方。网络层最核心的协议是IP协议。IP协议根据数据包的目的IP地址来决定如何投递它。如果数据包不能直接发送给目标主机,那么IP协议就为它寻找一个合适的下一跳路由器,并将数据包交付给该路由器转发。多次重复这一过程,数据包最终到达目标主机,或者由于发送失败而被丢弃。
网络层另外一个重要的协议是ICMP协议(因特网控制报文协议)。它是IP协议的重要补充,主要用于检测网络连接。ICMP协议使用的报文格式如下:
8位类型 | 8为代码 | 16位校验和 |
8位类型字段用于区分报文类型。它将ICMP报文分为两大类:1、差错报文:这类报