- 1、**验证性实验**
- 一、ipconfig
- 二、ping的用法
- 三、Tracert
- 四、ARP
- 五、DHCP :
- 六、Netstat:
- 七、Dns:
- 八、cache:
- 2、Wireshark实验:
- 一、数据链路层:
- 二、网络层:
- 三、传输层:
- 四、应用层:
- 3、Cisco Packet Tracer 实验
- 一、直接连接两台 PC 构建 LAN
- 二、用交换机构建 LAN
- 三、交换机接口地址列表:
- 四、生成树协议(Spanning Tree Protocol):
- 路由器配置初步:
- 五、路由:
- 静态路由:
- 动态路由rip;
- 动态路由ospf:
- 六、基于端口的网络地址翻译 PAT
- 七、虚拟局域网 VLAN
- 交换机 VLAN 配置:
- 虚拟局域网管理 VTP:
- VLAN 间的通信:
- 八、DHCP、DNS及Web服务器简单配置:
- WLAN初步配置
实作一
使用 ipconfig/all 查看自己计算机的网络配置,尽可能明白每行的意思,特别注意 IP 地址、子网掩码 Subnet Mask、网关 Gateway.
IP地址:是给每个连接在Internet上的主机分配的一个32bit地址。地址有两部分组成,一部分为网络地址,另一部分为主机地址。网络地址的位数直接决定了可以分配的网络数;主机地址的位数则决定了网络中最大的主机数。
子网掩码:互联网是由许多小型网络构成的,每个网络上都有许多主机,这样便构成了一个有层次的结构。IP地址在设计时就考虑到地址分配的层次特点,将每个IP地址都分割成网络号和主机号两部分,以便于IP地址的寻址操作。
网关:网关实质上是一个网络通向其他网络的IP地址。在没有路由器的情况下,两个网络之间是不能进行TCP/IP通信的,即使是两个网络连接在同一台交换机(或集线器)上,TCP/IP协议也会根据子网掩码(255.255.255.0)判定两个网络中的主机处在不同的网络里。而要实现这两个网络之间的通信,则必须通过网关。
实作二
使用 ipconfig/all 查看旁边计算机的网络配置,看看有什么异同。
同:子网掩码、默认网关相同
异:ipv4地址的后俩位不同
实作一
要测试到某计算机如 重庆交通大学 Web 服务器的连通性,可以使用 ping www.cqjtu.edu.cn 命令,也可直接使用 IP 地址。
TTL:我们可以通过TTL大致确定该信息包经过了多少个路由器过渡段(信息包在网络中被传输时,TTL的域值通过一个路由器时递减1;当TTL 递减到0时,信息包被路由器抛弃)。
TIME:显示了信息包到达远程主机后返回的时间。计算定位为毫秒。
实作二
使用 ping/? 命令了解该命令的各种选项并实际使用。
问:假设你不能 ping 通某计算机或 IP,但你确定该计算机和你之间的网络是连通的,那么可能的原因是什么?该如何处理能保证 ping 通?
答:当你的网络出现故障不能访问某计算机如 14.215.177.39 (百度的 IP 地址之一 ) 时,我们一般可采用由近及远的连通性测试来确定问题所在。
实作一:
要了解到某计算机如 www.baidu.com 中间经过了哪些节点(路由器)及其它状态,可使用 tracert www.baidu.com 命令,查看反馈的信息,了解节点的个数。
可通过网站 http://ip.cn 查看这些节点位于何处,是哪个公司的,大致清楚本机到百度服务器之间的路径。
实作二
ping.pe 这个网站可以探测从全球主要的 ISP 到某站点;如 https://qige.io 的线路状态,当然也包括各线路到该主机的路由情况。请使用浏览器访问 http://ping.pe/qige.io 进行了解
问题一
tracert 能告诉我们路径上的节点以及大致的延迟等信息,那么它背后的原理是什么?本问题可结合第二部分的 Wireshark 实验进行验证。
答:通过向目标发送不同IP生存时间 (TTL) 值的“Internet控制消息协议(ICMP)”回应数据包,Tracert诊断程序确定到目标所采取的路由。要求路径上的每个路由器在转发数据包之前至少将数据包上的 TTL 递减1。数据包上的 TTL 减为 0 时,路由器应该将“ICMP 已超时”的消息发回源系统。 Tracert 先发送 TTL 为 1的回应数据包,并在随后的每次发送过程将TTL递增 1,直到目标响应或 TTL 达到最大值,从而确定路由。通过检查中间路由器发回的“ICMP已超时”的消息确定路由。某些路由器不经询问直接丢弃 TTL 过期的数据包,这在 Tracert 实用程序中看不到。
问题二
在以上两个实作中,如果你留意路径中的节点,你会发现无论是访问百度还是棋歌教学网,路径中的第一跳都是相同的,甚至你应该发现似乎前几个节点都是相同的,你的解释是什么?
答:数据出去需要经过网关
问题三
在追踪过程中,你可能会看到路径中某些节点显示为 * 号,这是发生了什么?
答:没有出现具体的信息反馈,请求超时。
实作一 : 运行 arp -a 命令查看当前的 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 命令设置其为静态类型的.
解决办法:
0. 使用 arp -a 命令 查看网关的MAC网卡物理地址
- 使用 netsh i i show in 命令 查看 本地连接的 idx编号
2.使用 netsh -c “i i” add neighbors 本地连接的idx “网关IP” "网关mac“ 命令绑定
3.使用 arp -a 查看结果
实做一 : ipconfig/release 命令释放自动获取的网络配置,并用 ipconfig/renew 命令重新获取,了解 DHCP 工作过程和原理。
工作过程:
1、发现阶段;
2、DHCP Server offer响应阶段;
3、DHCP Client请求使用阶段;
4、DHCP Server确认使用阶段(获得IP地址);
5、DHCP Client重新登录网络阶段;
6、DHCP Client续约阶段
实作一
Windows 系统将一些常用的端口与服务记录在 C:WINDOWSsystem32driversetcservices 文件中,请查看该文件了解常用的端口号分配.
实作二:使用 netstat -an 命令,查看计算机当前的网络连接状况.七、Dns:
实作一:
Windows 系统将一些固定的/静态的 DNS 信息记录在 C:WINDOWSsystem32driversetchosts 文件中,如我们常用的 localhost 就对应 127.0.0.1 。请查看该文件看看有什么记录在该文件中。
实作二:
解析过的 DNS 记录将会被缓存,以利于加快解析速度。请使用 ipconfig /displaydns 命令查看。我们也可以使用 ipconfig /flushdns 命令来清除所有的 DNS 缓存.
实作三:
使用 nslookup qige.io 命令,将使用默认的 DNS 服务器查询该域名。当然你也可以指定使用 CloudFlare(1.1.1.1)或 Google(8.8.8.8) 的全球 DNS 服务器来解析.
八、cache:实作一:
打开 Chrome 或 Firefox 浏览器,访问 https://qige.io ,接下来敲 F12 键 或 Ctrl + Shift + I 组合键打开开发者工具,选择 Network 面板后刷新页面,你会在开发者工具底部看到加载该页面花费的时间。
实作二:
接下来仍在 Network 面板,选择 Disable cache 选项框,表明当前不使用 cache,页面数据全部来自于 Internet,刷新页面,再次在开发者工具底部查看加载该页面花费的时间。你可比对与有 cache 时的加载速度差异。
实作一 熟悉 Ethernet 帧结构:
目的mac:ff:ff:ff:ff:ff:ff;
源mac:50:eb:71:6c:73:98;
类型:IPV4;
实作二 了解子网内/外通信时的 MAC 地址:
- 访问本子网的计算机时,目的 MAC 就是该主机的;
- 访问非本子网的计算机时,目的 MAC 是网关的;
原因:是访问外网的时候,都是通过 mac 地址送到网关处,然后出了网关再通过 IP 地址进行查找;接收到非子网的计算机返回的数据都是先到网关,网关再根据目的 mac 送到本机。
实作三 掌握 ARP 解析过程:
如果访问的是本子网的 IP,那么 ARP 解析将直接得到该 IP 对应的 MAC;如果访问的非本子网的 IP, 那么 ARP 解析将得到网关的 MAC,请问为什么?
如果访问的是所处的本网子网的ip,ARP 缓存中没有该 ip,那么就会发送一个广播,在子网中找寻这个ip,如果有 那么ARP解析协议将会直接得到该ip对应的Mac地址;如果访问的是非本子网的ip,那么ARP解析将直接得到网关的Mac地址。因为要想访问对方,在处于同一子网的条件下,应该知道对方的Mac地址,但是不处于同一子网,就需要对方所处子网网关的Mac地址.
实作一 熟悉 IP 包结构:
1、版本号(Version):长度4比特。标识目前采用的IP协议的版本号。一般的值为0100(IPv4),0110(IPv6)
2、IP包头长度Header Length长度4比特。这个字段的作用是为了描述IP包头的长度,因为在IP包头中有变长的可选部分。该部分占4个bit位,单位为32bit(4个字节),即本区域值= IP头部长度(单位为bit)/(84),因此,一个IP包头的长度最长为“1111”,即154=60个字节。IP包头最小长度为20字节。
3、IP包总长Total Length长度16比特。 以字节为单位计算的IP包的长度 (包括头部和数据),所以IP包最大长度65535字节。
4、标识符Identifier长度16比特。该字段和Flags和Fragment Offest字段联合使用,对较大的上层数据包进行分段(fragment)操作。路由器将一个包拆分后,所有拆分开的小包被标记相同的值,以便目的端设备能够区分哪个包属于被拆分开的包的一部分。
5、标记(Flags):长度3比特。该字段第一位不使用。第二位是DF(Don’t Fragment)位,DF位设为1时表明路由器不能对该上层数据包分段。如果一个上层数据包无法在不分段的情况下进行转发,则路由器会丢弃该上层数据包并返回一个错误信息。第三位是MF(More Fragments)位,当路由器对一个上层数据包分段,则路由器会在除了最后一个分段的IP包的包头中将MF位设为1。
6、片偏移(Fragment Offset):长度13比特。表示该IP包在该组分片包中位置,接收端靠此来组装还原IP包。
7、生存时间(TTL):长度8比特。当IP包进行传送时,先会对该字段赋予某个特定的值。当IP包经过每一个沿途的路由器的时候,每个沿途的路由器会将IP包的TTL值减少1。如果TTL减少为0,则该IP包会被丢弃。这个字段可以防止由于路由环路而导致IP包在网络中不停被转发。
8、协议Protocol长度8比特。标识了上层所使用的协议。
头部校验Header Checksum:长度16位。用来做IP头部的正确性检测,但不包含数据部分。 因为每个路由器要改变TTL的值,所以路由器会为每个通过的数据包重新计算这个值。
实作二 IP包的分段与重组:
实作三 考察TTL事件:
实作一 熟悉 TCP 和 UDP 段结构:
TCP:源端口号:56631; UDP: 源端口号:65366;
目的端口号:80; 目的端口号:9022;
序列号:186; 长度 :52;
确认序列号:ACK:1; 检验码 :ox2b08;
4位首长度:20bytes(5);
实作二 分析TCP建立和释放连接:
1、请在你捕获的包中找到三次握手建立连接的包,并说明为何它们是用于建立连接的,有什么特征。
它们的长度都很短。通过发出 SYN 信号请求连接,然后服务器端回应 ACK 确认收到请求,然后主机再发出一个确认信号。第一次握手时除了 SYN = 1 外其余的标志都为 0 ,第二次握手时除了 SYN = 1 且 ACK = 1 外其余的标志都为 0 ,第三次握手时除了 ACK = 1 外其余的标志都为 0。
2、请在你捕获的包中找到四次挥手释放连接的包,并说明为何它们是用于释放连接的,有什么特征。
它们的长度都很短。这里四次挥手为什么只抓到了三个包呢?原始是将第二次、第三次挥手合并成了一个包,所以只看到了三个包。首先发出 FIN 信号请求断开,然后服务器端回应一个 ACK 确认信号,然后又发出一个 FIN 信号(这里将 ACK 和 FIN 合并成立一个包),然后主机回应一个 ACK 确认信号,即可断开连接。
实作一 了解 DNS 解析
可了解一下 DNS 查询和应答的相关字段的含义
1.QR:查询/应答标志。0表示这是一个查询报文,1表示这是一个应答报文
2.opcode,定义查询和应答的类型。0表示标准查询,1表示反向查询(由IP地址获得主机域名),2表示请求服务器状态
3.AA,授权应答标志,仅由应答报文使用。1表示域名服务器是授权服务器
4.TC,截断标志,仅当DNS报文使用UDP服务时使用。因为UDP数据报有长度限制,所以过长的DNS报文将被截断。1表示DNS报文超过512字节,并被截断
5.RD,递归查询标志。1表示执行递归查询,即如果目标DNS服务器无法解析某个主机名,则它将向其他DNS服务器继续查询,如此递归,直到获得结果并把该结果返回给客户端。0表示执行迭代查询,即如果目标DNS服务器无法解析某个主机名,则它将自己知道的其他DNS服务器的IP地址返回给客户端,以供客户端参考
6.RA,允许递归标志。仅由应答报文使用,1表示DNS服务器支持递归查询
7.zero,这3位未用,必须设置为0
8.rcode,4位返回码,表示应答的状态。常用值有0(无错误)和3(域名不存在)清除缓存。
实作二 了解HTTP的请求和应答:3、Cisco Packet Tracer 实验 一、直接连接两台 PC 构建 LAN
将两台 PC 直接连接构成一个网络。注意:直接连接需使用交叉线。
进行两台 PC 的基本网络配置,只需要配置 IP 地址即可,然后相互 ping 通即成功
1、PC0 能否 ping 通 PC1、PC2、PC3 ?
答:PC1可以,其余不行
2、PC3能否ping通PC0、PC1、PC2?为什么?
答:PC2可以,但PC0和PC1不行,因为它们不在同一子网网络号不同
3、将 4 台 PC 的掩码都改为 255.255.0.0 ,它们相互能 ping 通吗?为什么?
答:可以,因为ip地址与子网掩码的与出的网络号相同,处于同一子网。
4、使用二层交换机连接的网络需要配置网关吗?为什么?
答:不需要,由于二层交换机是子网内部进行数据传输。
上图的拓扑结构配置各计算机的 IP 在同一个子网,使用工具栏中的放大镜点击某交换机如左边的 Switch0,选择 MAC Table,可以看到最初交换机的 MAC 表是空的,
用 PC0 访问(ping)PC1 后,再查看该交换机的 MAC 表
现在有相应的记录,随着网络通信的增加,各交换机都将生成自己完整的 MAC 表,此时交换机的交换速度就是最快的!
~MAC表空的时候,交换机会选择广播ARP信令。会将经过该交换机MAC地址记录,当MAC表完整后,不需ARP请求,也不需要广播,所以这时交换速度最快。
交换机在目的地址未知或接收到广播帧时是要进行广播的。如果交换机之间存在回路/环路,那么就会产生广播循环风暴,从而严重影响网络性能。
而交换机中运行的 STP 协议能避免交换机之间发生广播循环风暴。
使用交换机,构建如下拓扑
这是初始时的状态。我们可以看到交换机之间有回路,这会造成广播帧循环传送即形成广播风暴,严重影响网络性能。
随后,交换机将自动通过生成树协议(STP)对多余的线路进行自动阻塞(Blocking),以形成一棵以 Switch3 为根(具体哪个是根交换机有相关的策略)的具有唯一路径树即生成树!
经过一段时间,随着 STP 协议成功构建了生成树后,Switch5 的两个接口当前物理上是连接的,但逻辑上是不通的,处于Blocking状态(桔色)如下图所示:
在网络运行期间,假设某个时候 Switch3 与 Switch5 之间的物理连接出现问题(将 Switch3 与 Switch5 的连线剪掉),则该生成树将自动发生变化。Switch5 下方先前 Blocking 的那个接口现在活动了(绿色),但上方那个接口仍处于 Blocking 状态(桔色)。如下图所示:
路由器配置初步:交通大学与重庆大学显然是两个不同的子网。在不同子网间通信需通过路由器。路由器的每个接口下至少是一个子网,图中我们简单的规划了 3 个子网:
1.左边路由器是交通大学的,其下使用交换机连接交通大学的网络,分配网络号 192.168.1.0/24,该路由器接口也是交通大学网络的网关,分配 IP 为 192.168.1.1
2.右边路由器是重庆大学的,其下使用交换机连接重庆大学的网络,分配网络号 192.168.3.0/24,该路由器接口也是重庆大学网络的网关,分配 IP 为 192.168.3.1
拓扑图中路由器各接口配置数据如下:
接口名 IP 子网掩码
交通大学 Router2 以太网口 192.168.1.1 255.255.255.0
交通大学 Router2 广域网口 192.168.2.1 255.255.255.0
重庆大学 Router3 以太网口 192.168.3.1 255.255.255.0
重庆大学 Router3 广域网口 192.168.2.2 255.255.255.0
拓扑图中各 PC 配置数据如下:
节点名 IP 子网掩码 网关
交通大学 PC0 192.168.1.2 255.255.255.0 192.168.1.1
交通大学 PC1 192.168.1.3 255.255.255.0 192.168.1.1
重庆大学 PC2 192.168.3.2 255.255.255.0 192.168.3.1
重庆大学 PC3 192.168.3.3 255.255.255.0 192.168.3.1
重庆交通大学路由器基本配置:
重庆大学路由器基本配置如下:
至此,路由器基本的配置完成。请按照上面 PC 配置表继续配置各个 PC 。
现在交通大学内的各 PC 及网关相互能 ping 通,重庆大学也类似。但不能从交大的 PC ping 通重大的 PC,反之亦然,也即不能跨子网。
路由器不知道到其他子网的路,所以跨子网ping不通。另外如果是内部地址,在没有使用NAT协议的时候,是不能跨子网通信的。
五、路由: 静态路由:静态路由是非自适应性路由协议,是由网络管理人员手动配置的,不能够根据网络拓扑的变化而改变。 因此,静态路由简单高效,适用于结构非常简单的网络。
在当前这个简单的拓扑结构中我们可以使用静态路由,即直接告诉路由器到某网络该怎么走即可。
在前述路由器基本配置成功的情况下使用以下命令进行静态路由协议的配置:
PC0pingPC1和PC2的结果,可以看到,数据部分丢失,但还是可以ping通
动态路由rip;使用 RIP 协议只需要告诉路由器直接相连有哪些网络即可,然后 RIP 根据算法自动构建出路由表。
首先清除静态路由配置:
1.直接关闭路由器电源。相当于没有保存任何配置,然后各接口再按照前面基本配置所述重新配置 IP 等参数(推荐此方法,可以再熟悉一下接口的配置命令);
2.使用 no 命令清除静态路由。在全局配置模式下,交通大学路由器使用:no ip route 192.168.3.0 255.255.255.0 192.168.2.2,重庆大学路由器使用:no ip route 192.168.1.0 255.255.255.0 192.168.2.1 。相当于使用 no 命令把刚才配置的静态路由命令给取消。
可以看到p0 ping p3是成功的;
动态路由ospf:OSPF(Open Shortest Path First 开放式最短路径优先)是一个内部网关协议(Interior Gateway Protocol,简称 IGP), 用于在单一自治系统(Autonomous System,AS)内决策路由
清除 RIP 路由配置:
(1)直接关闭路由器电源。相当于没有保存任何配置,然后各接口再按照前面基本配置所述重新配置 IP 等参数.
(2)使用 no 命令清除 RIP 路由。在全局配置模式下,各路由器都使用:no router rip 命令进行清除.
至此,这些 PC 能全部相互 ping 通!
六、基于端口的网络地址翻译 PAT网络地址转换(NAT,Network Address Translation)被各个 Internet 服务商即 ISP 广泛应用于它们的网络中,也包括 WiFi 网络。 原因很简单,NAT 不仅完美地解决了 lP 地址不足的问题,而且还能够有效地避免来自网络外部的攻击,隐藏并保护网络内部的计算机。
设定这两个学校的路由器使用 OSPF 协议,模拟交通大学使用内部 IP 地址(192.168.1.0/24),模拟重庆大学使用外部 IP 地址(8.8.8.0/24),两个路由器之间使用外部 IP 地址(202.202.240.0/24),在交通大学的出口位置即广域网口实施 PAT。
拓扑图中各 PC 配置数据如下:
节点名 IP 子网掩码 网关
交通大学 PC0 192.168.1.2 255.255.255.0 192.168.1.1
交通大学 PC1 192.168.1.3 255.255.255.0 192.168.1.1
重庆大学 PC2 8.8.8.2 255.255.255.0 8.8.8.1
重庆大学 PC3 8.8.8.3 255.255.255.0 8.8.8.1
拓扑图中路由器各接口配置数据如下:
接口名 IP 子网掩码
交通大学 Router2 以太网口 192.168.1.1 255.255.255.0
交通大学 Router2 广域网口 202.202.240.1 255.255.255.0
重庆大学 Router3 以太网口 8.8.8.1 255.255.255.0
重庆大学 Router3 广域网口 202.202.240.2 255.255.255.0
此时,这些 PC 能全部相互 ping 通!如在交通大学内部使用 PC0(192.168.1.2)来 ping 重庆大学的PC2(8.8.8.2)应该成功。
我们通过在重庆大学路由器上实施访问控制 ACL ,即丢弃来自交通大学(私有 IP 地址)的包来模拟这个丢包的过程。
此时,再使用交通大学内部的 PC0(192.168.1.2)来 ping 重庆大学的 PC2(8.8.8.2)就不成功了,会显示目的主机不可到达(Destination host unreachable)信息。
下面,我们就开始实施 PAT。即:我们将会在交通大学路由器的出口上将内部/私有 IP 地址转换为外部/公开 IP,从而包的源 IP 发生了改变,就不会被重庆大学路由器丢弃,因此网络连通。
现在,再次使用交通大学内部的 PC0(192.168.1.2)来 ping 重庆大学的PC2(8.8.8.2)则OK。
七、虚拟局域网 VLAN交换机连接的是同一个子网;
VLAN(Virtual Local Area Network)即虚拟局域网。通过划分 VLAN,我们可以把一个物理网络划分为多个逻辑网段即多个子网。
在 CPT 中构建如下图所示拓扑:
至此,在该交换机上我们就划分了 3 个 VLAN(不包括缺省的 VLAN 1)。各 VLAN 下 PC 的网络配置及连接的交换机接口如下表:
此时可以使用 ping 命令进行测试,只有在同一 VLAN 中的 PC 才能通信,且广播也局限于该 VLAN。
VTP(VLAN Trunk Protocol)即 VLAN 中继协议。VTP 通过 ISL 帧或 Cisco 私有 DTP 帧(可查阅相关资料了解)保持 VLAN 配置统一性,也被称为虚拟局域网干道协议,它是思科私有协议。 VTP 统一管理、增加、删除、调整VLAN,自动地将信息向网络中其它的交换机广播。
为演示 VTP,重新构建如下拓扑结构:
新建两个 VLAN,然后让 PC0 和 PC1 属于 VLAN 2,PC1 和 PC3 属于 VLAN 3。
在核心交换机 3560上进行如下工作:
设置为 server 模式,VTP 域为 cqjtu
新建 VLAN 2,网络号 192.168.1.0/24,网关 192.168.1.1
新建 VLAN 3,网络号 192.168.2.0/24,网关 192.168.2.1
3560 VTP Server 配置:
左边交换机 2960A 上进行如下工作:
加入名为 cqjtu 的 VTP 域
配置与核心交换机 3560 连接的千兆接口 g0/1 为 trunk 模式
将接口 f0/1 划分到 VLAN 2 中
将接口 f0/2 划分到 VLAN 3 中
2960A(左边) VTP Client 配置:
右边交换机 2960B 上进行同样的工作:
加入名为 cqjtu VTP 域
配置与核心交换机 3560 连接的千兆接口 g0/1 为 trunk 模式
将接口 f0/1 划分到 VLAN 2 中
将接口 f0/2 划分到 VLAN 3 中
2960B(右边) VTP Client 配置:
各 PC 连接的交换机和接口以及网络配置如下:
至此,VTP 配置完成。同 VLAN 可以 ping 通,而不同 VLAN 不行。
VLAN 间的通信:3560 交换机配置:
至此,各 VLAN 中的 PC 可以正常通信。
八、DHCP、DNS及Web服务器简单配置:构建如下简单的拓扑
点击 CPT 拓扑图中的 Server 图标,设置其静态 IP 地址为 19.89.6.4/24,然后选择 Service 进行。
如下相关配置:
主机1:
主机0:



