路由器转发过程及交换机转发过程

1.

当路由器接收到一个数据包时,工作过程如下
首先提取数据包头的目的MAC信息,与自身MAC表比较:
如果找到对应项,则按MAC表进行转发(与交换机一样);
如果没找到则提取数据包头的目的IP信息,则与自身的路由表进行比较
找到了对应的路由表,则按着路由表转发(与查到MAC表很像啊)。
没找到对应路由表,则按着缺省路由转发,没有广播。
路由器转发数据包是根据路由器内部的路由表进行转发,当数据包到达路由器时,查询路由表,获取下一站的地址,然后进行转发,与之对应的每个公交站点都有一个站牌,告诉你下一站是哪里。

destination/mask:用于描述目标网段,当前往目标网段有多个路径时,选择掩码最长的一条路径转发。
Protocol:表示路由运行的协议,路由表根据路由协议生成,包含三类路由
直连路由:有链路层协议发现,开销小,表示与该路由器直连的路由,只能发现本接口所属网段的路由
静态路由:由人工手动配置,
动态路由:根据各种路由协议算法发现,无需人工维护,但是开销较大,这也是生成路由表的主要方式
Preference:表示优先级,数值越小,优先级越高
Metric(Cost):开销,到达目标网络的代价,值越小,越优先
Interface:本端接口,表示数据包从本端那个接口转发出去
Nexthop:下一跳地址,互联网对端路由器的端口
当数据包到达路由器时,会进行下面几个操作

读取目标地址的网络部分
找到路由表中对应的地址的路由条目,将包转发到相应的路由器接口
如果没有找到对应的路由条目,则将包转发到路由器对应的默认路由的接口,如果没有配置默认路由,将包丢弃,返回目标不可达信息
到达下一个路由器时,在重复上述过程,直到到达目标地址对应的网段。
整个包传输过程,目标地址,源地址和端口号不会改变,但是MAC地址会发生变化,每经过一个路由器转发,MAC地址会被重新封装一次,封装为下一跳的MAC地址。

一般来说,静态路由的优先级最高,如果配置了静态路由,会优先使用静态路由转发。

由于路由转发的数据量非常大,所以不可避免的会出现路由环回(数据包在一个闭环的环路中不停的转发,始终到不了目标地址)的情况,避免这种情况的方法就是在数据包中封装一个TTL字段,该字段的意义就是最大转发跳数,一旦超过这个限制,便会将该数据包丢弃。

2.

当交换机收到一个数据包时;工作过程如下
交换机会将这个数据包包头的目的MAC信息提取出来,与自身的MAC地址表比较;
如果找到对应项,则按MAC表进行转发;
如果没找到对应项,则在除了接收到数据包以外的所有端口进行转发

3.

当以太网帧到达交换机后,交换机会自动并学习该数据帧的源mac地址,与进入的接口形成绑定关系,当该表项被转发时,会刷新老化时间
当一台终端设备访问同一网段中其他ip地址时,将正常进行ip封装、封装过程中若没有该ip对应的mac地址时,将二层广播来获取对端的mac地址,过程中交换机将记录两个mac对应的接口目标终端也会记录请求的ip与mac地址对应关系

**当一个数据帧进入交换机后,交换机先查看数据帧中的源mac地址没然后将该地址与进入的接口进行映射记录;再查看目标mac地址,查看本地mac表,若表中存在记录,将进行单播;若没有记录,将洪泛

当终端访问的设备为其他网段,将在数据封装的过程中,目标mac为本广播域的网关地址(需提前知道,可通过arp获取)

流量进入路由器后,路由器将先识别数据的二层报头,关注目标mac地址;之后判断是否解封装(目标mac为广播域或路由器接口);再基于数据包中的ip地址,查看本地路由表,若没有记录将丢弃;若存在将无条件按照记录转发;转发过程中需要重新封装二层,新二层源maac为路由器出接口mac地址,目标mac为下一跳或目标设备;获取mac的方式仍然是arp**

参与评论 您还未登录,请先 登录 后发表或查看评论

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

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
©️2022 CSDN 皮肤主题:游动-白 设计师:我叫白小胖 返回首页

打赏作者

Adar_YPower

你的鼓励将是我创作的最大动力

¥2 ¥4 ¥6 ¥10 ¥20
输入1-500的整数
余额支付 (余额:-- )
扫码支付
扫码支付:¥2
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值