初级网络工程师之从入门到入狱(六)

news2024/10/10 14:40:28

本文是我在学习过程中记录学习的点点滴滴,目的是为了学完之后巩固一下顺便也和大家分享一下,日后忘记了也可以方便快速的复习。

网络工程师从入门到入狱

  • 前言
  • 一、vlan与vlanif
  • 二、路由器之三层通信方式
    • 2.1、路由器物理接口
    • 2.2、子接口
    • 2.3、vlanif
  • 三、数据包转发过程中的详细变化
    • 3.1、源和目标IP地址
    • 3.2、源和目标MAC地址
    • 3.3、场景模拟数据包转发过程
  • 四、单播帧、广播帧、组播帧和转发、泛洪、丢弃以及广播域、冲突域
    • 4.1、帧类型
    • 4.2、网络设备如何处理这些帧:
    • 4.3、 广播域和冲突域:
    • 4.4、 这些概念之间的关系:
    • 4.5、举例说明:
      • 4.5.1、环路(Loop)是什么?
      • 4.5.2、 广播风暴(Broadcast Storm)是什么?
      • 4.5.3、交换机如何检测和处理环路?
      • 4.5.4、丢弃数据帧的原因和作用
      • 4.5.5、举例说明:
  • 五、总结


前言

今天学习的主要是关于网络基础知识的理解和应用


一、vlan与vlanif

三层交换机由交换模块和路由模块组成,一个vlan对应一个子网,一个子网对应一个网关vlanif接口,然后配置网关就是给vlanif配置,同一台交换机vlanif之间可直接内部通信
在这里插入图片描述
在这里插入图片描述

二、路由器之三层通信方式

因为路由器物理接口一个接口对应一个vlan的网关,使用存在一个vlan就要占用一个路由器物理接口,因此出现了子接口的形式进行三层数据转发。一个物理接口可以划分多个子接口,配置子接口为Trunk对接交换机接口,放通允许VLAN列表,子接口配置网关IP地址即可,子接口需要配置对应的VLAN,还有开启ARP广播
在这里插入图片描述

2.1、路由器物理接口

在这里插入图片描述

2.2、子接口

在这里插入图片描述

# 子接口配置
# 进入物理接口的子接口
interface GigabitEthernet0/0/0.10

# 终结VLANtag,接收时去掉tag,发送时打上tag
 dot1q termination vid 10
 
# 配置地址,子接口可以配置三层地址
 ip address 192.168.10.254 255.255.255.0
 
# 开启子接口的接收广播报文,如arp报文,默认关闭
 arp broadcast enable

2.3、vlanif

# 创建VLAN
vlan 10

# 配置VLANIF接口
int vlan 10
ip address 192.168.10.254 24

三、数据包转发过程中的详细变化

当一台电脑发送数据包到另一台电脑时,数据包在网络中经过不同的设备(如交换机、路由器)时,源MAC地址、目标MAC地址、源IP地址和目标IP地址都会在不同阶段发生变化。下面是详细的描述:

3.1、源和目标IP地址

源IP地址: 发送数据包的主机的IP地址。在整个数据传输过程中,源IP地址是固定不变的。
目标IP地址: 接收数据包的主机的IP地址。目标IP地址也是固定不变的,直到数据包到达最终的目的地。
这两个IP地址不会在数据包的传输过程中改变,无论数据包穿过多少个路由器。

3.2、源和目标MAC地址

源MAC地址: 当前发送数据包设备的MAC地址。在数据包发送的过程中,每当数据包进入新的链路(经过路由器的接口),源MAC地址会变成当前设备的MAC地址。
目标MAC地址: 当前数据包的下一跳设备的MAC地址。每次经过一台路由器或交换机时,目标MAC地址会更新为下一跳设备的MAC地址。
MAC地址仅在数据链路层中有效,属于局部链路的地址。因此,在每一段链路(从一个设备到另一个设备)中,MAC地址会发生变化。

3.3、场景模拟数据包转发过程

当数据包经过三层交换机或者路由器时,Mac地址都会变化,此处如果加一个三层交换机,他的源目Mac地址也会改成他自己的和下一条路由器的Mac地址

场景:假设主机A(IP地址:192.168.1.2,MAC地址:MAC-A)要发送数据包到主机B(IP地址:192.168.2.2,MAC地址:MAC-B),它们位于不同的子网,中间通过一个路由器R1(其接口分别连接两个子网,MAC地址为MAC-R1)。
步骤 1
主机A发送数据包到路由器R1(同一子网内)

源IP地址:192.168.1.2(主机A的IP地址)
目标IP地址:192.168.2.2(主机B的IP地址)
源MAC地址:MAC-A(主机A的MAC地址)
目标MAC地址:MAC-R1(路由器R1在主机A所在子网的接口的MAC地址)

过程: 主机A首先检查目标主机B的IP地址(192.168.2.2)是否在同一个子网中。由于主机A和主机B不在同一个子网,主机A会将数据包发送到默认网关(通常是路由器R1)。

主机A使用ARP协议来获取路由器R1的MAC地址,然后将目标MAC地址设置为R1的MAC地址。数据包在这一步中通过交换机传送到路由器R1。

步骤 2:
路由器R1接收数据包并转发到下一跳(不同子网)

源IP地址:192.168.1.2(保持不变)
目标IP地址:192.168.2.2(保持不变)
源MAC地址:MAC-R1(路由器R1的MAC地址)
目标MAC地址:MAC-B(主机B的MAC地址)

过程: 路由器R1接收到数据包后,它会检查数据包的目标IP地址(192.168.2.2)。路由器R1发现目标主机B在不同的子网内,因此会通过路由表找到通往192.168.2.0/24网络的接口。

路由器R1在转发数据包之前,会更改数据包的源和目标MAC地址。新的源MAC地址是路由器R1的接口MAC地址,新的目标MAC地址是主机B的MAC地址。

路由器R1使用ARP协议来获取主机B的MAC地址(MAC-B),并将数据包转发给目标主机B。

步骤 3:
主机B接收到数据包

源IP地址:192.168.1.2(保持不变)
目标IP地址:192.168.2.2(保持不变)
源MAC地址:MAC-R1(路由器R1的MAC地址)
目标MAC地址:MAC-B(主机B的MAC地址)

过程: 主机B接收到数据包后,检查目标MAC地址是否与自己的MAC地址(MAC-B)一致。如果一致,主机B会继续检查目标IP地址,并将数据包上交给传输层进行处理。

总结:
IP地址变化:
源IP地址和目标IP地址在整个数据包传输过程中保持不变,因为IP地址是网络层的地址,用于标识端到端的通信双方。
MAC地址变化:
源MAC地址:在每段链路中,源MAC地址是当前发送设备的MAC地址(例如主机A、路由器R1)。
目标MAC地址:在每段链路中,目标MAC地址是下一跳设备的MAC地址(例如路由器R1、主机B)。MAC地址是数据链路层的地址,适用于局域网的链路。

每次数据包经过一个新的链路时,MAC地址会在该链路上重新定义,但IP地址则在整个网络传输过程中保持不变。

四、单播帧、广播帧、组播帧和转发、泛洪、丢弃以及广播域、冲突域

总的来说就是交换机会根据自己的Mac地址表来发送不同的帧,Mac地址表有记录这个数据包的目标Mac地址则发送单播帧到指定端口,这也叫转发;
如果Mac地址表没有,则需要发送ARP请求广播帧到广播域内的所有设备,ARP请求帧是广播帧,因为它需要找到某台设备的MAC地址,这也叫做泛洪

现在大部分使用交换机进行终端接入,使用路由器进行路由寻址。交换机工作在数据链路层,通过数据帧进行数据传输,通过维护MAC地址表进行数据转发,有三种处理方式:转发、泛洪、丢弃。有三种数据帧类型:单播帧、广播帧、组播帧。

4.1、帧类型

帧是数据链路层(第2层)传输的数据单位,常见的帧类型有:

单播帧(Unicast Frame):
单播是从一个设备发送到另一个设备的通信。MAC地址唯一对应接收设备,网络设备(如交换机)知道如何将这个帧精确地传递到目标地址。
例子:一台PC发送给另一台PC的消息就是单播。

广播帧(Broadcast Frame):
广播帧是发送给网络中所有设备的帧,它的目的MAC地址是 FF:FF:FF:FF:FF:FF,这是所有设备都会接收的地址。广播帧会被发送到同一广播域中的所有设备。 例子:ARP请求帧是广播帧,因为它需要找到某台设备的MAC地址。

组播帧(Multicast Frame):
组播帧是发送给一组设备的帧,目标设备属于一个特定的组,并且只有这一组中的设备会接收该帧。组播地址通常以 01-00-5E 开头。 例子:视频流的组播传输通常使用这种方式来减少带宽浪费。

4.2、网络设备如何处理这些帧:

转发(Forwarding):
当交换机接收到帧时,如果目标MAC地址已经存在于它的MAC地址表中,交换机会根据该表将帧准确地转发到对应端口。
单播帧 会被转发到特定端口。

泛洪(Flooding):
当交换机接收到帧并且目标MAC地址不在其MAC地址表中,它会将这个帧泛洪到所有端口(除了接收到该帧的端口)。这种情况多见于第一次通信或地址表还没有建立完毕。
广播帧和组播帧 通常会被泛洪到广播域中的所有设备。

丢弃(Dropping):
如果交换机检测到某些不合法的帧,或出现网络拓扑中的环路,它可能会丢弃这些帧来避免网络拥塞或数据重复。

4.3、 广播域和冲突域:

广播域(Broadcast Domain):
广播域是指网络中,所有可以接收到广播帧的设备组成的区域。广播域的大小决定了广播帧的影响范围。交换机会将同一VLAN的所有端口置于一个广播域中。路由器会隔离广播域,所以每个接口就是一个独立的广播域。

冲突域(Collision Domain):
冲突域是指在共享式网络环境中,同一时间只能有一个设备发送数据的区域。如果两个设备同时发送数据,就会发生冲突(collision),数据包会被破坏。集线器(Hub)工作在这种环境中,所有连接到同一个集线器的设备都在同一个冲突域中。而交换机每个端口都是一个独立的冲突域。

4.4、 这些概念之间的关系:

帧类型和网络域的关系:
单播帧通常只在两个设备之间传输,不会影响到其他设备;而广播帧会传播到同一广播域中的所有设备;组播帧则是传播给一组特定设备,不影响其他设备。泛洪的情况可能出现在MAC地址不明确时,网络设备会采取泛洪的方式来处理单播、组播或广播帧。

广播域和冲突域的作用:
广播域的大小决定了广播帧的传播范围,如果广播域过大,广播流量会增加,影响网络性能。冲突域的大小决定了在某个网络中能否同时有多个设备发送数据,现代交换机可以大大减少冲突域,提升网络效率。

4.5、举例说明:

转发: 当一个PC发送一个单播帧到另一台PC,交换机根据MAC地址表将帧转发到目标设备所在端口。
泛洪: PC发送的帧目标MAC地址不在交换机的MAC地址表中,交换机泛洪这个帧到除接收端口之外的所有端口。
丢弃: 如果交换机检测到网络中有环路,它可能丢弃某些数据帧以防止广播风暴

4.5.1、环路(Loop)是什么?

环路是在网络拓扑中形成的一个闭合回路,这通常发生在不恰当地连接多个交换机的情况下。例如,假设有两台交换机 A 和 B,它们之间通过两条链路相互连接,这样数据可以从交换机 A 发送到 B,再从 B 返回到 A,形成一个无限循环。

当交换机接收到一个数据帧,并且不知道它的目的MAC地址时,它会泛洪该帧到所有端口。如果网络中存在环路,数据帧会被无限次地在环路中传递,最终导致网络资源被大量消耗,形成广播风暴。

4.5.2、 广播风暴(Broadcast Storm)是什么?

广播风暴是指大量的广播帧(或组播帧)在网络中循环传播,占用大量带宽,阻塞正常的数据传输,甚至可能导致整个网络瘫痪。在环路环境下,由于交换机不断泛洪广播帧,每个帧都会在交换机之间无休止地循环传播,导致以下问题:

网络带宽耗尽: 广播帧持续占用网络带宽,导致其他正常的数据无法传输。
CPU和内存负载增加: 交换机和其他设备需要处理大量的重复帧,造成处理能力的严重超载。
网络设备无法访问: 网络上的设备会因为大量无效的广播流量而无法正常通信,甚至被迫停止工作。

4.5.3、交换机如何检测和处理环路?

为了避免广播风暴,交换机通常使用 生成树协议(STP, Spanning Tree Protocol) 来检测并处理环路问题。STP 的工作原理是通过识别网络中的冗余链路,然后关闭其中的一些链路,确保没有环路发生。详细的过程如下:

BPDU(Bridge Protocol Data Unit): 生成树协议通过在交换机之间发送一种特殊的BPDU帧,来交换拓扑信息。每个交换机会发送并接收BPDU,互相确认彼此的连接情况。

根桥选择: 生成树协议会选举一个 “根桥”(root bridge),这是一台负责管理网络拓扑的交换机。其他交换机会根据到根桥的距离,选择一条最优路径,并关闭其他冗余路径以防止环路。

关闭冗余端口: 一旦检测到环路,生成树协议会将一些不必要的端口置于 “阻塞” 状态,从而打破环路,确保数据帧不会在交换机之间不断循环。

4.5.4、丢弃数据帧的原因和作用

交换机在检测到环路时,会通过生成树协议阻止部分端口转发数据帧,某些帧可能会被丢弃。这是为了防止环路造成的数据风暴。当一个端口被STP阻塞时,该端口不会转发数据帧,除非网络拓扑发生了变化,需要重新打开该端口。

丢弃帧的主要场景:

当交换机在未能及时生成生成树时,帧可能已经开始在环路中循环。这时交换机会丢弃部分帧来防止数据持续泛洪。
生成树协议工作后,某些链路或端口被阻塞,交换机会丢弃那些试图通过阻塞端口传输的数据帧。

4.5.5、举例说明:

未启用生成树协议的网络:假设两台交换机通过两条链路相连。交换机A接收到一个广播帧后,会将它泛洪到所有端口,包括连接到交换机B的端口。交换机B也会将该广播帧泛洪回交换机A,形成环路。如果生成树协议没有启用,这些广播帧会在两台交换机之间无限循环,导致网络崩溃。

启用生成树协议的网络:交换机A和B通过生成树协议发现了网络中的环路,并关闭其中一条链路。这样广播帧不会在环路中循环,冗余链路被阻塞,网络保持正常运行。

通过丢弃帧或阻塞端口,交换机能够有效防止环路引发的广播风暴,确保网络的稳定性和性能。

五、总结

💕 原创不易,还希望各位大佬支持一下 \textcolor{blue}{原创不易,还希望各位大佬支持一下} 原创不易,还希望各位大佬支持一下

👍 点赞,你的认可是我创作的动力! \textcolor{orange}{点赞,你的认可是我创作的动力!} 点赞,你的认可是我创作的动力!

收藏,你的青睐是我努力的方向! \textcolor{red}{收藏,你的青睐是我努力的方向!} 收藏,你的青睐是我努力的方向!

🥕 评论,你的意见是我进步的财富! \textcolor{green}{评论,你的意见是我进步的财富!} 评论,你的意见是我进步的财富!

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

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

相关文章

Tars简介

定义:Tars协议的高性能rpc开发框架 功能:可扩展协议编解码、高性能rpc通信框架、名字路由和发现、发布监控、日志统计、配置管理 整体架构 交互流程 1.服务发布 2.管理命令 3.心跳上报 4.信息上报 server服务运行后,会定期上报统计信息到s…

高中毕业|转行AI产品经理经验都在这了

从高中毕业以后第一份客服工作➡️设计师➡️产品➡️AI产品,从月薪4k到年薪22w,我觉得在转行这方面我太有发言权了,所以今天为大家整理我的转行经验,希望能帮助到大家! 找工作,大家胆子一定要大&#xff0…

10月10日微语报,星期四,农历九月初八

10月10日微语报,星期四,农历九月初八,工作愉快,生活喜乐! 一份微语报,众览天下事! 1、从严处置!网信部门曝光“毒视频”“开盒挂人”等涉未成年人乱象。 2、A股新纪录诞生&#x…

Windows 下纯手工打造 QT 开发环境

用过 QtCreator 和 VS QT 插件,都觉得不是很理想。所以有了这个想法。 手工打造的 QT 的开发环境,是不需要安装上面两个程序的。 1、下载 vcpkg,编译 QT6 下载地址:https://github.com/microsoft/vcpkg.git 进入到 …

mac本地VSCode配置LeetCode

1、安装node.js及环境配置 https://www.jb51.net/article/283302.htm mac配置后如何找到Node地址 打开终端,输入which node 2、安装leetcode插件 https://zhuanlan.zhihu.com/p/488602193 3、mac配置力扣插件 https://juejin.cn/post/7050349897756704805 4、登…

前瞻性的索引设计

目录 介绍两个快速、易用的技术:基本问题法(BQ)和快速上限估算法(QUBE) 发现不合适的索引 基本问题法 对每个SELECT语句,以下问题的答案都必须按下述步骤来考虑 如何确定一个方案能否让SELECT在最差输…

PostgreSQL 专栏已全部完成

PostgreSQL 专栏历时近半年,终于完成了。 目前已整理成册,可以看下截图: 目录预览 目录 01 预览: 目录 02 预览: 目录 03 预览: 目录 04 预览: 目录 05 预览: 目录 06 预览&…

罗格科技:全球税务服务领域初露锋芒 罗格罗拉国际税大模型发布

近年来,随着全球数字经济和跨境电商的迅猛发展,税务问题已成为中国企业出海过程中不可忽视的重要环节。为了帮助企业应对国际税务挑战,国内领先的数据科学与税务科技服务供应商罗格科技,携其最新成果——罗格罗拉国际税大模型&…

[内容转载] 微信全平台开源终端数据库WCDB迎来重大升级!

第一次看到这么详实的文章,转给大家看看,很多提出问题和如何解决问题的方法因为太细了,就没有完全转载,感兴趣的可以去看原文。 一、简介 WCDB 是微信团队开源的一款基于 SQLite 的终端数据库。自 2017 年 6 月开源以来&#xff…

【C++】STL——stack和queue

目录 前言容器配接器(适配器)stack的使用stack的模拟实现queue的使用queue的模拟实现双端队列(deque) 前言 前面我们已经学习了STL容器中的string、vector还有list。 【C】string的模拟实现 【C】STL——vector的模拟实现 【C】S…

gradle降级

文章目录 引子编译错误参考 引子 项目引入了一个高版本项目改造,编译运行失败,提示如下错误,解决方案要么升级gradle版本,升级适配改各种方法配置,现有的项目存在适配问题;要么就是版本降级。 本文以介绍…

docker环境redis启动失败

现象&#xff1a; 查看日志错误为 Bad file format reading the append only file: make a backup of your AOF file, then use ./redis-check-aof --fix <filename> 经查询为aof文件损坏导致&#xff0c;修复aof即可 解决方法&#xff1a; 1.查看执行的docker命令&…

c到c++衔接速成

温馨提示&#xff1a;本篇文章乃博主多次学习后的总结&#xff0c;其中一些专业名词的概念不会做介绍&#xff0c;本篇文章只解决实操问题 c到c中&#xff0c;语法上得到了许多升级&#xff0c;那么哪些地方升级了&#xff0c;我们来快速复习一下 目录 头文件的升级 命名空间…

国产长芯微LDC5791是一款单通道、20位、无缓冲电压输出DAC完全P2P替代AD5791

描述 LDC5791是一款单通道、20位、无缓冲电压输出DAC&#xff0c;采用最高33 V的双极性电源供电。正基准电压输入范围为5 V至VDD – 2.5V&#xff0c;负基准电压输入范围为VSS 2.5 V至0 V。相对精度最大值为1 LSB&#xff0c;保证工作单调性&#xff0c;差分非线性(DNL)最大值…

基于echarts的旅游信息(游客行为分析)大数据可视化平台(echarts+Django+MySQL+Scrapy框架爬虫;程序+论文+开题报告)

摘要 本论文旨在研究Python技术和ECharts可视化技术在游客行为分析系统中的应用&#xff0c;通过对旅游数据的深入分析&#xff0c;希望能够揭示出南京旅游市场的现状和趋势&#xff0c;从而为游客提供更优质的旅游体验&#xff0c;也可以为政府和旅游企业制定更加科学和有效的…

Spring事务的1道面试题

每次聊起Spring事务&#xff0c;好像很熟悉&#xff0c;又好像很陌生。本篇通过一道面试题和一些实践&#xff0c;来拆解几个Spring事务的常见坑点。 原理 Spring事务的原理是&#xff1a;通过AOP切面的方式实现的&#xff0c;也就是通过代理模式去实现事务增强。 具体过程是…

2024年诺贝尔物理学奖

2024年&#xff0c;诺贝尔物理学奖没有颁给物理学家&#xff0c;而是授予了两位计算机科学家&#xff0c;表彰他们在神经网络领域的开创性工作&#xff0c;这项研究成为了我们今天所称的人工智能的基础。这标志着物理学与计算机科学之间的深度融合。 获奖者约翰霍普菲尔德和杰弗…

财政警钟敲响!CBO预测:美国2024财年赤字预计达1.8万亿美元

KlipC报道&#xff1a;美国国会预算办公室&#xff08;CBO&#xff09;近日发布报告显示&#xff0c;2024财年&#xff08;2023年10月1日至2024年9月30日&#xff09;&#xff0c;美国联邦政府预算赤字高达1.8万亿美元&#xff0c;与上一财年相比增加了1390亿美元。据CBO预测&a…

转型AI产品经理需要掌握的硬知识、经理能力模型和常见AI概念梳理

近几年&#xff0c;从亚马逊&#xff0c; Facebook&#xff0c;到谷歌&#xff0c;微软&#xff0c;再到国内的BAT&#xff0c;全球最具影响力的技术公司都将目光转向了人工智能&#xff08; AI &#xff09;。2016年 AlphaGo 战胜李世石&#xff0c;把公众的目光也聚集到了人工…

IROS24新鲜出炉:PRL-Track,最先进的无人机视觉目标跟踪系统!

导读&#xff1a; 近年来&#xff0c;随着无人机技术的飞速发展&#xff0c;视觉目标跟踪在无人机的自主应用中扮演着越来越重要的角色&#xff0c;然而&#xff0c;在复杂多变的环境中&#xff0c;实现高精度的目标跟踪并非易事。无人机在飞行过程中&#xff0c;常常会遇到目标…