计算机网络---数据链路层

假装没事ソ 提交于 2020-01-26 04:49:03

数据链路层

一、链路和数据链路
 1、链路:一个结点与相邻结点之间的一段物理线路(计算机网络由结点和链路组成)
 2、数据链路:上述物理链路 + 必要的通信协议

二、帧:帧是数据链路层的协议数据单元。数据链路层把网络层交下来的数据构成帧发送到链路上,以及把接收到的帧中的数据取出并上交给网络层(网络层协议数据单元是IP数据报,或称分组,包),过程大致如下:
 1、结点A的数据链路层把网络层交下来的ip数据报添加首部和尾部封装成帧
 2、结点A把封装好的帧发送给结点B的数据链路层
 3、若结点B收到无差错的帧,则取出其中的数据报交给上面的网络层,否则丢弃这个帧
 (说明:在步骤2中,结点A先把封装好的帧传给本结点的物理层,物理层通过传输媒体传输比特流,结点B的物理层接收,并转换成相应的帧给数据链路层)

三、数据链路层的三个基本问题
 1、封装成帧:在一段数据(IP数据报)的前后分别添加首部和尾部,构成一个帧。IP数据报是帧的数据部分,首部和尾部是控制部分。
  ~每个数据链路层协议都规定了所能传送的帧的数据部分长度上限---最大传送单元MTU ,IP数据报的大小必须小于该MTU值
  
~为了接收方准确的接收帧的起止,需要给帧的首部和尾部使用特殊的帧定界符(SOH和EOT)
 2、透明传输:透明,表示某一个实际存在的事物看起来却好像不存在一样 ,也就是说当帧的数据部分存在和帧定界控制符相同的字符时,利用某种方法(如前面插入转义字符ESC等)使接收方的数据链路层不把其当做帧定界控制符,使IP数据报实现透明传输。所以可以看出,透明传输是针对帧的定界符而设定的。
 3、差错控制:
  1)比特差错: 传输过程中,1可能变成0, 0可能变成1
   差错控制方法使用循环冗余检测(CRC)
  2)传输差错:包括帧丢失,帧重复,帧失序等

四、点对点PPP(Point-to-Point protocol)协议
 1、PPP协议是用户计算机和ISP进行通信时使用的数据链路层协议
 2、PPP协议的三个组成部分:
  1)一个将IP数据报封装到串行链路的方法
  2)一个用来建立、配置和测试数据链路连接的链路控制协议(LCP)
  3)一套网络控制协议(NCP),每一个协议支持不同的网络层协议
 3、PPP协议帧格式
  首部
  1)F(Flag):帧定界符(开始),0x7E
  2)A:地址字段,0xFF
  3)C:控制字段,0x03
  4) 协议字段(两字节):0x0021,表示信息字段为IP数据报;0xC021,LCP数据;0x8021,NCP数据
  信息部分
  尾部
  5)FCS:CRC检验的冗余码,用户检验比特差错
  6)F(Flag):帧定界符(结束),0x7E
 4、PPP协议透明传输办法:
  1)PPP使用异步传输时,转义字符为0x7D,并使用字节填充,具体办法:
   ~信息字段中出现0x7E(帧定界符),转变成0x7D和0x5E两个字节
   
~信息字段中出现0x7D(转义字符),转变成0x7D和0x5D两个字节
   ~~~信息字段中出现ASCII控制符(数值小于0x20),在该字符前加上0x7D并将该字符的编码加以改变,如0x03-->0x7D,0x23。
  2)PPP使用同步传输时,采用零比特填充实现透明传输
   发送端扫描整个信息字段,只要发现有5个连续1,则立即填入一个0;接收端对信息字段中出现连续5个1时,删除其后一个0,这样保证信息字段中不会出现帧定界符(0x7E)
   总的来说,PPP协议是用于两台计算机进行一对一通信时所使用的数据链路层协议,因此它没有复杂的链路数据传输冲突,地址选择等问题

五、广播信道的数据链路层(局域网,一对多通信)
 1、局域网的主要特点:网络为一个单位所拥有,且地理范围和站点数目均有限
 2、局域网根据拓扑形状可划分为:星形网,环形网,总线网
 3、适配器的作用(网卡)
  1)适配器(网卡)与局域网的通信,是通过电缆或者双绞线以串行传输方式进行的
  2)适配器(网卡)与计算机之间的通信 ,是通过计算机主板上的I/O总线并行传输方式进行的
  3)适配器(网卡)接收和发送各种帧时,不使用计算机的CPU,当适配器接收到有差错的帧时,就把这个帧直接丢弃而不通知计算机,当接收到正确的帧时,它就使用中断来通知计算机,并交付协议栈中的网络层
 4、总线式以太网:
  1)最早的以太网将许多计算机都连接到一根总线上。总线的特点是:当一台计算机发送数据时,总线上所有的计算机都能检测到这个数据(这就是广播通信方式);在总线上实现一对一通信,可以是每台计算机的适配器(网卡)拥有一个与其他适配器都不同的地址,MAC地址
  2)以太网提供的服务是尽最大努力的交付,即不可靠的交付
  3)总线在同一时间只允许一台计算机发送数据 ,即有数据在总线上传输时,总线资源被占用。采用CSMA/CD协议
 5、CSMA/CD协议 (Carrier Sense Multiple Access with Collision Detection,载波监听多点接入/碰撞检测)
  1)以太网发送的数据都是使用曼彻斯特编码(缺点是所占的频带宽度比原始的基带信号增加一倍,因为每秒传输的码元加倍了)
  2)多点接入: 说明这是总线型网络,许多计算机以多点接入的方式连接在一根总线上
  3)载波监听: 就是利用电子技术检测总线上有没有其他计算机也在发送数据。不管在发送前还是发送中,每个站都必须不停的检测信道
  4)碰撞检测:就是边发送边监听 。计算机在发送中检测信道,是为了及时发现有没有其他站的发送和本站发送的碰撞,即为碰撞检测
  5)电磁波在1km电缆上的传播时延约为5us
  6)总线上,单程端到端的时延为tao
  7)CSMD/CD协议使得站点不能同时接收信号和发送信号,因此只能进行双向交替通信,即半双工方式通信
  8)两个站点通信时一些重要的时刻:
   ~t=tao-sigma时,B未检测到A发送的数据,也开始发送数据;
   
~t=tao-sigma/2时,两个信号发生碰撞,此时A和B还不知道碰撞发生;
   ~t=tao时,B检测到碰撞(碰撞的消息发送到B),停止发送数据;
   
~t=2tao-sigma时,A检测到碰撞(碰撞的消息发送到A),停止发送数据;
  9)争用期: 以太网端到端的往返时延2tao,站点发出数据后,在争用期内一定知道是否发生碰撞,如未检测到碰撞,则本次传输不会发生碰撞,可将这一帧数据顺利发完
  10)截断二进制指数退避: 确定以太网碰撞重传的时机
   ~规定基本退避时间为争用期2tao,具体争用期时间是51.2us,那么端到端的传输时延为25.6us
   
~对于10Mbit/s以太网,争用期可发送512bit数据,即64字节
   ~~~对于10Mbit/s以太网,为了避免帧太短而检测不到碰撞,规定了最短帧长为64字节,512bit,那么接收端收到小于64字节的帧都是由于冲突而异常终止的无效帧

六、集线器
 1、集线器工作在物理层,每个接口仅仅简单地转发比特---收到1转发1,收到0转发0,不进行碰撞检测,因此它更像一个多接口的转发器
 2、集线器是局域网在物理上呈现星形网,但是集线器是使用电子器件模拟实际电缆工作,因此使用集线器的局域网 在逻辑上仍然是一个总线网,各站共享逻辑总线,使用CSMA/CD协议

七、以太网信道利用率
 以太网定义参数a=tao/T0,即单程端到端时延和发送帧所需时间的比值。a越小,信道利用率越高

九、以太网MAC层
 1、局域网中,硬件地址,又称为物理地址,也叫MAC地址,是一个48位(6字节)全球地址:在每台计算机中,固化在适配器(网卡)的ROM中。也就是说MAC地址和网卡严格关联,跟计算机本身并不是严格关联,要看计算机有多少个适配器(网卡)
 2、以太网帧格式
  1)6个字节(48位)目的地址
  2)6个字节(48位)源地址
  3)2个字节类型字段,标志上一层使用的什么协议。如0x0800,IP数据报;
  4)数据(如上层IP数据报)(长度范围在46-1500字节之间)
  5)4个字节(FCS),用于CRC检验
    整个以太网帧的长度最小为64个字节(最短帧长)
 3、MAC子层向下传到物理层时还要在帧的前面插入8字节,前7个字节为前同步码,后1个字节为帧开始定界符,一个字节的前6位和前同步码一个作用,后两位为 11 ,告诉接收端MAC帧就要到来
 4、上述3中说明MAC帧如何开始接收。由于传输时MAC帧之间存在空隙,因此接收端只要找到帧开始定界符,其后面连续的比特流就属于同一个MAC帧。所以MAC帧不要使用帧结束定界符,也不需要字符插入来保证透明传输

十、扩展的以太网
 1、物理层扩展以太网(使用转发器或者集线器):
  1)使用光纤(一对光纤和一对光纤调制解调器),扩展主机和集线器之间的距离
  2)使用多个集线器
 2、数据链路层扩展以太网(使用以太网交换机)
  1)网桥: 对接收到的帧根据MAC帧中的目的地址进行转发和过滤。
  2)以太网交换机: 多接口的网桥,每个接口都直接和一个单台主机或者另一个交换机相连;以太网交换机具有并行性,相互通信的主机都是独占传输媒体,无碰撞地传输数据 ,所以已经不使用CSMA/CD协议了
  3)以太网交换机是即插即用设备,其内部的交换表(或地址表)是通过自学习算法自动逐渐建立起来的。

十一、虚拟局域网VLAN(Virtual LAN)
 1、虚拟局域网VLAN由一些局域网网段构成的与物理位置无关的逻辑组。每一个VLAN的帧都具有一个明确的标志符,指明发送这个帧的计算机属于哪个VLAN
 2、虚拟局域网协议允许在以太网MAC帧中插入一个4字节的标志符(VLAN标记),用来指明发送这个帧的计算机属于哪一个虚拟局域网。(在6字节源地址和2字节类型之间)

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!