网络:以太网交换机、路由器

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

令牌环网、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 地址。

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

  • 2
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值