验证性实验
ipconfig
实作一
Windows终端上的一个命令。可以看以太网适配器,无线局域网适配器,如IP地址,子网掩码,网关等。
实作二
查看旁边的网络配置,
问题:
你的计算机和旁边的计算机是否处于同一子网,为什么?
答:
我与旁边电脑属于同一子网,因为网关,子网掩码相同
ping
实作一
Ping是工作在 TCP/IP网络体系结构中应用层的一个服务命令, 主要是向特定的目的主机发送 ICMP Echo 请求报文,测试目的站是否可达及了解其有关状态
字节 :表示ICMP报文中有32个字节的测试数据
时间 :是往返耗时
TTL :是 Time To Live的缩写,该字段指定IP包被路由器丢弃之前允许通过的最大网段数量。TTL是IPv4报头的一个8 bit字段。
实作二
tracert
TRACERT (Trace Route 的组合缩写),追踪路径的命令
实作一
使用tracert跟踪 www.baidu.com
得到上述路径
实作二
通过ping.pe这个网站去了解到棋歌网站的线路状态
问题一:
tracert 能告诉我们路径上的节点以及大致的延迟等信息,那么它背后的原理是什么?
答:
通过向目标发送不同IP生存时间 (TTL) 值的“Internet控制消息协议(ICMP)”回应数据包,Tracert诊断程序确定到目标所采取的路由。要求路径上的每个路由器在转发数据包之前至少将数据包上的 TTL 递减1。数据包上的 TTL 减为 0 时,路由器应该将“ICMP 已超时”的消息发回源系统。 Tracert 先发送 TTL 为 1的回应数据包,并在随后的每次发送过程将TTL递增 1,直到目标响应或 TTL 达到最大值,从而确定路由。通过检查中间路由器发回的“ICMP
已超时”的消息确定路由。某些路由器不经询问直接丢弃 TTL 过期的数据包,这在 Tracert 实用程序中看不到。
问题二:
在以上两个实作中,如果你留意路径中的节点,你会发现无论是访问百度还是棋歌教学网,路径中的第一跳都是相同的,甚至你应该发现似乎前几个节点都是相同的,你的解释是什么?
答:
因为我们电脑网络都是从本机出发通过重庆交通大学的交换机然后进入电信的通信子网上的,所以第一跳就是到交大的交换机,所以是相同的
问题三:
在追踪过程中,你可能会看到路径中某些节点显示为 * 号,这是发生了什么?
答:
应该是该节点没有收到具体的信息反馈,才会出现 *号
ARP
ARP即地址解析协议,是用于根据给定网络层地址即 IP 地址,查找并得到其对应的数据链路层地址即 MAC地址的协议。
实作一
运行 arp -a命令
ping 一下你旁边的计算机 IP,再次查看缓存
实作二
使用 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 信息设置为静态有什么优缺点?
答:
1.因为缓存本身记录着你有访问过的pc 网卡MAC物理地址。
2.静态分配IP地址是指给每一台计算机都分配一个固定的IP地址,优点是便于管理,特别是在根据IP地址限制网络流量的局域网中,以固定的IP地址或IP地址分组产生的流量为依据管理,可以免除在按用户方式计费时用户每次上网都必须进行的身份认证的繁琐过程,同时也避免了用户经常忘记密码的尴尬。静态分配IP地址的弱点是合法用户分配的地址可能被非法盗用,不仅对网络的正常使用造成影响,同时由于被盗用的地址往往具有较高的权限,因而也容易给合法用户造成损失和潜在的安全隐患。
DHCP
DHCP(Dynamic Host Configuration Protocol)即动态主机配置协议,是一个用于 IP 网络的网络协议,位于 OSI 模型的应用层,使用 UDP 协议工作,主要有两个用途:用于内部网或网络服务供应商自动分配 IP 地址给用户。用于内部网管理员对所有电脑作中央管理
简单的说,DHCP 可以让计算机自动获取/释放网络配置
实作一
问题:
在Windows系统下,如果由于某种原因计算机不能获取 DHCP 服务器的配置数据,那么Windows将会根据某种算法自动配置为 169.254.x.x 这样的 IP 地址。显然,这样的 IP 以及相关的配置信息是不能让我们真正接入 Internet 的,为什么?既然不能接入 Internet,那么Winodws系统采用这样的方案有什么意义?
答:
因为自动配置的IP地址和信息只是短暂性的解决计算机不能获取 DHCP 服务器的配置数据的问题,要真正的接入Internet还是得本身计算机的正确IP地址。
netstat
netstat(Network Statistics)是在内核中访问网络连接状态及其相关信息的命令行程序,可以显示路由表、实际的网络连接和网络接口设备的状态信息,以及与 IP、TCP、UDP 和 ICMP 协议相关的统计数据,一般用于检验本机各端口的网络服务运行状况。
实作一
查看 C:\WINDOWS\system32\drivers\etc\services 文件中常用的端口号分配
实作二
使用 netstat -an 命令,查看计算机当前的网络连接状况
更多的netset的命令
DNS
DNS(Domain Name System)即域名系统,是互联网的一项服务。它作为将域名和 IP 地址相互映射的一个分布式数据库,能够使人更方便地访问互联网。DNS 使用 TCP 和 UDP 的 53 号端口。
实作一
Windows 系统将一些固定的/静态的 DNS 信息记录在 C:\WINDOWS\system32\drivers\etc\hosts 文件中,如我们常用的 localhost 就对应 127.0.0.1 。请查看该文件看看有什么记录在该文件中。
实作二
使用 ipconfig /displaydns 命令查看。我们也可以使用 ipconfig /flushdns 命令来清除所有的 DNS 缓存。
实作三
用 nslookup qige.io 命令,将使用默认的 DNS 服务器查询该域名。
cache
cache 即缓存,是 IT 领域一个重要的技术。
实作一
使用谷歌浏览器访问B站打开开发者工具,选择 Network 面板后刷新页面,查看加载页面花费的时间,查看被cache的文件
文件在底部
实作二
接下来仍在 Network 面板,选择 Disable cache 选项框,表明当前不使用 cache,页面数据全部来自于 Internet,刷新页面
速度变慢,可明显看见,勾选Disable cache后速度明显变慢
总结
本次8个实验都已完成,验证性实验让我明白了许多的命令行的含义,也熟悉了他们的用法,让我更加深刻地去理解了计算机网络这个课程里面的一些知识,特别是对于网络传输中的一些过程让我更加清晰,最后一个实验中cache实验更是简洁直观地把缓存机制展现在我面前,受益匪浅。