lab10_主机路由实验项目
学生姓名:苏家铭 合作学生:莫益萌
实验地点:济世楼 330 实验时间:2023 年 10 月 25 日
【实验目的】
本实验使得学生了解路由的工作原理以及在实际网络中的应用,让学生理解主机的路由功能以及与路由器之间的区别。学生将学习如何通过命令行方式配置主机的路由表,包括添加、删除和修改路由表项,以便实现特定的路由策略。这将帮助学生理解主机在数据包传输过程中的角色,并掌握配置和管理主机路由的基本技能。
【实验原理】
路由
是网络中的进程,负责决定数据包从源到目的地的端到端路径,通常在网络层(OSI 模型的第三层)进行操作。路由器是用于实现不同网络之间互联的设备,通过转发数据包来实现这一功能。尽管路由器可以支持多种协议,但在我国,绝大多数路由器主要运行 TCP/IP 协议,这是当前互联网通信的主要协议。
路由器通常连接两个或多个逻辑端口,这些端口可以表示不同的 IP 子网或点对点协议标识。每个路由器至少拥有一个物理端口,用于与网络相连。路由器的主要功能是根据接收到的数据包中的网络层地址以及路由器内部维护的路由表来确定数据包应该从哪个输出端口发送,并且需要指定下一跳地址。同时,路由器会修改数据包的链路层头部信息以便正确地进行数据包转发。
为了实现这一功能,路由器会维护路由表,该表反映了当前网络的拓扑结构。路由表中包含了路由器所知道的网络目的地和与之关联的输出端口 信息。路由器会不断地更新路由表以反映网络拓扑的变化,并通过与其他路由器交换路由和链路信息来保持路由表的准确性和实时性。
路由器是网络中的关键设备,它根据网络层地址和路由表来决定如何有效地转发数据包,从而实现数据在不同网络之间的传输和路由。它的动态维护和智能路由功能使得网络能够高效地运行并适应不断变化的网络拓扑。
主机路由
主机路由是指在主机(例如个人电脑、服务器等)上配置和管理的用于数据包转发的路由功能。每台主机都有一张路由表,该表记录了主机如何将数据包发送到其目标地址的规则。主机路由表中的每一项(也称为路由表项)通常由目标网络地址、下一跳网关地址和出口接口等字段组成。当主机收到一个数据包时,它会根据目标地址与路由表中的条目进行匹配,并确定数据包的下一跳地址及出口接口。通过这种方式,主机能够选择合适的路径将数据包发送到目标主机。主机路由与路由器中的硬件实现的路由功能有所不同。在路由器中,路由功能通常由专用硬件(如 ASIC 芯片)实现,能够处理更大的数据包流量和更复杂的路由规则。而在主机中,路由功能则通过软件来实现,受限于主机的计算能力和网络接口带宽。通过配置主机的路由表,可以实现特定的路由策略,如指定特定目标地址的流量走特定的网关或接口。主机路由的配置可以基于静态路由(手动配置)或动态路由协议(如 RIP、OSPF 等)来实现。
ROUTE 命令用于在 Windows 操作系统中管理网络路由表。它允许用户添加、修改、删除和查看路由表中的路由项,控制数据包的传输路径。以下是对 ROUTE 命令的详细解释:
ROUTE [-f] [-p] [-4|-6] command [destination] [MASK netmask] [gateway] [METRIC metric] [IF interface]
- f: 强制刷新路由表。清除所有网关项的路由表。如果与某个命令结合使用,在运行该命令前,应清除路由表。
- p: 与 ADD 命令结合使用时,将路由设置为在系统引导期间保持不变。默认情况下,重新启动系统时,不保存路由。忽略所有其他命令,这始终会影响相应的永久路由。请注意,Windows 95 不支持此选项。
- 4: 强制使用 IPv4。
- 6: 强制使用 IPv6。
command: 命令参数,可以是以下之一:
PRINT: 显示路由表,列出当前系统的路由信息。
ADD: 添加新的路由项。
CHANGE: 修改现有的路由项。
DELETE: 删除路由表中的路由项。
destination: 目标网络或主机的 IP 地址。
MASK netmask 子网掩码,用于确定目标的范围,如果未指定,其默认设置为 255.255.255.255。
gateway: 指定数据包到达目标时应使用的网关。
METRIC : 指定跃点数,例如目标的成本。
IF interface: 指定路由应用于的网络接口。
【实验设备】
济世楼 330 实验室 PC 机一台
【实验步骤】
查看当前路由表:
用管理员身份打开 Windows PowerShell。
输入命令 route print 以查看当前路由表中的项目。
查看输出结果,了解当前路由表中的路由信息。这些信息包括目标网络/主机、子网掩码、网关、接口、跃点数、Metric(度量值)等。
添加新路由:
使用 route add 命令来向路由表中添加新的路由项。例如,要添加一条将数据包发送到目标 IP 地址 192.168.1.100,并通过网关 192.168.1.1 进行转发的路由,执行 route add 192.168.1.100 mask 255.255.255.255 192.168.1.1。
输入命令 route print 以检查是否添加成功。
修改路由:
使用 route change 命令来修改现有的路由项。请注意,此命令用于更改数据的传输路由,但不会更改数据的目的地。例如,修改先前添加的路由项,将其跃点数或 Metric 值更改为不同的值:route change 192.168.1.100 mask 255.255.255.255 192.168.1.1 metric 2
输入命令 route print 验证修改是否生效,检查路由表。
删除路由:
使用 route delete 命令从路由表中删除不再需要的路由项。例如,删除先前添加的路由项:route delete 192.168.1.100
输入命令 route print 确认路由已被删除,检查路由表。
【实验现象】
打印路由表 1
打印路由表 2
添加路由 1
添加路由 2
修改路由 1
修改路由 2
删除路由 1
删除路由 2
【分析讨论】
解释实验条目
网络目标 (Network Destination):
这是数据包希望到达的目标 IP 地址或 IP 地址范围。当数据包从一个设备发送到另一个设备时,它有一个特定的目标 IP 地址。路由器或操作系统会查看该数据包的目标 IP,并与路由表中的“网络目标”条目进行比较,以确定如何路由或转发该数据包。
网络掩码 (Netmask):
网络掩码决定了网络目标中的哪部分代表网络,哪部分可以用于主机。通常,网络掩码中的 255 表示该部分的 IP 地址属于网络部分,而 0 则表示主机部分。通过将网络目标和网络掩码进行逻辑“AND”操作,可以得到网络地址。路由决策部分基于网络地址来确定。
网关 (Gateway):
网关是数据包在前往其最终目标时可能需要经过的中间跳点或下一个跃点。对于本地路由,网关可能是 0.0.0.0,表示没有中间跳点。当数据包的目标地址不在本地网络上时,它需要被转发到一个网关或下一跳路由器,然后由那个设备进一步处理。
接口 (Interface):
这是数据包从计算机或路由器发送出去的物理或逻辑接口。对于个人电脑,这通常是与网络连接的网络适配器的 IP 地址。根据路由表决策,数据包会通过特定的接口发送出去。这确保了数据包通过正确的网络连接或适配器出去。
跃点数 (Metric):
跃点数或度量值是决定路由优先级的数字。较低的数字通常表示优先级较高的路由。如果路由表中有多条到达相同目的地的路由,度量值或跃点数决定了哪条路由被选择。这是一个决定路由选择的优先级标准。