络是怎样连接的学习笔记——从 线到 络设备

知识点:

  1. 线
  2. 集线器
  3. 交换机
  4. 路由器

 

  1. 信 在 线和集线器中传输

络包从客户端计算机发出之后,要经过集线器、交换机和路由器最终进入互联 。

卡中的PHY(MAU)模块负责将包转换成电信 ,信 通过RJ-45接口进入双绞线,这部分的放大图如下图右侧部分所示。 卡的 PHY(MAU)模块直接连接RJ-45接口,信 从这个接口中的1 和2 针脚流入 线。然后,信 会通过 线到达集线器的接口。

信 到达集线器的时候并不是跟刚发送出去的时候一模一样。集线器收到的信 有时会出现衰减(图 3.3)。信 在 线的传输过程中,能量会逐渐损失。 线越长,信 衰减就越严重。以太 中的信 波形是方形的,但损失能量会让信 的拐角变圆,这是因为电信 的频率越高,能量的损失率越大。信 的拐角意味着电压发生剧烈的变化,而剧烈的变化意味着这个部分的信 频率很高。高频信 更容易损失能量,因此本来剧烈变化的部分就会变成缓慢的变化,拐角也就变圆了。

局域 线使用的是双绞线,其中“双绞”的意思就是以两根信 线为一组缠绕在一起,这种拧麻花一样的设计是为了抑制噪声的影响。

产生噪声的原因是 线周围的电磁波,当电磁波接触到金属等导体时,在其中就会产生电流。因此,如果 线周围存在电磁波,就会在 线中产生和原本的信 不同的电流。由于信 的本质和噪声产生的电流是一样的,所以信 和噪声的电流就会混杂在一起,导致信 的波形发生失真。

影响 线的电磁波分为两种。一种是由电机、荧光灯、CRT 显示器等设备泄漏出来的电磁波。当电磁波接触到信 线时,会沿电磁波传播的右旋方向产生电流,这种电流会导致波形发生失真。如果我们将信 线缠绕在一起,信 线就变成了螺旋形,其中两根信 线中产生的噪声电流方向就会相反,从而使得噪声电流相互抵消,噪声就得到了抑制。

另一种电磁波是从 线中相邻的信 线泄漏出来的。由于传输的信 本身就是一种电流,当电流流过时就会向周围发出电磁波,这些电磁波对于其他信 线来说就成了噪声。这种内部产生的噪声称为串扰(crosstalk)。要抑制这种噪声,关键在于双绞线的缠绕方式。在一根 线中,每一对信 线的扭绞间隔(节距)都有一定的差异,这使得在某些地方正信 线距离近,另一些地方则是负信 线距离近(这应该就是 线线序不按照规定来的话就会出现各种问题的原因)。由于正负信 线产生的噪声影响是相反的,所以两者就会相互抵消。从 线整体来看,正负的分布保持平衡,自然就会削弱噪声的影响。

不同的工艺水平会影响 线的性能, 线的性能是以“类”来区分的,现在市售双绞线的主要种类如表3.1所示。

集线器在每个接口的后面装有和 卡中的PHY(MAU)功能相同的模块,但如果它们像 卡端一样采用直连式接线,是无法正常接收信 的。要正常接收信 ,必须将“发送线路”和“接收线路”连接起来才行,因此集线器中的PHY(MAU)模块与接口之间采用交叉接线。

交叉 线,就是一种将发送和接收信 线反过来接的 线。

信 到达集线器的PHY(MAU)模块后,会进入中继电路。中继电路的基本功能就是将输入的信 广播到集线器的所有端口上。接下来,信 从所有接口流出,到达连接在集线器上的所有设备。然后,这些设备在收到信 之后会通过MAC头部中的接收方MAC地址判断是不是发给自己的,如果是发给自己的就接受,否则就忽略。这样, 络包就能够到达指定MAC地址的接收方了。

  1. 交换机的包转发操作

信 到达交换机的 线接口,并由PHY(MAU)模块进行接收,PHY(MAU)模块会将 线中的信 转换为通用格式,然后传递给MAC模块。MAC模块将信 转换为数字信息,然后通过包末尾的FCS校验错误,如果没有问题则存放到缓冲区中。

交换机的端口不核对接收方MAC地址,而是直接接收所有的包并存放到缓冲区中。因此,和 卡不同,交换机的端口不具有MAC地址

将包存入缓冲区后,接下来需要查询一下这个包的接收方MAC地址是否已经在MAC地址表中有记录了。MAC地址表主要包含两个信息,一个是设备的MAC地址,另一个是该设备连接在交换机的哪个端口上。MAC地址和端口是一一对应的,通过这张表就能够判断出收到的包应该转发到哪个端口。然后就可以通过交换电路将包发送到相应的端口了。

交换电路可以将输入端和输出端连接起来。其中,信 线排列成 格状,每一个交叉点都有一个交换开关,交换开关是电子控制的,通过切换开关的状态就可以改变信 的流向。交换电路的输入端和输出端分别连接各个接收端口和发送端口, 络包通过这个 格状的电路在端口之间流动。

当 络包通过交换电路到达发送端口时,端口中的MAC模块和PHY(MAU)模块会执行发送操作,将信 发送到 线中,这部分和 卡发送信 的过程是一样的。

交换机在转发包的过程中,还需要对MAC地址表的内容进行维护,维护操作分为两种。第一种是收到包时,将发送方 MAC 地址以及其输入端口的 码写入MAC地址表中。另一种是删除地址表中某条记录的操作,这是为了防止设备移动时产生问题。交换机会自行更新或删除地址表中的记录,不需要手动维护。

当交换机发现一个包要发回原端口时,会直接丢弃这个包。

当交换机在地址表中找不到包指定的目的MAC时地址,就会将包转发到除了源端口之外的所有端口上。

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

全双工模式是交换机特有的工作模式,它可以同时进行发送和接收操作,集线器不具备这样的特性。使用双绞线时,发送和接收的信 线是各自独立的,因此在双绞线中信 不会发生碰撞。 线连接的另一端,即交换机端口和 卡的PHY(MAU)模块以及MAC模块,其内部发送和接收电路也是各自独立的,信 也不会发生碰撞。

自动协商功能可以由相互连接的双方探测对方是否支持全双工模式,并自动切换成相应的工作模式。此外,除了能自动切换工作模式之外,还能探测对方的传输速率并进行自动切换。

在以太 中,当没有数据在传输时, 络中会填充一种被称为连接脉冲的脉冲信 。在没有数据信 时就填充连接脉冲,这使得 络中一直都有一定的信 流过,从而能够检测对方是否在正常工作,或者说 线有没有正常连接。以太 设备的 线接口周围有一个绿色的LED指示灯,它表示是否检测到正常的脉冲信 。如果绿灯亮,说明PHY(MAU)模块以及 线连接正常。后来,人们又设计出了具有特定排列的脉冲信 ,通过这种信 可以将自身的状态告知对方。自动协商功能就利用了这样的脉冲信 ,即通过这种信 将自己能够支持的工作模式和传输速率相互告知对方,并从中选择一个最优的组合。

 

  1. 路由器的包转发操作

络包经过集线器和交换机之后,现在到达了路由器,并在此被转发到下一个路由器。

路由器包括转发模块和端口模块两部分,其中转发模块负责判断包的转发目的地,端口模块负责包的收发操作。

路由器在转发包时,首先会通过端口将发过来的包接收进来,这一步的工作过程取决于端口对应的通信技术。接下来,转发模块会根据接收到的包的IP头部中记录的接收方IP地址,在路由表中进行查询,以此判断转发目标。然后,转发模块将包转移到转发目标对应的端口,端口再按照硬件的规则将包发送出去,也就是转发模块委托端口模块将包发送出去的意思。

路由表包含的信息如图所示:

目标地址列记录的是接收方的信息。实际上这里的IP地址只包含表示子 的 络 部分的比特值,而表示主机 部分的比特值全部为0。路由器会将接收到的 络包的接收方IP地址与路由表中的目标地址进行比较,并找到相应的记录。

目标地址列中的IP地址表示的是子 ,但也有一些例外,有时地址本身的子 掩码和路由表中的子 掩码是不一致的,这是路由聚合的结果。路由聚合会将几个子 合并成一个子 ,并在路由表中只产生一条记录。(路由聚合后转发时如何确定端口)

路由表的子 掩码列只表示在匹配 络包目标地址时需要对比的比特数量。

关和接口两列,它们表示 络包的转发目标。根据目标地址和子 掩码匹配到某条记录后,路由器就会将 络包交给接口列中指定的端口,并转发到 关列中指定的IP地址。

跃点计数表示距离目标IP地址的距离是远还是近。

路由表进行维护的方法有几种,大体上可分为以下两类。

(a)由人手动维护路由记录;

(b)根据路由协议(例如RIP、OSPC、BGP)机制,通过路由器之间的信息交换由路由器自行维护路由表的记录。

信 到达路由器 线接口部分后,其中的PHY(MAU)模块和MAC模块将信 转换为数字信息,然后通过包末尾的FCS进行错误校验,如果没问题则检查MAC头部中的接收方MAC地址,看看是不是发给自己的包,如果是就放到接收缓冲区中,否则就丢弃这个包。完成包接收操作之后,路由器就会丢弃包开头的MAC头部。接下来,路由器会根据MAC头部后方的IP头部中的内容进行包的转发操作。转发操作分为几个阶段,首先是查询路由表判断转发目标(路由器首先寻找 络 比特数最长的一条记录,使转发范围最小;如果有多条记录 络 长度相同,则选择跃点计数最小的那一条,即距离最近的路由)。如果在路由表中无法找到匹配的记录,路由器会丢弃这个包,并通过ICMP(Internet Control Message Protocol,Internet控制 文协议。当包传输过程中发生错误时,用来发送控制消息。)消息告知发送方。

为路由器配置默认路由(子 掩码为0.0.0.0),当匹配不到其他路由时, 络包就会被转发到互联 接入路由器。因此这条记录被称为默认路由,这一行配置的 关地址被称为默认 关。在计算机的TCP/IP设置窗口中也有一个填写默认 关的框,意思是一样的。(这种设置是不是只能存在与用户接入互联 的交换机上联 中的交换机可以有这种配置么span style=”color:#FF0000;”>答:任何路由器上都可以有默认路由)

IP头部中的TTL(Time to Live,生存时间)字段。TTL字段表示包的有效期,包每经过一个路由器的转发,这个值就会减1,当这个值变成0时,就表示超过了有效期,这个包就会被丢弃。这个机制是为了防止包在一个地方陷入死循环。

在传输过程中,一旦转发的包长度超过了输出端口能传输的最大长度,就无法直接发送这个包了。遇到这种情况,可以使用IP协议中定义的分片功能对包进行拆分,缩短每个包的长度(这里的分片和TCP对数据进行拆分的机制是不同的。TCP拆分数据的操作是在将数据装到包里之前进行的,拆分好的一个数据块正好装进一个IP包里,而IP分片是对一个完整的IP包再进行拆分的过程)。最大包长度是由端口类型决定的,用这个最大长度减掉头部的长度就是MTU,将MTU与要转发的包长度进行比较。如果输出端口的MTU太小,那么就需要将包按照这个MTU进行分片,但在此之前还需要看一下IP头部中的标志字段,确认是否可以分片。如果查询标志字段发现不能分片,那么就只能丢弃这个包,并通过ICMP消息通知发送方。在分片中,TCP头部及其后面的部分都是可分片的数据。数据被拆分后,每一份数据前面会加上IP头部,其大部分内容都和原本的IP头部一模一样,但其中有部分字段需要更新,这些字段用于记录分片相关的信息。

  1. 路由器的附加功能

地址转换的基本原理是在转发 络包时对IP头部中的IP地址和端口 进行改写。首先,TCP连接操作的第一个包被转发到互联 时,会像图3.18这样,将发送方IP地址从私有地址改写成公有地址。这里使用的公有地址是地址转换设备的互联 接入端口的地址。与此同时,端口 也需要进行改写,地址转换设备会随机选择一个空闲的端口。然后,改写前的私有地址和端口 ,以及改写后的公有地址和端口 ,会作为一组相对应的记录保存在地址转换设备内部的一张表中。改写发送方IP地址和端口 之后,包就被发往互联 ,最终到达服务器,然后服务器会返回一个包。服务器返回的包的接收方是原始包的发送方,因此返回的包的接收方就是改写后的公有地址和端口 。这个公有地址其实是地址转换设备的地址,因此这个返回包就会到达地址转换设备。接下来,地址转换设备会从地址对应表中通过公有地址和端口 找到相对应的私有地址和端口 ,并改写接收方信息,然后将包发给公司内 ,这样包就能够到达原始的发送方了。在后面的包收发过程中,地址转换设备需要根据对应表查找私有地址和公有地址的对应关系,再改写地址和端口 之后进行转发。当数据收发结束,进入断开阶段,访问互联 的操作全部完成后,对应表中的记录就会被删除。

当需要从互联 访问公司内 时,需要进行一些设置才能实现。之所以无法从互联 访问内 ,是因为地址转换表里没有相应的记录(即使正在访问外 的内 设备已经在地址转换设备中建立了一条记录,但这条记录也只能用于内 机器发起访问的那个端口的通信),那么我们只要事先手动添加这样的记录就可以了(图3.19)。一般来说,将服务器的私有地址手动添加到地址转换设备中,这样就可以从互联 访问到这台具有私有地址的服务器了。

包过滤也是路由器的一个重要附加功能,路由器在对包进行转发时,根据MAC头部、IP头部、TCP头部的内容,按照事先设置好的规则决定是转发这个包,还是丢弃这个包。我们通常说的防火墙设备或软件,大多数都是利用这一机制来防止非法入侵的。

声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2018年7月1日
下一篇 2018年7月1日

相关推荐