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 方面的问题.