交换机和路由器的工作流程

1、交换机工作流程:

        将接口中的电流识别为二进制,并转换成数据帧,交换机会记录学习该数据帧的源MAC地址,并将其端口关联起来记录在MAC地址表中。然后查看MAC地址表来查找目标MAC地址,会有一下一些情况:

  1. MAC地址表中有目标MAC地址:找到对应的端口转发该数据帧
  2. MAC地址表中没有目标MAC地址:洪泛该数据帧,如果目标MAC地址的主机回复,则交换机记录该MAC地址与端口的映射并写入到MAC地址表中
  3. 目标MAC地址为全F:洪泛该数据帧
  4. 目标MAC地址为组播帧,且进行了组播部署:将该数据帧发送给进行了组播部署的主机
  5. 目标MAC地址为组播帧,但未进行了组播部署:洪泛该数据帧

1)ARP地址解析协议:用于解析MAC地址和IP地址,处在数据链路层和网络层之间,承上启下。当设备接到数据帧后,会通过ARP协议获取到目的IP地址所对应的MAC地址

2)交换机存MAC表存储时间为5分钟,主机存储ARP表存储2小时。所以在主机1和2结束交流五分钟后并且两小时前,主机1再发送数据包给主机2时,不会在发送ARP,因此就出现了上述第二种情况。

3)当两台主机处于同一网段时,主机1会先通过交换机洪泛ARP报文,而主机2回复ARP报文后,再进行传输(已验证)

2、路由器工作流程:

        当数据包来到路由器时,路由器会查看自己的路由表,然后在路由表中找到最匹配的记录(最长匹配)去确定该数据包从哪个接口去转发。在转发过程中,路由器会修改数据包的某些字段,如TTL值等。如果没有匹配的条目,则丢弃该数据包

在路由器表中有直连路由和非直连路由两种:

  1. 直连路由的下一跳是出接口地址,表示路由的目标网段到达
  2. 非直连路由的下一跳是路径中下一个路由器的入接口地址

相关推荐

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-07-14 15:36:03       67 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-07-14 15:36:03       71 阅读
  3. 在Django里面运行非项目文件

    2024-07-14 15:36:03       58 阅读
  4. Python语言-面向对象

    2024-07-14 15:36:03       69 阅读

热门阅读

  1. 大模型日报 2024-07-12

    2024-07-14 15:36:03       23 阅读
  2. 代码随想录刷题day10

    2024-07-14 15:36:03       23 阅读
  3. Rust编程-I/O

    2024-07-14 15:36:03       17 阅读
  4. Lua协程(同步的多线程)

    2024-07-14 15:36:03       18 阅读
  5. 如何利用Gunicorn的日志记录监控Web应用

    2024-07-14 15:36:03       18 阅读
  6. AMD CPU加 vega 显卡运行ollama本地大模型

    2024-07-14 15:36:03       22 阅读
  7. 面试经验总结

    2024-07-14 15:36:03       25 阅读