计算机网络实验-- 验证性实验
本部分实验使用cmd.exe
ipconfig
ipconfig 是微软操作系统的计算机上用来控制网络连接的一个命令行工具。它的主要用来显示当前网络连接的配置信息(/all 参数)。
1.使用命令ipconfig /all
(中间的空格可以不要)查看自己的计算机网络配置
2.使用ipconfig/all查看旁边计算机的网络配置
✎ 问题
你的计算机和旁边的计算机是否处于同一子网,为什么?
是,因为网络号相同
ping
1.要测试到某计算机如重庆交通大学web服务器的连通性,可以使用ping www.baidu.edu.cn
命令,也可直接使用IP地址。
2.使用ping /?
了解该命令的各种选项
验证Ping的参数
(1)ping /n 9 www.baidu.com
使发送与返回的消息为9条
Tracert
TRACERT (Trace Route 的组合缩写),也称为路由追踪,该命令行程序可用于跟踪 Internet 协议 (IP) 数据包传送到目标地址时经过的路径。
1.要了解到某计算机如 www.baidu.com 中间经过了哪些节点(路由器)及其它状态,可使用 tracert www.baidu.com
命令,查看反馈的信息,了解节点的个数。
2.使用浏览器访问 http://ping.pe/qige.io 进行了解从全球主要的 ISP 到某站点如 https://qige.io 的线路状态。
✎ 问题一
tracert 能告诉我们路径上的节点以及大致的延迟等信息,那么它背后的原理是什么?本问题可结合第二部分的 Wireshark 实验进行验证。
使ttl加1
✎ 问题二
在以上两个实作中,如果你留意路径中的节点,你会发现无论是访问百度还是棋歌教学网,路径中的第一跳都是相同的,甚至你应该发现似乎前几个节点都是相同的,你的解释是什么?
第一跳是网关,所以相同,后面的节点如在最优路径中,则节点也会相同
✎ 问题三
在追踪过程中,你可能会看到路径中某些节点显示为 * 号,这是发生了什么?
该路由器拒绝提供相关信息
arp
ARP(Address Resolution Protocol)即地址解析协议,是用于根据给定网络层地址即 IP 地址,查找并得到其对应的数据链路层地址即 MAC地址的协议。 ARP 协议定义在 1982 年的 RFC 826。
1.运行arp -a
2.arp /?
✎ 问题
在实作三中,为何缓存中常常有网关的信息?
因为网关是子网与公网的接口,是访问公网的必经之路
我们将网关或其它计算机的 arp 信息设置为静态有什么优缺点?
优点,减少路由时间。
DHCP
DHCP(Dynamic Host Configuration Protocol)即动态主机配置协议,是一个用于 IP 网络的网络协议,位于 OSI 模型的应用层,使用 UDP 协议工作,主要有两个用途:
用于内部网或网络服务供应商自动分配 IP 地址给用户
用于内部网管理员对所有电脑作中央管理
简单的说,DHCP 可以让计算机自动获取/释放网络配置。
一般地,我们自动获取的网络配置信息包括:IP 地址、子网掩码、网关 IP 以及 DNS 服务器 IP 等。
1.使用 ipconfig/release
命令释放自动获取的网络配置
2.用 ipconfig/renew 命令重新获取,了解 DHCP 工作过程和原理。
通过两个命令的使用,不难发现使用ipconfig/release释放掉的信息包括IPv4的地址,子网掩码和IPv4的默认网关,而使用ipconfig/renew又会重新获得这些信息。
nestat
无论是使用 TCP 还是 UDP,任何一个网络服务都与特定的端口(Port Number)关联在一起。因此,每个端口都对应于某个通信协议/服务。
netstat(Network Statistics)是在内核中访问网络连接状态及其相关信息的命令行程序,可以显示路由表、实际的网络连接和网络接口设备的状态信息,以及与 IP、TCP、UDP 和 ICMP 协议相关的统计数据,一般用于检验本机各端口的网络服务运行状况。
1.Windows 系统将一些常用的端口与服务记录在 C:\WINDOWS\system32\drivers\etc\services 文件中,请查看该文件了解常用的端口号分配。
ftp-data 20/tcp #FTP, data
ftp 21/tcp #FTP. control
ssh 22/tcp #SSH Remote Login Protocol
telnet 23/tcp
nameserver 42/tcp name #Host Name Server
nameserver 42/udp name #Host Name Server
nicname 43/tcp whois
domain 53/tcp #Domain Name Server
domain 53/udp #Domain Name Server
http 80/tcp www www-http #World Wide Web
2.使用 netstat -an
命令,查看计算机当前的网络连接状况。
DNS
DNS(Domain Name System)即域名系统,是互联网的一项服务。它作为将域名和 IP 地址相互映射的一个分布式数据库,能够使人更方便地访问互联网。DNS 使用 TCP 和 UDP 的 53 号端口。
1.Windows 系统将一些固定的/静态的 DNS 信息记录在 C:\WINDOWS\system32\drivers\etc\hosts 文件中,如我们常用的 localhost 就对应 127.0.0.1 。请查看该文件看看有什么记录在该文件中。
#Copyright © 1993-2009 Microsoft Corp.
#This is a sample HOSTS file used by Microsoft TCP/IP for Windows.
#This file contains the mappings of IP addresses to host names. Each
#entry should be kept on an individual line. The IP address should
#be placed in the first column followed by the corresponding host name.
#The IP address and the host name should be separated by at least one
#space.
#Additionally, comments (such as these) may be inserted on individual
#lines or following the machine name denoted by a ‘#’ symbol.
#For example:
#102.54.94.97 rhino.acme.com # source server
#38.25.63.10 x.acme.com # x client host
#localhost name resolution is handled within DNS itself.
#127.0.0.1 localhost
#::1 localhost
2.解析过的 DNS 记录将会被缓存,以利于加快解析速度。请使用 ipconfig /displaydns 命令查看。
我们也可以使用ipconfig /flushdns
命令来清除所有的 DNS 缓存。
3.使用 nslookup qige.io
命令,将使用默认的 DNS 服务器查询该域名。当然你也可以指定使用 CloudFlare(1.1.1.1)或 Google(8.8.8.8) 的全球 DNS 服务器来解析
cache
1.打开 Chrome 或 Firefox 浏览器,访问 https://qige.io ,接下来敲 F12 键 或 Ctrl + Shift + I 组合键打开开发者工具,选择 Network 面板后刷新页面,你会在开发者工具底部看到加载该页面花费的时间。请进一步查看哪些文件被 cache了,哪些没有。
2.接下来仍在 Network 面板,选择 Disable cache 选项框,表明当前不使用 cache,页面数据全部来自于 Internet,刷新页面,再次在开发者工具底部查看加载该页面花费的时间。你可比对与有 cache 时的加载速度差异。