第一节 引言
链路层的三个目的:
1. 为ip模块发送和接收ip数据报
2. 为arp模块发送arp请求和接受arp应答
3. 为rarp发送rarp请求和接受rarp应答
第二节 以太网和IEEE802封装
1. 802.3针对整个CSMA/CD网络
2. 802.4针对令牌总线网络
3. 802.5针对令牌环网络
主机需求rfc要求每一台internet主机都与一个10Mb/S的以太网电缆箱连接:
1. 必须能发送和接受rfc 894封装格式的分组
2. 应该能接收与rfc 894混合的rfc 1042封装格式的分组
3. 也许能够接收与rfc1042格式封装的分组。
最常使用的封装格式是rfc 894
两种帧格式都采用48bit的目的地址和源地址,arp和rarp协议对32bit的ip地址和48bit的硬件地址进行映射
802标准定义的帧格式中,长度字段是指它后续数据的字节长度,但不包括Crc检验码。类型字段定义了后续数据的类型,由后续的子网接入协议的首部给出。幸运的是,802定义的有效长度值和有效类型值无一相同,这样就可以将两种帧格式进行区别。
802.3标准定义的帧和以太网的帧都有最小长度的要求。802.3规定数据部分必须至少为38字节,而对以太网,则要求至少要有46字节。为了保证这一点,必须在不足的空间插入填充字节
第二节 PPP:点对点协议
1. 在串行链路上封装IP数据报的方法。PPP既支持数据位8位的和无奇偶检验的异步模式,还支持面向比特的同步链接。
2. 建立,配置,测试数据链路的链路控制协议(LCP),它允许通信双方进行协商,以确定不同的选项
3. 针对不同的网络层协议的网络控制协议(NCP)体系,当前rfc定义的网络层有IP,osi网络层,DECnet及AppleTalk
因为标志字符是0x7e,因此当该字符出现在信息字段中,ppp要对它进行转义,在同步链路中,该过程是通过一种叫比特填充的硬件技术来完成,在异步链路只能够,特殊字符0x7d用作转义字符,当它出现在ppp数据帧中,那么紧接着的字符的第六个比特要取其补码:具体过程如下:
1当遇到字符0x7e ,需要连续传输两个字符 :0x7d,0x5e,以实现标志字符的转义
2 当遇到转义字符0x7d,要连续传送两个字符,0x7d和0x5d,一实现转义字符的转义。
3默认情况下,如果字符的值小于0x20,一般要进行转义。这样做的原因是防止他们出现在双方主机的串行接口驱动程序或调制解调器中,因为有时他们会把这些控制字符解释为特殊的含义。另一种可能是用链路控制协议来制定是否需要对这32个字符中的某一些进行转义,默认是都转。
与slip类似,由于ppp常常用于低速串行链路,因此减少每一帧的字节数可以降低应用程序的交互时延。大多数的产品都通过协商可以省略标志符和地址字段,并把协议字段由两个字节减少到一个字节。
Ppp相对slip具有以下优点:
1. ppp支持在单根串行线路上运行多种协议,不只是ip协议
2. 每一帧都有循环冗余检验
3. 通信双方可以进行ip地址的动态协商
4. 对tcp和ip报文首部进行压缩
5. 链路控制协议可以对多个数据链路选项进行设置