路由器和交换机收到报文的处理方式
1.路由器收到二层报文,怎么处理?按收到二层报文是单播、组播、广播来分析
(1)若收到一个二层单播帧,对于路由器来讲,是一个三层设备,当然兼具二层的功能,所以当收到一个单播帧的时候,要判断这个帧的目的mac地址是不是 接口的mac地址,如果是,解封装去看三层的ip地址,再看三层目的ip地址是不是接口的ip地址,如果是,交给接口处理,如果不是,去查找路由表,去 重新去做一个二层帧的封装,继续往下查找。如果目的mac不是接口的mac地址,直接丢掉。
(2)若收到一个二层广播帧,那么是arp广播,它就会解封装,看arp信息里请求的ip地址是谁,如果说请求里的是路由器所在接口的IP地址,一定会去响应; 如果说请求的IP地址不是路由器接口的IP地址,同时路由器没有开启ARP代理,一定会丢弃,如果ARP请求的不是路由器接口的,是后面的网段,并且开启 了ARP代理,路由器去判断有没有去往目标网段的路由,如果有,就去做代理。
(3)若收到一个二层组播帧,要看路由器的接口有没有加入这个组,缺省情况下,路由器接口加入了224.0.0.1、224.0.0.2(使能了组播功能就加入了),如果 路由器接口没有加入到这个组播组,那么丢弃。
2.三层交换机收到二层报文,怎么处理?按收到二层报文是单播、组播、广播来分析
(1)若收到一个二层单播帧,三层交换机需要配置一个vlan interface接口,配完后就会有一个IP地址,同时有一个IP地址所对应的mac地址,如果收到的目的 mac地址是交换机的mac地址的话,先把二层帧解封装,把它送给三层处理,去查找路由表,如果不是交换机的mac地址,去看mac地址转发表,如果有,直接 二层转发,不需要上送到三层,如果没有,未知单播泛洪。
(2)若收到一个二层广播帧,比如ARP广播,那么这种情况下,会朝着所有接口去泛洪,除此之外,因为是三层交换机,会把ARP二层解封装,查看ARP里面的内容 看一下请求的ip地址是不是三层交换机vlan interface的IP地址,如果是就回复,如果不是就丢弃。
(3)若收到一个二层组播帧,朝着所有端口泛洪,并且把组播帧解封装,送到vlan interface接口,看一下接口有没有加入到这个组,如果加入了要去响应或者处理, 如果没有加入,不会响应也不会处理。
(1)若收到一个二层单播帧,对于路由器来讲,是一个三层设备,当然兼具二层的功能,所以当收到一个单播帧的时候,要判断这个帧的目的mac地址是不是 接口的mac地址,如果是,解封装去看三层的ip地址,再看三层目的ip地址是不是接口的ip地址,如果是,交给接口处理,如果不是,去查找路由表,去 重新去做一个二层帧的封装,继续往下查找。如果目的mac不是接口的mac地址,直接丢掉。
(2)若收到一个二层广播帧,那么是arp广播,它就会解封装,看arp信息里请求的ip地址是谁,如果说请求里的是路由器所在接口的IP地址,一定会去响应; 如果说请求的IP地址不是路由器接口的IP地址,同时路由器没有开启ARP代理,一定会丢弃,如果ARP请求的不是路由器接口的,是后面的网段,并且开启 了ARP代理,路由器去判断有没有去往目标网段的路由,如果有,就去做代理。
(3)若收到一个二层组播帧,要看路由器的接口有没有加入这个组,缺省情况下,路由器接口加入了224.0.0.1、224.0.0.2(使能了组播功能就加入了),如果 路由器接口没有加入到这个组播组,那么丢弃。
2.三层交换机收到二层报文,怎么处理?按收到二层报文是单播、组播、广播来分析
(1)若收到一个二层单播帧,三层交换机需要配置一个vlan interface接口,配完后就会有一个IP地址,同时有一个IP地址所对应的mac地址,如果收到的目的 mac地址是交换机的mac地址的话,先把二层帧解封装,把它送给三层处理,去查找路由表,如果不是交换机的mac地址,去看mac地址转发表,如果有,直接 二层转发,不需要上送到三层,如果没有,未知单播泛洪。
(2)若收到一个二层广播帧,比如ARP广播,那么这种情况下,会朝着所有接口去泛洪,除此之外,因为是三层交换机,会把ARP二层解封装,查看ARP里面的内容 看一下请求的ip地址是不是三层交换机vlan interface的IP地址,如果是就回复,如果不是就丢弃。
(3)若收到一个二层组播帧,朝着所有端口泛洪,并且把组播帧解封装,送到vlan interface接口,看一下接口有没有加入到这个组,如果加入了要去响应或者处理, 如果没有加入,不会响应也不会处理。
文章来自:https://blog.51cto.com/13963342/2482751