您的位置:首页 > 理论基础 > 计算机网络

[计算机网络笔记]第五部分——数据链路层 基础与概念

2016-11-19 16:50 627 查看


数据链路层

数据链路层的数据报文称为“帧”
数据链路层协议包括(1)以太网(1)802.11无线LAN(WIFI)(3)令牌环(4)PPP点对点协议
数据链路层协议提供:(1)数据成帧(2)链路接入(3)可靠交付(4)流量控制(5)差错检测(6)差错纠正(7)半双工和全双工服务

      
数据链路层和传输层的可靠交付与差错检测并不相同,数据链路层保证的是在单一链路上的可靠交付和差错检测,而传输层提供的是端到端的。
 
数据链路层的差错检测技术(FEC:前向纠错,指接收方检测和纠正差错的能力):

奇偶校验:单个的奇偶校验位来校验1的个数,使得数据+校验位中1的个数总为偶数个

        
可以检测奇数个比特错误,但是对于偶数个错误不能识别也不能纠错

二位奇偶校验:将待检测数据排列成二维矩阵,在行末和列末设置校验位,计算每一行和每一列的奇偶校验位

        
可校验并纠正单个比特错误并纠正,可校验两个比特错误但不能纠正,校验位也可以被校验和纠正

校验和:互联网校验和,以前的笔记中总结过,不再赘述,笔记中最早出现在UDP的报文中。TCP/UDP报文对整个报文(数据+首部)都计算校验和,但是IPv4只对首部计算校验和

循环冗余校验码(CRC):CRC可以就错,可以在一位差错是纠错,有多位差错时只能检错,一般CRC检错后应对方式是重传

        
CRC计算方式:
首先,确认一个长度为r+1位的多项式,称为生成多项式G,例如

,将其转换成二进制,得到1001(即有x的几次方,就将二进制的第几位置1)。
对于原始数据,长度为D位,可通过计算得到D+r位的带CRC校验位的新数据,计算方法是在D后面补r位校验位R,用数学的表示方法是



(其中D*2^r
表示将D后补r位0,⨁R可以将R位校验位加到补充的r位0的位上),新的数据刚好可以整除G



两边都异或R得:


也就是说R=

的余数
我们可以通过计算来得到R,计算除法使用的模2的除法,即加法减法中不借位不进位,相当于异或。这种校验方式成为循环冗余校验。
Eg:对于数据D=101110,G=

,也就是1001,计算循环冗余校验码
解:
r=G的位数-1=3


即D向左移动3位,后面补3个0



得商101011,余数011(r=3,所以要补足三位,即便第一位是0)
R=余数=011
带循环冗余校验码的新数据D’=101110011
将新数据发送到另一端后,另一端使用接收到的数据D’除以相同的产生式G,如果结果没有余数,说明D’=D,传输没有错误,否则检出错误。
 
 
数据链路层的多路访问协议:为了解决广播链路中多个节点同时传输数据而引起的数据干扰,进而数据不正确的问题。
网络链路分为点对点链路和广播链路,点对点链路不存在多路访问的问题,只有广播链路存在,因为广播链路中链路被多个端共享。


三种多路访问协议:

信道划分协议

a)        
时分多路复用(TDM):同一信道不同节点在不同时间使用,进而可以避免发送数据的冲突,缺点是利用率低,很可能信道中一段时间内只用一个节点使用,但是这个节点却不能使用信道的全部时间传输数据

b)       
频分多路访问(FDM):同一信道再次划分成更小的信道,每个节点仅使用更小的信道传输数据,缺点同TDM相同

c)        
码分多址(CDMA):同一信道不同节点使用不同的编码同时传输信息,理论上可以避免相互干扰,而且每一个节点都相当于单独拥有整个信道,利用率高,抗干扰能力强

随机接入协议:多个节点随意地发送数据,如果产生数据的碰撞,干扰,则再一定时间之后重新发送

a)        
时隙ALOHA协议:规定多个节点发送的数据长度一致,多个节点将时间同步,同时将时间划分成时间片,每个节点只能在时间片开始的时候发送数据,在时间片结束之前发送完数据。每个节点在时间片结束前会检测信道内是否有数据碰撞,如果出现的话就停止发送数据,并在其后的时间片以P的几率重发数据,知道发送成功。经过计算,对信道的有效利用率是37%。

b)       
纯ALOHA协议:与时隙ALOHA协议大致相同,但是没有划分时间片的要求,这就使得发生数据碰撞的概率加大了,经过计算,对信道的有效利用率是18%

c)        
载波侦听多路访问协议(CSMA):要求在每次传输数据前先侦听信道是否有数据传输,没有的话再发送数据,同时一旦在发送过程中发生了数据的碰撞,则立即停止发送数据,并在一定时间间隔后重发数据。在发展中,CSMA发展出了CSMA/CD(用于碰撞检测的载波侦听多路访问协议),用于有线网络传输,以及CSMA/CS(用于冲突避免的载波侦听多路访问协议)用于无线网络传输。

轮询协议:

a)        
轮调协议:通过一个主节点发出轮询报文,调度各个节点发送数据,优点是消除了数据碰撞,缺点是引入了轮询报文时延,其次,一旦主节点损坏,整个网络都会瘫痪

b)       
令牌传递协议:在网络中设置一个令牌报文在各个节点之间传输,只有持有令牌报文的节点才能发送数据,完成发送数据后再次传递令牌报文给下一个节点。
 
以太网是基于随机接入协议的,之后会详细讲实现。

其他LAN技术:

FDDI(光纤式分布数据结构):应用在地理范围更大的LAN
令牌环LAN:通过将节点通过直接链路连成环,在物理上的拓扑结构定义了令牌的传递次序
 
ARP协议(地址解析协议):

      
MAC地址:在局域网中,每一个接口的地址用MAC地址表示,MAC地址是一个48位的地址,用12位十六进制数表示,每两位之间用“-”分隔。原则上MAC地址与网卡绑定不可更改,而且不能重复。MAC地址不像IP地址,它不是层次化,而是扁平化的,同一个MAC地址,原则上只能代表一个网络接口,无论MAC位于什么地方。

在生产网卡时,IEEE协会给厂商分配MAC的前24位,厂商自己生产后24位的组合。

      
ARP协议:在子网中用于IP与MAC地址相互转换的协议
数据报文中IP只有源地址和目标地址的信息,那么报文如何在链路之间被识别传输呢?通过MAC地址。每一次经过路由器,路由器会更新链路层报文,也就是帧的MAC地址,将其指向下一个路由器或者主机的MAC地址,以便下一个路由器或者主机识别接收。进而帧可以在整个链路中传输。

        
实现:
在每个节点(主机或者路由器)中存在ARP缓存,其中储存IP-MAC-TTL的关系,如果一个节点要询问子网内其他节点的MAC,可发送ARP查询分组,里面封装目标的IP地址和自己的IP地址、MAC地址,目标如果接收到这个查询分组,会向源响应。
ARP查询分组将广播出去,所有的子网节点对比其中的IP地址和自己的是否相同,如果匹配,则自己发送ARP响应保报文,如果不匹配,则忽视查询报文。ARP响应报文不用广播,源接收到ARP响应报文后更新ARP缓存。
注意:ARP协议用于LAN内部,若子网内节点想查询不存在子网内节点的MAC,则不会有回应。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: