《网络是怎样连接的》读书笔记 4

从网线到网络设备

主要内容:

  1. 信号从网卡流出,怎么在网线中传输的,主要关注信号干扰问题
  2. 交换机
  3. 路由器
信号在网线中传输

过程: 二进制信号通过网卡的PHY模块转换为电信号(正负变化的电压),再通过RJ45接口传到双绞线,再传给集线器,集线器将电信号再转为二进制信号……

衰减问题:

  1. 网线越长,随着电阻增大,能量损耗越大,信号衰减就越严重,振幅减小。

  2. 高频信号的能量更容易损失,导致电信号的变化拐角曲线的直角变圆。

    这些问题会导致信号的误判

妥协: 规定双绞线最大的传输距离在100米以下。

干扰问题:

电磁波在接触到导体线圈时会产生电流,这个电流会干扰正常在导线内流动的电流,自然就干扰了信号。也叫失真。

  1. 外部干扰,一切高于绝对零度的物体都在向外发射电磁波,现实环境中存在普遍的大大小小电磁波。
  2. 网线内其他双绞线干扰,网线中存在其他双绞线,电流流动时就会产生电磁波,就会产生对其他双绞线的干扰

解决:

  1. 对外部干扰采用双绞线的方式而不是直线。双绞线的一正一反形式就抵消了外部干扰电磁波产生的电流干扰。
  2. 对网线内电磁破干扰,使两个绞线的节距不同,一些地方正线近,一些地方负线近,整体上看就能削弱干扰噪声。

  1. 屏蔽罩大法,如双绞线外层包裹金属网,屏蔽其他双绞线干扰;如网线内层包裹铝箔或金属网,铝箔接地,屏蔽其他外部干扰。
信号到达集线器

集线器的作用是对连接在上的设备广播,这些设备会按MAC头部的接收方MAC地址与自己的MAC地址比对一下,是自己的就接收了,否则就忽略了。

信号到达交换机

信号到达交换机的一个网线端口(),交换机先把包放到自己的数据缓冲区,拿到MAC头部信息,按接收方的MAC地址查找接收方MAC对应的网线端口(交换机存了一张MAC与网线端口对应的表),找到后把包由这个网线端口传递出去。

  1. 如果遇到目标端口与源端口相同,交换机不会做发送,而是会丢弃这个包。因为这会导致接收方在通过集线器已经收到这个包了,防止交换机再发送而收到两个相同的包,交换机选择直接丢弃。
  2. 如果交换机收到一个包,但找不到接收方MAC对应的网线端口,这时交换机会选择和集线器一样的广播方式。
  1. 交换机支持全双工模式,可以同时发送和接收信号。

  2. 自动协商:

    没有数据传输时会填充连接脉冲,如果对方断开了,就能马上接收到异常。并且连接脉冲会传递双方支持的工作模式和传输速率,这样就可以判断然后切换到最合适的工作模式和传输速率了。

  3. 可同时执行多个转发操作。

信号到达路由器

信号经过交换机,转发到了路由器,路由器根据IP查表,再转发到下一个路由器。

模块: 转发模块(判断包的目的地-IP模块)和 端口模块(包的收发-网卡)。

过程:

  1. 端口将包接收进来,根据端口规范接收,以太网网线连接就按以太网规范,无线局域网就按WLAN规范。
  2. 转发模块按包的接收方IP地址在路由表中查询,判断出转发目标所在端口。
  3. 通过端口将包再发出去。

注意路由和交换机的区别:

  • 路由器是基于IP做转发的,它是接收方和发送方的。接收的数据包是按MAC发给它的,它再查询路由表后判断下一站设备MAC,再打包发送出去。
  • 交换机是直接转发出去,它没有自己的MAC地址。

IP地址的基础知识

IP地址是总长为32位的数字,按8比特为一组,分四组,他要表示两部分含义,网络号+主机号

问题是光凭一串数字无法区分哪段是网络号,哪段是主机号,所以就引入了子网掩码,子网掩码也是一段32位的数字,一般比特为1的位即为网络号,0位为主机号,且左边为1,右边为0,如果前24比特都是网络号,那么就是左边24个1,就记作24了,举个栗子:192.168.0.123/24 这里的 24 即代表前面 192.168.0 为网络号,后面的123 为主机号。此时 192.168.0.0/24 主机号全为0,代表整个子网。192.168.0.255/24 主机号全为1,代表对这个子网进行广播。

路由表

这里路由表的只会匹配网络号部分,拿到数据包的目标IP再加上子网掩码这列就可以找到网络号。

按网络号匹配到记录后,就会将数据包交给这条记录指定的接口(即网络端口),并转发到网关设备。

路由聚合

因为有路由器A的转发,在路由器B看来,不会在路由表中记录10.10.1.0/24 10.10.2.0/24 10.10.3.0/24 这三个IP地址,而是记录10.10.0.0/16 这个IP地址,这就是路由聚合,可以减少路由B的路由表记录。

详细过程:

  1. 信号到达路由器的网线接口,PHY模块和MAC模块将电信号转为数字信号,并通过尾部的FCS进行错误校验
  2. 检查MAC头中的接收方MAC地址,如果不是自己的就丢弃,是自己的就存入接收缓冲区
  3. MAC头部可以丢弃了,他的任务就是将包交到路由器的手里,上一站的任务已经完成。
  4. 开始路由表匹配,以图3.13为例,发送端通过192.168.1.1的路由器转发,请求IP地址为192.168.1.10的服务器,路由器接收到包后发现3,4,5行都可以,这时选哪个呢?
    1. 选择网络号比特数最长的,因为这样主机的比特数最小,也就缩小了范围;
    2. 如果网络号比特数都相同,就选择跃点数最小的,跃点数代表了路由的远近,越小就意味着距离越近;
    3. 如果网络号没匹配上就会去选择 0.0.0.0 那条默认路由了
  5. 选好了转发目标,更新IP头部的TTL字段,每经过一个路由器就减1,当值为0即表示包已经超时过期了,包会被丢弃。一半设64或128,正常情况都能满足要求。
  6. 检查输出端口能传输的最大长度MTU,比较当前包的长度,如果超过了MTU,先检查IP头部控制信息,判断能不能继续分片,如果设置了不允许分片或者已经分片过了,那么只能丢弃,并通过ICMP消息通知发送方。可以的话就开始分片,每片都有IP头部,分片号相同。
  7. 上面发送前的准备工作就完成了,接下来准备发送了。按照输出端口的规则,按相关规则去发送数据,如以太网,如果网关为空那就直接按IP去子网找服务器,如果不为空就先查缓存,看有没有网关IP对应的MAC,没有就ARP去查网关MAC地址,然后MAC头就能加上了,然后再通过PHY模块转为电信号发送出去。

注意: IP本身不负责包的运输,而是委托各种通信技术将包传输到下一个路由器。

路由器的附加功能:

  1. 地址转换:一般路由器下的子网访问互联网是通过路由器的地址转换,将发送方的内网IP地址和端口转换为可访问外网的公网IP地址+路由器随机生成的端口号,路由器再将这个地址转换的关联关机记录起来,在收发公网相关包时做转换操作。
  2. 包过滤,因为可以拿到包的IP地址,端口这些控制信息,可以用来做防火墙过滤不想要的数据包。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值