IP 路由表七要素 | 路由前缀 / 协议类型 / 优先级 / 开销 / 标志 / 下一跳 / 出接口

IP 路由和路由表

图片

路由

路由是网络中的基本概念,网络的基本功能就是使得处于网络中两个 IP 地址能够互相通信。

当路由器收到一个 IP 数据包时,路由器会解析出 IP 数据包中的目的 IP 地址,然后根据目的 IP 地址查找路由表,依据最长掩码匹配原则,找到对应的路由条目,根据路由条目中的下一跳或者出接口将报文转发出去,这就是路由

路由表

简单点说,路由表就是路由器用于指导数据包如何转发的表项,记录了去往目的 IP 的下一跳去哪里

图片

IP 路由表包含的七大要素

IP 路由表中包含了目的网络 / 掩码,协议类型,优先级,开销,标志,下一跳,出接口这个七大要素。

图片

下面来看下一个真实的路由表:

图片
通过命令 display ip routing-table 来查询该设备的路由表,可以看到该设备共有 12 条路由条目。

每个路由条目必须包括下面几个信息元素

目的网络 / 掩码

目的网络 / 掩码也被称为路由前缀,这是路由条目所关联的目的网络地址及网络掩码。

一条完整的路由前缀由:网络地址 + 前缀长度(或者网络掩码) 构成,两者缺一不可。

例如 192.168.1.0/24 与 192.168.1.0/25 ,虽然网络地址相同,都是 192.168.1.0,但是两者绝对是两条不同的路由,因为它们的前缀长度不相同。

图片
当路由器收到一个 IP 数据包时,路由器会解析出 IP 数据包中的目的 IP 地址,然后根据目的 IP 地址查找路由表,依据最长掩码匹配原则,找到对应的路由条目。

最长掩码匹配原则匹配的就是目的网络 / 掩码。

比如:路由器收到一个目的 IP 地址为 10.1.1.1 的数据包,此时查找路由表,有两个路由条目,一个路由条目的 A 的目的网络 / 掩码是 10.1.1.0/24,另一条路由条目 B 的目的网络 / 掩码是 10.1.1.0/28,那么这个数据包匹配的是哪一个路由条目呢?
图片
正确答案:是匹配路由条目 B,因为 B 的掩码长。

协议类型

图片

协议类型

指该路由条目是通过什么路由协议学习过来的。

例如是直连的,或是静态的,或者是通过 OSPF、IS-IS、EIGRP、BGP 等动态路由学习到的。

1、直连路由

指和路由器的接口直接的地址生成的路由。

如下图中,协议类型是 direct 的就是直接直连地址生成的路由。

图片

2、静态路由

静态路由是指通过静态路由协议生成的路由。
与动态路由不同,静态路由是固定的,即使网络状况已经改变或是重新被组态也不会改变。

3、动态路由

动态路由协议主要有 RIP、OSPF、ISIS、BGP。

RIP 和 BGP 是基于距离矢量的路由协议。

OSPF 和 ISIS 都是基于链路状态的路由协议。

图片

优先级

路由表中去往同一目的地的路由可能通过多种路由协议生成。

举个例子:去往目的 IP 为 192.168.2.1 的通过静态路由生成了,也通过 OSPF 路由生成了。那么这时什么样的路由会加入到路由表中呢 ?

这时就和路由协议的优先级有关系了。

每种协议类型对应不同的优先级,优先级值越小则路由越优

常用路由协议和优先级的关系表如下图。

图片

当一台路由器同时从多种不同的路由协议学习到去往同一个目的地的路由时,它将优选路由协议优先级值最小的那条路由

图片

因此,本例中,正确的是通过 OSPF 学习到路由加入到路由表中(OSPF 的路由优先级比静态路由优先级小)。

开销

路由的度量值,经常也使用 metric 来描述。
直连及静态路由的 Cost 为 0。

cost 与 metric 的区别

成本(cost) 通常是指从某个接口发送流量的“开销”,是路由器在选择路径时的一个考虑因素。

度量(metric) 是路由器在选择路径时所使用的综合评估值,是路由器根据诸如成本、带宽、延迟和负载等因素计算出的一个值。

cost 是 metric 的一个计算组成部分,metric 是一个更广泛的概念,包括 cost 在内的多种因素。路由器根据 metric 的值来选择最优路径。

图片

通过动态路由协议学习到的 Cost 则根据实际情况而定。不同的路由协议计算 Cost 的方法不同

图片

例如上图中,R1 去往 PC2 的路由条目通过 OSPF 路由协议学习到,开销为 3。

标志(路由标志)

R 表示该路由是迭代路由
D 表示该路由下发到 FIB(Forwarding Information Base,转发信息表 )。

图片

RIB 负责存储、提供路由信息,而 FIB 负责根据路由信息进行包转发。

迭代路由

路由必须有直连的下一跳才能够指导转发,但是路由生成时下一跳可能不是直连的,因此需要计算出一个直连的下一跳和对应的出接口,这个过程就叫做路由迭代

BGP 路由、静态路由和 UNR (User Network Route,用户网络路由)路由的下一跳都有可能不是直连的,都需要进行路由迭代。

例如,BGP 路由的下一跳一般是非直连的对端 loopback 地址,不能指导转发,需要进行迭代。即根据以 BGP 学习到的下一跳为目的地址在 IP 路由表中查找,当找到一条具有直连的下一跳、出接口信息的路由后(一般为一条 IGP 路由),将其下一跳、出接口信息填入这条 BGP 路由的 IP 路由表中并生成对应的 FIB 表项。

下一跳

去往目标网络的下一跳 IP 地址。

图片

出接口

去往目标网络从本设备的哪个接口出去。

图片

—END—


注:在原文中补充了注解

via:

<think>好的,我现在需要帮助用户学习TCP/IP基础知识以及路由和交换的相关内容。用户提到了之前的对话中关于服务器性能测试的讨论,但这次的问题转向了网络协议和路由交换。首先,我需要确保理解用户的具体需求,他们可能正在准备网络相关的考试,或者需要构建或管理企业网络,或者是出于兴趣自学。 首先,用户明确提到了三个主要部分:TCP/IP协议基础、路由原理和交换技术。我需要将这些内容结构化,确保每个部分都涵盖关键概念,同时结合用户提供的引用内容来补充详细信息。用户提供的引用中提到了TCP/IP协议的结构、各层协议、路由转发原理等,这些都是需要整合到回答中的。 接下来,我需要考虑如何将这些复杂的概念简化,用易于理解的语言表达。例如,解释TCP和IP的不同作用,TCP如何保证可靠传输,IP如何负责寻址。同时,需要结合用户提供的引用内容,比如引用2中详细说明了TCP/IP的组成和层级结构,引用4和5提到了路由转发的工作原理,这些都需要被准确引用并整合到回答中。 然后,关于路由原理,用户引用4提到了三层路由的工作步骤,包括数据包接收、路由表查询、路由选择、数据包转发和发送。我需要将这些步骤详细展开,解释路由表的作用、静态路由和动态路由的区别,以及常见的路由协议如OSPF和BGP。同时,需要结合引用5中的IP地址和子网划分内容,说明路由如何依赖IP地址进行决策。 关于交换技术,用户可能需要了解二层交换的工作原理,如MAC地址表的学习和帧转发。引用4中提到了二层转发,可能需要解释交换机如何处理数据帧,VLAN的作用,以及生成树协议的重要性。这部分需要确保技术术语准确,但不过于晦涩,比如解释交换机如何通过MAC地址表减少广播域,提高网络效率。 此外,用户可能对实际应用场景感兴趣,比如如何配置静态路由或动态路由协议,如何在交换机上划分VLAN。这部分可以简要提及,但不需要深入配置细节,保持基础知识的介绍。 最后,生成的相关问题需要覆盖可能的学习路径,比如协议比较(TCP vs UDP)、路由协议的选择、VLAN的配置等,帮助用户进步探索。需要确保问题与之前的内容相关,并引导用户深入理解关键概念。 整个过程中,需要保持回答结构化,使用适当的Markdown格式,如标题、子标题、列表和代码块(如果有示例配置的话),同时遵循用户要求的LaTeX格式和引用标注。需要检查引用是否正确对应,例如引用4关于路由转发的内容是否正确整合到路由原理部分。同时,确保回答使用中文,避免技术术语的错误翻译,保持专业性和易懂性之间的平衡。</think>### TCP/IP协议与网络技术系统化学习指南 --- #### 、TCP/IP协议体系精要 1. **四层模型架构** $$ \begin{array}{|c|c|} \hline \text{应用层} & \text{HTTP/FTP/DNS/SMTP} \\ \hline \text{传输层} & \text{TCP/UDP} \\ \hline \text{网络层} & \text{IP/ICMP/ARP} \\ \hline \text{网络接口层} & \text{Ethernet/PPP} \\ \hline \end{array} $$ - **TCP协议特性** - 三次握手建立连接:SYN → SYN-ACK → ACK[^2] - 滑动窗口机制:$W_{size} = \min(rwnd, cwnd)$ 控制流量 - 超时重传:RTT动态计算($RTO = \alpha \times SRTT + (1-\alpha)\times RTTVAR$)[^5] - **IP协议核心功能** - IPv4地址分类:$A(1.0.0.0-126.255.255.255)/B/C/D/E$ - 子网划分计算:$2^n \geq \text{主机数}+2$,子网掩码长度=32-n[^5] 2. **关键协议对比** | 特性 | TCP | UDP | |-------------|----------------|--------------| | 连接方式 | 面向连接 | 无连接 | | 可靠性 | 数据重传确认 | 尽力交付 | | 首部开销 | 20字节 | 8字节 | | 典型应用 | Web/Email | 视频流/DNS | --- #### 二、路由技术深度解析 1. **路由表构成要素** ```plaintext 目标网络 下 接口 度量值 192.168.1.0/24 - eth0 0 # 直连路由 10.0.0.0/8 172.16.1.1 eth1 5 # 静态路由 0.0.0.0/0 203.0.113.1 eth2 10 # 默认路由 ``` - **路由选择算法** - 最长前缀匹配原则:选择最精确的子网条目[^4] - 动态路由协议: - OSPF(链路状态):使用Dijkstra算法计算最短路径树 - BGP(路径矢量):基于AS_PATH属性进行路由决策[^5] 2. **三层路由工作流程** 1. 接收数据包后提取目的IP地址 2. 查询路由表进行最长匹配 3. 若存在匹配条目: - 修改TTL值(TTL-1) - 重新计算首部校验和 - 通过ARP获取下MAC地址[^4] 4. 无匹配时返回ICMP Destination Unreachable --- #### 三、交换技术核心原理 1. **二层交换基础** - **MAC地址表构建** - 学习机制:源MAC+接口+时间戳(老化时间默认300秒) - 广播处理:未知目的MAC时泛洪到所有端口(除接收端口)[^4] - **VLAN技术实现** - 端口隔离: ```cisco Switch(config)# vlan 10 Switch(config-vlan)# name Engineering Switch(config)# interface gig0/1 Switch(config-if)# switchport mode access Switch(config-if)# switchport access vlan 10 ``` - Trunk链路:802.1Q标签(4字节)支持多VLAN传输 2. **生成树协议(STP)** - 选举过程: 1. 根桥选举:最小Bridge ID(优先级+MAC地址) 2. 根端口选择:到根桥路径成本最低 3. 指定端口确定:每个网段选择最佳转发端口 - 改进协议:RSTP(快速收敛)、MSTP(多实例) --- #### 四、网络通信典型场景 1. **HTTP请求全过程** ```mermaid sequenceDiagram 客户端->>DNS服务器: 查询www.example.com DNS服务器-->>客户端: 返回IP 203.0.113.5 客户端->>服务器: SYN(seq=x) 服务器-->>客户端: SYN-ACK(seq=y, ack=x+1) 客户端->>服务器: ACK(ack=y+1) 客户端->>服务器: HTTP GET / 服务器-->>客户端: HTTP/1.1 200 OK ``` - 涉及协议栈:DNS(UDP)→TCP→IP→Ethernet[^2][^5] 2. **跨VLAN通信** - 需通过三层交换机或路由器实现 - 配置示例(三层交换机): ```cisco interface Vlan10 ip address 192.168.10.1 255.255.255.0 interface Vlan20 ip address 192.168.20.1 255.255.255.0 ip routing // 启用路由功能 ``` --- ### 学习路径建议 1. **实验环境搭建** - 使用GNS3/EVE-NG模拟复杂网络拓扑 - Wireshark抓包分析TCP三次握手过程 2. **认证体系参考** - CCNA(交换路由基础) - HCIA(华为网络技术认证) --- ### 相关问题 1. TCP滑动窗口如何实现流量控制与拥塞控制的平衡? 2. OSPF的DR/BDR选举机制在广播网络中起什么作用? 3. 如何通过VLAN间路由实现不同子网通信? 4. IPv6的邻居发现协议(NDP)相比ARP有哪些改进? 5. 三层交换机与传统路由器在功能上有何本质区别? --- 以上内容整合了TCP/IP协议栈的层次结构[^2][^5]、路由转发机制[^4]及交换技术核心原理,结合了网络工程实践中的典型配置场景。建议通过协议分析工具(如Wireshark)和网络模拟器进行实践验证。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值