IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 网络协议 -> 《计算机网络》第三章 数据链路层 -> 正文阅读

[网络协议]《计算机网络》第三章 数据链路层

《计算机网络》第三章 数据链路层

一、数据链路层使用的信道

  • 点对点信道
  • 广播信道:这种信道使用一对多的广播通信方式,因此过程比较复杂,广播信道上连接的主机很多,因此必须使用专用的共享信道协议来协调这些主机的数据发送

数据链路层传送的是帧
在这里插入图片描述
数据链路层不必考虑物理层如何实现比特传输的细节。甚至还可以更简单地设想好像是沿着两个数据链路层之间的水平方向把帧直接发送到对方

二、数据链路层的三个基本问题

1.封装成帧

封装成帧就是在一段数据的前后分别添加首部和尾部,然后就构成了一个帧,首部和尾部的一个重要作用就是进行帧定界

控制字符 SOH(Start Of Header)放在帧的最前面,表示帧的首部开始。另一个控制字符 EOT(End Of Transmission)表示帧的结束
在这里插入图片描述

2.透明传输

如果数据中的某个字节的二进制代码恰好和 SOH 或 EOT 一样,数据链路层就会误以为找到了帧的边界
在这里插入图片描述
可以通过字节填充的方法解决透明传输问题,即在数据中出现的 SOH 和 EOT 前面插入一个转义字符 “ESC”
在这里插入图片描述
接收端接收到帧后只需要将字节填充产生的 ESC 删除即可

3.差错检测

在传输过程中可能会产生比特差错:1 可能变成 0,0 可能变成 1

我们广泛使用循环冗余检验 CRC 来完成差错检测

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

三、网卡

网络接口板又被称为通信适配器或网络接口卡 NIC(Network Interface Cad),或 “网卡”,网卡工作在数据链路层

适配器的重要功能:

  • 进行串行/并行转换
  • 对数据进行缓存
  • 在计算机的操作系统安装设备驱动程序
  • 实现以太网协议
    在这里插入图片描述

四、CSMA/CD 协议

1.含义

CSMA/CD(Carrier Sense Multiple Access with Collision Detection):载波监听多点接入/碰撞检测

  • 多点接入:表示许多计算机以多点接入的方式连接在同一根总线上
  • 载波监听:指每一个站在发送数据之前先要检测以下总线上是否有其他计算机在发送数据,如果有,则暂时不发送数据,以免发生碰撞
  • 碰撞检测:计算机在发送数据的同时,检测信道上的信号电压大小。当多个站点同时在总线上发送数据时,总线上的信号电压摆动值将会增大(互相叠加)。当一个站点检测到的信号点压摆动值超过一定的门限值时,就认为总线上至少有两个站同时在发送数据,表明产生了碰撞

2.碰撞检测

为什么要进行碰撞检测

  • 由于电磁波在总线上的传播速率是有限的,当某个站监听到总线是空闲时,也可能总线并非真正是空闲的
  • A 向 B 发出的信息,要经过一定的时间后才能传送到 B。B 若在 A 发送的信息到达 B 之前发送自己的帧(因为这时 B 的载波监听检测不到 A 所发送的信息),则必然要在某个时间和 A 发送的帧发生碰撞
  • 碰撞的结果是两个帧都变得无用

争用期
在这里插入图片描述

最先发送数据帧的站,在发送数据帧后至多经过两倍的端到端往返时延就可以知道发送的数据帧是否遭受了碰撞,这个时延称为争用期。经过争用期这段时间还没有检测到碰撞,才能肯定这次发送不会发生碰撞

争用期的长度

10 Mbit/s 以太网取 51.2 微秒为争用期的长度。对于 10Mbit/s 以太网,在争用期内可发送 512 bit,即 64 字节。这意味着:以太网在发送数据时,若前 64 字节没有发生冲突,则后续的数据就不会发生冲突

最短有效帧长

如果发生冲突,就一定是在发送的前 64 字节之内。由于一检测到冲突就立即中止发送,这时已经发送出去的数据一定小于 64 字节。以太网规定了最短有效帧长为 64 字节,凡长度小于 64 字节的帧都是由于冲突而异常中止的无效帧

五、集线器

传统以太网最初是使用粗同轴电缆,后来演进到使用比较便宜的细同轴电缆,最后发展为使用更便宜和更灵活的双绞线

采用双绞线的以太网采用星型拓扑结构,在星形的中心则增加了一种可靠性非常高的设备,叫做集线器
在这里插入图片描述

  • 集线器是使用电子器件来模拟实际电缆线的工作,因此整个系统仍然像一个传统的以太网那样运行
  • 使用集线器的以太网在逻辑上仍是一个总线网,各工作站使用的还是 CSMA/CD 协议,并共享逻辑上的总线
  • 集线器很像一个多接口的转发器,工作在物理层
  • 集线器采用了专门的芯片,进行自适应串音回波抵消,减少了近端串音

六、MAC

生成适配器时,6 字节的 MAC 地址已被固化在适配器的 ROM,因此,MAC 地址也被叫做硬件地址或者物理地址

如果连接在局域上的主机或路由器安装有多个适配器,那么这样的主机或路由器就有多个 MAC 地址

MAC 地址共 48 位,6 字节。IEEE 的注册管理机构 RA 负责向厂家分配地址字段 6 个字节中的前三个字节(即高位 24 位),称为组织唯一标识符。后三个字节(即低位 24 位)由厂家自行指派,称为扩展唯一标识符,必须保证生产出的适配器没有重复地址
在这里插入图片描述

七、扩展以太网

1.在物理层扩展

使用集线器扩展
在这里插入图片描述
优点:

  • 使原来属于不同碰撞域的以太网上的计算机能够进行跨碰撞域的通信
  • 扩大了以太网覆盖的地理范围

缺点:

  • 碰撞域增大了,但总的吞吐量并未提高
  • 如果不同的碰撞域使用不同的数据率,那么就不能使用集线器将它们互连起来

2.在数据链路层扩展

使用网桥扩展

网桥根据 MAC 帧的目的地址对收到的帧进行转发和过滤,当网桥收到一个帧时,并不是向所有的接口转发此帧,而是先检查此帧的目的 MAC 地址,然后再确定将该帧转发到哪一个接口,或把它丢弃

使用交换机扩展

交换机实质上就是一个多接口的网桥。每一个接口都直接与一个单台注意或另一个交换机相连,并且一般都工作在全双工方式

  • 交换机具有并行性,能同时连通多对接口,使多对主机同时通信
  • 相互通信的主机都是独占传输媒体,无碰撞地传输数据
  • 交换机的接口有存储器,能在输出端口繁忙时把到来的帧进行缓存
  • 交换机是一种即插即用设备,其内部的帧交换表(又称为地址表)是通过自学习算法自动地建立起来的
  • 交换机使用了专用的交换结构芯片,用硬件转发,其转发速率要比使用软件转发的网桥快很多

优点:

  • 用户独享宽带,增加了总容量
  • 从共享总线以太网转到交换式以太网时,所有接入设备的软件和硬件、适配器等都不需要做任何改动
  • 交换机一般都具有多种速率的接口,方便了各种情况的用户

交换机的交换方式:

  • 存储转发方式:把整个数据帧先缓存后再进行处理
  • 直通方式:接收数据帧的同时就立即按数据帧的目的地址 MAC 地址决定该帧的转发接口,因而提高了帧的转发速度。缺点是它不检查差错就直接将帧转发出去,因此有可能也将一些无效帧转发给其他的站

交换机的自学习功能

开始时,交换机里面的交换表是空的
在这里插入图片描述

  1. A 先向 B 发送一帧,从接口 1 进入到交换机
  2. 交换机收到帧后,先查找交换表,没有查到应从哪个接口转发这个帧
  3. 交换机把这个帧的源地址 A 和接口 1 写入交换表中,并向除接口 1 以外的所有接口广播这个帧
  4. C 和 D 将丢弃这个帧,因为目的地址不对。只有 B 收下了这个目的地址正确的帧
  5. 从新写入交换表的记录(A,1)可以看出,以后不管从哪一个接口收到帧,只要其目的地址是 A,就应当把收到的帧从接口 1 转发出去
  6. B 通过接口 3 向 A 发送一帧
  7. 交换机查找交换表,发现交换表中的 MAC 地址有 A。表明要发送给 A 的帧应从接口 1 转发。于实就把这个帧传送到接口 1 转发给 A 。显然,现在已经没有必要再广播收到的帧
  8. 交换表这时新增加记录(B,3),表明今后如有发送给 B 的帧,就应当从接口 3 转发出去
  9. 经过一段时间后,只要主机 C 和 D 也向其他主机发送帧,交换机中的交换表就会把转发到 C 或 D 应当经过的接口号写入到交换表中

在这里插入图片描述

  网络协议 最新文章
使用Easyswoole 搭建简单的Websoket服务
常见的数据通信方式有哪些?
Openssl 1024bit RSA算法---公私钥获取和处
HTTPS协议的密钥交换流程
《小白WEB安全入门》03. 漏洞篇
HttpRunner4.x 安装与使用
2021-07-04
手写RPC学习笔记
K8S高可用版本部署
mySQL计算IP地址范围
上一篇文章      下一篇文章      查看所有文章
加:2022-05-12 16:42:19  更:2022-05-12 16:42:34 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年5日历 -2024/5/19 14:18:06-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码