TCP/IP illustrated 第九、十章 IP Routing & Dynamic Routing Protocols
IP routing
Summary
定义: IP routing 指的是 IP 如何 make routing decisions,即将 IP datagram 发到哪里去.
基础:IP routing 的基础是 IP routing table, 每次发送 IP datagram 的时候,都会参照 routing table,选择合适的 route, 然后发送.
IP routing table 可以创建和修改,其方法如下:
- 通过 ICMP redirect message 改动
- 通过 user 命令行命令
route
增加(在 system bootstrap 时启用) - 通过 ICMP discovery message 动态地(dynamically)改动
Routing mechanism
定义
Routing mechanism 是由 IP 决定的,其用于决定哪一个 interface 用于将 packet 送出.
其优先级由高到低的顺序如下:
- Search for a matching host address
- Search for a matching network address
- Search for a default entry
routing mechanism 与 routing policy
routing policy 是由 routing daemon 决定的( routing daemon 即 user 改变、增加 route) ,其用于决定 route 的数目和内容.
Dynamic Routing Protocols
Introduction
在上一章 IP routing 指的是 static 的 routing, 其具有一定的局限性,只能适用于以下三种情况:
- network is small
- single connection point to other networks
- no redundant routes
当存在三种情况之外的情况的时候, static IP routing 将会失效,这时就会用到 Dynamic Routing Protocols
术语
routing protocol & daemon定义:
当 router 去跟附近的 router 进行交换信息的时候,需要遵循的 protocol 陈伟 routing protocol.
这些 router 通过上面的职能, 完成更新 routing table 的功能,这些 router 被陈为 routing daemon.
这一职能的实现需要一定的 routing policy, 即找到最好的 route, 删除失效的 route.
AS 定义:
Internet 是很多 autonomous systems (ASs) 的集合,之所以陈成 autonomous systems 是因为这些 system 可由 single entry 控制.这些集合有着不同的 routing protocol.
IGP & EGP 定义:
IGP 是 Interior gateway protocol, 指的是在本身的 autonomous system 中交换 routing table 的协议,其中典型的代表有:
- Routing Information Protocol (RIP)
- Open Shortest Path First Protocol (OSPF)
EGP 是 exterior gateway protocol, 指的是在不同的 autonomous system 之间交换 routing table 的协议,其中典型的代表有:
- Exterior Gateway protocol (EGP, 是 EGP 的一种)
- Border Gateway Protocol(BGP)
IGP · RIP
RIP 的机制:
RIP message 是封装在 UDP 中的. 交换信息的过程如下:
- Initialization: 选择是否有明确的端口, 向明确端口中的每一个支持的端口发送 request 信息
- Request received: 端口收到 request 信息,附上 metric 信息, metric 用于记录 Ethernet 之间的 hop count.
- Response received: 得到 response 信息,然后对 routing table 进行更新
- Updates: 分为 Regular Routing Updates 和 Triggered Routing Updates, regular 方式为 30 秒发送一次, triggered 方式在 route 改变的时候发送,且只发送需要知道的发生改变的端口的 routing.
EGP-BGP
EGP 在不同的 AS 之间交换 routing, AS 的种类如下:
- stub AS: 与其他 network 只存在单个的 connection
- multihomed AS: 与其他 network 存在多个 connection, 但是不支持 transit
- transit AS: 与其他 network 存在多个 connection, 且支持 transit.
前两种用 EGP 的方式进行交换信息.
最后一种使用 BGP 的方式. BGP 以 TCP 进行封装,并且是一种 policy-based routing, 其可纳入 policy, economic, security 方面的问题.
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具