版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第3章数据链路层数据链路层的两种信道点对点信道:使用一对一的点对点通信方式实现协议是PPP(Point-to-PointProtocol)广播信道:使用一对多的广播通信方式实现协议是CSMA/CD(CarrierSenseMultipleAccesswithCollisionDetection)3.1.1链路、数据链路和帧链路(link):一条点到点的物理线路段,中间没有任何其他交换结点。链路是一条路径的组成部分数据链路(datalink):在物理线路上加上通信协议控制数据的传输。最常用的方法是使用适配器(即网卡)来实现协议的硬件和软件。把实现协议的硬件和软件加到链路上,构成数据链路。3.1使用点对点信道的数据链路层IP数据报1010……0110帧取出数据链路层网络层链路结点A结点B物理层数据链路层结点A结点B帧(a)(b)发送帧接收链路IP数据报1010……0110帧装入数据链路层传送的是帧数据链路层像个数字管道在两个对等的数据链路层之间画出一个数字管道,在数字管道上传输的数据单位是帧。结点结点帧帧数据链路层在网络互连中的地位广域网广域网主机
H1主机
H2路由器
R1路由器
R2路由器
R3电话网局域网链路层应用层运输层网络层物理层链路层应用层运输层网络层物理层链路层网络层物理层链路层网络层物理层链路层网络层物理层R1R2R3H1H2从层次上来看数据的流动广域网广域网主机
H1主机
H2路由器
R1路由器
R2路由器
R3电话网局域网链路层应用层运输层网络层物理层链路层应用层运输层网络层物理层链路层网络层物理层链路层网络层物理层链路层网络层物理层R1R2R3H1H2仅从数据链路层观察帧的流动3.1.2数据链路层解决的问题
1.封装成帧:在网络层交付下来的数据前后分别添加首部和尾部,构成帧。首部和尾部的作用是进行帧定界。2.透明传输:如何在收发两端透明传输数据帧。3.差错检测:检测传输过程中出现的差错1.封装成帧帧结束帧首部IP数据报帧的数据部分帧尾部
MTU数据链路层的帧长开始发送帧开始SOH装在帧中的数据部分帧帧开始符帧结束符发送在前EOT用控制字符进行帧定界帧定界使用帧定界符:SOH(StartOfHeader)、EOT(EndOfTransmission)发送端:在网络层交付下来的数据前后分别添加首部和尾部,构成链路层数据帧。然后在数据帧的前后分别添加开始和结束定界符,交付到物理层。接收端:收到物理层上交的比特流后,根据开始和结束定界符,识别帧的开始和结束。2.透明传输SOHEOT出现了“EOT”被接收端当作无效帧而丢弃被接收端误认为是一个帧数据部分EOT完整的帧发送在前解决方法:字节填充发送端的数据链路层在数据中出现控制字“SOH”或“EOT”的前面插入一个转义字符“ESC”(十六进制编码是1B)接收端的数据链路层在将数据送往网络层之前删除插入的转义字符。如果转义字符也出现数据当中,在转义字符前面插入一个转义字符。当接收端收到连续的两个转义字符时,就删除前面的一个。SOHSOHEOTSOHESCESCEOTESCSOHESCESCESCSOH原始数据EOTEOT经过字节填充后发送的数据字节填充字节填充字节填充字节填充发送在前帧开始符帧结束符用字节填充法解决透明传输的问题SOH3.差错检测为了保证数据传输的可靠性,在计算机网络传输数据时,必须采用各种差错检测措施。在传输过程中可能会产生比特差错:1可能会变成0,0也可能变成1。在一段时间内,传输错误的比特占所传输比特总数的比率称为误码率
BER(BitErrorRate)。循环冗余检验的原理
发送在前数据00…0(n
位)除法器FCS(n
位)得出余数发送方数据FCS除法器余数(n
位)得出余数接收方数据FCS(n
位)若余数为0则接受;否则丢弃。(n
位)在数据链路层传送的帧中,广泛使用了循环冗余检验(CRC)的检错技术。发送端:在数据分组的后面添加供差错检测用的n
位冗余码一起发送。接收端:对收到的帧进行CRC检验。余数为
0,则没有差错,接受(accept)。否则丢弃。冗余码的计算
用二进制的模
2
运算进行2n乘M的运算,这相当于在M后面添加n个0。用得到的数除以事先选定好的长度为(n+1)位的除数
P,得出商是Q而余数是R余数R比除数P少1位,即R是n
位。举例要发送的数:M=101001,被除数是:2nM=101001000(假设添加3位余数)设选定的除数
P=1101(n=3)模2运算的结果是:商
Q=110101,
余数
R=001把余数R作为冗余码添加在数据M的后面发送出去。则发送的数据是:2nM+R即:101001001
110101
←
Q
(商)P(除数)→
1101101001000
←
2nM(被除数)
1101
1110
1101
0111
0000
1110
1101
0110
0000
1100
1101
001←R(余数),作为FCS
接收端对收到的每一帧进行CRC检验
(1)若得出的余数R=0,则判定这个帧没有差错,接受(accept)。(2)若余数R
0,则判定这个帧有差错,丢弃。这种检测方法并不能确定究竟是哪一个或哪几个比特出现了差错。帧校验序列FCS
在数据后面添加上的冗余码称为帧校验序列
FCS(FrameCheckSequence)。循环冗余检验CRC和帧检验序列FCS不等同。CRC是一种常用的检错方法,而FCS是添加在数据后面的冗余码。FCS可以用CRC这种方法得出,但CRC并非用来获得FCS的唯一方法。
注意用循环冗余检验(CRC)技术只能做到无差错接受(accept)。“无差错接受”指:“凡是接受的帧(即不包括丢弃的帧),都能以非常接近于1的概率认为这些帧在传输过程中没有产生差错”。要做到“可靠传输”(即发送什么就收到什么)就必须再加上确认和重传机制。
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
评论
0/150
提交评论