张建忠 徐敬东 南开大学计算机系 zhangjz@office.nankai.edu.cn
路由选择、路由器 路由选择(routing) IP路由选择 路由器(router) 选择一条路径发送数据的过程 在IP互联网中选择一条路径发送IP数据报的过程 通常也简称为路由选择 路由器(router) 进行路由选择的计算机就叫做路由器router
应具有路由选择功能的设备
路由选择的基本原理 IP互联网采用表驱动的路由选择算法 IP路由选择利用IP地址隐藏主机信息 需要路由选择的设备保存一张IP路由表 路由表存储有关目的地址及怎样到达目的地的信息 通过查询路由表决定把数据报发往何处 IP路由选择利用IP地址隐藏主机信息 连接到同一网络的所有主机共享同一网络号
标准路由选择算法 --下一站选路 标准IP路由表包含许多(N,R)对序偶 路由表仅指定了从R到目的网络路径上的下一步,而不是完整路径 R:到网络N路径上的“下一个”路由器的IP地址 路由表仅指定了从R到目的网络路径上的下一步,而不是完整路径 路由器不知道到达目的地的完整路径
路由表举例
基本的下一站路由选择算法
子网选路—标准路由选择算法的扩充 子网编址引入后须对标准路由选择算法进行修改和扩充 扩充子网掩码后的IP路由表:(M,N,R)三元组 R:到网络N路径上的“下一个”路由器的IP地址
子网路由
路由表中的特殊路由 普通路由:路由表的主要表项都是基于网络地址的 目的:减小路由表的长度,提高路由算法的效率 默认路由:路由表没有明确指明一条到达目的网络的路由信息,就将数据报转发到默认路由指定的路由器 特定主机路由:对单个主机(而不是网络)指定一条特别的路径
统一的路由选择算法
路由表的建立与刷新 静态路由:通过人工设定 动态路由:路由器通过自己的学习得到的
静态路由 静态路由 优势 劣势 由网络管理员根据互联网的拓扑结构和连接方式人为设定 在正常工作中不会自动发生变化 安全可靠、简单直观,避免了动态路由选择的开销。适用于结构简单、单路径的互联网环境 劣势 在复杂的互联网环境下使用工作量很大,容易出现路由环路
动态路由 动态路由: 优势:更多的自主性和灵活性,适合于拓扑结构复杂、网络规模庞大的互联网环境 路由器通过自身学习,自动修改和刷新路由表 优势:更多的自主性和灵活性,适合于拓扑结构复杂、网络规模庞大的互联网环境 RIP:使用向量-距离算法,比较适宜于小型到中型的、多路径的、动态的IP互联网环境 OSPF:使用链路-状态算法,最适合较大型到特大型、多路径的、动态的IP互联网环境 劣势:路由信息的交换和计算需要占用带宽、路由器的内存和CPU处理时间
路由配置 - 实验环境的选择 路由器方案 双网卡计算机方案 单网卡多IP地址方案
路由器方案
双网卡计算机方案
单网卡多IP地址方案
静态路由的配置
Windows 2000 静态路由的配置(一) 配置互联网中主机的IP地址和默认路由 配置路由设备的IP地址 利用命令行配置静态路由 利用图形界面配置静态路由
利用命令行配置静态路由 显示路由信息:route PRINT 增加路由表项:route ADD 修改现有的路由表项:route CHANGE 删除路由:route DELETE 修改注册表,使Windows 2000 Server转发数据报 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\ Tcpip\Parameters\IPEnableRouter = 0x1
利用图形界面配置静态路由
RIP协议的配置
利用“路由和远程访问”配置RIP协议
测试配置的路由 ping命令 tracert命令
编写简单的路由程序 运行编写的路由程序 运行编写的路由程序
路由软件应处理的主要内容 为经过的IP数据报选择路由 处理IP数据报TTL域中的数值 分片处理 处理IP数据报选项 生成和处理ICMP报文 实现动态路由协议、维护静态路由 实现ARP协议、形成数据帧
简化的路由程序 着重精力于路由的选择与IP数据报的转发 忽略分片处理、选项处理、动态路由等功能 日志:显示本机的网络接口、IP数据报的接收情况、IP数据报的选路情况、IP数据报的发送情况
简单路由程序界面示意图
简单路由程序的功能 静态路由表的维护 IP数据报的处理 验证程序的正确性 静态路由的添加、修改和删除等维护功能 自动获得与本机直接相连的路由信息 IP数据报的处理 IP数据报的接收、选路、发送(包括ARP解析)等工作 可以利用WinPcap的包过滤机制提高程序的效率 验证程序的正确性 ping命令和tracert命令
练习和思考 学习OSPF的有关知识,查找配置OSPF动态路由的相关资料,使用Windows 2000自带的“路由和远程访问”程序配置一个OSPF动态路由,并验证配置的正确性 分片是路由软件应该具有的基本功能之一。在完成简单路由程序的编程之后,为其增加分片功能