网络层协议

实验目的与要求

1. 掌握 IP 协议、ICMP 协议以及常用的 ICMP 测试工具。

2. 理解路由协议的基本原理,掌握链路状态路由算法、距离向量路由算法

实验原理

网络层与 IP 协议

网络层核心功能是转发(forwarding,将分组从路由器的输入端口转移到合适的输出端口) 与路由(routing,确定分组从源到目的经过的路径)。 IP 分组的格式如图 1 所示。

版本号字段占 4 位;首部长度字段占 4 位;服务类型(TOS)字段占 8 位;总长度字段占 16 位;生存时间(TTL)字段占 8 位(路由器转发一次分组,TTL 减 1; TTL=0,丢弃该 IP 分 组); 协议字段占 8 位; 首部校验和字段占 16 位(对 IP 分组首部的差错检测);源 IP 地址、 目的 IP 地址字段各占 32 位。

IP 分片:网络链路存在 MTU(最大传输单元)—链路层帧可封装数据的上限,将 IP 分组 向较小 MTU 链路转发时,进行“分片”(fragmented):1 个 IP 分组分为多片 IP 分组;IP 分片 到达目的主机后进行“重组”(reassembled);IP 首部的相关字段用于标识分片以及确定分片的 相对顺序,包括总长度、标识、标志位和片偏移。

标志位字段占 3 位:

DF(Don't Fragment)、MF(More Fragment)

DF =1:禁止分片;DF =0:允许分片;MF =1:非最后一片;MF =0:最后一片。

片偏移字段占 13 位:一个 IP 分组分片封装原 IP 分组数据的相对偏移量,片偏移字段 以 8 字节为单位。

IP 编址(addressing):

32 比特(IPv4)编号,用以标识主机、路由器的接口。包含网络号(NetID) – 高位比特,用 以标志网络,主机号(HostID) – 低位比特,用以标志主机。

IP 子网,IP 地址具有相同网络号的设备接口,不跨越路由器(第三及以上层网络设备) 可以彼此物理联通的接口。其中第一个 IP 编号为网络号,最后一个为广播号,或者广播地 址。

Prefix 和 subnet mask,NetID、SubID 位全取 1,HostID 位全取 0 的 IP address 称为 subnetmask 子网掩码,全部为 1 的 个数称为 prefix,前缀。

子网地址+子网掩码à准确确定子网大小。每一个 IP 地址都应该详细标明子网掩码或者 前缀,如 10.10.10.10 255.255.255.0 或者 10.10.10.10/24 对于数据报网络路由器转发路由非 常重要。

ICMP

互联网控制报文协议 ICMP (Internet Control Message Protocol)支持主机或路由器进行差 错(或异常)报告以及网络探询。网络探询报文(2 组)主要含回声(Echo)请求与应答报文(Reply) 与时间戳请求与应答报文。

ICMP 协议中较为常用的工具 Ping 和 Tracer route。Ping 的原理是通过向目的主机发送 ICMP Echo 请求报文,目的主机收到之后会发送 Echo Reply 回答报文,Ping 根据时间和成 功响应的次数估算出数据包往返时间以及丢包率;Traceroute 工具用来跟踪一个分组从源点 到终点的路径,有 2 种实现方案:基于 UDP 实现和基于 ICMP 实现。

动态路由算法

路由算法(协议)确定去往目的网络的最佳路径,转发表(路由表)确定在本路由器如何转 发分组。主要分为静态路由和动态路由。静态路由手工配置、路由更新慢、优先级高;动态 路由的路由更新快、能够定期更新并及时响应链路费用或网络拓扑变化。

动态路由算法典型的有两种:基于全局信息(所有路由器掌握完整的网络拓扑和链路费 用信息)的链路状态(LS)路由算法,基于分散信息(路由器只掌握物理相连的邻居以及链路费 用,邻居间信息交换、运算是迭代过程)的距离向量(DV)路由算法。

Dijkstra 算法可以实现链路状态(LS)路由算法,Bellman-Ford 算法可以实现距离向量 (DV)路由算法。

实验设备与软件环境

1. 安装有 Wireshark 的客户端;

2. 能够提供 Ping 服务的主机;

3. Packet Tracer、ENSP、GNS3. EVE-NG 等任一一个网络虚拟仿真平台。

实验过程与结果

  1. ICMP 协议中的工具 Ping Tracer route 测试。

Tracer route 在 Linux 及路由器交换机等设备使用 Traceroute,在 Windows 一般使用 tracert。 使用 Tracert 探测百度的域名:

验证了从源地址到目的地址的转发表,经过 13 跳到达,路途经过的节点查询 IP 所在 地,即可得到路径。

使用 Ping 探测该域名,Windows 系统中默认发送 4 个 32bytes 的 ECHO,Linux 系统默 认不会自动终止,需要按 ctrl+d 终止。Ping 不能完全确保目标主机是否可访问,有些服务器 为了防止通过 Ping 探测到,通过防火墙设置了禁止 Ping 或者在内核参数中禁止 Ping。

使用 Ping 和 Tracer route,以及 Nslookup 并不能完全保证得到确切的网站对应的 IP 地 址,因为很多 WEB 使用了反向代理、CDN、负载均衡等技术。

IP 分组格式与 IP 分组分片

IP 分组分片的计算和验证思路:应该先根据理论知识计算分片,再验证。IP 分片时暂 不考虑传输层分段,可以尝试用编写一个基于 IP 的 Socket 也就是原始套接字(RAW),发送 一个至少大于 1480*2(比如 5200)bytes 的分组,抓取分组进行验证,也可以使用 ICMP 的经 典应用 Ping 命令,发送一个大于 1480*2(比如 5200)bytes 的报文到某 IP 地址,抓取分组进 行验证。 Ping 的命令为格式为: ping [-t] [-a] [-n count] [-l length] [-f] [-i ttl] [-v tos] [-r count] [-s count] [-j computer-list] | [- k computer-list] [-w timeout] destination-list

-l 可以控制发送字节多少,-n 控制次数。

计算 IP 分片 Ceiling((5200+8)/1480)=4 DF=0

验证:开启 wireshark 捕捉,在 cmd 输入命令 ping 运行

可以看到 Echo 被分为了 4 个分片,IP 分组格式和分片如图 2 所示,第一个分片的 Offset 0,最后一个分片 Offset 4440,虽然最后一个分片只发送 768bytes 数据。

动态路由协议

规划一个至少由三台路由器连接的三个局域网而形成的网络,为网络中的主机、路由 器分配 IP 地址。在虚拟仿真平台下,完成网络的搭建、直连网络的配置、动态路由协议的 启用、网络连通性的检测等功能。步骤如下:

  1. 规划网络

规划一个类似图 3 所示的网络。

  1. 安装虚拟仿真平台

以 Cisco 的 Packet Tracer 为例。下载 Packet Tracer 并完成安装,运行 Packet Tracer,并 完成登录(首次登录需要先注册账号)。

(3) 在 Packet Tracer 下搭建规划好的网络,如图 4 所示。

路由器选 2911,交换机选 2960,计算机选 PC 台式机或笔记本电脑。

所有的连接均使用以太网络接口(百兆或千兆)。电脑上只有一个以太网接口,称为 Fa0;交换机上有多个百兆和千兆以太网接口,分别称为 Fa0/1、Fa0/2……, G0/1、G0/2 等;路由器上有三个千兆以太网接口分别称为 G0/0、G0/1 和 G0/2。按规划好的网络拓扑 将网络设备与电脑相连。交换机与路由器连接、路由器之间连接用交叉连接线(虚线),电 脑与交换机(或路由连接)用直连(实线)。

  1. 配置路由器

以下以配置 Router2 为例,Router1 和 Router3 的配置类似,只是连接的网络比 Router2 少了一个。用鼠标选中 Router2,单击后选择菜单中的 CLI 项,如图所示。

这时,进入路由器的命令行状态,可以使用路由器操作系统提供的命令完成配置。配置完 Router2 之后,再依次配置 Router1 和 Router3. 配置如上图所示。

  1. 配置电脑

为电脑配置 IP 地址、子网掩码、默认网关地址。以 PC0 为例。

单击 PC0,进入 PC0 的菜单界面,选择【Config】,如图 6 所示

在 Default Gateway 处输入与该网连接的路由器接口的 IP 地址 192.168.1.1。然后点击 左边的 FastEthernet0。

在中间位置输入本机的 IP 地址和子网掩码 192.168.1.10 和 255.255.255.0。

依次完成其他电脑 IP 地址等信息的配置。

这时从 PC0 的 Desktop 中可进入其系统的命令行界面,可使用 Ping 命令测试连通性。 Ping Router1 的 G0/1 接口(192.168.1.1)和 G0/0 接口(192.168.2.1)都通;但是 Ping Router2 的 G0/0 接口(192.168.2.2)不通。这是因为还没有配置路由(没有启动路由协议)。

  1. 启动路由协议

分别在路由器 Router1、2、3 上启动 OSPF 协议(也可以是其他动态路由协议),这里以 Router2 上的启用过程为例。

三个路由器都启动OSPF 协议之后,各电脑互相 Ping 都能通了,如图所示。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

榴某428

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值