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

数据链路层

1.数据链路层使用的信道

  • 点对点信道

    一对一的点对点通信方式

  • 广播信道

    一对一的广播通信模式,连接的主机很多,必须使用专用的共享信道协议来协调这些主机的数据发送

2.三个基本问题

  • 封装成帧
  • 透明传输(转义)——将帧首部和帧尾部之间的数据需要和帧首部、帧尾部区分,不能有相同的以避免数据传达错误。需要将数据中的帧首部、帧尾部的数据组合添加标记
  • 差错检测——处理物理层接收到的数字信号,将存在噪声的信号纠正。使用循环冗余检测CRC的检测技术。
    • 海明码(详情学习,可参考https://www.cnblogs.com/lesroad/p/8688634.html)
    • 垂直奇偶校验
    • 水平奇偶校验
    • 循环冗余检验CRC,得出冗余码,加入数据序列中就成为了帧校验序列FCS,CRC并不是获取FCS的唯一方式。

3.PPP协议

3.1协议

  • 链路控制协议(LCP,Link Control Protocol)
    • 建立、配置和测试数据链路的连接
  • 网络控制协议(NCP,Network Control Protocol)
    • 让PPP协议支持不同的网络层协议

3.2帧格式(解决三大问题)

  • 封装字段,处理封装成帧问题
    • 通过PPP协议封装成帧,1个字节存储标志字段F,规定为01111110,表示一个帧的开始,上一个帧的结束,一个字节存储地址字段A,规定为11111111,一个字节存储控制字段00000011,2个字节存储对应的协议字段,此处字段的不同会影响信报存储数据的属性,比如协议字段存储的为0000 0000 0010 0001时,PPP帧的信息字段存储的就是IP数据报,即IP地址。
    • 信息字段长度可变,最多不超过1500个字节
    • 尾部的第一个字段占2个字节,使用CRC的帧校验序列,以处理差错检验
  • 字节填充,定义一个转义符(01111101)用以转义,处理透明传输
    • 出现于标志字段相同的比特组合时,在其前面加入转义符(01111101)
    • 出现转义符(01111101)时,在其后面加入转义符(01111101)
    • 出现ASCII码控制字符(即小于00100000的ASCII字符)该字符前面要插入01111101,同时将该控制字符的编码加以改变(具体改变规则都有详细规定)
  • ‘0’填充,处理透明传输
    • 出现连续5个1时后面加上个0以与地址字段的111111(255)区分。

3.3PPP协议的工作状态

​ 参考资料: 数据链路层的PPP协议_王宇峰的专栏-CSDN博客

  • IP分配
    1. 拨号进入网络服务提供者ISP,建立个人电脑到ISP的物理连接
    2. 个人电脑发送一系列链路控制协议LCP分组(多个PPP帧)到ISP,准备建立LCP连接
    3. 针对传过来的PPP帧选择需要用到的PPP参数。
    4. 网络层进行配置,网络控制协议NCP给信介路的个人电脑分配一个临时的IP地址。
    5. 借助IP地址以在网络中有个门牌号,让其他IP地址的数据能传输到个人电脑中。
  • IP释放
    1. 用户通信完毕,断开网络连接时,NCP释放网络层连接,收回原来分配出去的IP地址。
    2. LCP释放数据链路层连接
    3. 释放物理层连接
  • 数据通信建立连接,用户进行通信,对网络的信息进行访问或者连接(鼠标点击一个链接按钮)
    1. 个人电脑通过调制解调器呼叫路由器,路由器检测到该电脑发送的载波信号,进行物理层连接。
    2. 物理层连接后,进入“链路建立”状态,数据链路层的LCP开始连接建立
    3. LCP协议发送配置请求帧(PPP帧),开始协商一些配置选项,向目标服务器地址发送连接配置请求(此时正在请求访问,而非数据交互)。
    4. 目标服务器针对LCP协议发送的配置请求,可发送如下三种响应帧
      • 配置确认帧:所有选项都接受。
      • 配置否认帧:所有选项都理解但不能接受。
      • 配置拒绝帧:选项有的无法识别或不能接受,需要协商。
    5. LCP协商结束,进入鉴别状态。允许传送LCP协议的分组(PPP帧)、鉴别协议的分组(PPP帧)和监测链路质量协议的分组(PPP帧)。
      • 如果使用口令鉴别协议PAP,需要发起通信下个人电脑主机发送身份标识符(token)和口令的口令鉴别协议分组(PPP帧)。身份鉴别失败转到“链路终止”状态;鉴别成功,则进入“网络层协议”状态
      • 完成鉴别后,进入“网络协议”状态,链路两端的NCP根据不同协议互换网络层特定的网络分组(PPP帧)。
      • 如果运行的是IP协议,则对PPP的每一端配置IP协议模块(如分配IP)时需要使用NCP中的IP控制协议IPCP,将数据打包成IPCP协议分组。
      • 网络层配置完毕后(网络层协议状态后继续进行NCP配置协商),链路就进入可进行数据通信的“链路打开”状态。链路的两个PPP端点可以彼此向对方发送分组。
    6. 数据传输结束,由链路的一端发起终止请求的LCP协议分组请求链路终止,收到来自对方的链路终止确认LCP分组后,转到“链路终止”状态。
      • 如果链路出现故障,也会从“链路打开”状态转到“链路终止”状态。
      • 当调制解调器载波停止后(再协商阶段就断开网络连接),回到“链路静止”状态。

PPP协议状态图

4.广播信道

4.1局域网的数据链路层

4.1.1优点
4.1.2共享信道的方法
  • 静态划分信道,频分多址,时分多址,码分多址
  • 动态媒体借入控制
    • 随机接入,如以太网,如何减少冲突,冲突后如何处理
    • 受控接入,如令牌环和轮询,在集中或分布式控制下轮流接入
4.1.3解决问题:
4.1.4网络接口板(通信适配器、网络接口卡NIC、网卡)

重要性:

  • 进行串行/并行转换
  • 对数据进行缓存
  • 在计算机的操作系统安装设备驱动程序
  • 以太网协议

在局域网中,硬件地址又被称为物理地址,或MAC地址

处理适配器的连接

  • 适配器从网络中每接收到一个MAC帧就首先用硬件检查MAC帧中的MAC地址

    • 如果是发完本站的帧则手下,然后在进行其他处理
  • MAC地址与IP地址的关系(ARP协议基本原理)

    • ISP分配IP,而ISP服务器本身最终不存在IP地址,ISP之间的交流通过MAC地址交流。

    • MAC地址保证全球各地使用的适配器中的地址都是全球唯一的。

    • MAC的源地址是局域网网关对应的MAC地址 ,ARP协议通过目的IP地址,解析出目的MAC地址

    • 数据传递的过程

      1. 查看主机的ARP缓存表,ARP缓存表中对应的IP地址会有对应的MAC地址

        ①如果存在对应的缓存数据,就直接根据MAC地址将数据传递过去;如果不存在,需要在网络上广播式请求,此时对应的数据在路由器中包装成帧(二层协议),帧中包含目的地的IP、源IP、源MAC、目的MAC(不存在缓存时为空),操作类型准备进行数据交换(三层协议)

        ②数据传递时,MAC地址每经过一个交换机就会更新一个MAC地址,并存储对应数据源的IP对应的MAC地址。当数据回来时查看对应数据的缓存按照原路返回。只要一个主机进行广播,所有的路由器就会知道对应主机的IP的MAC地址。,

      2. 此时全部主机都会接收到对应的数据请求,但是如果对应的主机IP地址不符合对应的目的地IP地址,则会丢弃对应的数据请求,不去接收它。如果遇到对应的主机IP,它会先把源主机发送过来的Request报文中的源IP地址和MAC地址放入自己的缓存表里面。再回应源主机自己的MAC地址。

      3. 根据来自源IP的请求,进行对应的Reply请求,重新包装成帧把自己的MAC地址与Replay信息打包并发送出去,此时目的地主机中对应的帧的源IP为目的地主机IP,目的地IP为源主机IP。此时为进行单播方式进行传输。

      4. 源主机收到来自目标主机的MAC地址与Reply报文,并将对应的MAC地址存入ARP缓存中,此时两台主机实现。

CSMA/CD协议:

  • 工作过程
    • 先听后发
    • 边发边听
    • 冲突停发
    • 随机延迟后重发
  • 要点
    • 多点接入
    • 载波监听,不管在发送前还是发送中,每个站都必须不停地检测信道。
    • 碰撞检测

4.2以太网

4.2.1使用集线器的星形拓扑
4.2.2MAC层
  • 硬件地址:网卡提供MAC地址,ISP分配IP地址,只要网卡不变MAC地址就不变,连接到网络的那个网卡作为数据传输的源地址,接受同理。
  • MAC帧格式
    • 目的地地址(MAC地址,6B)
    • 源地址(MAC地址,6B)
    • 类型2B
    • 数据(IP数据报(有大数据分组交换得到的小数据),46~1500B)
    • FCS(校验码,4B)

4.3拓展的以太网

4.3.1物理层拓展

​ 主机用光纤和以对光纤调制解调器连接到集线器。将数字信号的传输从双绞线转化为光纤,使得数据衰减减少。利用光纤连接远地数据主机,将主机能提供给较远地区数据,拓展主机提供以太网的物理区域范围,让不同地区的信息通过同一个主机交流。

​ 集线器一个多借口的转发器,作用于物理层。集线器就是一个电路,用于将多个电脑连接,多个局域网之间不能用集线器相连,如果用主干集线器相连多个局域网,最终会导致碰撞域增加但是吞吐量并未提高,这就意味着将网络寻址的任务交给网卡进行寻址。于是引入了网桥

4.3.2网络链路层拓展

​ 网桥工作在数据链路层,它根据MAC帧目的地址对收到的帧进行转发。

​ 网桥具有过滤帧的功能,当网桥接收到一个帧时,并不是向所有的接口转化此帧,而实先检查此帧的目的MAC地址,然后再确定将该帧转化至哪一个接口

​ 网桥通过隔断电信号,使得每一个端口连接的网络都是独立的总线形网络,;

​ 网桥作为分组转发设备,实现MAC帧不同总线形网络之间的转发。

​ 网桥自学习和转发帧的一般步骤:(参考文章:https://blog.51cto.com/luochen2015/1858187)

  • 网桥收到一帧后先进行自学习。查找转发表中与收到数据帧的源地址有无匹配的项目。如果没有,就在转发表中增加一个项目(记录数据帧的源地址,记录网桥的接口和时间)。如果有,则把原来的项目进行更新。
  • 转发帧。查找转发表中与收到数据帧的目的地址有无相匹配的项目。如果没有,则通过其他的接口(但进入网桥的接口除外)进行转发。如果有,则按转发表中给出的接口进行转发。但应当注意,若转发表中给出的接口就是该帧进入网桥的接口,则应该丢弃这个数据帧(因为这种情况不需要经过网桥进行转发)。
  • 使用生成树算法,即互连载一起的网桥在进行彼此通信后,就能找出原来的网络拓扑的一个子集。在这个子集里,整个连通的网络中不存在回路,即在任何两个站点之间只有一条路径。

网桥的内部结构

网桥(交换机)数据交互图

​ 一旦数据找到对应的网桥对应的主机接口对应的网络域,就不会借助网桥进一步向外转化,向其他网络域进行广播,即数据丢弃不转发

​ 以太网交换机的每一个接口直接与主机相连接,并且一般都个工作在全双工方式(一个接口负责接受和发送数据,两者可以同时进行)

​ 交换机能同时联通许多对的接口,使每一对相互通信的主机都能像独占通信媒体那样,进行无碰撞地传输数据。

​ 以太网交换机由于使用了专用的交换结构芯片,其交换速率就较高。

图片来源:1.计算机网络 教学PPT 2.参考网站对应图片

参考资料:计算机网络简明教程 谢希仁编著 电子工业出版社

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值