局域网的中枢—以太网交换机

令牌环网、FDDI、ARCNET等都已成往事,以太网几乎成为了互联网的唯一。

以太网工作原理

局域网要解决的最大问题,无非是多台主句都想在网络上发言,在任何一个时刻,让谁先"发言"的问题。

这就像一个多人会议,没有主持人,而每次发言者只能一个人,可能会出现多个人同时想发言的情况。

为了解决这个问题,比如令牌环网是让这个网络只有一个"令牌",谁先拿到就谁发言。其缺点是令牌维护难;一个节点出问题就会使得网络失效;新主机入环退环都要暂停令牌环网。

以太网是这样解决发言冲突问题的。如果某台主机想要发送数据(发言),可以遵照下面步骤运行:

  1. 开始:如果线路空闲,则启动传输,否则转到第4步
  2. 发送:如果检测到冲突,继续发送数据直到到达最小报文时间(保证所有其他转发器和终端检测到冲突),再转到第4步
  3. 成功传输:向更高层的网络协议报告发送成功,退出传输模式
  4. 线路忙:等待,直到线路空闲
  5. 线路空闲:等待一个随机的时间,再转到第一步,除非超过最大尝试次数
  6. 超过最大尝试传输次数:向更高层的网络协议报告发送失败,退出传输模式

基于以上流程,以太网被设计成总线型的,一根主线贯穿始末,在主线上"分叉"来链接主机。

这一设计简单、快捷、灵活性强,随机可以添加主机、删除主机,方便非专业人士组网。因此,以太网很快流行开来。

这套机制也叫做CSMA/CD(载波侦听多路复用-冲突检测)

从共享主线到交换式

一根主线,被多台主机共享,其工作效率将会被降得很低。而且,这种“一人说、大家听”的特性有安全问题,网络上任何主句都可以选择是否监听线路上传输的所有信息。(这种模式的以太网被称为共享式以太网)。

为改进上面缺点,交换式以太网技术产生了。它能够同时提供多条传输路径,从而显著提高网络的整体带宽,同时也为网络安全性提供了保证。交换式以太网核心设备是以太网交换机,而非共享总线。CSMA-CD仍旧有效,但共享总线模式被彻底颠覆了。

以太网交换机:送别者

  • 交换式以太网需要一种核心设备,能够快速的指导所有进入者,你该从哪个门走,并将进入者"扭送"到出口。这个设备只负责处理以太网信息,因此被称为"以太网交换机",简称为交换机
  • 这种家伙往往只有一种物理接口----以太网接口。不同的以太网接口,因为接口类型和数量、交换容纳、所处理的协议层等不同而不同。
  • 以太网交换机根据其处理的协议层不同,分为二层交换机、三层交换机、四层交换机… (这里的层指的是ISO/OSI的7层结构)。二层指的是链路层,也就是处理以太网帧的相关操作;三层指的是IP层,处理IP层的操作
    • 二层交换机在操作过程中不停地收集资料,并建立它本身的地址表,这个表标明每个MAC地址是在哪个断开上被发现的。当交换机接收到一个数据包时,会检查该数据包的目的地址,检查一下自己的地址表,并决定把数据包从哪个端口发送出去。
    • 这与HUB不同,HUB组成的共享式以太网,某个站点发送的数据会出现在HUB所有端口上,不但效率低而且不安全。
    • 以太网交换机的引入,使得网络节点可以独占带宽。只有一个例外----对于二层广播报文(比如ARP请求),二层交换机会对所有主机广播
    • 当多个二层交换机用以太网连接起来,二层交换网络上的所有设备都会收到广播信息。如果这个以太网太大,泛滥的广播信息会造成网络效率大幅降低----这就是“广播风暴”
    • 解决这个问题的方法,是在一个二层交换网络内进一步划分为多个虚拟的局域网(VLAN)。这里的虚拟是“逻辑”的意思。也就是说,按照一定的逻辑关系将主机划分为若干群组(逻辑组),和主机所在的物理位置无关。
    • 在一个VLAN中,由一台主机发出的信息只能被具有相同虚拟网编号的其他主机接收,局域网的其他成员则收不到这些信息。VLAN也叫做“广播领”
    • 一般来讲,局域网之间可以相互通信,无需路由器。但划分VLAN之后,这种情况将发生变化-----在一个以太网内的主机,如果被划分在不同的VLAN中,它们之间必须通过路由设备才能通信
    • 从上面可以看出,VLAN解决了“广播风暴”但是成本(路由器)和效率升高了。于是,就引入了三层交换机
    • 三层交换机是在二层交换机的基础上增加了三层路由功能。三层交换机的路由查找是针对“流”的,它利用高速缓存技术,在成本不高的情况下实现快速转发。

二层交换机的工作原理

交换机的包接收操作

1、首先,电信号到达网线接口,交换机里的模块进行接收

2、接下来交换机里的模块将电信号转换为数字信号

3、然后通过包末尾的 FCS 校验错误,如果没问题则放到缓冲区。
这部分操作基本和计算机的网卡相同,但交换机的工作方式和网卡不同:

  • 计算机的网卡本身具有 MAC 地址,并通过核对收到的包的接收方 MAC 地址判断是不是发给自己的,如果不是发给自己的则丢弃;
  • 交换机本身不具有MAC地址(但是它有很多端口,每个端口都可以和不同的MAC地址绑定),会直接接收所有(通过包末尾的FCS校验错误的)数据包并放到缓存区中

4、将包存入缓冲区后,接下来在交换机的MAC地址表中查询一下这个包的接收方 MAC 地址是否已经在 MAC 地址表中有记录了。

举个例子,如果收到的包的接收方 MAC 地址为 00-02-B3-1C-9C-F9 ,则与图中表中的第 3 行匹配,根据端口列的信息,可知这个地址位于 3 号交换机端口上,然后就可以通过交换电路将包发送到相应的交换机端口了。

当 MAC 地址表找不到指定的 MAC 地址会怎么样?

地址表中找不到指定的 MAC 地址。这可能是因为具有该地址的设备还没有向交换机发送过包,或者这个设备一段时间没有工作导致地址被从地址表中删除了。

这种情况下,交换机无法判断应该把包转发到哪个端口,只能将包转发到除了源端口之外的所有端口上,无论该设备连接在哪个端口上都能收到这个包。

这样做不会产生什么问题,因为以太网的设计本来就是将包发送到整个网络的,然后只有相应的接收者才接收包,而其他设备则会忽略这个包。 发送了包之后目标设备会作出响应,只要返回了响应包,交换机就可以将它的地址写入 MAC 地址表,下次也就不需要把包发到所有端口了。

此外,如果接收方的MAC地址是一个广播地址,那么交换机会将包发送到除了源端口之外的所有端口。

以下两个属于广播地址:

  • MAC 地址中的 FF:FF:FF:FF:FF:FF
  • IP 地址中的 255.255.255.255

交换机发送包有两种可能:

  • 目标MAC是子网内主机,发送给子网主机,子网主机就会接收这个包
  • 目标MAC是路由器,路由器接收包之后就可以转发到外网了。

路由器:出境大门

网络包经过交换机之后,现在到达了路由器,并在此被转发到下一个路由器或目标设备。

这一步转发的工作原理和交换机类似,也是通过查表判断包转发的目标。

工作原理

路由器的包接送操作

首先,电信号到达网线接口部分,路由器中的模块会将电信号转换成数字信号,然后通过包末尾的FCS进行错误校验

如果没有问题则检测MAC头部中的接收方的MAC地址,看看是不是发给自己的包,如果是就放到接收换粗去中,负责就丢弃这个包。

总的来说,路由器的端口都具有MAC地址,只接收与自身MAC地址匹配的包,遇到不匹配的包则直接丢弃

查询路由表确定输出端口

完成包接收操作之后,路由器就会去掉包开头的MAC头部

MAC头部的作用就是将包送达路由器,其中的接收方MAC地址就是路由器端口的MAC地址。因此,当包到达路由器之后,MAC头部的任务就完成了,于是MAC头部就会被丢弃

接下来,路由器会根据MAC头部后面的IP头部中的内容进行包的转发操作。

首先要查询路由表判断转发目标


具体的工作流程根据上图,举个例子。

  • 假设地址为10.10.1.101的计算机要向地址为 192.168.1.100 的服务器发送一个包,这个包先到达图中的路由器。

  • 判断转发目标的第一步,就是根据包的**接收方 IP **地址查询路由表中的目标地址栏,以找到相匹配的记
    录。

  • 路由匹配和前面讲的一样,每个条目的子网掩码和 192.168.1.100IP 做 & 与运算后,得到的结果与对应条目的目标地址进行匹配,如果匹配就会作为候选转发目标,如果不匹配就继续与下个条目进行路由匹配。

  • 如第二条目的子网掩码255.255.255.0192.168.1.100 IP 做 & 与运算后,得到结果是
    192.168.1.0 ,这与第二条目的目标地址 192.168.1.0 匹配,该第二条目记录就会被作为转发目标。

  • 实在找不到匹配路由时,就会选择默认路由,路由表中子网掩码为 0.0.0.0 的记录表示「默认路由」。

路由器的发送操作

接下来就会进入包的发送操作。

首先,我们需要根据路由表的网关列判断对方的地址

  • 如果网关是一个IP弟子,那么这个IP地址就是我们要转发的目标地址,还未到达终点,还需要继续路由器转发
  • 如果网关未空,则IP头部中的接收方IP地址就是要转发到的目标地址,也是就终于找到 IP 包头里的目标地址了,说明已抵达终点

知道对方的IP地址之后,需要寻找IP地址对应的Mac地址(接收方的MAC地址)

  • 先查询路由器中的ARP缓存,如果找不到就进行下一步
  • 通过ARP协议根据IP地址查询MAC地址,并将查询的结果作为接收方的MAC地址

接下来填写发送方MAC地址: 就是输出端口的MAC地址

还有一个以太类型字段:填写0080(十六进制)表示IP协议

网络包完成之后,接下来会将其转换成电信号并通过端口发送出去。

发送出去的网络包会通过交换机到达下一个路由器。由于接收方MAC地址就是下一个路由器的地址,所以交换机会根据这一地址将这一地址将包传输到下一个路由器。

接下来,下一个路由器就会将包转发给再下一个路由器,经过层层转发之后,网络包就到达了最终的目的。

在网络包传输的过程中,源IP和目的IP始终是不会变的,一直编号的是MAC地址,因为需要MAC地址在以太网内进行两个设备之间的包传输

在发送数据包时,如果目标主机不是本地局域网,填入的MAC地址是路由器,也就是把数据包转发给路由器,路由器一直转发下一个路由器,直到转发到目标主机的路由器,发现IP地址是自己局域网内的主机,就会arp请求获取目标主机的MAC地址,从而转发到这个服务器的主机。

路由器能干什么

  • 路由器是组成IP网络的最主要的选路设备
  • 路由器是一个能够让进入其体内的、携带原始信息的数据包选择出口道路的盒子
  • 路由器是一个信息中转站,它能够将不同制式的网络连接在一起。数据可能以各种方式进入路由器,比如以太网帧、ATM信源等。无论采用何种方式,路由器都会把数据打开并进行分析,根据出口线路的类型重新封装到帧何种信元里面。
  • 路由器专门执行各种路由协议,并进行数据包的转发工作
  • 路由器还能做很忙比如安全、VPB、流控、负载均衡等方面的工作
  • 路由器由自己的记忆,其中最关键的记忆,就是它的路由表。
    • 每台路由器都可以按照一定的规则动态更新它的路由表(这叫做动态路由)
    • 有了这张路由表,从某个断开进来的IP包才能在其指导下正确的选路。

路由器的拥塞

路由器是网络中的交叉路口,信息在线路上传送,是不会引起任何拥塞的,那么拥塞的发生地就一定出现在路口上。这就像道路交通,正常的道路交通,除非车祸等非可控因素,都是在交叉路口,道路出入口才发生拥塞的。

IP包的转发规则

  • 路由器根据IP包的目的IP地址和路由表寻找下一跳的路径,并将该IP包发送到正确的出口,这就是IP包的转发
  • 路由器通过路由协议获得路由表,路由协议分为静态路由协议和动态路由协议
  • 动态路由协议分为内部网关协议和外部网关协议
  • 常见的内部网关协议又RIR3、IS-IS、EIGRP、IGRP等。外部网关协议只有一种:BGP

IP包在IP节点进行下一跳路径的选择,如果IP节点没有明确规定下一跳的路径,那么久按照“缺省路径”所指引的方向行进。这就是IP包的转发规则。

在以太网中,任何一台主机发出的IP包,都有目的IP地址(当然,目的IP地址可能不止一个,比如组播、广播中)。这条计算机自己就能排队,目的IP地址是否属于这个以太网。如果不属于同一个以太网段,主机将首先把这个包发送到“缺省网关”那里

缺省网关一定是属于这个以太网段的,因为主机必须通过地址解析法找到缺省网关。大部分情况下,缺省网关是这个以太网的出口路由器。

当IP到达出口路由器,路由工作才真正开始:路由器查看这个包的目的IP地址,并检索自身的路由表,根据对应的路由表项。把它从合适的出口送出去。

路由器是通过路由协议来获取路由表的

路由器和交换机的区别

  • 因为路由器是基于 IP 设计的,俗称三层网络设备,路由器的各个端口都具有 MAC 地址和 IP 地址;
  • 而交换机是基于以太网设计的,俗称二层网络设备,交换机的端口不具有 MAC 地址。

感觉:路由器就像一个很小很小的主机,数据包通过交换机这个跳板在“主机”之间流动

网络:以太网交换机、路由器相关推荐

  1. 网络笔记--交换机和路由器

    这一节仍然以理论为主,看一看通过网线传输出去的包是如何经过集线器.交换机和路由器等网络设备, 最终进入互联网的. 信号在网线和集线器中传输 每个包都是独立传输的 无论包里面装的是应用程序的数据或者是 ...

  2. 网络基础知识——交换机路由器

    网络基础知识--交换机&路由器 一:交换机简介 交换机是互联同一局域网的设备,进行简单的存储.转发,不对数据进行任何更改,属于数据链路层设备. 二:交换机的功能 1:数据帧的交换 2:终端用户 ...

  3. 下列哪项不属于以太网交换机的特点_南开19秋学期(1709、1803、1809、1903、1909) 《网络技术与应用》在线作业题目【标准答案】...

    19秋学期(1709.1803.1809.1903.1909) <网络技术与应用>在线作业-0002 试卷总分:100  得分:100 一.单选题 (共 30 道试题,共 60 分) 1. ...

  4. 工业级以太网交换机跟普通商用网络交换机有啥区别?

    最近很多朋友在采购交换机的时候,对于工业级交换机跟商用网络交换机二者之间区分不是很清楚,对于具体采购哪一种类型的交换机拿不定主意,接下来杭州飞畅科技的小编来为您详细分析下二者之间的区别,帮你来快速判断 ...

  5. 工业以太网交换机与网络交换机的区别

    工业以太网交换机与商用交换机在数据交换功能上基本一致,但在设计上以及在元器件的选用上,产品的强度和适用性方面更能满足工业现场的需要.此外在模块扩展方面也表现的比商用交换机更为灵活:有多种光口和电口可供 ...

  6. 革新以太网交换机架构 全光网络的风刮进园区

    全光网络的风正在刮进园区网,众所周知,光纤入户发展迅速,随着PON(无源光纤网络)技术在运营商通信网络的大规模使用,PON相关产业链逐步成熟,这也使得PON技术逐步在企业园区网得到应用. 基于铜线介质 ...

  7. 全球以太网交换机和路由器市场:谁领跑?

    近日,IDC发布了2015年全年和第四季度全球以太网交换机.企业和服务提供商路由器市场的最新调查报告,报告内容包含了各地区以太网交换机和路由器的市场表现和10Gb.40Gb.25Gb/100Gb等以太 ...

  8. 在图3-30 中,某学院的以太网交换机有三个接口分别和学院三个系的以太网相连,另外三个接口分别和电子邮件服务器、万维网服务器以及一个连接互联网的路由器相连。图中的A,B和C都是100Mbit/s以太网

    3-30 在图3-30 中,某学院的以太网交换机有三个接口分别和学院三个系的以太网相连,另外三个接口分别和电子邮件服务器.万维网服务器以及一个连接互联网的路由器相连.图中的A,B和C都是100Mbit ...

  9. 3-33在图 3-31中,以太网交换机有6个接口,分别接到5台主机和一个路由器。在下面表中的“动作”一栏中,表示先后发送了4个帧。假定在开始时,以太网交换 机的交换表是空的。试把该表中其他的栏目都填写

    3-33在图 3-31中,以太网交换机有6个接口,分别接到5台主机和一个路由器.在下面表中的"动作"一栏中,表示先后发送了4个帧.假定在开始时,以太网交换 机的交换表是空的.试把该 ...

最新文章

  1. boost::python::type_info相关的测试程序
  2. 野火Linux开发板接入华为云,Huawei_LiteOS——STM32F1移植(野火开发板)
  3. epoll监听文件_epoll使用详解
  4. 里程碑 .Net7再更新,从此彻底碾压Java!
  5. PHP正则表达式及实例
  6. OPPO Enco Free真无线耳机:超低延迟高音质 智慧触控看得见
  7. 中文谐音怎么读_日语零基础学习,谐音法巧记日语50音图发音
  8. js整形转成double_那么,来用 JS 画个黑洞吧!
  9. 微星GE60有线网卡Qualcomm Atheros Bigfoot Killer E2200 ethernet card在ubuntu下无法找到驱动的解决办法...
  10. em算法python代码_EM算法Python实战
  11. PTES标准中的渗透测试阶段(要点)
  12. 2021年低压电工新版试题及低压电工考试总结
  13. java线程状态与操作系统线程状态的关系
  14. 华为2019校招笔试-逻辑计算
  15. JavaScript的优势和劣势
  16. 【渝粤教育】国家开放大学2018年秋季 0062-21T港台文学专题讲座 参考试题
  17. 19所高校进入A类!泰晤士计算机专业大学评级公布!
  18. MyBatis的优点和缺点
  19. 原生对象、内置对象、宿主对象的区别
  20. Origin画图技巧之设置框图默认设置

热门文章

  1. 去TB!登上了上海最高峰!
  2. 2020华为杯数学建模总结
  3. python中xlrd模块_Python中的xlrd模块使用原理解析
  4. 【腾讯敏捷转型NO.1】敏捷是什么鬼?
  5. altium designer 入门视频教程 制作pcb教程视频
  6. XTPToolKitPro常用功能
  7. 简单使用循环打印菱形小星星
  8. Linux命令—— expect: command not found
  9. 综合布线系统带宽与计算机网络带宽计算题,计算机网络思考与练习题.doc
  10. 最唯美的10首中国情诗