路有转发过程

概念

  • 数据包在传递过程中数据包的:

源、目的MAC地址变化

源、目的IP地址不变化

  • 各种表
  1. ARP表:局域网内每个主机都有一个ARP表,记录着每个主机的mac地址和对应的内网ip地址。(通信过才会有记录)
  2. MAC地址表:交换机中有一张记录着局域网主机 MAC 地址与交换机接口的对应关系的表,通过该表实现路有转发。(通信过才会有记录)
  3. 路由表:路由器中保存着路由表,路由器根据接收到的数据包的目的网段地址查找路由表决定转发路径。

过程:

  • 主机 A 查看查看自己的 ARP 表。如果主机 A 第一次给主机 B 发送数据包,那将无法从 ARP 映射表中找到对应的 mac 地址。

所以主机 A 将以 FF:FF:FF:FF:FF:FF 为目的 mac 地址,发送一个广播包。

  • 这个时候,如果主机 B 在本网段内。则主机 B 会向主机 A 发送一个应答包。让主机 A 得到主机 B 的 mac 地址。这样主机 A

将分别以自己和主机 B 的 mac 地址作为源和目的地址,以自己和主机 B 的 ip 地址作为源和目的地址发送数据包。交换机将通

过自身的 mac 地址表找到主机 B 对应的端口,并发送给主机 B。

  • 但是一般情况并非是这样,如果主机 B 不在本网段内。路由器的端口将通过把自己的 mac 地址发送给主机 A,这个时候

主机 A 的操作和 2 基本相同。将目的 mac 地址替换为路由器端口的 mac 地址。并且发送出去,并且通过同样的道理发送到路

由器的端口。(注:如果是直连,则不需经过交换机直接发送)

  • 路由器从端口中接收数据包之后,进行数据链路层帧头的拆包。并从网络层的 ip 数据报头中获取目的 ip 地址,根据路由

表进行转发。获得下一跳的 ip 地址后,如果路由器中没有下一跳的 mac 地址,则进行 mac 广播这里跟 1 中是相同的。但是区

别在于,这里就算知道了下一跳的 ip 地址,但是保留原 ip 报文中的 ip 信息。不进行替换。

  • 路由器将源 mac 地址替换为转发出的端口 mac 地址,目的 mac 地址转换为下一跳 mac 地址。进行转发。
  • 当下一跳收到数据包后,重复 3、4、5 的步骤。直到主机 B 收到对应的数据包

总结:

  1. 局域网转发用到:ARP表、MAC地址表
  2. 外网转发:ARP表、(MAC地址表)、路由表

 

转载于:https://my.oschina.net/u/4098328/blog/3094738

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值