计算机网络-数据链路层的三个基本问题

主机之间交换数据就是应用层和应用层之间的通讯,需要将数据进行封装,在传输层进行分段,在网络层加上网络地址,在数据链路层加上MAC地址,封装成帧,然后在物理层上进行比特流的传输,到路由器接收到比特流后,先判断数据链路层,再看数据帧的网络层地址,再次重新封装传送,最后到达目的地的应用程序。

数据链路层的三个基本问题:

封装成帧、透明传输、差错控制

数据链路层使用的信道主要是俩种:点对点信道、广播信道。
点对点信道: 使用一对一的点对点的通信方式。
广播信道: 使用一对多的广播通信方式,因此过程较复杂。广播信道上连接的主机很多,因此必须使用专用的共享信道协议来协调这些主机的数据发送。

链路是一条点到点的物理线路段,中间没有其他任何的交换节点。
数据链路除了物理线路外,还必须有通信协议来控制这些数据的传输。把实现这些协议的硬件和软件加到链路上,就构成数据链路。

封装成帧:
数据链路层传送的内容是,是将网络层的数据封装成帧,加上头和尾,然后在物理层变为比特流或光信号进行传输。MTU为最大长度单元,最大为1500字节。
在传送数据帧时加上头尾,便于判断是否获取到整个数据帧,如果接收到的是没有头或尾的半帧,则会扔掉这个帧。

透明传输:
在传输过程中如果出现会被误认为开头或结尾的字符时,会对该字符进行字节填充或字符填充,接收端的数据链路层在将数据送往网络层之前会删除插入的转义字符。在这里插入图片描述
如果转义字符也出现在数据当中,那么在转义字符前插入一个转义字符。当接收端连续收到俩个转义字符时,会删掉其中前面的一个。
在这里插入图片描述
差错控制:
在数据链路层传输的帧中,广泛使用了循环冗余检验CRC的检错技术。假定待传送的一组数据M = 101011 为6个比特,即K = 6。
冗余码的计算:用二进制的模2运算进行2ⁿ乘M的运算,相当于在M后添加n个0。得到的(K+n)位的数除以事先选定好的长度为(n+1)位的除数P(除数P长度越大,检查错误的可能性越高),得出商和余数R,余数R比除数P少1位,即R是n位。在做除法运算中,相同得0,不同得1,不够除上0。得到的余数作为FCS(帧检验序列)。(CRC是验错方法,FCS是添加在数据后面的冗余码)
数据链路层使用循环冗余检验CRC差错检测技术只能做到无差错接受。即无差错才会接受,有差错就会丢掉。所以想要做到可靠传输就必须加上确认和重传机制。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值