计算机网络基础 - 链路层(3)
计算机网络基础
- 链路层和局域网
- 交换局域网
- 链路层寻址
- 地址解析协议 ARP
- 以太网
- 物理拓扑
- 以太网帧结构
- 以太网提供的服务
- 以太网标准
- 链路层交换机
- 交换机转发和过滤
- 自学习
- 交换机优点
- 交换机和路由器比较
大家好呀!我是小笙,本章我主要分享计算机网络基础 - 链路层(3)学习总结,希望内容对你有所帮助!!
链路层和局域网
交换局域网
链路层寻址
事实上,并不是主机或路由器具有链路层地址,而是它们的适配器具有链路层地址
MAC(LAN/物理/以太网)地址
用于使帧从一个网卡传递到与其物理连接的另一个网卡(在同一个物理网络中)
- 48bit MAC地址固化在适配器的ROM,有时也可以通过软件设定(通常用十六进制 表示法 1A-2F-BB-76-09-AD)
- 理论上全球任何2个网卡的MAC地址都不相同

不同公司如何在生产适配器的时候,控制使用不同 MAC 地址?
答案是 IEEE在管理着该MAC地址空间。当一个公司要生产适配器时,它支付象征性的费用购买组成24个地址的一块地址空间。IEEE分配这块24个地址的方式是固定一个MAC地址的前24比特,让公司自己为每个适配器生成后24比特的唯一组合
IP地址和MAC地址的作用区别
IP地址具有分层的结构(即一个网络部分和一个主机部分)
- 当主机移动时,主机的 IP地址需要改变,即改变它所连接到的网络
- 主要用于IP地址网络到网络的交付
适配器的MAC地址具有扁平结构
- 网卡在生产时不知道被用于哪个网络,因此给网卡一个唯一的标示,用于区分一个网络内部不同的网卡即可(不论适配器到哪里用都不会变化)
- 主要用于一个物理网络内部的节点到节点的数据交付
网络地址如果和 MAC 地址进行捆绑,可能存在的问题
- 局域网是为任意网络层协议而设计的,而不只是用于 IP 和因特网
- 每次上电都要重新写入网卡 IP地址
- 在适配器中不使用任何地址,让每个适配器将它收到的每帧数据,沿协议栈向上传递到网络层才能够核对网络地址层是否匹配,这将会导致主机将被局域网上发送的每个帧中断
地址解析协议 ARP
ARP 协议主要用于网络层地址和链路层地址之间的转换(需要在同一个子网中)
每台主机或路由器在其内存中具有一个ARP表,这张表包含IP地址到MAC地址的映射关系(该ARP表也包含一个寿命 TTL 值,它指示了从表中删除每个映射的时间,通常的过期时间是20分钟)

寻址过程
- A 要发送帧 给 B(B的IP地址已知) 但 B 的MAC地址不在 A 的ARP表中
- A 广播包含 B 的IP地址的ARP查询包
- LAN上的所有节点都会收到该查询包
- B 接收到ARP包,回复 A 关于自己的MAC地址 (单播)
- A 在自己的ARP表中,缓存 IP - MAC地址映射关系,直到信息超时 (软状态: 靠定期刷新维持的系统状态 )
- ARP是即插即用的
- 节点自己创建ARP的表项
- 无需网络管理员的干预
以太网
- 日前最主流的LAN技术:98%占有率
- 100Mbps 以太网只需要30元RMB ,比令牌网和ATM网络简单、廉价
- 技术带宽不断提升:10M,100M,1G,10G
物理拓扑
总线(在上个世纪80年代很流行)
- 一次只允许一个节点发送
- 可靠性差,如果介质破损,截面形成信号的反射,发送节点误认为是冲突,总是冲突

星型(目前最主流)
- 连接选择:集线器 hub或者交换机 switch (现在一般是交换机在中心)
- 交换机:每个节点以及相连的交换机端口使用(独立的)以太网协议(不会和其他节点的发送产生碰撞)

以太网帧结构
发送方适配器在以太网帧中封装 IP数据报,或其他网络层协议数据单元
前同步码(8字节)
以太网帧以一个8字节的前同步码字段开始,该前同步码的前7字节的值都是10101010;第八个字节是10101011
前同步码字段的前7字节用于“唤醒”接收适配器,并且将它们的时钟和发送方的时钟同步;前同步码的第8个字节的最后两个比特(出现的两个连续的1)警告适配器需要接收的数据就要到了
目的地址(6字节)
这个字段包含目的适配器的MAC地址,即 XX-XX-XX-XX-XX-XX
当适配器B收到一个以太网帧,帧的目的地址无论是 XX-XX-XX-XX-XX-XX,还是MAC广播地址,它都将该帧的数据字段的内容传递给网络层;如果它收到了任何其他MAC地址的帧,则丢弃之
类型(2字节)
指出高层协(大多情况下是IP,但也支持其它网络层协议Novell IPX和Apple Talk)
数据字段(46~1500字节)
这个字段承载了IP数据报,数据大小必须在 46字节 - 1500字节之间,数据过大需要分片,数据过小需要补齐(网络层使用IP数据报首部中的长度字段来去除填充部分)
CRC(4字节)
CRC(循环冗余检测)字段的目的是使得接收适配器检测帧中是否引入了差错
以太网提供的服务
采用二进制退避的CSMA/CD介质访问控制形式
- 无连接:帧传输前,发送方和接收方之间没有握手
- 不可靠:接收方适配器不发送 ACKs或 NAKs给发送方
- 如果由于丢弃了以太网帧而存在间隙,接收主机上的应用也会看见这个间隙吗?
- 如果应用使用的是 UDP,则接收主机中的应用的确会看到数据中的间隙
- 如果应用使用的是TCP,则接收主机中的TCP将不会确认包含在丢弃帧中的数据,从而引起发送主机的TCP重传
以太网标准
很多不同的以太网标准
- 相同的MAC协议(介质访问控制)和帧结构
- 不同的速率:2Mbps、10Mbps、100Mbps、1Gbps、10Gbps
- 不同的物理层标准
- 不同的物理层媒介:光纤,同轴电缆和双绞线
名称解读,比如 100BASE-T2 表示的是 100Mbps + 基带以太网 + 物理媒介类型
链路层交换机
交换机转发和过滤
-
过滤是决定一个帧应该转发到某个接口还是应当将其丢弃的功能
-
转发是决定一个帧应该被导向哪个接口,并把该帧移动到那些接口的功能
-
交换机的过滤和转发借助于交换机表(switch table)完成(交换机表的一部分)

举例:假定目的地址为DD-DD-DD-DD-DD-DD的帧从交换机接口x到达。交换机用MAC地址DD-DD-DD-DD-DD-DD索引它的表,有3种可能的情况
- 表中没有对于DD-DD-DD-DD-DD-DD的表项。在这种情况下,交换机向除接口x外的所有接口前面的输出缓存转发该帧的副本。(换句话说就是没有对于目的地址的表项,交换机广播该帧)
- 表中有一个表项将DD-DD-DD-DD-DD-DD与接口x联系起来。在这种情况下,该帧从包括适配器DD-DD-DD-DD-DD-DD的局域网网段到来。无须将该帧转发到任何其他接口,交换机通过丢弃该帧执行过滤功能即可(说明目的接口和到来的接口是同一个,只需要过滤即可)
- 表中有一个表项将DD-DD-DD-DD-DD-DD与接口y≠x联系起来。在这种情况下,该帧需要被转发到与接口y相连的局域网网段。交换机通过将该帧放到接口y前面的输出缓存完成转发功能
自学习
交换机是即插即用设备,它们不需要网络管理员或用户干预
自学习过程
- 交换机表初始为空
- 对于在每个接口接收到的每个入帧,该交换机在其表中存储:①在该帧源地址字段中的MAC地址;②该帧到达的接口;③当前时间(如果在局域网上的每个主机最终都发送了一个帧,则每个主机最终将在这张表中留有记录)
- 如果在一段时间后,交换机没有接收到以该地址作为源地址的帧,就在表中删除这个地址
交换机优点
- 消除碰撞,在使用交换机(不使用集线器)构建的局域网中,没有因碰撞而浪费的带宽
- 异质的链路,交换机将链路彼此隔离,因此局域网中的不同链路能够以不同的速率运行并且能够在不同的媒体上运行
- 管理,除了提供强化的安全性,交换机也易于进行网络管理
交换机和路由器比较
- 都是存储转发设备,但层次不同
- 交换机:链路层设备(检查链路层头部)
- 路由器:网络层设备(检查网络层的头部)
- 都有转发表
- 交换机维护交换表,按照MAC地址转发
- 路由器维护路由表,执行路由算法

相关文章:
计算机网络基础 - 链路层(3)
计算机网络基础 链路层和局域网交换局域网链路层寻址地址解析协议 ARP以太网物理拓扑以太网帧结构以太网提供的服务以太网标准 链路层交换机交换机转发和过滤自学习交换机优点交换机和路由器比较 大家好呀!我是小笙,本章我主要分享计算机网络基础 - 链路…...
ray.rllib 入门实践-5: 训练算法
前面的博客介绍了ray.rllib中算法的配置和构建,也包含了算法训练的代码。 但是rllib中实现算法训练的方式不止一种,本博客对此进行介绍。很多教程使用 PPOTrainer 进行训练,但是 PPOTrainer 在最近的 ray 版本中已经取消了。 环境配置&#x…...
FPGA 使用 CLOCK_LOW_FANOUT 约束
使用 CLOCK_LOW_FANOUT 约束 您可以使用 CLOCK_LOW_FANOUT 约束在单个时钟区域中包含时钟缓存负载。在由全局时钟缓存直接驱动的时钟网段 上对 CLOCK_LOW_FANOUT 进行设置,而且全局时钟缓存扇出必须低于 2000 个负载。 注释: 当与其他时钟约束配合…...
选择的阶段性质疑
条条大路通罗马,每个人选择的道路,方向并不一样,但不妨碍都可以到达终点,而往往大家会更推崇自己走过的路径。 自己靠什么走向成功,自己用了什么方法,奉行什么原则或者理念,也会尽可能传播这种&…...
固有频率与模态分析
目录 引言 1. 固有频率:物体的“天生节奏” 1.1 定义 1.2 关键特点 1.3 实际意义 2. 有限元中的模态分析:给结构“体检振动” 2.1 模态分析的意义 2.2 实际案例 2.2.1 桥梁模态分析 2.2.2 飞机机翼模态分析 2.2.3 具体事例 3. 模态分析的工具…...
数科OFD证照生成原理剖析与平替方案实现
一、 引言 近年来,随着电子发票的普及,OFD格式作为我国电子发票的标准格式,其应用范围日益广泛。然而,由于不同软件生成的OFD文件存在差异,以及用户对OFD文件处理需求的多样化,OFD套餐转换工具应运而生。本…...
CAN总线数据采集与分析
CAN总线数据采集与分析 目录 CAN总线数据采集与分析1. 引言2. 数据采集2.1 数据采集简介2.2 数据采集实现3. 数据分析3.1 数据分析简介3.2 数据分析实现4. 数据可视化4.1 数据可视化简介4.2 数据可视化实现5. 案例说明5.1 案例1:数据采集实现5.2 案例2:数据分析实现5.3 案例3…...
SpringSecurity:There is no PasswordEncoder mapped for the id “null“
文章目录 一、情景说明二、分析三、解决 一、情景说明 在整合SpringSecurity功能的时候 我先是去实现认证功能 也就是,去数据库比对用户名和密码 相关的类: UserDetailsServiceImpl implements UserDetailsService 用于SpringSecurity查询数据库 Logi…...
ResNet 残差网络
目录 网络结构 残差块(Residual Block) ResNet网络结构示意图 残差块(Residual Block)细节 基本残差块(ResNet-18/34) Bottleneck残差块(ResNet-50/101/152) 残差连接类型对比 变体网…...
CAPL编程常见问题与解决方案深度解析
CAPL编程常见问题与解决方案深度解析 目录 CAPL编程常见问题与解决方案深度解析引言1. CAPL编程核心难点剖析1.1 典型问题分类2. 六大典型问题场景解析案例1:定时器资源竞争导致逻辑错乱2.1.1 问题现象2.1.2 根因分析2.1.3 解决方案案例2:大数据量报文处理引发性能瓶颈2.2.1 …...
信号处理以及队列
下面是一个使用C和POSIX信号处理以及队列的简单示例。这个示例展示了如何使用信号处理程序将信号放入队列中,并在主循环中处理这些信号。 #include <iostream> #include <csignal> #include <queue> #include <mutex> #include <thread…...
Linux pkill 命令使用详解
简介 pkill 命令用于根据进程名称、用户、组或其他属性终止进程。它是 procps-ng 包的一部分,通常比 kill 更受欢迎,因为它无需查找进程 ID (PID)。 常用选项 -<signal>, --signal <signal>:定义要发送给每个匹配进程的信号&am…...
react注意事项
1.状态的定义以及修改 2.排序用lodash进行排序 import _ from lodassh 3.利用className插件进行动态类名的使用 4.表单使用 5.react中获取dom...
【开源免费】基于SpringBoot+Vue.JS在线考试学习交流网页平台(JAVA毕业设计)
本文项目编号 T 158 ,文末自助获取源码 \color{red}{T158,文末自助获取源码} T158,文末自助获取源码 目录 一、系统介绍二、数据库设计三、配套教程3.1 启动教程3.2 讲解视频3.3 二次开发教程 四、功能截图五、文案资料5.1 选题背景5.2 国内…...
怎样在PPT中启用演讲者视图功能?
怎样在PPT中启用演讲者视图功能? 如果你曾经参加过重要的会议或者演讲,你就会知道,演讲者视图(Presenter View)对PPT展示至关重要。它不仅能帮助演讲者更好地掌控演讲节奏,还能提供额外的提示和支持&#…...
UE AController
定义和功能 AController是一种特定于游戏的控制器,在UE框架中用于定义玩家和AI的控制逻辑。AController负责处理玩家输入,并根据这些输入驱动游戏中的角色或其他实体的行为。设计理念 AController设计用于分离控制逻辑与游戏角色,增强游戏设计…...
H264原始码流格式分析
1.H264码流结构组成 H.264裸码流(Raw Bitstream)数据主要由一系列的NALU(网络抽象层单元)组成。每个NALU包含一个NAL头和一个RBSP(原始字节序列载荷)。 1.1 H.264码流层次 H.264码流的结构可以分为两个层…...
JAVA 接口、抽象类的关系和用处 详细解析
接口 - Java教程 - 廖雪峰的官方网站 一个 抽象类 如果实现了一个接口,可以只选择实现接口中的 部分方法(所有的方法都要有,可以一部分已经写具体,另一部分继续保留抽象),原因在于: 抽象类本身…...
反向代理模块b
1 概念 1.1 反向代理概念 反向代理是指以代理服务器来接收客户端的请求,然后将请求转发给内部网络上的服务器,将从服务器上得到的结果返回给客户端,此时代理服务器对外表现为一个反向代理服务器。 对于客户端来说,反向代理就相当于…...
Nuitka打包python脚本
Python脚本打包 Python是解释执行语言,需要解释器才能运行代码,这就导致在开发机上编写的代码在别的电脑上无法直接运行,除非目标机器上也安装了Python解释器,有时候还需要额外安装Python第三方包,相当麻烦。 事实上P…...
BH1750光照传感器避坑指南:STM32的I2C通信那些事儿(附STM32F407调试心得)
BH1750光照传感器实战避坑:STM32 I2C通信深度解析与调试技巧 第一次用STM32驱动BH1750光照传感器时,我盯着纹丝不动的数据寄存器发呆了半小时——I2C总线明明显示通信成功,但读回来的光照值永远是零。这种看似简单却暗藏玄机的外设调试经历&a…...
告别卡顿!用MobileNetv2+MPPTSNet-EC在树莓派上跑实时语义分割(附完整配置与性能测试)
树莓派实战:MobileNetv2MPPTSNet-EC实时语义分割全流程解析 当你在树莓派上第一次看到摄像头画面被实时分割成不同语义区域时,那种成就感绝对值得记录。本文将带你完整实现从模型选择到部署优化的全流程,用MobileNetv2MPPTSNet-EC这套组合拳&…...
STM32定时器时基单元详解:从PSC到ARR的完整配置指南(附代码)
STM32定时器时基单元实战指南:从寄存器配置到精准延时实现 在嵌入式开发中,定时器是最基础也最核心的外设之一。无论是简单的LED闪烁控制,还是复杂的电机PWM驱动,都离不开定时器的精准计时功能。对于STM32开发者来说,掌…...
如何快速实现ngx-bootstrap国际化:多语言应用开发完整指南
如何快速实现ngx-bootstrap国际化:多语言应用开发完整指南 【免费下载链接】ngx-bootstrap Fast and reliable Bootstrap widgets in Angular (supports Ivy engine) 项目地址: https://gitcode.com/gh_mirrors/ng/ngx-bootstrap ngx-bootstrap作为Angular生…...
seq2seq-couplet错误处理与敏感词过滤:保障服务稳定性的终极指南
seq2seq-couplet错误处理与敏感词过滤:保障服务稳定性的终极指南 【免费下载链接】seq2seq-couplet Play couplet with seq2seq model. 用深度学习对对联。 项目地址: https://gitcode.com/gh_mirrors/se/seq2seq-couplet seq2seq-couplet是一个基于深度学习…...
TinyCheck开发指南:从源码结构到核心类设计,理解网络安全检测平台架构
TinyCheck开发指南:从源码结构到核心类设计,理解网络安全检测平台架构 【免费下载链接】TinyCheck TinyCheck allows you to easily capture network communications from a smartphone or any device which can be associated to a Wi-Fi access point …...
4个关键步骤:开源散热控制解决Dell G15温度难题
4个关键步骤:开源散热控制解决Dell G15温度难题 【免费下载链接】tcc-g15 Thermal Control Center for Dell G15 - open source alternative to AWCC 项目地址: https://gitcode.com/gh_mirrors/tc/tcc-g15 在游戏本使用过程中,散热控制往往是影响…...
保姆级教程:用YOLOv5和ReID搞定跨摄像头找人(附完整代码和预训练模型)
跨摄像头人物追踪实战:YOLOv5与ReID技术深度整合指南 在智能安防、零售分析等场景中,跨摄像头追踪特定人物一直是个技术难点。传统方案要么依赖单一摄像头的目标检测,要么需要复杂的人工特征标注。本文将手把手带您实现一套基于YOLOv5目标检测…...
银发健康消费“新战场”:线下渠道红利期开启,10+嘉宾重磅分享实战方法论
银发经济与连锁药店转型的双向奔赴整理 | AgeClub内容团队前言当前,中国银发经济已成为国内增长最快的赛道之一。数据显示,我国银发经济市场规模已突破 10 万亿元,未来整体规模有望超过 30 万亿元。精准对接优质渠道,成为众多银…...
2026年,江北高档 KTV 哪个好玩?这份实测推荐别错过!
2026 年,想在江北找个高档又好玩的 KTV 可不容易。其实,深海公馆娱乐会所就凭借多年行业经验,成了很多人的心头好。接下来,我就给大家分享一些 KTV 选择的干货。说实话,很多人去 KTV 都踩过不少坑。比如有些 KTV 装修看…...
