带带弟弟彻底搞懂链路层(二)

简介: hey guys,大家好啊,这里是 cxuan 计算机网络连载系列的文章第 12 篇文章。本篇文章我来跟你计算机网络中的数据链路层相关知识。

通信类型分类

共享介质型网络

共享介质型网络故名思义就是多个设备共同使用同一个通信介质的网络。共享介质型网络的类型主要有以太网(Ethernet)光纤分布式数据接口(Fiber Distributed Data Interface,FDDI)

共享说的是,多个设备会使用同一个载波信道进行发送和接收,这是一种半双工的设计。

什么是半双工?

半双工指的是数据可以在一个信道上的两个方向上相互传输,但是不能同时传输,举个简单的例子,就是你能给我发消息,我也能给你发消息,但是不能你给我发消息的同时我也在给你发消息。

既然多个设备会共同使用一个信道,那么就可能存在多个数据传输到同一个介质上导致的数据争用问题,为此,共享介质型网络有两种介质访问控制方式:争用和令牌传递

争用

争用是发生在共享介质,载波监听多路访问(CSMA) 上的数据访问方式。在这种访问方式下,网络中各个介质会采用先到先得的方式占用载波信道发送数据。如果多个介质同时发送帧,就势必会产生冲突,继而导致通信性能的下降和网络拥堵。下面是争用的处理方式

微信图片_20220416162049.png

如上图所示,假如 A 想要给 C 发送数据,那么介质 A 会在确认周围没有其他介质要给 C 发送数据后,也就是经过一段时间后,A 会把数据马上发送给 C。

微信图片_20220416162053.png

每个介质在接受到 A 发送的数据后,会从 A 报文中解析出来 MAC 地址判断是否是发送给自己的数据包,如果不是的话就是丢弃这条数据。

微信图片_20220416162056.png

上面这种方式会使用在一部分以太网中,但是另外一部分以太网却使用了 CSMA 的改良方式 - CSMA/CD 。CSMA/CD 会要求每个介质提前检查一下链路上是否有可能产生冲突的现象,一旦发生冲突,那么尽可能早地释放信道。它的具体工作原理大致如下:

  • 监听载波信道上是否会有数据流动,如果没有的话,那么任何介质都可以发送数据。
  • 介质会检查是否发生冲突,一旦发生冲突就会丢弃数据,同时立即释放载波信道。
  • 放弃数据后,会经过一段时间重新争用介质。

下面是 CSMA/CD 的改良版

微信图片_20220416162100.png

上图这个过程是 CSMA(Carrier Sense Multiple Access),首先介质会监控载波信道上是否有数据存在,如果没有再发送,如果有,等一段时间再发送。

下面是 CD(Collision Detection) 的示意图

微信图片_20220416162103.png

  • 在发送数据 -> 发送完成后,如果电压一直处于规定范围内,就会认为数据已经正常发送。
  • 发送途中,如果电压超过了一定范围,就会认为是数据冲突。
  • 发生冲突时会先发送一个阻塞报文,继而放弃数据,在延迟一段时间后再次发送

令牌环

第二种共享介质型网络的传输方式就是令牌环了,令牌环顾名思义就是有一个令牌一样的东西,以环为一圈进行令牌传输,那么令牌是啥呢?你想啊,我们最终的目的不就是为了传输数据吗?那么这个令牌,它可不可以作为数据呢?

其实,在这种传输方式中,令牌环是作为一种特殊报文来传输的,它是控制传输的一种方式,在数据传输的过程中同时会将令牌进行传递,只有获得令牌的介质才能够传输数据。这种方式有两个优点,即

  • 持有令牌的介质才能够传输数据,这样能够保证不会有报文冲突情况。
  • 每个介质都有平等获取令牌的机会,这样保证了即使网络拥堵也不会导致性能下降。

但是这种令牌环的传递方式也是有缺点的,因为只有持有令牌的介质才能发送数据,所以即使在网络不太拥堵的情况下,其利用率也达不到 100%。

下面是令牌的传递示意图

微信图片_20220416162106.png

最一开始,令牌位于介质 A 处,此时介质 A 拥有数据传输的能力,然后介质 A 把令牌传递给介质 B。

微信图片_20220416162110.png

此时 B 持有令牌,所以介质 B 具有发送数据的能力。

微信图片_20220416162114.png

这个数据最终会由 D 接收,然后 D 就会设置一个已接收数据的标志位,然后数据会继续向下发送。

微信图片_20220416162116.png

令牌环是一项很成功的技术,尤其是在公司环境中使用,但后来被更高版本的以太网所取代。

在了解完共享网络之后,我们来探讨一波非共享网络

相关文章
网络安全中的安全漏洞管理与修复:技术深度剖析
【7月更文挑战第8天】安全漏洞的管理与修复是网络安全工作的重要组成部分。通过定期的安全审计、更新与补丁管理、漏洞扫描与评估、及时修复及持续监控与响应等措施,可以有效提升网络系统的安全性。然而,网络安全是一项长期而艰巨的任务,需要不断关注最新的安全动态和技术发展,持续优化安全策略和管理流程,以应对日益复杂的网络安全挑战。
共享介质与非共享介质:网络通信的两种模式
共享介质与非共享介质:网络通信的两种模式
338 1
探索前端可视化开发:低代码平台原理与实践
【4月更文挑战第7天】本文探讨了低代码平台在前端开发中的应用,介绍了其模型驱动、组件化和自动化部署的原理,强调了提升效率、降低技术门槛、灵活适应变更和保证一致性等优势。建议开发者明确适用场景,选择合适平台,并培养团队低代码技能,同时规划与现有技术栈的融合,实施持续优化治理。低代码平台正改变开发格局,为业务创新和数字化转型提供新途径。
473 0
vue-router学习二:动态路由(路由传递数据的一种方式),路由懒加载,嵌套路由,路由传递参数方式,导航守卫,keep-alive标签
这篇文章主要介绍了Vue Router的高级用法,包括动态路由、路由懒加载、嵌套路由、路由参数传递、导航守卫以及keep-alive的使用。
334 0
vue-router学习二:动态路由(路由传递数据的一种方式),路由懒加载,嵌套路由,路由传递参数方式,导航守卫,keep-alive标签
【Java基础面试十九】、构造方法能不能重写?
这篇文章指出Java中的构造方法不能被重写,因为构造方法必须与类名相同,而重写要求子类方法与父类方法同名,允许构造方法重写将违背这一规则。
【Java基础面试十九】、构造方法能不能重写?
深入解析5G NR(新无线电)及其主要特性
深入解析5G NR(新无线电)及其主要特性
1401 2
在Linux中,如何在Linux中设置磁盘配额?
在Linux中,如何在Linux中设置磁盘配额?
构建响应式网页设计的最佳实践
【5月更文挑战第17天】构建响应式网页设计的关键在于提供跨设备的优质体验。本文总结了8大最佳实践:1) 移动优先设计,2) 流式布局,3) 灵活处理图片和媒体,4) 使用CSS媒体查询,5) 简化导航和布局,6) 优化字体大小和行高,7) 考虑触摸和手势支持,以及8) 不断测试与调试。通过这些方法,开发者能创建适应各种屏幕尺寸且用户体验优良的网站。
【微信小程序2】云数据库:利用addField在返回记录中增加新字段
【微信小程序2】云数据库:利用addField在返回记录中增加新字段
239 4
AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等