(一)如何在一条物理链路上进行有效和可靠的数据传输
——数据链路层传输协议
(1)标识高层送下来的数据块的起止、特定内容(例如校验比特)的位置
——组帧技术
(2)如何发现传输中的错误
——差错检测技术
(3)如何消除传输中的错误
——自动请求发端重发技术(ARQ)
(二)如何在跨越多条物理链路或多个网络的一条路径上进行可靠的数据传输
——网络层、运输层传输协议
(1)网络层的端到端传输协议
——会话过程的标识/分组的标号、差错控制、流量控制
(2)运输层的端到端传输协议
——差错控制、流量控制
一、组帧技术
决定一帧的开始和结束以及差错校验比特的位置
1. 面向字符的组帧技术
物理层传输的基本单位是一个字符(一个字节),并在此基础上形成具有一定格式的字符串。
Internet中常用的面向字符的组帧协议:SLIP(Serl Line IP)和PPP(Point-to-Point Protocol)。
SLIP协议
采用特殊字符END(0xC0)表示一帧的开始和结束。
为避免收端错误地终止一帧的接收,使用转移字符ESC(0xDB)
IP数据报中的END(0xC0)和ESC(0xDB)进行如下转换:
0xC0->0xDB 0xDC 0xDB -> 0xDB 0xDD
优点:帧结构在处理时非常简单
缺点:插入许多转义字符,效率较低;数据长度必须以字节为单位,灵活性差。
2. 面向比特的组帧技术
通常采用一个特殊的比特串,称为Flag,如01(6)0来表示一帧的正常开始和结束。
01(6)0:01111110
当信息比特流中出现与Flag相同的比特串(如连续出现6个1)时,采用比特插入技术。
比特插入技术:
发端信息流中,每出现连续的j-1个1就插入一个0。
收端在收到j-1个1以后,如果收到的是0就将该0删去,如果是1就表示一帧结束。
优点:比特插入开销小,效率较高;数据传输以比特为单位,灵活性高。
3. 采用长度计数的组帧技术