【计算机网络】MAC层(二)和Collision相关的协议

简介: 在争用期,冲突带来的影响也会很巨大。本文将讨论以下三部分的协议:无冲突协议(collision-free protocol)、有限争用协议(limited-contention protocol)以及无线局域网协议。
本文首发于稀土掘金。该平台的作者 逐光而行 也是本人。

前言

在争用期,冲突带来的影响也会很巨大。本文将讨论以下三部分的协议:无冲突协议(collision-free protocol)、有限争用协议(limited-contention protocol)以及无线局域网协议。

其中的一些部分暂不用于主流的系统,但是科技在飞速发展,未来的时期谁也说不准,多了解一些总是好事。

在无冲突的情况下适用的协议

a bit-map protocol

用二进制位表示基站号。比如如果基站2要发送帧,那么二进制序列的第2位置1,与此同时,其他基站要发送的也可以往相应位置1。这么一来,帧发送的顺序也事先确定了。之后不断重复这个过程。

Token Passing

和bitmap类似。

  • token ring:在基站间形成一个环,传递一个token。如果某个基站希望发送帧,就将要发送的内容附在token上,否则就简单把token转发。
  • token bus:信道将基站以一种类似于single long bus的方式连接。

之前曾出现过两种token ring形式的协议:

  • 90年代的FDDI(Fiber Distributed Data Interface),被交换以太网打败了。
  • 千禧年初,RPR(resilient packet ring)被定为IEEE 802.17标准,规范了互联网服务商为都市区提供的服务。

Binary Countdown

这个词我不知道如何翻译才是准确的,如果直译的话咱们中文里有“数落”的表达(开个玩笑),看上下文,也许翻译为“倒计时”会准确一些。

这里面提到的一种思想,每个站将自己的地址以二进制的形式广播出去,各个站从高位对比至低位,每对比一步,那些地址小的就会自动放弃,直到最后剩下最高地址的。

image.png

Limited-Contention Protocols

有限竞争协议

特点:低负载时使用冲突(contention)来提供低延迟;高负载时使用无冲突技术(collision-free)来提供高信道速率。

The Adaptive Tree Walk Protocol

(每个单词都认识,我就不强行翻译了,原文更有助于理解意思)

image.png
(注:图源自https://www.tutorialspoint.com/

我对该算法的理解是:

  • 数据结构用的二叉树,用二分法和深度优先搜索相结合。
  • 一个叶子结点对应一个插槽。
  • 最初,所有的结点都能去竞争信道。如果某个结点成功争取到了,那就传输数据;如果此时存在冲突,所有的结点会被分为两部分(见图中的标号1和2),只有1或者2下的结点能去竞争信道(另一半被排除在外,减少冲突发生率)。

假设该轮被允许竞争的是1以下的结点(此时插槽分为ab cd两组),如果还有冲突,就再细分为a b c d,直到没有冲突或者插槽为空为止。(这个过程用到了深度优先搜索,先搜当前节点的左子树,再搜右子树)

Wireless LAN Protocols

组成

一组用无线电进行通信的笔记本电脑系统组成了无线局域网,它属于广播信道。

示意图:电脑结点、AP(access point)和基站之间的关系

(我看完书后自己画的,不一定对)

image.png

有线局域网与无线局域网的区别

  • 无线网监测冲突不是靠信号(signal),而是依靠应答(acknowledgement)(因为基站能接收到的信号是很微弱的)
  • 由于射线有范围限制(以发射点为圆心,发射距离为半径组成的圆),无线网内的基站无法与其他所有基站进行帧传输。如图:A B C所在位置为基站中心,圈圈表示射频范围。

A和B能直接通信,B和C能直接通信,A不能和C直接通信。

image.png

这也引出了后续会提到的重要问题——隐藏终端问题与暴露终端问题。

隐藏终端问题与暴露终端问题(hidden terminal problem&&exposed terminal problem)

如图(咳咳体谅一下,想手画一个里面还能塞图标的透明线圈真的太难了)
image.png
当A在给B发送时,C也想给B发送,由于C听不到A在发送,而B在同一时刻只能接收一个发送,所以C会失败,将A称为C的隐藏站

同理:当C想给D发送时,它监听到了B在发送,以为信道繁忙,结果空等待。将B称为C的暴露站

image.png

解决方案:增加通信双方的请求与应答步骤

早在90年代,就有人提出了一种协议用于解决该问题,称为MACA(multiple access with collision avoidance)。

它的思想是:发送方在发送帧前先向接收方发送一个RTS(Request To Send,发送请求),里面含有将要发送的帧的长度信息,位于该发送半径范围内的其他基站也能监听到该请求,并在相应时间内静默;接收方也会回复一个CTS(Clear To Send,应答,表示确认接收,里面会包含接收到的长度数据),在该范围内的其他基站能监听到该请求且相应时间内不打扰。

当然,这种方法不能完全避免冲突,当冲突发生时,基站会等待随机时间并再次发送。

参考书籍

  • 《Computer Networks (the fifth edition) 》

看英文原书、理解、码字整理都不容易,希望各位多多包涵哈~如有错误,恳请各位大神指出!

相关文章
|
2月前
|
数据采集 算法 数据挖掘
模块化控制协议(MCP)在网络中增强智能体执行效率的研究
随着Web3技术的迅速发展,去中心化应用和智能体在各种领域的应用逐渐增多。MCP(Modularized Control Protocol,模块化控制协议)作为一种增强智能体执行能力的关键技术,为Web3场景中的智能体提供了更强的灵活性和可扩展性。本文将探讨如何利用MCP技术提升智能体在Web3场景中的执行能力,并通过实例代码展示其实现路径。
161 22
|
4月前
|
安全 网络协议 Linux
Linux网络应用层协议展示:HTTP与HTTPS
此外,必须注意,从HTTP迁移到HTTPS是一项重要且必要的任务,因为这不仅关乎用户信息的安全,也有利于你的网站评级和粉丝的信心。在网络世界中,信息的安全就是一切,选择HTTPS,让您的网站更加安全,使您的用户满意,也使您感到满意。
122 18
|
5月前
|
安全 网络安全 定位技术
网络通讯技术:HTTP POST协议用于发送本地压缩数据到服务器的方案。
总的来说,无论你是一名网络开发者,还是普通的IT工作人员,理解并掌握POST方法的运用是非常有价值的。它就像一艘快速,稳定,安全的大船,始终为我们在网络海洋中的冒险提供了可靠的支持。
154 22
|
5月前
|
网络协议 数据安全/隐私保护 网络架构
|
6月前
|
缓存 网络协议 API
掌握网络通信协议和技术:开发者指南
本文探讨了常见的网络通信协议和技术,如HTTP、SSE、GraphQL、TCP、WebSocket和Socket.IO,分析了它们的功能、优劣势及适用场景。开发者需根据应用需求选择合适的协议,以构建高效、可扩展的应用程序。同时,测试与调试工具(如Apipost)能助力开发者在不同网络环境下优化性能,提升用户体验。掌握这些协议是现代软件开发者的必备技能,对项目成功至关重要。
|
7月前
|
人工智能 自然语言处理 决策智能
智能体竟能自行组建通信网络,还能自创协议提升通信效率
《一种适用于大型语言模型网络的可扩展通信协议》提出创新协议Agora,解决多智能体系统中的“通信三难困境”,即异构性、通用性和成本问题。Agora通过标准协议、结构化数据和自然语言三种通信格式,实现高效协作,支持复杂任务自动化。演示场景显示其在预订服务和天气预报等应用中的优越性能。论文地址:https://arxiv.org/pdf/2410.11905。
190 6
|
9月前
|
前端开发 网络协议 安全
【网络原理】——HTTP协议、fiddler抓包
HTTP超文本传输,HTML,fiddler抓包,URL,urlencode,HTTP首行方法,GET方法,POST方法
|
9月前
|
网络协议 安全 网络安全
探索网络模型与协议:从OSI到HTTPs的原理解析
OSI七层网络模型和TCP/IP四层模型是理解和设计计算机网络的框架。OSI模型包括物理层、数据链路层、网络层、传输层、会话层、表示层和应用层,而TCP/IP模型则简化为链路层、网络层、传输层和 HTTPS协议基于HTTP并通过TLS/SSL加密数据,确保安全传输。其连接过程涉及TCP三次握手、SSL证书验证、对称密钥交换等步骤,以保障通信的安全性和完整性。数字信封技术使用非对称加密和数字证书确保数据的机密性和身份认证。 浏览器通过Https访问网站的过程包括输入网址、DNS解析、建立TCP连接、发送HTTPS请求、接收响应、验证证书和解析网页内容等步骤,确保用户与服务器之间的安全通信。
475 3
|
10月前
|
安全 搜索推荐 网络安全
HTTPS协议是**一种通过计算机网络进行安全通信的传输协议
HTTPS协议是**一种通过计算机网络进行安全通信的传输协议
224 11
|
10月前
|
监控 网络协议 网络性能优化
网络通信的核心选择:TCP与UDP协议深度解析
在网络通信领域,TCP(传输控制协议)和UDP(用户数据报协议)是两种基础且截然不同的传输层协议。它们各自的特点和适用场景对于网络工程师和开发者来说至关重要。本文将深入探讨TCP和UDP的核心区别,并分析它们在实际应用中的选择依据。
259 3

热门文章

最新文章