计算机网络——验证性实验

验证性实验

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

一 ipconfig(/all参数)

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

1 实作一

IP地址: IP地址是用来标识每台计算机的身份。
在这里插入图片描述

网关GateWay:指默认网关,可以将处于不同网络频段的两台计算机联系在一起,从而进行通信。
在这里插入图片描述子网掩码subnet mask:用来判断两台计算机的IP地址是否属于同一个网络段的判断。如果两台计算机处于同一个网络字段上,则这两台计算机就可以直接进行通信交流。
在这里插入图片描述

DHCP(Dynamic Host Configuration Protocol):简称动态主机配置协议。它主要是给网络快速自动地分配IP地址。此外,它还可以给设备上配置正确的子网掩码,默认网关和DNS服务器信息。
DNS(Domain Name System,俗称域名系统)由解析器和域名服务器组成,它能匹配可读名称和他们相关的IP地址。

2 实作二

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

当两台电脑处于统一子网里面,这两台电脑的网关和子网掩码都相等,ip地址的前24位都是相等的,也由子网掩码的意义可知,如果两台电脑的子网掩码相等,可以判断两台计算机处于统一子网内。
pc1
在这里插入图片描述
pc2
在这里插入图片描述

✎ 问题

你的计算机和旁边的计算机是否处于同一子网,为什么?
答:处于,因为我们的网关都是同一个网关地址。

二 ping

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

1 实作一

Ping:用于测试网络连接量的程序。ping 是工作在 TCP/IP 网络体系结构中应用层的一个服务命令, 主要是向特定的目的主机发送 ICMP(Internet Control Message Protocol 因特网报文控制协议)Echo 请求报文,测试目的站是否可达及了解其有关状态。
在这里插入图片描述时间:返回字节的延迟;
TTL(time to live):每一个被发送出的IP信息包都有一个TTL域,该域被设置为一个较高的数值。当信息包在网络中被传输时,TTL的域值通过一个路由器时递减1;当TTL 递减到0时,信息包被路由器抛弃。

2 实作二

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

在这里插入图片描述

📬 秘籍
当你的网络出现故障不能访问某计算机如 14.215.177.39 (百度的 IP 地址之一 ) 时,我们一般可采用由近及远的连通性测试来确定问题所在。
1.ping 127.0.0.1 ,测试自己计算机的状态,如果 OK,那么说明本机网络软件硬件工作正常,否则,问题在本机,检查本机 TCP/IP 配置即网卡状态等
2.测试到旁边计算机的连通性,如果OK,那么说明本子网内部工作正常,否则,问题在本机网络出口到交换机之间,检查本机网卡到交换机的连线等。
3.ping 10.160.255.254,测试到网关的连通性,如果 OK,那么说明本子网出口工作正常,否则,问题在网关,这是你无能为力的事情,报告给网管。
4.ping 14.215.177.39,测试到百度的连通性,如果 OK,那就 OK,否则,问题在网关以外,这也是你无能为力的事情。

✎ TroubleShooting

假设在秘籍中进行的网络排查中,ping 百度的 IP 即 ping 14.215.177.39 没问题,但 ping 百度的域名即 ping www.baidu.com 不行,那么可能的原因是什么?
答:能ping通IP,说明目标是存在的,并且是可以访问的;不能ping通域名,说明dns解析失败,不能将域名解析为ip地址。
解决方法:
1、咨询当地dns服务器故障;
2、百度搜索当地dns服务器地址,检查当前dns服务器设置是否正确;
3、可临时设置dns服务器地址为8.8.8.8,该服务器延迟会比较大。

三 Tracert

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

1 实作一

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

通过tracert www.baidu.com 命令从中了解到节点的个数和信息如下:
在这里插入图片描述在这里插入图片描述除了内网看不见以外,这些节点大部分位于重庆和广州,是电信公司的网络。

2 实作二

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

问题一:tracert 能告诉我们路径上的节点以及大致的延迟等信息,那么它背后的原理是什么?

答:通过向目标发送不同IP生存时间 (TTL)
值的“Internet控制消息协议(ICMP)”回应数据包,Tracert诊断程序确定到目标所采取的路由。要求路径上的每个路由器在转发数据包之前至少将数据包上的
TTL 递减1。数据包上的 TTL 减为 0 时,路由器应该将“ICMP 已超时”的消息发回源系统。 Tracert 先发送 TTL 为
1的回应数据包,并在随后的每次发送过程将TTL递增 1,直到目标响应或 TTL 达到最大值,从而确定路由。通过检查中间路由器发回的“ICMP
已超时”的消息确定路由。某些路由器不经询问直接丢弃 TTL 过期的数据包,这在 Tracert 实用程序中看不到。

问题二:在以上两个实作中,如果你留意路径中的节点,你会发现无论是访问百度还是棋歌教学网,路径中的第一跳都是相同的,甚至你应该发现似乎前几个节点都是相同的,你的解释是什么?
答:因为我们电脑网络都是从本机出发通过重庆交通大学的交换机然后进入电信的通信子网上,所以第一跳都是交大的交换机,是相同的。

问题三:在追踪过程中,你可能会看到路径中某些节点显示为 * 号,这是发生了什么?
答:应该是该节点没有收到具体的信息反馈,请求超时,才会出现*号。

四 ARP

地址解析协议,即ARP(Address Resolution Protocol),是根据IP地址获取物理地址(数据链路层地址)的一个TCP/IP协议。

1 实作一

运行 arp -a 命令查看当前的 arp 缓存, 请留意缓存了些什么。
然后 ping 一下你旁边的计算机 IP(注意,需保证该计算机的 IP 没有出现在 arp 缓存中,或者使用 arp -d *
先删除全部缓存),再次查看缓存,你会发现一些改变,请作出解释。

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

当我ping了我的虚拟机后,再使用arp -a命令发现多了一个地址,是动态的,因为同一局域网下的新主机,本机的接口会将新主机的ip和物理地址记录下来,方便下次访问。
在这里插入图片描述

2 实作二

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

在这里插入图片描述

3 实作三

一般而言,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 命令设置其为静态类型的。

在这里插入图片描述

问题1:在实作三中,为何缓存中常常有网关的信息?
因为在对外传输数据的时候,会将经过的网关信息存储在缓存中,方便下次使用。

问题2:我们将网关或其它计算机的 arp 信息设置为静态有什么优缺点?
优点:利于管理,同时将 IP-MAC 绑定可以有效的防治 ARP 欺骗,并且可以免除用户进行身份认证的繁琐操作;
缺点:不利于维护 arp 列表,维护起来麻烦,倘若有人冒充其中一个 IP ,对用户的安全会造成极大的隐患。

五 DHCP

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

  1. 用于内部网或网络服务供应商自动分配 IP 地址给用户
  2. 用于内部网管理员对所有电脑作中央管理,简单的说

DHCP 可以让计算机自动获取/释放网络配置。

1 实作一

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

DHCP的工作过程大概可分为四步:
①客户端发广播寻找DHCP服务器。
②DHCP服务器单播回复客户端Offer。
③客户端广播请求这个ip,发广播一方面是为了请求这个地址,另一个方面也是告诉其他的dhcp服务器自己有地址用了。
④服务器发送ACK包。
在这里插入图片描述使用 ipconfig/release 命令后网络断开连接
使用 ipconfig/renew 命令后网络又重新连接

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

六 netstat

无论是使用 TCP 还是 UDP,任何一个网络服务都与特定的端口(Port Number)关联在一起。因此,每个端口都对应于某个通信协议/服务。
netstat(Network Statistics)是在内核中访问网络连接状态及其相关信息的命令行程序,可以显示路由表、实际的网络连接和网络接口设备的状态信息,以及与 IP、TCP、UDP 和 ICMP 协议相关的统计数据,一般用于检验本机各端口的网络服务运行状况。

1 实作一

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

2 实作二

使用 netstat -an 命令,查看计算机当前的网络连接状况。
在这里插入图片描述

3 实作三

七 DNS

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

1 实作一

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

2 实作二

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

3 实作三

使用 nslookup qige.io 命令,将使用默认的 DNS 服务器查询该域名。当然你也可以指定使用 CloudFlare(1.1.1.1)或 Google(8.8.8.8) 的全球 DNS 服务器来解析。
在这里插入图片描述

📬 秘籍

当我们使用浏览器上网时,或多或少的会看到一些广告。某些网站的广告是非常没有节操的,所以我们一般可以通过安装浏览器插件如
AdGuard、AdBlocker 等来拦截和过滤。

这种方法简单方便有效,不过有一定安全或隐私问题,因为该插件实时知道你访问的 URL。

假设不使用这种第三方的插件,希望自己完全控制,那么就请考虑在我们前面提到的 hosts 文件中添加 DNS
记录。有自愿者时时在维护全球正确的 DNS 记录文件。

上面秘籍中我们提到了使用插件或自己修改 hosts
文件来屏蔽广告,思考一下这种方式为何能过滤广告?如果某些广告拦截失效,那么是什么原因?你应该怎样进行分析从而能够成功屏蔽它?
答:修改hosts文件是指将某个网站重定向到一个地址,使之无法访问达到屏蔽广告的效果。广告拦截失效也许需要物理等待达到屏蔽的效果。

八 Cache

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

1 实作一

打开 Chrome 或 Firefox 浏览器,访问 https://qige.io ,接下来敲 F12 键 或 Ctrl + Shift + I 组合键打开开发者工具,选择 Network 面板后刷新页面,你会在开发者工具底部看到加载该页面花费的时间。请进一步查看哪些文件被 cache了,哪些没有。
在这里插入图片描述加载用了263ms,除了qige.io和 favicon.png,其它的都被缓存了。

2 实作二

接下来仍在 Network 面板,选择 Disable cache 选项框,表明当前不使用 cache,页面数据全部来自于 Internet,刷新页面,再次在开发者工具底部查看加载该页面花费的时间。你可比对与有 cache 时的加载速度差异。
在这里插入图片描述选择禁用缓存后,加载用了1.52s远远大于没用缓存的时间,可以看出将一些资源缓存下载,可以极大加快页面的加载时间。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值