路由器的工作原理(三层设备)
当数据包进入路由器时,路由器先查看数据包中的目标MAC地址;
此时有三种情况:
1、广播-------解封装到3层
2、组播-------每一个组均存在自己的MAC地址;基于目标MAC就可以判断本地是否需要解封装;若本地加入了该组就解包,否则直接丢弃
3、单播-------目标MAC为路由器收到该流量的接口MAC地址(解封装)
目标MAC不是本地路由器的MAC地址(丢弃)
二层解封装完成后,查看三层报头;默认路由器仅查看目标ip地址
之后基于目标ip:
1、广播-------解封装到4层
2、组播-------若路由器加入了改组(解封)
若路由器没有加入改组(丢弃)
3、单播-------目标ip地址为路由器(继续解封)
目标ip地址为其他设备,路由器将查询本地的路由表(TCAM)
CAM:
(摘选,原文链接:https://blog.csdn.net/u013710265/article/details/72232312)
“CAM表”:就是指二层交换机上运行的Cisco IOS在内存中维护的一张表,CAM表是交换机在二层转发数据要查找的表,表中有MAC地址,对应的端口号,端口所属的VLAN。
交换机的每一个二层端口都有MAC地址自动学习的功能,当交换机收到PC发来的一个帧,就会查看帧中的源MAC地址,并查找CAM表,如果有就什么也不做,开始转发数据。如果没有就存入CAM表,以便当其他人向这个MAC地址上发送数据时,可以决定向哪个端口转发数据。
需要注意的是,数据帧的转发是依据目的MAC地址查询CAM表,而CAM表的学习则是以源MAC地址为依据
数据交换方式(路由方式)
1、原始包交换-------先查本地TCAM表,再查本地ARP确定下一跳MAC地址(以太网)
2、快速交换-------一次路由多次交换,基于数据流的第一个包进行TCAM和ARP表查询;之后将该通过过程,“源目ip地址,进出接口”,新的二层封装记录到缓存中;生成一个cache列表,该数据流的第二个包基于缓存直接转发
3、特快交换-------最早由cisco提出;CEF技术无需路由直接交换
路由器将本地的路由表和ARP直接转换为二进制的列表;随后将两个表格整合形成转发规则;
路由表
路由表-------路由信息数据库 RIB
保存传输层/网络层所涉及的相关信息
路由器处理数据流程:
原图链接:https://blog.csdn.net/yueyadao/article/details/86709503
相关进程:
协议号 | 协议 |
---|---|
1 | ICMP |
2 | IGMP |
4 | 被ip封装的ip |
46 | 资源预留协议(RSVP) |
47 | 通用路由封装(GRE) |
54 | NHRP |
88 | EIGRP |
89 | OSPF |
如果数据包可被路由,那么路由器将会查找路由表获得一个正确的路径。在数据库中的每个路由表项至少包括下面两项:
1、目标地址-------这是路由器可这到达的网络地址。
2、指向目标的指针-------指针不是指向路由器的直连目标网络,就是指向直连目标网络内的另一台路由器(下一跳路由器),或者是到达这个链路的本地接口。
路由器将会通过最常匹配原则匹配,优先级高到低匹配顺序如下
主机地址(最优先)
子网
一组子网(一条汇总)
主网号
一组主网号(超网)
缺省地址(最后选择)
如果数据包的目标地址不能匹配到任何一条路由表项,那么数据包将被丢弃,同时一个“目标网络不可达”的ICMP消息将会发给源地址。
网络类型
1、点到点-------在一网段只能存在两个物理接口
2、BMA-------广播型多路访问网络;在一个MA网络中,同时存在广播洪泛机制
3、NBMA-------非广播型多路访问网络;在一个MA中不支持洪泛机制,只能使用伪广播(多次发送达到广播效果)来进行广播或组播行为
二层交换机的作用:
1、提供端口密度,用于更多的节点的互联(集线器)
2、对电流信息进行识别再转发-------理论上可以无限延长传输距离
3、完全没有冲突,实现所有节点间的同时数据收发
4、二层单播
二层交换机的工作原理:
数据帧进入交换机后,交换机先查看数据帧中的源MAC地址,基于该MAC的进入接口记录到本地的MAC地址表-------CAM表
标准CAM-------MAC+接口编号-------哈希运算
支持VLAN基础的CAM-------MAC+接口编号+VALANID-------哈希运算
哈希算法特点:
1、不等长的输入,等长的输出
2、雪崩效应
3、不可逆向运算
三层交换机的工作原理:
(二层交换机和路由器的功能集合设备)
当一个数据包进入3层交换机后:
1、先查看源MAC地址,生成CAM
2、再查看目标MAC地址
(1)广播-------洪泛,同时解封装
(2)组播-------洪泛或者基于组转发
(3)单播-------目标MAC为本地,直接解封
目标MAC为其他设备基于CAM表转发
3、解封装后,查看目标ip地址;
此时行为将和路由器一致