1)为IP模块发送和接收IP数据报。
2)为ARP模块发送ARP请求和接收ARP应答。地址解析协议
3)为RARP发送RARP请 求和接收RARP应答。逆地址解析协议
最常用的以太网链路层协议,串行接口链路层协议(SLIP和PPP), 大多数实现都包含的环回(loopback)驱动程序, 还有PPP协议(adsl宽带)。
1.以太网和IEEE 802封装
目的地址及源地址都为48位,即硬件地址。
CRC为检验码。
2,SLIP:串行线路IP(Serial Line IP)
适用于家庭中每台计算机几乎都有的R S - 2 3 2串行端口和高速调制解调器接入Internet。
帧格式:1)IP数据报以0Xc0(END)分割;
2)IP数据报有END字符,由连续传输两个字节0Xdb(ESC)和0xdc取代;
3)IP数据报有ESC字符,由连续传输两个字节0Xdb和0xdd取代。
缺陷:1)每一端必须知道对方的IP地址;
2)帧中没有类型字段。如果一条串行线路用于S L I P, 那么它不能同时使用其他协议。
3)没有CRC字段。如果S L I P传输的报文被线路噪声影响而发生错误,只能通过上层协议来发现(另一种方法是,新型的调制解调器可以检测并纠正错误报文)。这样,上层协议提供某种形式的C R C就显得很重要。
3. PPP:点对点协议
点对点协议修改了SLIP协议中的所有缺陷:
标志7E 地址FF 控制03 协议(2字节) 信息(最多1500字节) CRC(2字节)标志7E
0021 IP数据报
C021 链路控制数据LCP(Link Control Protocol)
8021 网络控制数据NCP(Network Control Protocol)
0x7e转义:在同步链路中,该过程是通过一种称作比特填充(bit stuffing)的硬件技术来完成的。在异步链路中,特殊字符0x7d用作转义字符。当它出现在PPP数据帧中时,那么紧接着的字符的第6个比特要取其补码,具体实现过程如下:
1) 当遇到字符0x7e时,需连续传送两个字符: 0x7d和0x5e,以实现标志字符的转义。
2) 当遇到转义字符0x7d时,需连续传送两个字符: 0x7d和0x5d,以实现转义字符的转义。
3 ) 默认情况下,如果字符的值小于0x20(比如,一个ASCII控制字符),一般都要进行转义。例如,遇到字符0 x 0 1时需连续传送0x7d和0x21两个字符(这时,第6个比特取补码后变为1,而前面两种情况均把它变为0)。
PPP比SLIP优点: (1) PPP支持在单根串行线路上运行多种协议,不只是IP协议;
(2) 每一帧都有循环冗余检验CRC;
(3) 通信双方可以进行IP地址的动态协商(使用IP网络控制协议);
(4) 与CSLIP类似,对TCP和IP报文首部进行压缩;
(5) 链路控制协议可以对多个数据链路选项进行设置。为这些优点付出的代价是在每一帧的首部增加3个字节,当建立链路时要发送几帧协商数据,以及更为复杂的实现。
封装成帧,透明传输,差错检测
1.封装成帧:给数据添首部和尾部(其中加帧开始符SOH及帧结束符EOT)
2.透明传输:不管所传输数据是什么样的比特组合,都应当能够在链路上传输。所以,如遇到SOH就会出错,故用ESC SOH来取代SOH
3.差错检测:用CRC循环冗余检验。