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

文章目录

      • 1、链路与数据链路
      • 2、三个基本问题
      • 3、点对点信道
      • 4、广播信道
      • 5、以太网的MAC层
      • 6、以太网的扩展
      • 7、虚拟局域网VLAN

1、链路与数据链路

链路:从一个结点到相邻结点的一段物理线路
数据链路:物理线路+控制数据传输的通信协议
物理层的基本数据单元是比特,数据链路层的基本数据单元是
从网络层下来的IP数据报又叫(数据报、分组、包

2、三个基本问题

封装成帧: 接收端在收到物理层上交的比特流后,根据首部和尾部的标记,从收到的比特流中识别帧的开始和结束,说白了就是从比特流中根据帧界定符(帧开始符和帧结束符)确定比特流中一帧数据的位置
计算机网络————数据链路层_第1张图片
透明传输: 为了解决帧的数据部分出现了和帧开始符、帧结束符相同的数据而影响一帧数据位置的判断,采用下面的做法避免。发送端的数据链路层在数据中出现控制符时,在其前面加入转义字符,在接收端的数据链路层把数据送往网络层之前删除这个插入的转义字符
差错控制: 在每一帧数据部分后面添加校验码,一般采用CRC循环冗余校验,CRC校验码如何计算
最后数据链路层虽然可以保证用户在数据链路层收到的数据都是没有差错的数据,但是仍是不可靠的,因为没有解决帧的丢失、失序、重复的问题,要想实现可靠还得看传输层的重传。

3、点对点信道

主要使用PPP协议,应用场景如下图
计算机网络————数据链路层_第2张图片

4、广播信道

由于传播时延的存在会导致收发双方同时监听到信道空闲的情况,从而导致双方同时发送数据产生碰撞,为了避免这种情况在广播信道主要采用CSMA/CD协议来解决多台主机情况下总线冲突的问题。
计算机网络————数据链路层_第3张图片
10Mbit/s以太网的争用期为512比特时间也就是51.2us,避退算法注意点:

  • 重传次数与随机数选择的关系k=Min[重传次数,10],随机数集合为[0,1,…(2^k-1)]
  • 最大可以重传16次,如果16次之后还不成功就丢弃该帧41
    CSMA/CD是半双工的工作方式

5、以太网的MAC层

1.MAC层与数据链路层关系:MAC层是数据链路层的子层
计算机网络————数据链路层_第4张图片
2.MAC层的硬件地址:一共占6字节,前3字节由IEEE的注册管理机构RA负责分配,后3字节由厂家自行指派,一般MAC地址出厂时被固化在网卡的ROM中
3.MAC帧格式
计算机网络————数据链路层_第5张图片
6字节的MAC目的地址、6字节的MAC源地址、2字节的类型(IPV4数据报一般是0x0800)、最长1500字节的数据部分

6、以太网的扩展

在物理层扩展
1.集线器+双绞线。集线器与主机之间距离最远不超过100米,也就是两台主机最远不超过200米
计算机网络————数据链路层_第6张图片

2.调制解调器+光纤。两台主机之间距离可以达到上千米
计算机网络————数据链路层_第7张图片

在数据链路层扩展
1.以太网交换机的特点
在数据链路层借助以太网交换机实现扩展,以太网交换机以全双工的方式工作,用户在同信时独占而不是和其他网络用户共享传输媒体的带宽,所以如果10M的的带宽借助交换机连接10个用户每个用户得到的带宽任然是10M,而不会像集线器那样变成1M。
2.以太网的自学习功能
每个交换机中都会维持一个交换表,表中记录每个接口连接主机的MAC地址
具体流程:

  • 查表后表中没有相应MAC地址记录下相应接口和MAC地址后向其余的接口都广播这个帧,目的地址匹配的接口会收下这个帧,不匹配的接口就会丢弃这个帧
  • 查表后如果表中有相应的目的地址的记录,就会把帧交付给目的地址对应的接口,之后再把自己的接口和MAC地址写入交换表
  • 交换表中每个项目都有一个有效时间,过了规定的时间就会把项目自动删除
    存在的问题和解决的办法
    当两台交换机互连的时候会出现无限循环兜圈子的情况,采用生成树协议(STP)可以消除这种现象。

7、虚拟局域网VLAN

用来解决交换机广播造成的广播风暴问题,先看看下面的例子了解下广播风暴是啥
计算机网络————数据链路层_第8张图片
在该网络中,假定PC 0向PC 10发送一个单播帧Y。假定此时的S1、S3、S7的MAC地址表中存在关于PC 10的MAC地址的表项,但S2和S5的MAC地址表中不存在关于PC 10的MAC地址的表项。所以,S1和S3会对Y帧进行点到点的转发操作,S7将对Y帧进行丢弃操作S2和S5将对Y帧执行泛洪操作。
最后的结果:目的主机PC 10接收到应该接收的Y帧,但是同时,PC3、PC4、PC5、PC6、PC7、PC8这几个主机都接收到了这个本不该接收的Y帧。可以看到其他主机会收到一些垃圾数据,如果是一个恶意的程序在执行的广播操作会给整个网络造成一些安全问题
计算机网络————数据链路层_第9张图片
利用虚拟局域网技术可以解决这种问题,由于虚拟局域网是用户和网络资源的逻辑组合,当上图中的B1向组内成员发送数据时,连在同一交换机上的计算机A1、A2和C1都不会收到B1的数据,而同一虚拟局域网内的B2、B3会收到发来的数据

你可能感兴趣的:(计算机网络,计算机网络)