当前位置: 首页 > article >正文

计算机网络基础 - 链路层(3)

计算机网络基础

  • 链路层和局域网
    • 交换局域网
      • 链路层寻址
      • 地址解析协议 ARP
      • 以太网
        • 物理拓扑
        • 以太网帧结构
        • 以太网提供的服务
        • 以太网标准
      • 链路层交换机
        • 交换机转发和过滤
        • 自学习
        • 交换机优点
        • 交换机和路由器比较


大家好呀!我是小笙,本章我主要分享计算机网络基础 - 链路层(3)学习总结,希望内容对你有所帮助!!

链路层和局域网

交换局域网

链路层寻址

事实上,并不是主机或路由器具有链路层地址,而是它们的适配器具有链路层地址

MAC(LAN/物理/以太网)地址

用于使帧从一个网卡传递到与其物理连接的另一个网卡(在同一个物理网络中)

  • 48bit MAC地址固化在适配器的ROM,有时也可以通过软件设定(通常用十六进制 表示法 1A-2F-BB-76-09-AD)
  • 理论上全球任何2个网卡的MAC地址都不相同

image-20250114082326294

不同公司如何在生产适配器的时候,控制使用不同 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分钟)

image-20250115065402966

寻址过程

  • 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年代很流行)

  • 一次只允许一个节点发送
  • 可靠性差,如果介质破损,截面形成信号的反射,发送节点误认为是冲突,总是冲突

常见的网络拓扑结构有哪几种• Worktile社区

星型(目前最主流)

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

img

以太网帧结构

发送方适配器在以太网帧中封装 IP数据报,或其他网络层协议数据单元

image-20250116065902989

前同步码(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
  • 不同的物理层标准
  • 不同的物理层媒介:光纤,同轴电缆和双绞线
image-20250116072601020

名称解读,比如 100BASE-T2 表示的是 100Mbps + 基带以太网 + 物理媒介类型


链路层交换机

交换机转发和过滤
  • 过滤是决定一个帧应该转发到某个接口还是应当将其丢弃的功能

  • 转发是决定一个帧应该被导向哪个接口,并把该帧移动到那些接口的功能

  • 交换机的过滤和转发借助于交换机表(switch table)完成(交换机表的一部分)

    image-20250117065154964

举例:假定目的地址为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地址转发
    • 路由器维护路由表,执行路由算法

image-20250117071222141


http://www.kler.cn/a/524085.html

相关文章:

  • 蓝牙技术在物联网中的应用有哪些
  • 深度学习中常用的评价指标方法
  • gesp(C++六级)(6)洛谷:P10109:[GESP202312 六级] 工作沟通
  • 【apt源】RK3588 平台ubuntu20.04更换apt源
  • C语言初阶力扣刷题——349. 两个数组的交集【难度:简单】
  • Celery
  • 多项日常使用测试,带你了解如何选择AI工具 Deepseek VS ChatGpt VS Claude
  • 【源码+文档+调试讲解】基于springboot的高校实验室预约系统
  • DeepSeek--通向通用人工智能的深度探索者
  • Towards Optimizing with Large Language Model
  • 基于 Android 的校园订餐 APP 设计与实现
  • AUTOSAR从入门到精通-车身控制系统BCM(三)
  • 使用 DeepSpeed 框架训练时如何配置 QLoRA
  • 【力扣每日一题】解答分析 1010. 总持续时间可被 60 整除的歌曲对数
  • MySQL深度解析与优化实践
  • 【问题】Chrome安装不受支持的扩展 解决方案
  • 【数组OJ】两数之和
  • 28. C语言 递归:深入理解与高效应用
  • 【Linux】 冯诺依曼体系与计算机系统架构全解
  • DeepSeek是由杭州深度求索人工智能基础技术研究有限公司(简称“深度求索”)发布的一系列人工智能模型
  • linux学习之网络编程
  • 51c深度学习~合集3
  • R语言统计分析——ggplot2绘图2——几何函数
  • 单向循环链表的概念+单向循环链表的结点插入+单向循环链表的结点删除+程序设计与笔试题分析
  • 构建可靠的时间序列预测模型:数据泄露检测、前瞻性偏差消除与因果关系验证
  • Kafka 深入客户端 — 分区分配策略与协调器