计算机网络-链路层概述,你该知道的概念

链路层概述

写在前面:这里是小王成长日志,一名在校大学生,想在学习之余将自己的学习笔记分享出来,记录自己的成长轨迹,帮助可能需要的人。欢迎关注与留言。

这是系列博客 计算机网络-自顶向下 中的其中一篇,更多博文请访问专栏 计算机网络 ,如有错误还请各位大佬指

0. 概念定义

1) 结点( node)

  • 我们将运行链路层协议(即第 2层)协议的任何设备均称为结点( node)
  • 结点包括主机、路由器、交换机和 WiFi 接人点

2) 链路( link)

  • 把沿着通信路径连接相邻结点的通信信道称为链路( link)

3) 链路层帧

  • 在通过特定的链路时,传输结点将数据报封装在链路层帧中,并将该帧传送到链路中 。

4) 类比(交通运输)

  • 假如一个旅行社计划为游客开辟从美国新泽西州的普林斯顿到瑞士洛桑的旅游路线。

  • 假定该旅行社认为对于游客而言最为便利的方案是:从普林斯顿乘豪华大轿车到 JFK 机场,然后乘飞机从 JFK 机场去日内瓦机场,最后乘火车从 H 内瓦机场到洛桑火车站

  • 普林斯顿豪华大轿车公司将负责将游客从普林斯顿带到 JFK

  • 航空公司将负责将游客从 JFK 带到日内瓦

  • 瑞士火车服务将负责将游客从日内瓦带到洛桑

  • 该旅程中 3 段中的每一段都在两个"相邻"地点之间是"直达的" 。

  • 3 段运输是由不同的公司管理,使用了完全不同的运输方式(豪华大轿车、飞机和火车),但它们都提供了将放客从一个地点运输到相邻地点的基本服务

  • 这个运输类比中,一个游客好比一个数据报,每个运输区段好比一条链路,每种运输方式好比一种链路层协议,而该旅行社好比一个路由选择协议 。

5) 小结

通过以上我们可以见到链路层的责任即是通过链路在相邻结点间传送数据报-帧。

1. 链路层提供的服务

事实上,在不同的链路上有不同的传输协议,而每种协议所提供的服务又不尽相同。这里我们先只讨论一些我们所需要-共性的东西。

  • 成帧( framing)

    • 网络层数据报经链路传送之前 , 几乎所有的链路层协议都要将其用链路层帧封装起来 。
    • 在封装过程中,链路层会为其添加首部字段和尾部字段
    • 在首部字段中,MAC地址被用来区别不同的源头和目的地-注意不是IP地址。
  • 链路接入

    • 媒体访问控制 (Medium Access Conlrol , MAC) 协议规定了帧在链路上传输的规则
  • 可靠交付

    • 保证无差错地经链路层移动每个网络层数据报 。
    • 链路层可靠交付服务通常用于易于产生高差错率的链路,例如无线链路,其目的是本地(也就是在差错发生的链路上)纠正一个差错而不是通过运输层或应用层协议迫使进行端到端的数据重传 。
    • 然而,对于低比特差错的链路,链路层可靠交付可能会被认为是一种不必要的开销 。
  • 差错检测和纠正

    • 比特差错是由信号衰减和电磁噪声导致的 。
    • 链路层的差错检测通常更复杂,并且用硬件实现
    • 差错纠正类似于差错检测,区别在于接收方不仅能检测帧中出现的比特差错,而且能够准确地确定帧中的差错出现的位置(并因此纠正这些差错) .
  • 半双工或全双工服务

    • 在半双工服务中,链路两端的节点都可传输数据,但是不能同时进行,即同时只能进行一个方向的数据传输。

2. 链路层在何处实现

  • 链路层和网络适配器

  • 在这里插入图片描述

    • 链路层的主体部分是在网络适配器 (network adapter) 中实现,网络适配器有时也称为 网络接口卡 (Network Interface Card , NIC)
    • 网络适配器核心的是链路层控制器
    • 该控制器通常是一个实现了许多链路层服务(成帧、链路接人 、 差错检测等)的专用芯片
    • 因此,链路层控制器的许多功能是用硬件实现的,知道1990s后期,大部分网络适配器还是物理上分离的卡,后来才综合进主机的主板
    • 部分链路层是在运行于主机 CPU上的软件中实现的
    • 链路层的软件组件实现了高层链路层功能,如组装链路层寻址信息和激情控制报硬件 a
    • 在接收端,链路层软件响应控制器中断(例如,由于一个或多个帧的到达) ,处理差错条件和将数据报向上传递给网络层
    • 所以,链路层是硬件和软件的结合体,即此处是协议栈中软件与硬件交接的地方

在这里插入图片描述

接下来我们先大致看看在链路层中的发送端和接收端会执行的动作:

  • 发送端的动作

    • 控制器取得了由协议战较高层生成并存储在主机内存中的数据报
    • 在链路层帧中封装该数据报(填写该帧的各个字段)
    • 然后遵循链路接入协议将该帧传进通信链路中 。
  • 接收端的动作

    • 控制器接收了整个帧,抽取出网络层数据报
    • 进行差错,时延检查等。

都看到这里了,各位哥哥姐姐叔叔阿姨给小王点个赞 关个注 留个言吧,和小王一起成长吧,你们的关注是对我最大的支持。
有事没事进来看看吧 : 小王的博客目录索引
更多计算机网络优质博客看这 : 计算机网络专栏博客索引


如果以上内容有任何不准确或遗漏之处,或者你有更好的意见,就在下面留个言让我知道吧-我会尽我所能来回答。

猜你喜欢

转载自blog.csdn.net/weixin_45761327/article/details/106586136
今日推荐