BroadbandWirelessCommunicationsLaboratory,XidianUniversity1BWCXidianUniv.~~~~~~~~~~~~~第2章端到端的传输协议BroadbandWirelessCommunicationsLaboratory,XidianUniversity2BWCXidianUniv.~~~~~~~~~~~~~引言物理层是为链路层提供一组虚拟的比特管道。在这样的比特管道上如何形成一条可靠的业务通道为上层提供可靠的服务?为了形成一条可靠的业务通道,我们首先解决:–解决如何发现传输中的比特错误;–组帧:标识高层送下来的数据块(分组)的起止位置;–最后要解决的就是发现错误后,如何消除这些错误。BroadbandWirelessCommunicationsLaboratory,XidianUniversity3BWCXidianUniv.~~~~~~~~~~~~~引言根据通信双方所处的相对位置不同,所采用的解决方法(协议)也不同。–当通信双方之间是通过一条物理链路直接相连,这时需采用链路层的协议来解决数据帧的传输错误;–当通信双方是在一个通信子网内通过多条数据链路形成的通路相连,这时需要采用网络层的端到端传输协议来解决分组的传输错误;–当通信双方处于不同的通信子网时,需要采用运输层的端到端传输协议来解决报文的传输错误。BroadbandWirelessCommunicationsLaboratory,XidianUniversity4BWCXidianUniv.~~~~~~~~~~~~~内容2.1组帧技术2.2链路层的差错控制技术2.3标准数据链路控制协议及其初始化2.4网络层和运输层的点对点传输协议BroadbandWirelessCommunicationsLaboratory,XidianUniversity5BWCXidianUniv.~~~~~~~~~~~~~组帧技术物理层仅负责比特的传输,而不对比特的含义和作用进行区分。组帧便于差错的发现与消除当数据链路层将网络层的分组连续送到物理层进行传输时,如何组帧?–如何决定什么时刻是一帧(链路层传送的一个数据比特块(数据单元)称为一帧,每一帧通常运载网络层的一个分组)开始?–什么时刻是一帧结束?–哪一段是差错校验的比特?BroadbandWirelessCommunicationsLaboratory,XidianUniversity6BWCXidianUniv.~~~~~~~~~~~~~2.1组帧技术2.1.1面向字符的组帧技术2.1.2面向比特的组帧技术2.1.3采用长度计数的组帧技术BroadbandWirelessCommunicationsLaboratory,XidianUniversity7BWCXidianUniv.~~~~~~~~~~~~~2.1.1面向字符的组帧技术(1)物理层传输的基本单元是一个字符(通常用一个字符表示一个字节),并在此基础上形成具有一定格式的字符串。例如:RS-232C异步串行接口协议。该协议在传送每个字符(如一个字符由8个比特D7D6D5D4D3D2D1D0组成)前后分别加上起始位(D起)、停止位(D止),以便区分不同的字符。BroadbandWirelessCommunicationsLaboratory,XidianUniversity8BWCXidianUniv.~~~~~~~~~~~~~2.1.1面向字符的组帧技术(2)SLIP(SerialLineIP)—串行线路的Internet数据链路层协议PPP(Point-to-PointProtocol)—点-点协议SLIP与PPP用于串行通信的拨号线路上,是目前家庭计算机或公司用户通过ISP接到Internet主要的协议。BroadbandWirelessCommunicationsLaboratory,XidianUniversity9BWCXidianUniv.~~~~~~~~~~~~~SLIP协议(1)---RFC1055SLIP帧运载的是高层IP数据报。它采用两个特殊字符;END(十六进制C0H,H表示十六进制)和ESC(十六进制DBH)。CO的二进制编码比特序列是10000110000000END用于表示一帧的开始和结束。C0C0ENDEND字节11IP数据报BroadbandWirelessCommunicationsLaboratory,XidianUniversity10BWCXidianUniv.~~~~~~~~~~~~~SLIP协议(2)IP数据报中出现相同END字符?为避免收端错误地终止一帧的接收,SLIP中使用了转义字符ESC。END字符转换成ESC-END;ESC转换ESC-ESCC0DCC0DBC0ENDESCEND字节11111IP数据报BroadbandWirelessCommunicationsLaboratory,XidianUniversity11BWCXidianUniv.~~~~~~~~~~~~~SLIP协议(3)IP数据报中出现相同END字符?为避免收端错误地终止一帧的接收,SLIP中使用了转义字符ESC。END字符转换成ESC-END;ESC转换ESC-ESCC0DBDCDDC0DBDBC0ENDESCESCEND字节11111111IP数据报BroadbandWirelessCommunicationsLaboratory,XidianUniversity12BWCXidianUniv.~~~~~~~~~~~~~SLIP协议(4)收端只要收到END字符即表示一帧的开始或结束。每当遇到ESC字符就进行字符转换,恢复IP报文中的原有的END和ESC字符。这样就可以完全以一个IP数据报的形式向IP层提交数据。BroadbandWirelessCommunicationsLaboratory,XidianUniversity13BWCXidianUniv.~~~~~~~~~~~~~SLIP协议(5)CO的使用将影响SLIP帧数据的透明性;没有校验和字段,差错控制功能由高层的协议承担;SLIP协议并不是Internet的协议标准,因此不同版本的之间就会存在着差别,使得互连变得困难。BroadbandWirelessCommunicationsLaboratory,XidianUniversity14BWCXidianUniv.~~~~~~~~~~~~~PPP协议(1)PPP协议是Internet标准,RFC1660、RFC1661定义了PPP协议与帧结构;PPP协议处理了差错检测,支持面向字符型协议与面向比特型协议,可以支持IP协议及其他一些网络层协议(例如IPX协议);PPP协议不仅在拨号电话线,并且在路由器─路由器之间的专用线上广泛应用;PPP协议是在大多数家庭个人计算机和ISP之间使用的协议,它可以作为在高速广域网和社区宽带网协议族的一部分。BroadbandWirelessCommunicationsLaboratory,XidianUniversity15BWCXidianUniv.~~~~~~~~~~~~~PPP协议(2)7EH作一帧的开始和结束标志(F);地址(address):值为“FF”(11111111),表示网中所有的站都接收该帧控制(control):值为“03”(00000011)F7EAFFC03协议信息FCSF7EIP数据报字节1112不超过1500字节21F7EAFFC03F7EBroadbandWirelessCommunicationsLaboratory,XidianUniversity16BWCXidianUniv.~~~~~~~~~~~~~F7EAFFC03协议信息FCSF7EIP数据报字节1112不超过1500字节21F7EAFFC03F7EPPP协议(3)•协议域(两个字节)它标识出网络层协议数据域的类型。•0021H—TCP/IP•C021H表示该帧的信息是链路控制数据;•8021H表示该帧的信息是网络控制数据;•0023H—OSI•0027H—DEC•帧校验域(FCS)也为两个字节,它用于对信息域的校验。BroadbandWirelessCommunicationsLaboratory,XidianUniversity17BWCXidianUniv.~~~~~~~~~~~~~PPP协议(4)链路控制帧(LCP)网络控制帧(NCP)标志字段(7E)地址字段(FF)控制字段(03)链路控制数据帧校验字段(FCS)标志字段(7E)协议字段(C021)标志字段(7E)地址字段(FF)控制字段(03)网络控制数据帧校验字段(FCS)标志字段(7E)协议字段(8021)BroadbandWirelessCommunicationsLaboratory,XidianUniversity18BWCXidianUniv.~~~~~~~~~~~~~PPP协议(5)信息域中出现7EH,转换为(7DH,5EH)两个字符。当信息域出现7DH时,转换为(7DH,5DH)。当信息流中出现ASCII码的控制字符(即小于20H),即在该字符前加入一个7DH字符。F7EAFFC03协议信息FCSF7EIP数据报字节1112不超过1500字节21F7EAFFC03F7E7E7DBroadbandWirelessCommunicationsLaboratory,XidianUniversity19BWCXidianUniv.~~~~~~~~~~~~~2.1.1面向字符的组帧技术(3)这些帧结构在处理时非常简单,但缺点是效率较低,插入了许多转义字符。数据长度必须以字节为单位。BroadbandWirelessCommunicationsLaboratory,XidianUniversity20BWCXidianUniv.~~~~~~~~~~~~~2.1.2面向比特的组帧技术(1)在面向比特的组帧技术中,通常采用一个特殊的比特串,称为Flag,如0160(1j表示连续j个“1”)来表示一帧的正常结束和开始。当信息比特流中出现与Flag相同的比特串(如连续出现6个“1”)如何处理?BroadbandWirelessCommunicationsLaboratory,XidianUniversity21BWCXidianUniv.~~~~~~~~~~~~~11111101111111111011111000100插入比特原始帧01111110011111102.1.2面向比特的组帧技术(2)比特插入技术,–发端信息流中,每出现连续的5个“1”就插入一个“0”。这样被插“0”后的信息比特流中就不会有多于5个“1”的比特串。–接收端在收到5个“1”以后,如果收到的是“0”就将该“0”删去;如果是“1”就表示一帧结束。BroadbandWirelessCommunicationsLaboratory,XidianUniversity22BWCXidianUniv.~~~~~~~~~~~~~2.1.2面向比特的组帧技术(3)采用比特插入技术,除了消除信息帧中出现Flag的作用以外,它还带来其他