#交换设备
路由器的工作原理
一、回顾交换机的工作原理
- 交换机内维护了一张mac地址表,主要记录mac地址和端口的对应关系
- 交换机在初始状态下,mac表示空的,是要通过后期使用时学习记录得来的
- 交换机学习源mac地址,进行广播数据帧,而后接收方回应,回应使用单播直接转发,同时交换机学习了回应方的mac地址和接口的对应关系
二、回顾路由器相关知识
- 路由器是三层(网络层)设备
- 网络层所封装的是IP头部
- 网络层功能
- 进行逻辑地址寻址,实现不同网络(网络地址不相同、内网和外网分割)之间的路径选择
- 内网的IP地址是无法在外网上使用的▲
- 去查找目的是否可以到达,如果可以到达,选择一条最优路径,如果不可 到达,之间返回给发送方一个消息
- 进行逻辑地址寻址,实现不同网络(网络地址不相同、内网和外网分割)之间的路径选择
- 网络层所传输的PDU(传输数据单元)是数据包(IP数据包)
三、网络层的IP数据包
ipv4(32位)
- 版本:标识当前使用的IP版本(ipv4,ipv6)
- 首部长度:用于表示当前IP首部的长度,因为首部的长度是可变的,所以要先定义
- 区分服务:(服务质量/优先级和服务类型):为了保障更好的服务,主要是在IP层做qos。
- 总长度:主要用来比标识整个数据包的长度
- 标识、标志、片位移(段偏移量):表示上层来的数据到IP层会被分片,这几个字段用来对数据包进行标识(哪个是第一片、第二片……),使得数据到达目的端进行重组时不会出错
- 生存时间(TTL值):数据在路由器转发消耗的时间
- 为了防止数据包在网络传输的时候永远传下去
- 如果小于1秒,TTL值就会减1
- 协议:标识上层数据是使用哪一种协议
- TCP:6 UDP:17
- 首部校验:校验数据报文的首部
- 源地址:发送方IP地址
- 目的地址:接收方IP地址
ipv6
- **1、版本(Version):**4 bit,值为 6(二进制值为 0110)表示 IPv6 报文。
- **2、流量类别(Traffic Class):**8 bit,这相当于 IPv4 协议中的 ToS 字段。但是,考虑到 ToS 字段这些年的发展,现在都用来做区分服务等级(Differentiated Class of Service,DiffServ)了。所以,即使这个字段和旧的 ToS 字段有些相似,它们的名字要比所传送的值更能确切地反映目前的用处。
- 3、流标签(Flow Label):20 bit,IPv6 中新增。流标签可用来标记特定流的报文,以便在网络层区分不同的报文。转发路径上的路由器可以根据流标签来区分流并进行处理。由于流标签在 IPv6 报文头中携带,转发路由器可以不必根据报文内容来识别不同的流,目的节点也同样可以根据流标签识别流,同时由于流标签在报文头中,因此使用 IPSec 后仍然可以根据流标签进行 QoS 处理。
- **4、有效载荷长度(Payload Length):**16 bit,以字节为单位的 IPv6 载荷长度,也就是 IPv6 报文基本头以后部分的长度(包括所有扩展头部分)。
- **5、下一报头(Next Header):**8 bit,用来标识当前头(基本头或扩展头)后下一个头的类型。此域内定义的类型与 IPv4 中的协议域值相同。IPv6 定义的扩展头由基本头或扩展头中的扩展头域链接成一条链。这一机制下处理扩展头更高效,转发路由器只处理必须处理的选项头,提高了转发效率
- **6、跳数限制(Hop Limit):**8 bit,和 IPv4 中的 TTL 字段类似。每个转发此报文的节点把此域减 1,如果此域值减到 0 则丢弃。注意:IPv4 中的 TTL 设计之初是以秒(s)为单位的,但实际使用时跟 IPv6 中的 Hop Limit 一样,是以跳数为单位
- **7、源地址(Source Address):**128 bit,报文的源地址。
- **8、目的地址(Destination Address):**128 bit,报文的目的地址。
四、路由器的工作原理
1.路由
- 从源主机到目标主机的转发过程(苦啊网络访问)
- 包含两个内容
- 确定最佳路径
- 手动指定方式
- 根据动态路由协商方式
- 通过玩过传输信息
- 确定最佳路径
- 路由器内维护一张路由表
2.路由表
-
网络地址 与 接口 的对应关系
-
-
两类
- 直连路由
- 当路由器的接口配制好对应的IP地址,并开启接口后,自动生成
- 非直连路由
- 需要手动配置静态路由或者使用动态路由协议学习到
- 直连路由
3.静态路由
- 由管理员手动配置,不灵活,而且是单向的
- 特殊的静态路由:默认路由
- 使用场景:一般用于末梢网络(网络的最末端)(一个路由器的末端只连接了一个网络)
- 挡在路由器中找不到目标网络的路由条目时,再去查看默认路由
4.动态路由
- 通过某种路由协议,自动的去建立自己的路由表
- 常见的动态路由协议
- RIP、OSPF、IS-IS、BGP、IGRP、EIGRP 自行了解
五、路由器转发数据包的封装过程
1.实验
-
与PC直接相连的路由器端口的IP地址
-
配置实验环境
conf t int f0/0 ip add “IP地址” 子网掩码 no shut exit no ip routing #当用交换机表示PC时需要此设置“无路由条目” #把所有接口的IP地址都设置 PC端除了设置IP地址,还要设置网关 conf t ip default-gateway 网关 配置路由器时,配置万路由器接口的IP地址后,还需要添加静态路由条目 conf t ip route 192.168.100.0 255.255.255.0 fastEthernet 1/0 #目标网段 目标网段的子网掩码 #该网段从R1的哪个接口连接 ip route 192.168.100.0 255.255.255.0 192.168.50.2 #或者 最后写R2的1/0接口IP地址也可以 exit show int f0/0 #查看该接口的配置信息
2.封装过程
pc1访问pc2
- 第一个报文:源IP地址时PC1的,目的IP地址是PC2的
- 源mac地址是PC1的f0/0,目的mac地址是R1的 f0/0
- 当R1接受到这个报文后,会解封到网络层,查看是否可以到,如果可以到,转发到对应的端口,重新进行二层封装,源mac地址变成R1 f1/0的mac地址,目的mac地址变成R2的f1/0mac地址
- 当R2接受到报文后,同样的操作,进行转发,将数据重新进行二层封装,源mac地址变成R2的 f1/0,目的mac地址变成PC2的 f0/0 mac地址
- 此过程中一直不变的只有源、目的IP地址,mac地址会一直变化,因为路由器会对报文重新进行二层封装
- 同网段主要进行二层封装(不进行重新封装),夸网断就是三层转发(需要重新进行二层封装)