热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

0x1HCNPRS集线器、交换机、路由器原理个人理解,分析图

功能:交换机—连接路由器—互联ISP:运营商移动、联通、电信中继器集线器功能中继器:扩大信号集线器:(

功能:交换机—连接 路由器—互联

ISP:运营商 移动、联通、电信

中继器 集线器功能

中继器:扩大信号

集线器:(Hub)多端口中继器,接收主机发来的信息,并无条件的向除源端口之外的所有端口进行转发(泛洪)

知识点补充:

模拟信号 频分复用FDM(不同频率,子信道隔离频带防串扰)

数字信号 时分复用TDM(不同的时间可轮流占用)

 

Hub半双工通信(通俗讲:对讲机就是一个半双工很好的例子,对讲中,只能一个人讲话,可轮流使用)传输数字信号采用时分复用。

 


Hub分析

A>B发送数据在介质中传输方向图

 

 


提问1:A>B发送数据时,同时刻C>D可否发送数据?

答:不能

A>B发送数据时,A>Hub,然后hub泛洪,同时hub>B, hub>C, hub>D。C>D发送数据则同一介质内发送冲突(半双工),这时候产生的叫冲突域。

 


提问2:采用Hub网络A>B拷贝文件时,C>D可否拷贝文件?

可以,但是拷贝完成时间会延长。比如A>B用0.01s,C>D用0.01s,A>B用0.01s,C>D用0.01s,感觉上A>B拷贝文件时,C>D也在拷贝文件,但是是轮流使用,平分时间,时间切换很快。相当于hub100M A>B 50M,C>D 50M


提问3:A>B发送数据,同一时刻E>F可否发送数据?

    不能。A>B发送数据,通过Hub扩散到每个主机。同一时刻,所有主机通过Hub构成一个冲突域。Hub端口越多,所有端口平分带宽,每个端口分到带宽越少,效率很差。


交换机工作原理:

Switch MAC地址表


F0/1

F0/2

A

01-01-01-01-01-01

E

05-05-05-05-05-05

B

02-02-02-02-02-02

F

06-06-06-06-06-06

C

03-03-03-03-03-03

G

07-07-07-07-07-07

D

04-04-04-04-04-04

H

08-08-08-08-08-08

 


  1. 源和目的MAC地址在表中都有,并且在同一端口,则会丢弃该数据帧
  2. 源和目的MAC地址在表中都有,但不在同一端口,则会以目的地址所对应端口进行转发
  3. 目的MAC地址在表中没有,则交换机会泛洪

数据帧在交换机内的交换过程

①当主机D发送广播帧时,交换机从E3端口接收到目的地址为ffff.ffff.ffff (广播地址) 的数据帧,则向E0、E1、E2和E4端口转发该数据帧

②当主机D与主机E通信时,交换机从E3端口接收到目的地址为0260.8c01.5555的数据帧,查找MAC地址表后发现0260.8c01.5555并不在表中,则交换机把地址0260.8c01.5555加入MAC地址表,并向E0、E1、E2和E4端口转发该数据帧。

③当主机D与主机F通信时,交换机从E3端口接收到目的地址为0260.8ec01.6666的数据帧,查找MAC地址表后发现0260.8c01.6666也位于E3端口,即与源地址处于同一网桥端口,交换机不转发该数据帧,而是直接丢弃。

④当主机D与主机A通信时,交换机从E3端口接收到目的地址为0260.8c01.1111的数据,查找MAC地址表后发现0260. 8c01.1111位于E0端口,所以交换机将数据帧转发至E0端口,这样主机A即可收到该数据帧。

⑤如果在主机D与主机A通信的同时,主机B也正在向主机C发送数据,交换机同样会把主机B发送的数据帧转发到连接主机C的E2端口。这时E1和E2之间,以及E3和E0之间,通过交换机内部的硬件交换电路,建立了两条链路,这两条链路上的数据通信互不影响,因此网络也不会产生冲突。所以,主机D和主机A之间的通信独享一条链路,主机C与主机B之间也独享一条链路。而这样的链路仅在通信双方有需求时才会建立,一旦数据传输完毕,相应的链路也随之拆除。

构造和维护MAC地址表

 


交换机的MAC地址来源:

a.交换机加电初始化时

b.计算机和交换机加电、断电或迁移时

c.MAC地址表更新

 

MAC地址表的建立和维护过程

(1)在交换机加电启动进行初始化时

其MAC地址表为空的。当自检成功后,交换机开始侦测各端口连接的设备;

如图所示,一旦A、B、C互相访问,以及A、B、C访问F,期间的数据流必然会以广播的形式被交换机接收到,当交换机接收到数据后,首先把数据帧的源MAC地址给拆下来,如果在交换机内部的存储器中没有A、B、C、F的MAC地址,交换机会自动把这些地址记录并存储下来,同时,把这些MAC地址所表示的设备和交换机的端口对照起来。

保存下来的这些信息被称为MAC地址表。

2)当计算机和交换机加电、断电或迁移时

每当增加MAC地址表项时,均在该项中注明帧的到达时间。每当目的地址已在表中的帧到达时,将以当前时间更新该项。(这样,从表中每项的时间即可知道该机器最后帧到来的时间)。

交换机中有一个进程定期地扫描MAC地址表,清除时间早于当前时间若干分钟的全部表项。

如果从一个物理网段上卸下一台计算机,连到另一个物理网段上,则在几分钟内,它即可重新开始正常工作而无需人工干预。

这个算法同时也意味着,如果机器在几分钟内无动作,那么发给它的帧将不得不散发,一直到它自己发送出一帧为止。

3)MAC地址表更新

交换机中的内存有限,能够记忆的MAC地址数也有限,交换机设定一个自动老化时间,若某个MAC地址在设定时间内不再出现,交换机将自动把该MAC地址从地址表中清除。当下一次该MAC地址出现时,将被当做新地址处理。

 


交换机的基本功能:


  1. 地址学习
  2. 转发/过滤
  3. 避免环路

a.地址学习(Address Learning)

交换机通过监听所有流入的数据帧,对其源MAC地址进行检验,形成一个MAC地址到其相应端口号的映射,并且将这一映射关系存储到其MAC地址表中。

b. 转发/过滤决定( forward/filterdecisions)

交换机根据数据帧的MAC地址进行数据帧的转发操作,同时能够过滤(即丢弃)非法侵入的数据帧。

转发/过滤遵循的规则

如果数据帧的目的MAC地址是广播地址或者组播地址,则向交换机所有端口转发(数据帧来的端口除外);

如果数据帧的目的地址是单播地址,但这个地址并不在MAC地址表中,那么也向所有的端口转发(数据帧来的端口除外);

如果数据帧的目的地址在MAC地址表中,那么就根据地址表转发到相应的端口;

如果数据帧的目的地址与数据帧的源地址在同一个物理网段上,它就会丢弃这个数据帧,不会发生交换。

c. 避免环路(loop Avoidance)

交换机通过使用生成树协议(Spanning–tree protocol),来管理局域网内的环境,避免数据帧在网络中不断绕圈子的现象产生,即避免环路。

网络出现环路后,很容易产生广播风暴和MAC地址系统失效,致使网络瘫痪。


路由器的基本功能:

1.协议转换

2.寻址(选择最优路径)

3.分组转发


路由器的工作原理:

工作站A需要向工作站B传送信息,并假定工作站B的IP地址为10.120.0.5,它们之间需要通过路由器R1、R2、R3、R4、R5,其分布如下图所示。

① 工作站A将工作站B的地址10.120.0.5连同数据信息以数据帧的形式发送给R1。

② 路由器R1收到工作站A的数据帧后,先从报头中取出地址10.120.0.5,并根据路由表计算出发往工作站B的最佳下一跳路径:

                      R1-> R2->R5->B

并将数据帧发往路由器R2。

③ 路由器R2重复路由器R1的工作,并将数据帧转发给路由器R5。

④ 路由器R5同样取出目的地址,发现10.120.0.5就在该路由器所连接的网段上,于是将该数据帧直接交给工作站B。

⑤ 工作站B收到工作站A的数据帧,一次通信过程宣告结束


路由器 路由表


路由表的来源

1.D直连(i.需要IP地址ii.UP)

2.S静态(ip route 目的网段 掩码 下一跳)

    默认路由(缺省路由)出口     0.0.0.0 0.0.0.0 下一跳

    路由备份:例如:两个运营商,一个100M,一个50M,通过设置100M的路由优先级,优先使用100M,当100M链路出现故障时,自动使用50M

    负载分担:两条链路同时走,设置相同优先级

3.RIP\OSPF动态

根据工作范围:

IGP:RIP、OSPF、IS-IS    主要目的是计算路由

EGP:BGP                            主要目的是传播路由

根据算法

        距离矢量算法:RIP、BGP

        链路状态算法:OSPF、IS-IS


路由优选:

1、最长匹配

2、优先级

3、cost

三个都相同,可以做负载分担

 


推荐阅读
  • 在Linux系统中,网络配置是至关重要的任务之一。本文详细解析了Firewalld和Netfilter机制,并探讨了iptables的应用。通过使用`ip addr show`命令来查看网卡IP地址(需要安装`iproute`包),当网卡未分配IP地址或处于关闭状态时,可以通过`ip link set`命令进行配置和激活。此外,文章还介绍了如何利用Firewalld和iptables实现网络流量控制和安全策略管理,为系统管理员提供了实用的操作指南。 ... [详细]
  • 在机器学习领域,深入探讨了概率论与数理统计的基础知识,特别是这些理论在数据挖掘中的应用。文章重点分析了偏差(Bias)与方差(Variance)之间的平衡问题,强调了方差反映了不同训练模型之间的差异,例如在K折交叉验证中,不同模型之间的性能差异显著。此外,还讨论了如何通过优化模型选择和参数调整来有效控制这一平衡,以提高模型的泛化能力。 ... [详细]
  • 本指南从零开始介绍Scala编程语言的基础知识,重点讲解了Scala解释器REPL(读取-求值-打印-循环)的使用方法。REPL是Scala开发中的重要工具,能够帮助初学者快速理解和实践Scala的基本语法和特性。通过详细的示例和练习,读者将能够熟练掌握Scala的基础概念和编程技巧。 ... [详细]
  • 投融资周报 | Circle 达成 4 亿美元融资协议,唯一艺术平台 A 轮融资超千万美元 ... [详细]
  • 本文深入探讨了 hCalendar 微格式在事件与时间、地点相关活动标记中的应用。作为微格式系列文章的第四篇,前文已分别介绍了 rel 属性用于定义链接关系、XFN 微格式增强链接的人际关系描述以及 hCard 微格式对个人和组织信息的描述。本次将重点解析 hCalendar 如何通过结构化数据标记,提高事件信息的可读性和互操作性。 ... [详细]
  • 在CentOS 7环境中安装配置Redis及使用Redis Desktop Manager连接时的注意事项与技巧
    在 CentOS 7 环境中安装和配置 Redis 时,需要注意一些关键步骤和最佳实践。本文详细介绍了从安装 Redis 到配置其基本参数的全过程,并提供了使用 Redis Desktop Manager 连接 Redis 服务器的技巧和注意事项。此外,还探讨了如何优化性能和确保数据安全,帮助用户在生产环境中高效地管理和使用 Redis。 ... [详细]
  • 在软件开发过程中,经常需要将多个项目或模块进行集成和调试,尤其是当项目依赖于第三方开源库(如Cordova、CocoaPods)时。本文介绍了如何在Xcode中高效地进行多项目联合调试,分享了一些实用的技巧和最佳实践,帮助开发者解决常见的调试难题,提高开发效率。 ... [详细]
  • 深入解析Struts、Spring与Hibernate三大框架的面试要点与技巧 ... [详细]
  • 在《Linux高性能服务器编程》一书中,第3.2节深入探讨了TCP报头的结构与功能。TCP报头是每个TCP数据段中不可或缺的部分,它不仅包含了源端口和目的端口的信息,还负责管理TCP连接的状态和控制。本节内容详尽地解析了TCP报头的各项字段及其作用,为读者提供了深入理解TCP协议的基础。 ... [详细]
  • 如何优化MySQL数据库性能以提升查询效率和系统稳定性 ... [详细]
  • 本文将继续探讨 JavaScript 函数式编程的高级技巧及其实际应用。通过一个具体的寻路算法示例,我们将深入分析如何利用函数式编程的思想解决复杂问题。示例中,节点之间的连线代表路径,连线上的数字表示两点间的距离。我们将详细讲解如何通过递归和高阶函数等技术实现高效的寻路算法。 ... [详细]
  • 本文探讨了利用Python实现高效语音识别技术的方法。通过使用先进的语音处理库和算法,本文详细介绍了如何构建一个准确且高效的语音识别系统。提供的代码示例和实验结果展示了该方法在实际应用中的优越性能。相关文件可从以下链接下载:链接:https://pan.baidu.com/s/1RWNVHuXMQleOrEi5vig_bQ,提取码:p57s。 ... [详细]
  • 深入解析:React与Webpack配置进阶指南(第二部分)
    在本篇进阶指南的第二部分中,我们将继续探讨 React 与 Webpack 的高级配置技巧。通过实际案例,我们将展示如何使用 React 和 Webpack 构建一个简单的 Todo 应用程序,具体包括 `TodoApp.js` 文件中的代码实现,如导入 React 和自定义组件 `TodoList`。此外,我们还将深入讲解 Webpack 配置文件的优化方法,以提升开发效率和应用性能。 ... [详细]
  • HBase Java API 进阶:过滤器详解与应用实例
    本文详细探讨了HBase 1.2.6版本中Java API的高级应用,重点介绍了过滤器的使用方法和实际案例。首先,文章对几种常见的HBase过滤器进行了概述,包括列前缀过滤器(ColumnPrefixFilter)和时间戳过滤器(TimestampsFilter)。此外,还详细讲解了分页过滤器(PageFilter)的实现原理及其在大数据查询中的应用场景。通过具体的代码示例,读者可以更好地理解和掌握这些过滤器的使用技巧,从而提高数据处理的效率和灵活性。 ... [详细]
  • 在处理遗留数据库的映射时,反向工程是一个重要的初始步骤。由于实体模式已经在数据库系统中存在,Hibernate 提供了自动化工具来简化这一过程,帮助开发人员快速生成持久化类和映射文件。通过反向工程,可以显著提高开发效率并减少手动配置的错误。此外,该工具还支持对现有数据库结构进行分析,自动生成符合 Hibernate 规范的配置文件,从而加速项目的启动和开发周期。 ... [详细]
author-avatar
十字彩虹00
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有