计算机网络实验报告

计算机网络实验报告

  • 引言

    作为一名CS学生,能够灵活运用我们所学的知识是重中之重。当我们学习一门新知识的时候,如果不进行一定的实验,那么是不可能对这门技术有着深入的了解和认识的,更遑论灵活运用了。
    所以,对于计算机网络这门学科,我们接下来将分为三个部分进行实验,并记录实验的过程、结果和心得体会。
    另附:本次实验所选择使用的命令行工具为Cmder、抓包和协议分析软件为Wireshark、网络模拟软件为Cisco Packet Tracer



1.验证性实验

本部分共有 8 个实验,实验 1~7 使用Cmder或者powershell在命令行窗口完成,实验 8 使用浏览器完成。

1.1.ipconfig

ipconfig是微软操作系统的计算机上用来控制网络连接的一个命令行工具。它的主要用来显示当前网络连接的配置信息(/all参数)

实作一:

使用ipconfig/all查看自己计算机的网络配置,尽可能明白每行的意思,特别注意IP地址、子网掩码Subnet Mask、网关Gateway

  • Cmder中使用ipconfig/all命令
    在这里插入图片描述

  • 查看并理解每一行意思,特别注意IP地址、子网掩码Subnet Mask、网关Gateway
    在这里插入图片描述

我们清楚地看到,本机的IPv4地址为192.168.43.140网关192.168.43.1,子网掩码255.255.255.0

实作二:

使用ipconfig/all查看旁边计算机的网络配置,看看有什么异同?

  • 这是通过ipconfig查看到的旁边电脑的网络配置
    在这里插入图片描述

我们可以很显然的看到,对于这两台挨在一起的电脑,他们的IP地址、MAC地址、网关地址都是不一样的,而子网掩码一样

问:你的计算机和旁边的计算机是否处于同一子网,为什么?

答:两台计算机不处于同一子网;由于这两台计算机因为接入各自移动热点,IP不相同,虽然两台电脑的子网掩码都是255.255.255.0,但是通过IP地址与子网掩码进行与运算我们得到的分别是192.168.43.0192.168.92.0,所以我们可以判断两台计算机并不处于同一子网

1.2.ping

PING(Packet Internet Groper),因特网包探索器,用于测试网络连接量的程序 。PING是工作在 TCP/IP 网络体系结构中应用层的一个服务命令, 主要是向特定的目的主机发送 ICMP(Internet Control Message Protocol 因特网报文控制协议)Echo 请求报文,测试目的站是否可达及了解其有关状态。

实作一:

要测试到某计算机如 重庆交通大学 Web 服务器的连通性,可以使用ping www.cqjtu.edu.cn命令,也可直接使用 IP 地址。请掌握使用该命令后屏幕显示的反馈回来信息的意思,如:TTL、时间等。

  • Cmder中使用ping www.cqjtu.edu.cn命令
    在这里插入图片描述

可以看到是能够成功访问的,其中:

  1. 字节=32:测试中发送的数据包大小是32个字节;
  2. 时间=36ms:与ping的目标对象主机往返一次所用的时间等于36毫秒;
  • 尝试通过pingIP地址的方式访问自身主机
    在这里插入图片描述

可以看到是能够成功访问的,其中:

  1. 字节=32:测试中发送的数据包大小是32个字节;
  2. 时间=1ms:与ping的目标对象主机往返一次所用的时间等于1毫秒;
  3. TTL=64:当前测试使用的TTL(Time to Live存活时间)值为64
实作二:

使用ping/?命令了解该命令的各种选项并实际使用。

  • 使用ping/?命令
    在这里插入图片描述
  • 实际应用:
    • 使用ping -t命令,指定ping继续向目标发送回显请求消息,直到中断(CTRL+C)
      在这里插入图片描述
    • 使用ping -a命令,指定在目标IP地址上执行的反向名称解析。
      在这里插入图片描述
    • 使用ping -l size命令,指定回显请求消息中的数据字段的长度。
      在这里插入图片描述
  • 问一:假设你不能 ping 通某计算机或 IP,但你确定该计算机和你之间的网络是连通的,那么可能的原因是什么?该如何处理能保证 ping 通?
  • 答一:采用由近及远的网络连通性测试来确定问题所在。 简单的举个例子,当前我的计算机的IP地址为192.168.43.140,而旁边计算机的IP地址为192.168.92.132,网关IP为192.168.92.151,那么:ping 127.0.0.1,测试自己计算机的状态,若成功,则说明本机网络软硬件工作正常,否则说明问题出现在本机,需检查本机TCP/IP配置即网卡状态等;否则ping 192.168.43.140,若成功,说明本子网内部工作正常,否则问题出现在本机网络出口到交换机之间,需检查本机网卡到交换机的连线等;然后ping 192.168.1.1,测试到网关的连通性,若成功,说明本子网出口工作正常,否则问题出现在网关,需报告给网管;最后ping 14.215.177.39,测试到百度的连通性,若成功则没有问题,否则问题出现在网关以外,自己无法解决。
  • 问二:假设ping 14.215.177.39没有问题,但ping百度的域名 www.baidu.com不行,那么可能的原因是什么?如何进行验证和解决?
  • 答二:可能是DNS设置错误。由于计算机只识别IP地址,ping域名需要通过域名解析将域名转换成IP地址,而域名解析需要通过DNS进行,若DNS设置错误,可能导致域名解析不成功,进而无法ping通百度的域名。可通过清空DNS缓存或联系运营商解决
1.3.tracert

TRACERT (Trace Route 的组合缩写),也称为路由追踪,该命令行程序可用于跟踪 Internet 协议 (IP) 数据包传送到目标地址时经过的路径。

实作一:

要了解到某计算机如 www.baidu.com 中间经过了哪些节点(路由器)及其它状态,可使用 tracert www.baidu.com 命令,查看反馈的信息,了解节点的个数。可通过网站 http://ip.cn 查看这些节点位于何处,是哪个公司的,大致清楚本机到百度服务器之间的路径。

  • 使用 tracert www.baidu.com 命令
    在这里插入图片描述
  • 顺序展示各节点
    在这里插入图片描述
    • 221.5.253.25
      在这里插入图片描述

    • 221.5.251.49
      在这里插入图片描述

    • 219.158.12.97
      在这里插入图片描述

    • 219.158.97.106
      在这里插入图片描述

    • 153.3.228.78
      在这里插入图片描述

    • 153.3.226.10
      在这里插入图片描述

    • 182.61.216.0
      在这里插入图片描述

    • 112.80.248.76
      在这里插入图片描述

实作二:

ping.pe这个网站可以探测从全球主要的 ISP 到某站点如 https://qige.io 的线路状态,当然也包括各线路到该主机的路由情况。请使用浏览器访问 http://ping.pe/qige.io 进行了解。

  • 问一:tracert能告诉我们路径上的节点以及大致的延迟等信息,那么它背后的原理是什么?
  • 答一:通过向目标地址发送不同IP存活时间值的“Internet控制消息协议(ICMP)”回应数据包,tracer诊断程序确定到目标地址所经过的路由。 要求路径上的每个路由器在转发数据包之前至少将数据包上的TTL递减1.数据包上的TTL减为0时,路由器应该将“ICMP已超时”的消息发回源系统。tracert先发送TTL为1的回应数据包,并在随后的每次发送过程将TTL递减1,直到目标响应或TTL达到最大值,从而确定路由。通过检查中间路由器发回的“ICMP已超时”的消息确定路由。某些路由器不经询问直接丢弃TTL过期的数据包,这在tracert使用程序中看不到。
  • 问二:在以上两个实作中,无论是访问百度还是棋歌教学网,路径中的第一条都是相同的,甚至似乎前几个节点都是相同的,你的解释是什么?
  • 答二:我认为,不管我们的目的地址是哪里,只要是从我们本机发出去的数据包,就一定会到达同一个交换机,所以路径中的第一条都是相同的。前几个节点都相同可能是因为数据包要出去需要经过网关,进而才能通过不同的子网到达不同的目的地址,而从本机过网关的路径都大致相同,所以前几个节点都是相同的。
  • 问三:在追踪过程中,你可能会看到路径中某些节点显示为*号,这是发生了什么?
  • 答三:该节点等待超时
1.4.ARP

ARP(Address Resolution Protocol)即地址解析协议,是用于根据给定网络层地址即 IP 地址,查找并得到其对应的数据链路层地址即 MAC地址的协议。 ARP 协议定义在 1982 年的 RFC 826。

实作一:

运行 arp -a 命令查看当前的 arp 缓存, 请留意缓存了些什么

  • 运行 arp -a 命令
    在这里插入图片描述
实作二:

请使用 arp /? 命令了解该命令的各种选项。

  • 使用 arp /? 命令
    在这里插入图片描述
实作三:

一般而言,arp 缓存里常常会有网关的缓存,并且是动态类型的。

假设当前网关的 IP 地址是 192.168.0.1,MAC 地址是 5c-d9-98-f1-89-64,请使用 arp -s 192.168.0.1 5c-d9-98-f1-89-64 命令设置其为静态类型的。

  • 使用 arp -s 192.168.0.1 5c-d9-98-f1-89-64 命令
    在这里插入图片描述
  • 问:在实作三中,为何缓存中常常有网关的信息?我们将网关或其他计算机的arp信息设置为静态有什么优缺点?
  • 答:缓存中常有网关信息是因为缓存本身记录了用户访问过的pc网卡mac物理地址。我们将网关或其他计算机的arp信息设置为静态的优点有:便于以固定的IP地址或IP地址分组产生的流量为依据管理,可以避免用户忘记密码而进行的繁琐事务流程;缺点有:合法用户分配的地址可能被非法盗用,不仅对网络的正常使用造成影响,同时由于被盗用的地址往往具有较高的权限,因而也容易给合法用户造成损失和潜在的安全隐患。
1.5.DHCP

DHCP(Dynamic Host Configuration Protocol)即动态主机配置协议,是一个用于 IP 网络的网络协议,位于 OSI 模型的应用层,使用 UDP 协议工作,主要有两个用途:

  • 用于内部网或网络服务供应商自动分配 IP 地址给用户
  • 用于内部网管理员对所有电脑作中央管理

简单的说,DHCP 可以让计算机自动获取/释放网络配置。

实作一:

一般地,我们自动获取的网络配置信息包括:IP 地址、子网掩码、网关 IP 以及 DNS 服务器 IP 等。使用 ipconfig/release 命令释放自动获取的网络配置,并用 ipconfig/renew 命令重新获取,了解 DHCP 工作过程和原理。

  • 使用 ipconfig/release 命令
    在这里插入图片描述
  • 使用 ipconfig/renew 命令
    在这里插入图片描述
  • 问:在Windows系统下,如果由于某种原因计算机不能获取 DHCP 服务器的配置数据,那么Windows将会根据某种算法自动配置为 169.254.x.x 这样的 IP 地址。显然,这样的 IP 以及相关的配置信息是不能让我们真正接入 Internet 的,为什么?既然不能接入 Internet,那么Winodws系统采用这样的方案有什么意义?
  • 答:因为自动配置的IP地址和信息只是短暂性的解决计算机不能获取 DHCP 服务器的配置数据的问题,要真正的接入Internet还是得本身计算机的正确IP地址。意义是假如某天因DHCP服务器问题从而不能获得网络配置,我们也可以通过查看旁边的计算机的配置信息来手动进行网络配置,从而使该计算机能够接入Internet。
1.6.netstat

无论是使用 TCP 还是 UDP,任何一个网络服务都与特定的端口(Port Number)关联在一起。因此,每个端口都对应于某个通信协议/服务。

netstat(Network Statistics)是在内核中访问网络连接状态及其相关信息的命令行程序,可以显示路由表、实际的网络连接和网络接口设备的状态信息,以及与 IP、TCP、UDP 和 ICMP 协议相关的统计数据,一般用于检验本机各端口的网络服务运行状况。

实作一:

Windows 系统将一些常用的端口与服务记录在 C:\WINDOWS\system32\drivers\etc\services 文件中,请查看该文件了解常用的端口号分配。

  • 前往C:\WINDOWS\system32\drivers\etc\services 文件中查看
    在这里插入图片描述
实作二:

使用 netstat -an 命令,查看计算机当前的网络连接状况。更多的 netstat 命令选项,可参考上面链接 45

  • 使用 netstat -an 命令
    在这里插入图片描述
    在这里插入图片描述
1.7.DNS

DNS(Domain Name System)即域名系统,是互联网的一项服务。它作为将域名和 IP 地址相互映射的一个分布式数据库,能够使人更方便地访问互联网。DNS 使用 TCP 和 UDP 的 53 号端口。

实作一:

Windows 系统将一些固定的/静态的 DNS 信息记录在 C:\WINDOWS\system32\drivers\etc\hosts 文件中,如我们常用的 localhost 就对应 127.0.0.1 。请查看该文件看看有什么记录在该文件中。

  • 前往C:\WINDOWS\system32\drivers\etc\hosts 文件中查看
    在这里插入图片描述
实作二:

解析过的 DNS 记录将会被缓存,以利于加快解析速度。请使用 ipconfig /displaydns 命令查看。我们也可以使用 ipconfig /flushdns 命令来清除所有的 DNS 缓存。

  • 使用 ipconfig /displaydns 命令
    在这里插入图片描述

  • 使用 ipconfig /flushdns 命令清除所有的 DNS 缓存
    在这里插入图片描述

实作三:

使用 nslookup qige.io 命令,将使用默认的 DNS 服务器查询该域名。当然你也可以指定使用 CloudFlare(1.1.1.1)Google(8.8.8.8) 的全球 DNS 服务器来解析,如:nslookup qige.io 8.8.8.8,当然,由于你懂的原因,这不一定会得到正确的答案。

  • 使用 nslookup qige.io 命令在这里插入图片描述
1.8.Cache

cache 即缓存,是 IT 领域一个重要的技术。我们此处提到的 cache 主要是浏览器缓存。

浏览器缓存是根据 HTTP 报文的缓存标识进行的,是性能优化中简单高效的一种优化方式了。一个优秀的缓存策略可以缩短网页请求资源的距离,减少延迟,并且由于缓存文件可以重复利用,还可以减少带宽,降低网络负荷。

实作一:

打开 ChromeFirefox 浏览器,访问 https://qige.io ,接下来敲 F12 键 或 Ctrl + Shift + I 组合键打开开发者工具,选择 Network 面板后刷新页面,你会在开发者工具底部看到加载该页面花费的时间。请进一步查看哪些文件被 cache了,哪些没有。

  • 打开 ChromeFirefox 浏览器,访问 https://qige.io ,接下来敲 F12
    在这里插入图片描述
    在这里插入图片描述

经过对比可以发现一些图片,js文件和txt文件被缓存了,而一些CSS文件没有

实作二:

接下来仍在 Network 面板,选择 Disable cache 选项框,表明当前不使用 cache,页面数据全部来自于 Internet,刷新页面,再次在开发者工具底部查看加载该页面花费的时间。你可比对与有 cache 时的加载速度差异。

  • 不使用 cache ,刷新页面
    在这里插入图片描述
1.9.第一部分实验总结

本次验证性实验主要是使用cmder在命令行窗口中通过命令行的形式对我们平常所常用到的几个命令进行了尝试和运用,这也使得我对于计算机网络各个命令以及他们的作用有了更进一步的认识和理解,在体会了每一个命令的实际应用后让我感觉自己还是有很多东西需要继续学习的。而最后对于cache的比较也让我对cache有了进一步的认识。总的而言本次实验是受益匪浅的。


2.Wireshark实验

本部分按照数据链路层、网络层、传输层以及应用层进行分类,共有 10 个实验。需要使用协议分析软件 Wireshark 进行。

2.1.数据链路层
实作一:熟悉 Ethernet 帧结构

使用 Wireshark 任意进行抓包,熟悉 Ethernet 帧的结构,如:目的 MAC、源 MAC、类型、字段等。

  • 使用 Wireshark 任意进行抓包,分析帧结构
    在这里插入图片描述
  • 问:你会发现 Wireshark 展现给我们的帧中没有校验字段,请了解一下原因。
  • 答:Wireshark 抓包前,在物理层网卡已经去掉了一些之前几层加的东西,比如前导同步码,FCS等等,之后利用校验码CRC校验,正确时才会进行下一步操作,因此,抓包软件抓到的是去掉前导同步码、FCS之外的数据,没有校验字段。
实作二:了解子网内/外通信时的 MAC 地址
  1. ping 你旁边的计算机(同一子网),同时用 Wireshark 抓这些包(可使用 icmp 关键字进行过滤以利于分析),记录一下发出帧的目的 MAC 地址以及返回帧的源 MAC 地址是多少?这个 MAC 地址是谁的?

    • ping同一子网内的ip:192.168.43.98
      在这里插入图片描述
  2. 然后 ping qige.io (或者本子网外的主机都可以),同时用 Wireshark 抓这些包(可 icmp 过滤),记录一下发出帧的目的 MAC 地址以及返回帧的源 MAC 地址是多少?这个 MAC 地址是谁的?

    • 使用 ping qige.io ,同时用 Wireshark 抓包
      在这里插入图片描述

    • 查看目的mac和源mac
      在这里插入图片描述

  3. 再次 ping www.cqjtu.edu.cn (或者本子网外的主机都可以),同时用 Wireshark 抓这些包(可 icmp 过滤),记录一下发出帧的目的 MAC 地址以及返回帧的源 MAC 地址又是多少?这个 MAC 地址又是谁的?

    • 使用 ping qige.io ,同时用 Wireshark 抓包
      在这里插入图片描述
    • 查看目的mac和源mac
      在这里插入图片描述
  • 问:
    1. 访问本子网的计算机时,目的 MAC 就是该主机的
    2. 访问非本子网的计算机时,目的 MAC 是网关的
    请问原因是什么?
  • 答:因为访问本子网的计算机时,是两台主机在进行通信,所以MAC是目标主机的。如果要访问非本子网的计算机时,数据首先要到达本子网的网关,再通过网关进行传输,所以目的MAC是网关的。
实作三:掌握 ARP 解析过程
  1. 为防止干扰,先使用 arp -d * 命令清空 arp 缓存

在这里插入图片描述

  1. ping 你旁边的计算机(同一子网),同时用 Wireshark 抓这些包(可 arp 过滤),查看 ARP 请求的格式以及请求的内容,注意观察该请求的目的 MAC 地址是什么。再查看一下该请求的回应,注意观察该回应的源 MAC 和目的 MAC 地址是什么。

在这里插入图片描述
在这里插入图片描述

  1. 再次使用 arp -d * 命令清空 arp 缓存
    在这里插入图片描述

  2. 然后 ping qige.io (或者本子网外的主机都可以),同时用 Wireshark 抓这些包(可 arp 过滤)。查看这次 ARP 请求的是什么,注意观察该请求是谁在回应。
    在这里插入图片描述
    在这里插入图片描述

  • 问:
    1. ARP 请求都是使用广播方式发送的
    2. 如果访问的是本子网的 IP,那么 ARP 解析将直接得到该 IP 对应的 MAC;如果访问的非本子 网的 IP, 那么 ARP 解析将得到网关的 MAC。
    请问原因是什么?
  • 答:因为当没有配置缺省网关的计算机要和其他网络中的计算机实现通信时,网关收到源计算机的ARP请求会使用自己的MAC地址与目标计算机的IP地址对源计算机进行应答,访问非子网IP时是通过路由器访问的,路由器再把发出去,目标IP收到请求后,再通过路由器端口IP返回去,那么ARP解析将会得到网关的MAC。
2.2.网络层
实作一:熟悉IP包结构

使用 Wireshark 任意进行抓包(可用 ip 过滤),熟悉 IP 包的结构,如:版本、头部长度、总长度、TTL、协议类型等字段
在这里插入图片描述

  • 问:为提高效率,我们应该让 IP 的头部尽可能的精简。但在如此珍贵的 IP 头部你会发现既有头部长度字段,也有总长度字段。请问为什么?
  • 答:这样能帮助传输时的识别IP总长度,提高传输效率。
实作二:IP 包的分段与重组

根据规定,一个 IP 包最大可以有 64K 字节。但由于 Ethernet 帧的限制,当 IP 包的数据超过 1500 字节时就会被发送方的数据链路层分段,然后在接收方的网络层重组。

缺省的,ping 命令只会向对方发送 32 个字节的数据。我们可以使用 ping 202.202.240.16 -l 2000 命令指定要发送的数据长度。此时使用 Wireshark 抓包(用 ip.addr == 202.202.240.16 进行过滤),了解 IP 包如何进行分段,如:分段标志、偏移量以及每个包的大小等

  • 使用 ping 202.202.240.16 -l 2000 命令指定要发送的数据长度
    在这里插入图片描述
  • 使用 Wireshark 抓包(用 ip.addr == 202.202.240.16 进行过滤)
    在这里插入图片描述
  • 问:分段与重组是一个耗费资源的操作,特别是当分段由传送路径上的节点即路由器来完成的时候,所以 IPv6 已经不允许分段了。那么 IPv6 中,如果路由器遇到了一个大数据包该怎么办?
  • 答:转发到支持该数据传输的路由上或者丢弃该数据包。
实作三:考察 TTL 事件

在 IP 包头中有一个 TTL 字段用来限定该包可以在 Internet上传输多少跳(hops),一般该值设置为 64、128等。

在验证性实验部分我们使用了 tracert 命令进行路由追踪。其原理是主动设置 IP 包的 TTL 值,从 1 开始逐渐增加,直至到达最终目的主机。

请使用 tracert www.baidu.com 命令进行追踪,此时使用 Wireshark 抓包(用 icmp 过滤),分析每个发送包的 TTL 是如何进行改变的,从而理解路由追踪原理。

  • 使用 tracert www.baidu.com 命令进行追踪
    在这里插入图片描述
  • 使用 Wireshark 抓包(用 icmp 过滤)
    在这里插入图片描述
  • 此时TTL=1

此时TTL=2

  • 此时TTL=2
    在这里插入图片描述
  • 此时TTL=3

通过对比发现,TTL由1开始,每通过一个路由,则增加1。

  • 问:在 IPv4 中,TTL 虽然定义为生命期即 Time To Live,但现实中我们都以跳数/节点数进行设置。如果你收到一个包,其 TTL 的值为 50,那么可以推断这个包从源点到你之间有多少跳?
  • 答:TTL一般是2的整数次幂,如果TTL为50,则经过64-50+1=15跳(64是离50最近的整数次幂)
2.3.传输层
实作一:熟悉 TCP 和 UDP 段结构
  1. 用 Wireshark 任意抓包(可用 tcp 过滤),熟悉 TCP 段的结构,如:源端口、目的端口、序列号、确认号、各种标志位等字段。
    在这里插入图片描述

  2. 用 Wireshark 任意抓包(可用 udp 过滤),熟悉 UDP 段的结构,如:源端口、目的端口、长度等。

在这里插入图片描述

  • 问:由上大家可以看到 UDP 的头部比 TCP 简单得多,但两者都有源和目的端口号。请问源和目的端口号用来干什么?
  • 答:端口代表着接收与收发端不同的应用程序,源端口与目的端口相连,实现两个程序之间的通信。
2.4.应用层
实作一:了解 DNS 解析
  1. 先使用ipconfig /flushdns命令清除缓存,再使用 nslookup qige.io 命令进行解析,同时用 Wireshark 任意抓包(可用 dns 过滤)。

在这里插入图片描述

  1. 你应该可以看到当前计算机使用 UDP,向默认的 DNS 服务器的 53 号端口发出了查询请求,而 DNS 服务器的 53 号端口返回了结果。
    在这里插入图片描述

  2. 可了解一下 DNS 查询和应答的相关字段的含义
    在这里插入图片描述

2.5.第二部分实验总结
本次实验对数据链路层、网络层、传输层和应用层都进行了一定程度上的实验,这些实验让我对wireshark这个学习计算机网络的“神器”有了更进一步的认识。与此同时我也通过本次实验更加熟悉了关于ARP的解析过程、IP包的解析以及TCP三次握手连接和四次回收释放等等;而关于应用层的实验遇到了些许的小挫折导致HTTP的请求与回复这部分没有完成好,我会总结自己的不足并尝试改进。

3.CiscoPacketTracer 实验

本部分实验需使用Cisco Packet Tracer软件完成。

为更好完成本次实验,请先了解 VLSM、CIDR、RIP、OSPF、VLAN、STP、NAT 及 DHCP 等概念,以能够进行网络规划和配置。

3.1.直接连接两台 PC 构建 LAN

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

  • ping通
3.2.用交换机构建 LAN
  • 构建拓扑结构
    在这里插入图片描述

  • 各PC的基本网络配置如下表:
    在这里插入图片描述

  • 问一:PC0 能否ping通 PC1、PC2、PC3 ?
  • 答一:如图:
    在这里插入图片描述
    PC0可以ping通PC1,但无法ping通PC2、PC3。因为PC0和PC1在同一子网下,PC2和PC3在另一个子网下。同一子网下主机可以相互ping通,但两不同子网的主机无法ping通。
  • 问二:PC3 能否ping通 PC0、PC1、PC2 ?为什么?
  • 答二:如图:
    在这里插入图片描述
    PC3可以ping通PC2,但无法ping通PC0、PC1,道理和上面一样。
  • 问三:将 4 台 PC 的掩码都改为255.255.0.0,它们相互能ping通吗?为什么?
  • 答三:如图:
    在这里插入图片描述
    修改后,它们可以相互ping通。因为子网掩码改为255.255.0.0后,4台主机都属于192.168.0.0/16这一子网,同一子网下任意两台主机都可以ping通。
  • 问四:使用二层交换机连接的网络需要配置网关吗?为什么?
  • 答四:需要。如果要对二层交换机做telnet、ssh等管理就必须要设置网关。这样跨网段访问该二层交换机的时候,交换机才会知道如何转发数据包(在二层交换机中,配置网关尤为重要,因为其与相连的自治系统可以向核心系统通告可达信息)。
  • 试一试:集线器 Hub 是工作在物理层的多接口设备,它与交换机的区别是什么?请在 CPT 软件中用 Hub 构建网络进行实际验证。
  • 通过simulation验证:
    集线器Hub相当于是把端口连接起来的设备,工作在物理层,且通过广播方式转发数据,而交换机工作在数据链路层(有的多层交换机工作在网络层),端口收到帧之后,要查询地址列表,若同端口就丢弃,不同端口就转发,找不到则广播。
3.3.交换机接口地址列表

二层交换机是一种即插即用的多接口设备,它对于收到的帧有 3 种处理方式:广播、转发和丢弃(请弄清楚何时进行何种操作)。那么,要转发成功,则交换机中必须要有接口地址列表即 MAC 表,该表是交换机通过学习自动得到的!

仍然构建上图的拓扑结构,并配置各计算机的 IP 在同一个一个子网,使用工具栏中的放大镜点击某交换机如左边的 Switch3,选择MAC Table,可以看到最初交换机的 MAC 表是空的,也即它不知道该怎样转发帧(那么它将如何处理?),用 PC0 访问(ping)PC1 后,再查看该交换机的 MAC 表,现在有相应的记录,请思考如何得来。随着网络通信的增加,各交换机都将生成自己完整的 MAC 表,此时交换机的交换速度就是最快的!

  • 按要求构建拓扑结构,且配置计算机的IP在192.168.0.0/24这个网络中,四台PC的IP地址分别是192.168.0.2,192.168.0.3,192.168.0.4和192.168.0.5
    在这里插入图片描述

  • 查看初始MAC表为空,在使用一次ping请求后再次查看MAC表
    在这里插入图片描述
    此时MAC表会更新获得相应记录

3.4.生成树协议

交换机在目的地址未知或接收到广播帧时是要进行广播的。如果交换机之间存在回路/环路,那么就会产生广播循环风暴,从而严重影响网络性能。

而交换机中运行的 STP 协议能避免交换机之间发生广播循环风暴。

只使用交换机,构建如下拓扑:
在这里插入图片描述
这是初始时的状态。我们可以看到交换机之间有回路,这会造成广播帧循环传送即形成广播风暴,严重影响网络性能。

随后,交换机将自动通过生成树协议(STP)对多余的线路进行自动阻塞(Blocking),以形成一棵以 Switch4 为根(具体哪个是根交换机有相关的策略)的具有唯一路径树即生成树!

经过一段时间,随着 STP 协议成功构建了生成树后,Switch5 的两个接口当前物理上是连接的,但逻辑上是不通的,处于Blocking状态(桔色)如下图所示:
在这里插入图片描述
在网络运行期间,假设某个时候 Switch4 与 Switch5 之间的物理连接出现问题(将 Switch4 与 Switch5 的连线剪掉),则该生成树将自动发生变化。Switch5 上方先前 Blocking 的那个接口现在活动了(绿色),但下方那个接口仍处于 Blocking 状态(桔色)。如下图所示:
在这里插入图片描述

  • 注意:交换机的 STP 协议即生成树协议始终自动保证交换机之间不会出现回路,从而形成广播风暴。

在这里插入图片描述


4.总结

本次计算机网络实验的完成让我感觉收获颇丰。本次实验总共分为了三个部分:分别是验证性实验 、Wireshark 实验以及Cisco Packet Tracer 实验。完成进度为:验证性实验和Wireshark实验基本全部完成,Cisco Packet Tracer 实验完成了前面的一小部分(有点用不来CPT)。

本次实验报告其实从老师说要开始做实验的时候就开始写了,一开始是吃完午饭睡午觉之前写一点啊或者是闲暇之际想起来又摸出来写一点,就这样前前后后陆陆续续可能写了有一个多月吧,不过我感觉我还是对于计算机网络有了比之前更加深刻的认识的。作业的完成过程也不像我想象中那么一帆风顺,中间多多少少还是遇到了一点点小坎坷的,不过在通过查阅资料以及跟同学们沟通过后很多都得到了解决。不过CPT实验做起来就稍微有点吃力了,老师上课的时候也用过CPT,当时感觉好像还可以,结果过了好一阵子轮到自己上手又不是很会用了,所以CPT实验只完成了部分。

总的来说,我还是从本次实验中学到了很多的。在此特别感谢王勇老师的教导,是王勇老师的谆谆教诲使我能够更进一步。

特别鸣谢!

参考网址:棋哥教学网
学生:何家豪

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值