计算机网络——34LANs

news2025/1/17 0:18:53

LANs

MAC地址和ARP

  • 32bit IP地址
    • 网络层地址
    • 用于使数据到达目标IP子网:前n - 1跳
    • 从而到达子网中的目标节点:最后一跳
  • LAN(MAC/物理/以太网)地址:
    • 用于使帧从一个网卡传递到与其物理连接的另一个网卡(在同一个物理网络中)
    • 48bit MAC地址固化在适配器的ROM,有时也可以通过软件设定
    • 理论上全球任何2个网卡的MAC地址都不相同
    • e.g:1A-2F-BB-76-09-AD

网络地址和mac地址分离

IP地址和MAC地址的作用不同

  1. IP地址是分层的
    1. 一个子网所有站点网络号一致,路由聚集,减少路由表
      1. 需要一个网络中的站点网络号一致,如果捆绑需要定制网卡非常麻烦
    2. 希望网络层地址是配置的:IP地址完成网络到网络的交付
  2. mac地址是一个平面
    1. 网卡在生产时不知道被用于哪个网络,因此给网卡一个唯一的标示,用于区分一个网络内部不同的网卡即可
    2. 可以完成一个物理网络内部的节点到节点的数据交付

分离好处

  • 网卡坏了,ip不变,可以捆绑到另外一个网卡的mac上
  • 物理网络还可以除IP之外支持其他网络层协议,链路协议为上层网络协议,如IPX等

捆绑的问题

  • 如果仅仅使用IP地址,不是mac地址,那么它仅支持IP协议
  • 每次上电都要重新写入网卡IP地址
  • 另外一个选择就是不使用任何地址:不用MAC地址,则每到来一个帧都要上传到IP层次,由它判断是不是需要接受,干扰一次

LAN地址和ARP

  • 局域网上每个适配器都有一个唯一的LAN地址
    在这里插入图片描述

  • MAC地址由IEEE管理和分配

  • 制造商购入MAC地址空间(保证唯一性)

  • 类比:

    • MAC地址:社会安全号
    • IP地址:通讯地址
  • MAC平面地址 -> 支持移动

    • 可以将网卡接到其他网络
  • IP地址有层次 - 不能移动

    • 依赖于节点连接的IP子网,与子网的网络号相同(有与其相连的子网相同的网络前缀)

ARP

问题:已知B的IP地址,如何确定B的MAC地址

  • 在LAN上的每个IP节点都有一个ARP
  • ARP表:包括一些LAN节点IP/MAC地址的映射
    <TP address MAC address TTL>
    • TTL时间是指地址映射失效的时间
    • 典型是20min

路由到其他LAN

Walkthrough:发送数据报:由A通过R到B,假设A知道B的IP地址

  • 在R上有两个ARP表,分别对应两个LAN
  • 在源主机的路由表中,发现到目标主机的下一跳时111.111.111.110
  • 在源主机的ARP表中,发现其MAC地址是E6-E9-00-17-BB-4B,etc

在这里插入图片描述

编址:路由到其他LAN

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

以太网

  • 目前最流行的LAN技术:98%占有率
  • 廉价:30元RMB 100Mbps
  • 最早广泛应用的LAN技术
  • 比令牌网和ATM网络简单、廉价
  • 带宽不断提升:10M、100M、1G、10G

在这里插入图片描述

以太网:物理拓扑

  • 总线:在上个世纪90年代中期很流行
    • 所有节点在一个碰撞域内,依次只允许一个节点发送
    • 可靠性差,如果介质破损,截面形成信号的反射,发送节点认为是冲突,总是冲突

在这里插入图片描述

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

在这里插入图片描述

以太帧结构

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

在这里插入图片描述

前导码

  • 7B 10101010 + 1B 10101011
  • 用来同步接收方和发送方的时钟速率
    • 使得接收方将自己的时钟调到发送端的时钟
    • 从而可以按照发送端的时钟来接收所发送的帧

地址:6字节源MAC地址,目标MAC地址

  • 如:帧目标地址 = 本站MAC地址,或是广播地址,接收,递交帧中的数据到网络层
  • 否则,适配器忽略该帧

类型:指出高层协议(大多情况下是IP,但也支持其他网络层协议Novell IPX和Apple Talk)

CRC:在接收方校检

  • 如果没有通过校检,丢弃错误帧

以太网:无连接、不可靠的服务

  • 无连接:帧传输前,发送方和接收方之间没有握手
  • 不可靠:接收方适配器不发送ACKs或NAKs给发送方
    • 递交给网络层的数据报流可能有gap
    • 如上层使用像传输层TCP协议这样的rdt,gap会被补上(源主机,TCP实体)
    • 否则,应用层会看到gap
  • 以太网的MAC协议:采用二进制退避的CSMA/CD介质访问控制形式

以太网标准:链路层和物理层

  • 很多不同的以太网标准
    • 相同的MAC协议(介质访问控制)和帧结构
    • 不同的速率:2 Mbps、10 Mbps、100 Mbps、1Gbps、10Gbps
    • 不同的物理层标准
    • 不同的物理层媒介:光纤,同轴电缆和双绞线

在这里插入图片描述

以太网使用CSMA/CD

  • 没有时隙
  • NIC如果侦听到其他NIC在发送就不发送:载波侦听(carrier sence)
  • 发送时,适配器当侦听到其他适配器在发送就放弃对当前帧的发送:冲突检测(collision detection)
  • 冲突后尝试重传,重传前适配器等待一个随机时间:随机访问(random access)

10BaseT and 100BaseT

  • 100Mbps速率也被称之为"fast ethernet"
  • T代表双绞线
  • 节点连接到HUB上:"star topology"物理上是星型
    • 逻辑上总线型,盒中总线
  • 节点和HUB间的最大距离是100m

Hubs

Hubs本质上是物理层的中继器

  • 从一个端口收,转发到所有其他端口
  • 速率一致
  • 没有帧的缓存
  • 在hub接口端没有CSMA/CD机制:适配器检测冲突
  • 提供网络管理服务

Manchester编码

在这里插入图片描述

  • 在10BaseT中使用
  • 每一个bit的位时中间有一个信号跳变
  • 允许在接收方和发送方节点之间进行时钟同步
    • 节点间不需要集中的和全局的时钟
  • 10Mbps,使用20M带宽,效率50%

千兆以太网

  • 采用标准的以太帧格式
  • 允许点对点链路和共享广播信道
  • 物理编码:8b10b编码
  • 在共享模式,继续使用CSMA/CA MAC技术,节点间需要较短距离以提高利用率
  • 交换模式:全双工千兆可用与点对点链路
    • 站点使用专用信道,基本不会冲突,效率高
    • 除非发往同一个目标点

Hub:集线器

  • 网段(LAN segments):可以允许一个站点发送的网络范围
    • 在一个碰撞域,同时只允许一个站点在发送
    • 如果有2个节点同时发送,则会碰撞
    • 通常有相同的词缀,比IP子网更详细的前缀
  • 所有以hub连到一起的站点处在一个网段,处在一个碰撞域
    • 骨干hub将所有网段连接到了一起
  • 通过hub可拓展节点之间的最大距离
  • 通过HUB,不能将10BaseT和100BaseT的网络连接到一起

在这里插入图片描述

交换机

  • 链路层设备:扮演主动角色(端口执行以太网协议)
    • 对帧进行存储和转发
    • 对于到来的帧,检查帧头,根据目标MAC地址进行选择性转发
    • 当帧需要向某个(些)网段进行转发,需要使用CSMA/CD进行接入控制
    • 通常一个交换机端口一个独立网段
  • 透明:主机对交换机的存在可以不关心
    • 通过交换机相连的各节点好像这些站点是直接相连的一样
    • 有MAC地址:无IP地址
  • 即插即用、自学习
    • 交换机无需配置

交换机:多路同时传输

  • 主机有一个专用直接到交换机的连接
  • 交换机缓存到来的帧
  • 对每个帧进入链路使用以太网协议,没有碰撞:全双工
    • 每条链路都是一个独立的碰撞域
    • MAC协议在其中的作用弱化了
  • 交换:A - to - A’ 和 B - to - B’可以同时传输,没有碰撞

在这里插入图片描述

交换机转发表

Q:交换机如何知道通过接口1到达A,通过接口5到达B’?

A:每个交换机都有一个交换表(switch table),每个表项:

  • 主机的MAC地址,到达该MAC经过的接口、时戳)
  • 比较像路由表

交换机:自学习

交换机通过学习得到哪些主机(mac地址)可以通过哪些端口到达

  • 当接收到帧,交换机学习到发送站点所在的端口(网段)
  • 记录发送方MAC地址/进入端口映射关系在交换表中

在这里插入图片描述

交换机:过滤/转发

当交换机接收到一个帧:

  • 记录进入链路,发送主机的MAC地址
  • 使用目标MAC地址对交换表进行索引
//如果在转发表中找到了目标项
if entry found for destination
then{
    //如果目标MAC就是对应着进来的端口
    if dest on segment from which frame arrived //过滤
        //抛弃掉该帧
        then drop the frame
    //转发
    else forward the frame on interface indicated
    }
//泛洪
else found

交换机 vs. 路由器

在这里插入图片描述

  • 都是存储转发设备,但层次不同
    • 交换机:链路层设备(检查链路层头部)
    • 路由器:网络层设备(检查网络层的头部)
  • 都有转发表
    • 交换机:维护交换表,按照MAC地址转发
      • 执行过滤、自学习和生成树算法
      • 即插即用:二层设备,速率高
      • 执行生成树算法,限制广播帧的转发
      • ARP表项随着站点数量增多而增多
    • 路由器:维护路由表,执行路由算法
      • 路由算法能够避免环路,无需执行生成树算法,可以以各种拓扑构建网络
      • 对广播分组做限制
      • 不是即插即用的,配置网络地址(子网前缀)
      • 三层设备,速率低

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1572489.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【C语言基础】:文件操作详解(前篇:准备知识)

文章目录 一、什么是文件以及文件的分类1.1 程序文件1.2 数据文件1.3 文件名 二、文本文件和二进制文件2.1 数据在文件中的存储 三、文件的打开和关闭3.1 流和标准流3.1.1 流3.1.2 标准流 3.3 文件指针3.5 文件的打开和关闭 一、什么是文件以及文件的分类 文件是指存储在计算机…

PHP数据类型

华子目录 数据类型PHP的八种数据类型基本数据类型&#xff0c;4类复合数据类型&#xff0c;2类特殊数据类型&#xff0c;2类 类型转换在PHP中有两种类型转换方式其他类型转bool类型其他类型转数值类型实例 类型判断获取和设定变量类型获取gettype(变量名)设置settype(变量名,类…

窜天猴AI直播软件功能列表

迎新点名&#xff1a;新进直播间的用户随机指数级自由组合话术&#xff0c;并播报出来 礼物/关注&#xff1a;用户送礼物、关注以及灯牌事件同上根据话术指数级随机组合出来评论区关键字回复&#xff1a;用户评论后&#xff0c;根据预设置的关键字进行语音回复 自动寻品&…

Redis的I/O多路复用

Redis是单线程的&#xff0c;为什么还那么快&#xff1f; 1.redis是基于内存的 2.redis使用I/O多路复用模型 关于I/O多路复用&#xff1a; 多路&#xff1a;多个客户端连接复用&#xff1a;使用单线程就能够实现同时处理多个客户端的连接 单线程去监控多个Socket&#xff…

多线程的入门(三)Thread的认识

线程的生命周期状态 1.Thread的构造器 Thread类的所有构造器最后都指向int方法 示例1&#xff1a; public Thread() {init(null, null, "Thread-" nextThreadNum(), 0); }示例2&#xff1a; public Thread(Runnable target) {init(null, target, "Thread-&qu…

list的使用

前言 我们前面已经对string和vector进行了学习使用&#xff0c;以及对他们的底层进行了模拟实现&#xff01;本期我们继续学习STL的另外一个容器---list。 本期内容介绍 什么是list&#xff1f; list的常用接口 什么是list? 还是来看看官方的文档说明&#xff01; 这里通过…

Flutter学习12 - SharedPreferences

1、shared_preferences 插件 类似于 Android 中的 SharedPreferences&#xff0c;键值对的形式进行本地存储 1.1、引入插件 在 pubspec.yaml 中引入 dependencies:shared_preferences: ^2.1.0在需要用到的文件中引入 import package:shared_preferences/shared_preference…

TAB标签美化 - SVG作为mask

今天觉得V3的标签不是很好看&#xff0c;忽然想起来之前看过Vue Admin Beautiful Pro的样式挺好的&#xff0c;顺手研究了一把。发现Vue Admin Beautiful是采用PNGmask css来解决的。于是乎打算把V3的标签页做点小美化&#xff0c;但是迁移过程发生些小插曲&#xff0c;在此记录…

蓝桥杯嵌入式(G431)备赛笔记——按键模块设计

cubeMX配置: 原理图 引脚配置为上拉模式 定时器 使用定时器3(通用定时器,使用外部晶振,内部时钟),分频系数为80(从0开始则为80-1),则每1s 1m次,定时评率为为10000,对应1s 1m/10000次,频率为10ms每次 一定记得开启NVIC使能中断 编写中断回调函数 void HAL_TIM_Per…

windows程序设计课程作业-1

目录 1、作业内容 2、主要思路 (1)写接口 (2)写类具体实现接口 (3)声明委托 (4)创建实例 (5)实例化委托 3、难点分析 1&#xff09;想明白接口的作用 2&#xff09;委托的作用 4、实现代码 5、运行结果 1、作业内容 使用 C# 编码&#xff08;涉及类、接口、委托等关…

Android Studio学习10——资源res的使用

一、String,StringArray的使用 一次修改&#xff0c;多出生效 String StringArray 二、color的使用 颜色代码对应表 和上面的相似用法 三、Dimen(尺寸)的使用 用的少&#xff0c;一般直接写尺寸 四、如何写一个drawable作为背景 五、如何写一个可以改变的drawable(按钮按下…

python爬虫———post请求方式(第十四天)

&#x1f388;&#x1f388;作者主页&#xff1a; 喔的嘛呀&#x1f388;&#x1f388; &#x1f388;&#x1f388;所属专栏&#xff1a;python爬虫学习&#x1f388;&#x1f388; ✨✨谢谢大家捧场&#xff0c;祝屏幕前的小伙伴们每天都有好运相伴左右&#xff0c;一定要天天…

【Qt 学习笔记】如何在Qt中打印日志 | qDebug的使用 | Assistant的使用

博客主页&#xff1a;Duck Bro 博客主页系列专栏&#xff1a;Qt 专栏关注博主&#xff0c;后期持续更新系列文章如果有错误感谢请大家批评指出&#xff0c;及时修改感谢大家点赞&#x1f44d;收藏⭐评论✍ 如何在Qt中打印日志 | qDebug的使用 文章编号&#xff1a;Qt 学习笔记…

全文更新:什么是Power Path?充电时是充电器供电还是电池供电?

原文来自微信公众号&#xff1a;工程师看海&#xff0c;与我联系&#xff1a;chunhou0820 看海原创视频教程&#xff1a;《运放秘籍》 昨天的文章误删了一部分&#xff0c;很多同学留言想看全文&#xff0c;现补充、更新如下&#xff1a; 前段时间&#xff0c;交流群里有位同学…

【群智能算法改进】一种改进的鹦鹉优化算法 鹦鹉优化器 IPO算法【Matlab代码#73】

文章目录 【获取资源请见文章第5节&#xff1a;资源获取】1. 原始鹦鹉优化算法PO2. 改进后的IPO算法2.1 自适应切换因子2.2 混合柯西和高斯变异 3. 部分代码展示4. 仿真结果展示5. 资源获取 【获取资源请见文章第5节&#xff1a;资源获取】 1. 原始鹦鹉优化算法PO 鹦鹉优化算法…

由王雅贤带你深入《DBWGLX vs Ethan_Wang》

vs是versus。 &#xff08;百度收录我DBWG&#x1f64f;&#x1f64f;&#x1f64f;&#xff09; 算来篇自传吧。像自我介绍和简历我是完全没写过喵~ 2024年4月6日12:44:53書 本命王雅贤&#xff0c;DBWGLX我的微信号&#xff0c;至于什么意思&#xff0c;吊臂王锅的意思&am…

ARM FVP平台的terminal窗口大小如何设置

当启动ARM FVP平台时&#xff0c;terminal窗口太小怎么办&#xff1f;看起来非常累眼睛&#xff0c;本博客来解决这个问题。 首先看下ARM FVP平台对Host主机的需求&#xff1a; 通过上图可知&#xff0c;UART默认使用的是xterm。因此&#xff0c;我们需要修改xterm的默认字体设…

sql语句如何在MySQL中执行?

我们先来对MySQL的基础结构进行分析 一、 MySQL 基础架构分析 1.1 MySQL 基本架构概览 下图是 MySQL 的一个简要架构图&#xff0c;从下图你可以很清晰的看到用户的 SQL 语句在 MySQL 内部是如何执行的。 简单来说 MySQL 主要分为 Server 层和存储引擎层&#xff1a; Server…

性能分析--内存知识

内存相关知识 计算机中与CPU进行数据交换的桥梁。内存的速度&#xff0c;比CPU的速度要慢很多。比磁盘速度要快很多。内存中存放数据&#xff0c;一旦断电就会消失。linux系统的 /proc路径下的文件&#xff0c;都是内存文件。内存大小&#xff0c;一般 是GB为单位。 现在都操作…

【Pt】马灯贴图绘制过程 04-玻璃脏迹

目录 效果 步骤 一、透明玻璃 二、烟熏痕迹 三、粗糙 四、浮尘 效果 步骤 一、透明玻璃 1. 打开纹理集设置&#xff0c;着色器链接选择“新的着色器链接” 在着色器设置中可以看到此时名称为“Main shader &#xff08;Copy&#xff09;” 这里修改名称为“玻璃” 在…