链路层

作者: 刚子来简书啦 | 来源:发表于2020-09-21 10:54 被阅读0次

链路层协议用来在独立的链路上移动数据报。链路层协议定义了在链路两端的节点之间交互的分组格式,以及当发送和接收分组时这些节点采取的动作。链路协议层交互的数据单元称为帧,每个链路层帧通常封装了一个网络层的数据报。

网络层的任务是将传输层报文段从源主机端到端地传送到目的主机,而链路层协议的任务是将网络层的数据报通过路径中的单段链路节点到节点地传送。链路层的一个重要特点是数据段在路径的不同链路上可能由不同的链路层协议所承载。例如,数据报在第一段链路上可能由以太网承载,在最后一段链路上可能有PPP承载,而在中间的链路上由链路层WAN协议承载。需要说明的是,这些链路层协议提供的服务可能是不同的。例如,某个链路层协议可能提供可靠的交付,而另一些协议却可能不提供。因此,网络层在面对各段链路层提供的异构服务集合的情况下,必须能够完成它的端到端的任务。

链路层的主体部分是在网络适配器中实现的,网络适配器也称为网络接口卡(Network Interface Card,NIC),或者直接叫网卡。网络适配器的内核是链路层控制器,该控制器通常是实现了许多链路层服务的单个特定目的的芯片,这些服务包括成帧、链路接入、流量控制、差错检测等。

网络适配器

在发送方,控制器取得了由协议栈较高层生成并存储在主机内存中的数据报,在链路层帧中封装该数据报(填写该帧的各个字段),然后遵循链路接入协议将该帧传进通信链路中。在接收端,控制器接收整个帧,提取出网络层数据。如果链路层执行差错检测,则需要发送适配器在该帧的首部设置差错检测比特,以及接收适配器执行差错检测。如果该链路层执行流量控制,则发送控制器和接收控制器交换流量控制信息,使得发送方以接收方能够处理的速率发送帧。

节点具有网络层地址(IP),节点的适配器具有链路层地址(MAC)。MAC地址长度为6字节,共有2^{48}个可能的地址。IEEE管理着MAC地址空间。当一个公司要生产适配器时,它支付象征性的费用购买一块专属的地址空间。IEEE分配这块2^{48}个地址的方式是:固定一个MAC地址的前24比特,让公司自己为每个适配器生成后24个比特的唯一组合。

因为存在网络层地址和链路层地址,所以需要在它们之间进行转换。对于因特网而言,这是地址解析协议(Address Resolution Protocal,ARP)的工作。每个节点的ARP模块都在它的RAM中有一个ARP表,这张表包含IP地址到MAC地址的映射关系。

关于ARP协议有两件有趣的事情需要注意。首先,查询ARP报文是在广播帧中发送的,而响应ARP报文是在一个标准帧中发送的。第二,ARP是即插即用的,这就是说,一个节点的ARP表是自动创建的,不需要系统管理员来配置。并且,如果某节点与子网断开连接,它的表项最终会从留在子网中的节点的表中删除掉。

以太网帧结构
  • 数据字段(data field)(46~1500字节)。这个字段承载了IP数据报。如果IP数据报超过1500字节,则主机必须将该数据报分段。如果小于46字节,则必须被填充到46字节。当采用填充时,传递到网络层的数据包括数据报和填充部分。网络层使用IP数据报首部中的长度字段来去除该填充。
  • 目的地址(destination address)(6字节)。这个字段包含目的适配器的MAC地址。
  • 源地址(source address)(6字节)。这个字段包含了传输该帧到LAN上的适配器的MAC地址。
  • 类型字段(type field)(2字节)。该类型字段允许以太网复用多种网络层协议。
  • 循环冗余检测(cycle redundancy check, CRC)(4字节)。CRC字段的目的是使得接收适配器检测帧中是否引入了差错,也就是说,帧中的比特是否发生了翻转。比特差错的原因包括信号强度的衰减和电磁能量泄漏到以太网电缆和接口卡中。
  • 前同步码(preamble)(8字节)。以太网以一个8字节的前不同码字段开始。该前同步码的前7个字节的值都是 10101010 ;最后一个字节是 10101011 。前同步码的前7个字节用于“唤醒”接收适配器,并且将它们的时钟和发送方的时钟同步。前同步码的第8个字节的最后两个比特(第一个出现的两个连续的1)警告接收适配器,“重要的内容”就要到来了。当看到这两个连续的1,它知道接下来的6个字节是目的地址。适配器只需检测有没有电流,就能够分辨出一个帧何时结束。

相关文章

  • 网络分层模型与ARP协议

    一、链路层 链路层包含以太网卡,光纤,电缆,驱动,以太网驱动 链路层:以太网协议,以太网帧,光纤电缆 链路层的数据...

  • 链路层

    链路层有三个目的1.为IP模块发送和接收IP数据报2.为ARP模块发送ARP请求和接收ARP应答。3.为RARP模...

  • 链路层

    Switch部分 LAN与Vlan

  • 链路层

    一揽子系列 一揽子系列——链路层一揽子系列——网络层一揽子系列——传输层一揽子系列——应用层 数据链路的作用 数据...

  • 链路层

    TCP/IP支持多种不同链路层协议,取决于网络所使用的硬件,如:以太网,令牌网,FDDI(光纤分布式数据接口)及R...

  • 链路层

    以太网 令牌环网 FDDI(光纤分布式数据接口) RS-232串行线路作用: 为IP模块发送和接收IP数据报 为A...

  • 链路层

    链路层的作用: 为I P模块发送和接收I P数据报; 为A R P模块发送A R P请求和接收A R P应答; 为...

  • 链路层

    链路层提供的服务将IP数据报封装成帧链路接入(媒体访问控制协议)可靠交付(针对某些不稳定的链路,进行差错检验和纠错...

  • 链路层

    主要功能:成帧方法、差错控制、流量控制、控制帧、滑动窗口、介质访问控制S-T:存储转发机制 成帧方法 011111...

  • 链路层

    链路层的三个主要目的:1、 为IP模块发送和接收IP数据报2、 为ARP模块发送ARP请求和接收ARP应答3、 为...

网友评论

      本文标题:链路层

      本文链接:https://www.haomeiwen.com/subject/juqsphtx.html