数据链路层不是TCP/IP协议的一部分,只是TCP/IP赖以存在的基础,提供了各种通信网与TCP/IP之间的接口。 各物理网络可以使用自己的数据链路层协议和物理层协议。 在数据链路层使用得最为广泛的就是SLIP和PPP协议。 一、串行线路网际协议SLIP(Serial Line IP)
串行线路网际协议 SLIP:是一个在串行线路上对IP分组进行封装的简单的面向字符的协议,用以使用户通过电话线和调制解调器接入Internet。
SLIP帧的封装规则: IP数据报的首尾各加上一个特殊标志字符END,其编码为0xC0(11000000)。 若IP数据报中的某个字节恰与特殊标志字符END的编码(0xC0)一样,则需用2字节序列0xDB(称为SLIP转义字符)和0xDC替换该字节。 若IP数据报中某个字节恰与SLIP转义字符一样,则需用2字节序列0xDB和0xDD将它替换。 SLIP协议的缺点: 没有校验字段,不提供差错检测的功能,只能靠高层检验差错; 不能提供对方的IP地址,对无固定IP地址的拨号入网的用户来说不方便; 无协议类型字段,仅支持IP协议,而不支持其他的协议。 适用:低速串行线路中的交互性业务(附加信息开销大,数据传输效率较低)。 CSLIP协议(压缩的SLIP):在连续发送的数据报分组中会有许多相同的首部字节,若某一字段和前一分组中的相应字段相同,则不发送这个字段;若某一字段和前一个分组中的相应字段不同,则只发送改变的部分。 二、点对点的PPP协议(Point-to-Point Protocol) 作用:完成链路的操作、维护和管理功能。 运行条件:只需提供全双工电路(专用的或交换式的)以实现双向的数据传输。 1、PPP协议的构成 在串行链路上封装IP数据报的方法:既支持异步链路(无奇偶校验的8比特数据),也支持面向比特的同步链路。 链路控制协议LCP:用于建立、配置和测试数据链路连接,通信的双方可协商一些选项。 网络控制协议NCP:用于建立、配置多种不同网络层协议, 每种网络层协议需要一个NCP来进行配置,在单个PPP链路上可支持同时运行多种网络协议。 2、 PPP的帧格式
标志字段(F1ag),编码为01111110(0x7e),是帧的定界符,用以标识一帧的开始和结束。 地址字段(Address),编码为11111111(0xff),采用标准的广播地址。 控制字段(Contro1),编码为00000011(0x03),是一个无编号帧。 协议字段(Protocol), 用于标识封装在PPP帧中的信息所用的协议类型。 信息字段(Information),包含零个或多个字节,是网络层协议数据报,缺省最大长度为1500个字节。 FCS帧校验序列字段,用16比特的循环冗余校验CRC计算校验和。 PPP是面向字符的,帧长度都是整数个字节。 字符填充法:将信息字段中出现的每一个0x7E字符转变成为2字节序列0x7D和0x5E;若信息字段中出现一个0x7D字符则将其转变成为2字节序列0x7D和0x5D;若信息字段中出现ASCII码的控制字符(即小于0x20的字符),则在该字符前面要加入一个0x7D字符。 3、PPP的协议族 1)链路控制协议LCP(Link Control Protocol) 作用:用于建立、配置、维护和终止点对点的链路层连接。 工作过程:——通过交换LCP帧来实现 第一阶段:链路的建立和配置协调; 第二阶段:链路质量检查(可选),决定链路是否满足网络层协议的要求; 第三阶段:网络层协议配置; 第四阶段:关闭链路,可随时关闭链路,多因用户要求或发生物理故障。 LCP的三种帧: 链路建立帧:用于建立和配置PPP链路并确定与该链路相关的参数; 链路终止帧:用于终止PPP链路; 链路维护帧:用于管理和调试PPP链路。 2)网络控制协议NCP(Network Control Protocol) PPP使用一组网络控制协议NCP配置不同的网络层,其中普遍使用的是用于配置IP层的IP控制协议IPCP(Internet Protocol Control Protocol)。 使用与LCP相同的报文结构及协商机制完成选项协商的任务。 4、PPP的运行机制 PPP不提供使用序号和确认的可靠传输。 当用户拨号接入ISP时,路由器的调制解调器对拨号应答并建立一条物理连接; PC机向路由器发送一系列LCP分组(封装成多个PPP帧),选择将要使用的一些PPP参数; 进行网络层配置,NCP给新接入的PC机分配一个临时的IP地址。 当用户通信完毕时,NCP释放网络层连接,收回原来分配出去的IP地址; LCP释放数据链路层连接; 最后释放的是物理层连接。
|