TCPIP原理与应用 第7章 IP路由
合集下载
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
7.3.2 路由算法 • 主机和路由器发出数据报时,IP模块要根据数据报 中的信宿IP地址和路由表完成下面的路由算法。 算法以数据报和路由表作为输入参数,首先从数据 报中取出信宿的IP地址,将路由表中的子网掩码与 信宿IP地址进行与操作,将得到的结果与路由表中 对应的信宿地址进行匹配。
– 若是特定主机路由,则将数据报送往对应的下一跳路由器 或直接连接的信宿机。 – 若是网络地址,则将数据报送往该网络对应的下一跳路由 器或直接连接的信宿机。 – 若没有相匹配的主机地址或网络地址项,则看看是否有默 认路由项,只要默认路由项存在,逻辑与操作的结果就必 然与默认地址(0.0.0.0)相匹配。 – 若路由表中没有默认项,那么本机将丢弃数据报,然后产 生网络不可达的ICMP出错报文。
在路由表中不直接采用主机IP地址的好处: 1)可以大大减小路由表的规模。网络数比主机数要少 得多,而信息到达信宿网络,也就到达了信宿主机, 数据传递到信宿的相邻路由器后,相邻路由器再通 过直接传递将数据传给信宿主机。所以可以用网络 地址来取代网络中各主机的地址。
2)与网络的抽象结构相对应。网络的抽象结构中只有 网络,没有主机。
处理ip选项环回目的机和ttlip传输层网络接口ospf重定向队列添加ip数据报首部分片处理分片重组队列队列队列队列队列队列静态路由设置命令动态路由程序显示命令netstat应用层ip路由表的使用相对来说比较简单ip层中的ip模块利用路由表中的子网掩码获得信宿机所在的子网并将结果和路由表中的目的地址进行匹配如果匹配则从对应的接口发送数据
• 路由选择在主机和路由器上完成 • TCP/IP采用表驱动的方式进行路由选择 • 在每台主机和路由器中都有一个反映网 络拓扑结构的路由表 – 单个路由表只反映局部的拓扑信息 – 所有路由表的集合反映整体拓扑结构
• 主机和路由器能够根据路由表所反映的 拓扑信息找到去往信宿的正确路径。
与路由表相关的操作包括两部分: – 路由表的使用 – 路由表的建立与刷新 路由表被访问的频度比它被刷新的频度要高得 多。在一台繁忙的主机上,路由表一秒钟内可 能要被访问几百次,而路由守护程序对路由表 的刷新却可能每隔十多秒甚至几十秒一次。 主机和路由器上的IP协议负责根据路由表完成路 由选择 路由表的建立与刷新由专门的路由协议负责。
返回
7.4 静态路由
• 路由表的建立和刷新可以采用两种不同的方式: 静态路由和动态路由。 • 一般说来,以静态路由方式工作的路由器只知 道那些和它有物理连接的网络,而不能发现和 它没有直接物理连接的那些网络。对于这种路 由器,如果想让它把数据包路由到任何其他的 网络,需要以手工方式在路由表中添加条目。 • 每台路由器中的静态路由表是一个本地文件, 该文件包含所有去往已知网络的路由。静态路 由要求手工配置固定的路由表。当网络结构发 生变化时,网络管理人员要及时地调整路由表。
A 直接传递 B 直接传递 R1 192.168.6.0 间接传递 图 7-1 192.168.7.0 间接传递 直接传递与间接传递 R2 192.168.8.0 C
返回
7.2 IP路由
当从网络上的一台主机向另一台主机发送信息 时,必须知道去往目的地的路径,信息往往要 穿过多个网络。 路由选择困难: • 因特网采用无规律的拓扑结构 • 网络的结构处于不断的变化之中 IP路由与网络拓扑结构密切相关→要有描述网络 结构的方法 TCP/IP将网络结构进行抽象,用点表示路由器, 用线表示网络。路由选择基于抽象结构进行, 通过路由选择找到一条通往信宿的最佳路径。
192.168.6.18 A R1 192.168.6.0 192.168.7.0 R2
192.168.8.23 B
192.168.8.0
192.168.6.1
192.168.7.1
192.168.7.2
192.168.8.1
图 7-6 配置静态路由
图中路由器R1与网络192.168.6.0和192.168.7.0直 接相连,R1启动时的初始路由表如图7-7所示。
192.168.5.2 192.168.5.1 R1
R2 192.168.7.0 192.168.5.9 192.168.5.10
B
192.168.7.6
192.168.6.0 192.168.6.1
192.168.5.5 192.168.5.6 图 7-4 R3 路由表的一个例子
Internet
• 主机中也存在一个路由表。因为主机所 在的物理网络可能连接了多个路由器, 为了实现最短路径原则,去往不同的信 宿可能采用不同的路由器作为路径上的 初始路由器。主机路由表的目的正是为 了在不同的初始路由器中作出选择,把 数据报交给去往信宿最近的一个路由器。
• 一个路由表中最多只能有一个默认路由表目, 当路由表的其他部分的路径都无效时(IP地址 和路由表中的子网掩码逻辑与后与信宿地址不 匹配),才使用默认路由。由于默认路由的信 宿地址和子网掩码都是0.0.0.0,所以任何IP地 址和它都是匹配的。 • 图7-4给出了一个网络和路由表的例子。图中 第一个表项是对网络192.168.6.0的路由,而 且是直接传递。第二个表项是对主机B的特定 主机路由。第三个表项是对网络192.168.7.0 的路由。最后一个表项是默认路由。
下一跳地址:该地址代表数据报在通往信 宿的过程中必须走的下一步。
– 可能是另一个路由器(下一跳)。 – 可能是路由器在那个网络上的本地接口。 当路由器和信宿机位于同一个子网时,下一跳地 址为路由器在信宿网络上的本地接口。
输出接口:该字段表示路由器通过该接口 将数据送往下一个路由器或信宿网络,一般填 接口的IP地址。 度量:该字段用于度量从本设备出发去往 信宿的距离,一般以跨越的路由器的个数来衡 量。在存在多条通往信宿的路径时,取其中跳 数最少的作为该参数值。
信宿地址 192.168.6.0 192.168.7.0 子网掩码 255.255.255.0 255.255.255.0 下一跳地址 192.168.6.1 192.168.7.1 输出接口 192.168.67 路由器 R1 的初始路由表
• 当主机A要向主机B发送信息时,R1无法根据图7-7中 的路由表进行转发。因此需要网络管理员手工在R1的 路由表中添加与网络192.168.8.0相关的条项或者在 R1的路由表中添加一个默认路由表项。
第7章 IP路由
7.1 7.2 7.3 7.4 7.5 直接传递与间接传递 IP路由 路由表 ★ 静态路由 动态路由 ★
7.1 直接传递与间接传递
数据分组在向信宿传递时分为: • 直接传递是指直接传到最终信宿的传输过程。 • 间接传递是指在信源和信宿位于不同物理网 络时,所经过的一些中间传递过程。 数据传递由一个直接传递和零到多个间接传递 所组成。
3)增强了路由表对网络变化的适应性。由于体现了信 息隐藏的原则,主机的增加和删去不会对路由表产 生任何影响。 4)减轻了路由表维护以及路由选择的开销,同时也简 化了路由设备的设计和实现。
• 虽然从信源到信宿的完整路径通常包括一系 列的路由器,但在单个路由表中并不存放完 整的路径,而只是存放去往信宿的路径中的 下一跳路由器的地址,通过下一跳地址将路 由器串起来就构成了通往信宿的路径。 • 在路由表中只采用下一跳地址而不用完整路 径的好处: 1)减小了路由表的规模。 2)去掉了路由表中关于相同路径的冗余信息。 3)使路由表变得简单,便于维护。
应用层
静态路由 设置命令
动态路由 程序
显示命令 (netstat) TCP OSPF UDP
传输层 IP 层 ICM P IP 重定向 队列 添加 IP 数据报首部 队列 路由选择 分片处理
队列 分片重组
路由表
转发数据报
处理模块: 处理 IP 选项、 环回/目的机 和 TTL 等
网络接口
队列
…
队列
• 算法只是根据路由表来转发数据报,而不涉 及路由表的初始化和刷新,路由表的初始化 和刷新问题由专门的路由协议完成。
Route_IP_Datagram(datagram,routing_table) 从数据报中取出信宿 IP 地址 ID 对路由表中的每一个表目 将子网掩码和信宿 IP 地址进行逻辑与得到 IN if 是特定主机路由 then 按路由表发送数据报; else if IN 匹配信宿网络地址 then 按路由表发送数据报; else if 路由表中指定了默认路由 then 将数据报发往默认路由器 else 丢弃数据报产生 ICMP 出错报文 图 7-5 路由算法 特定主机路由 网络路由 默认路由
1.在路由表中添加信宿网络表项 信宿地址 192.168.6.0 192.168.7.0 192.168.8.0 子网掩码 255.255.255.0 255.255.255.0 255.255.255.0 下一跳地址 192.168.6.1 192.168.7.1 192.168.7.2 输出接口 192.168.6.1 192.168.7.1 192.168.7.1 度 量 1 1 2
R1 的路由表 信宿地址 192.168.6.0 192.168.7.6 192.168.7.0 … 0.0.0.0 192.168.6.9 A 子网掩码 255.255.255.0 255.255.255.255 255.255.255.0 … 0.0.0.0 下一跳 192.168.6.1 192.168.5.6 192.168.5.2 … 192.168.5.6 输出接口 192.168.6.1 192.168.5.5 192.168.5.1 … 192.168.5.5 … … … … … …
队列
…
队列
图 7-2
与路由表相关的操作
• 路由表的使用相对来说比较简单,IP层中的 IP模块利用路由表中的子网掩码获得信宿机 所在的子网,并将结果和路由表中的目的地 址进行匹配,如果匹配则从对应的接口发送 数据。(信宿子网+子网掩码+接口+下一跳) • 路由表的维护是较为复杂的工作,ICMP为 主机的路由表进行重定向操作,OSPF和应 用层的其它动态路由程序负责对路由表进行 动态刷新。一个好的动态路由程序要保证路 由表能够及时地反映网络结构的变化。
第7章 IP路由
• 路由又称为路由选择,是为数据寻找一条从信 源到信宿的最佳或较佳路径的过程。 • 进行路由选择的依据是网络的拓扑结构,网络 的拓扑结构通过一个称为路由表的数据结构加 以体现,路由选择围绕路由表进行。 • 由于网络结构的复杂性和动态性,使得IP路由 涉及网络结构的抽象描述、路由表的结构、路 由表的建立和刷新以及根据路由表决定下一跳 路由器等问题。
2.在路由表中添加缺省路由表项 信宿地址 192.168.6.0 192.168.7.0 0.0.0.0 子网掩码 255.255.255.0 255.255.255.0 0.0.0.0 下一跳地址 192.168.6.1 192.168.7.1 192.168.7.2 输出接口 192.168.6.1 192.168.7.1 192.168.7.1 度 量 1 1 1
• 特殊表目:特定主机路由;默认路由 特定主机路由:用主机的IP地址作为信宿地址的表目, 特定主机路由为单个主机指定一条特别的路径。 目的:给网络管理人员赋予了更大的网络控制权,用 于安全性和网络测试。 特定主机路由表目的子网掩码为:
255.255.255.255 。
默认路由:路由表中的另一个特殊表目。默认路由将去 往多个网络(一般是去往本自治系统以外的具有相同 的下一跳的信宿网络)的路由表目合为一个。 目的:进一步隐藏细节、缩小路由表。 默认路由表目所对应的信宿地址和子网掩码都是 0.0.0.0。
返回
7.3 路由表
路由表是存在于主机和路由器中的、反映网络结 构的数据集,是数据在因特网上正确传输的关 键所在。路由表的功能是指明去往某信宿应该 采用哪条路径。 7.3.1 路由表的构成 路由表是个二维表,每个表项由多个字段构成。 最基本的字段:信宿地址+去往信宿的路径。 • 从理论上讲,信宿可能是因特网上的任何一台 主机,但通常路由表中的信宿地址采用网络地 址。
• 从路由表的结构上看,除了包括信宿地址和下一 跳路由器地址外,通常还包括子网掩码、去往下 一跳的输出接口和度量。路由表的一般结构如图 所示。
信宿地址 … 子网掩码 … 下一跳地址 … 图 7-3 路由表的一般结构 输出接口 … 度 量 …
各字段的含义: 信宿地址:一般为目标网络的地址。系统将在对数 据报的目的IP地址和子网掩码进行逻辑与操作后再与 该参数进行匹配。 子网掩码:该字段用于提取数据报目的IP地址所对 应的网络地址。