计算机网络学习(四)——链路层

来源:互联网 发布:外置式网络打印服务器 编辑:程序博客网 时间:2024/05/17 05:00

链路层的主题部分在主机的网络适配器中实现。提供的服务有:成帧(把网络层数据封装成链路层)、链路接入、可靠交付和差错检测。

1.差错检测

奇偶校验

一维奇偶校验在d个数据比特后附加一个校验位使得这d+1个比特中1的个数为偶数。
二维奇偶校验把这d个数据分为i行j列,对每行每列都生成一个校验位,这样不但能够锁定差错位置,还能够纠错(其实两者相同的)。

检验和方法

把d个比特作为一个k比特整数序列处理,把它们加起来得到的和作为差错检验比特。

循环冗余检测

2.多路访问链路和协议

解决多个节点传输的帧在接收方碰撞(数据杂在一起,资源被浪费)的问题

信道划分协议

时分多路复用(TDM):把时间划分为若干个时间帧,把每个时隙分配给N个节点中的一个。
频分多路复用(FDM):把信道划分为多个频段,每个节点使用一个频段
码多分址(CDMA):为每一个节点分配不同的编码,然后每个节点用它唯一的编码对发送的数据进行编码。这样即使多个节点的信息杂糅在一起也能够让各自的接收方正确接收信息。

随机接入协议

一个传输节点占用信道全部速率进行发送,当有碰撞时,等待一个随机时延然后重复发送。
时隙ALOHA:
我们假定所有帧为L比特,时间被划分为L/R秒的时隙(一个时隙传输一帧)。约定每个结点只在时隙起点开始传输帧,且每个结点都知道时隙何时开始。一旦发生碰撞,在该时隙结束前碰撞结点就能检测到碰撞时间的发生。
一旦发生碰撞,结点以概率p在后续的节点中传输这个帧。总传输概率为Np(1-p)^(N-1),最大效率为1/e=0.37。
ALOHA:
无时隙的要求,完全分散。效率是时隙ALOHA的一半。

载波侦听多路访问(CSMA)

这个协议十分的礼貌。我们用一群人在会议上发言来类比多个节点传输的情况。ALOHA是每个人都说自己的,如果有多个人同时讲话导致对方没听清那么等待一段时间后继续讲话。而CSMA是很礼貌的,它有两个基本要求:说话前先听(看有没有别人在讲话),等到没人说话时自己再说。如果与他人同时说话,那么停止说话(两个人都在等前面的人说完,说完后两人迫不及待异口异声的讲话)。前者称为载波侦听,后者称为碰撞检测。
问题就是如果和他人同时讲话后等多久进行下一次讲话呢?我们的方式称为二进制后退。即第一次碰撞在{0,1}中等概率的选择一个等待时间,若再发生碰撞在{0,1,2,3}中等概率的选取时间间隔直到顺利传输为止。

轮流协议

轮询协议:在参加会议的人中选择一个主持人(主节点),由主持人来告诉每一个参加会议的人“你可以讲话了,但是你讲话的量不能超过多少分钟(字节)”
令牌传递协议:这个很像多线程里面的锁,即持有令牌的结点才能够进行传输,它传输完成后把令牌交给下一个结点由下一个节点传输。
0 0
原创粉丝点击