计算机网络实验

计算机网络试验

1、验证性实验

ipconfig

实作一:ipconfig查看自己电脑网络配置

使用ipconfig查看自己电脑网络配置如下:
在这里插入图片描述
经过现有掌握的知识和自己在网上搜索,大致明白了上诉图片中每一行的信息。接下来我会将其中的一些我认为重要的信息进行解释,也算是考察下我知识的掌握程度~
连接特定的DNS后缀: bbrouter表示的就是在解析主机名的时候,它是一个DNS服务器,帮助我们解析ip。那么ip是什么?ip就是由32位01序列组成。用于对网络进行编号。而ip地址就是计算机在网络中的地址,就好比我现在所在地是一个地方,有着它的地址,所以我就在这个地址中。同理类比出计算机在网络中的地址。

物理地址: 这里的5C-BA-EF-07-9C-99 表示我这台电脑的网卡的地址。

IPv6地址:首先解释下IPv6是什么。IPv6就是就是继IPv4后的一种新的ip协议,它号称能将地球上的每一粒沙子都编上一个地址。而IPv6地址其实就是ip地址,也就是我这台计算机在网络中的地址。

本地链接的IPv6地址:这是IPv6协议下的本地回路地址。

IPv4地址: IPv4就是 Internet Protocol version 4(互联网通信协议第4版)。IPv4采用32位地址长度,有4段数字,每一段最大不超过255,例如255.255.255.255就是一个IPv4地址。而上述图片的IPv4地址就是我的计算机在接入网络的地址。

子网掩码:顾名思义,子网掩码就是用来标明ip地址的那些位表示主机。通俗的讲,子网掩码就是将一个ip地址划分为网络地址号和主机地址号。显然,子网掩码不能单独存在,只能与ip地址结合使用。而我这台计算机所处网络的ip地址是192.168.1.8,与子网掩码做与运算得到:192.168.1.0,这就是我所处网络的网络标识。
默认网关: 首先要知道网关是什么?网关就是一个网络通向另外一个网络的ip地址。假设没有路由器且,两个不处于一个网络的主机A,B 想要进行发送数据,那么他们不再一个网络中是不能发送数据的。那么网络A会将数据发送个它的网关,然后这个网关会将这个数据发送给B的网关,然后在由B的网关发送数据给B。所以网关其实就是一个IP路由器。而默认网关就是主机自动设置的网关,也就是192.168.1.1。
DNS服务器: 就是域名解析器,我们可以发现我们基本所有网站,比如重庆交通大学官网 -cqjtu.edu.cn 就是一个域名,方便于人们记忆,不然ip地址那么多,很难记住。但是机器只认01序列的ip地址,所以需要有域名解析器来对域名进行解析。

实作二:ipconfig查看旁边计算机网络配置

使用ipconfig查看旁边计算机网络配置结果如下:
在这里插入图片描述
问题:

你的计算机和旁边的计算机是否处于同一子网,为什么?
可以发现我的计算机和另外一个计算机的ip地址并不相同,但是子网掩码是相同的,做与运算后得到的网络号相同,也就是处于同一网络。

ping

ping www.cqjtu.edu.cn结果如下:
在这里插入图片描述TTL:TTL表示的是数据包存活时间(Time To Live),也即数据包在经历一个路由器后还可以跳跃的跃点数。一般来讲TTL越大,表示经过的路由器就越少,就越快到达目的地。当前我ping重庆交通大学官网,剩余的可跳跃点数为53,也就是说经过的路由器个数为64 - 53 = 11。

时间: 也就是发送过去的数据包到返回回来所经历的时间。

tracert

tracert 是windows的一种电脑网络工具,它可显示数据包在IP网络经过的路由器IP地址

实作一:使用tracert查看计算机追踪网络所经历的网络节点

使用 tracert www.baidu.com得到结果如下:
在这里插入图片描述
从上面的信息可以看到,我的计算机发送ip数据包到百度经历了10个节点,中间三列表示的我们连接到每个路由节点的速度,返回速度和多次链接反馈的平均值。而最右边的一列表示的是路由的ip地址。根据http://ip.cn查询出前两个ip是我的内网ip。第3个和第4个是重庆市移动公司的ip地址,因为我家的WIFI网络是移动的。

实作二:访问 http://ping.pe

访问http://ping.pe/baidu.com结果如下:
在这里插入图片描述
问题一:

tracert 能告诉我们路径上的节点以及大致的延迟等信息,那么它背后的原理是什么?本问题可结合第二部分的 Wireshark 实验进行验证。
经过从网络上查询理解,大致理解tracert背后实现原理。首先是从源地址发送一个ICMP请求回显数据包到目的地址,并将TTL设置为1。然后到达路由器的时候,将TTL减1,当TTL减为0时,包被丢弃,路由器向源地址发回一个ICMP超时通知(ICMP Time Exceeded Message),内含发送IP包的源地址,IP包的所有内容及路由器的IP地址。当源地址收到该ICMP包时,显示这一跳路由信息。一直重复上述过程,并设置TTL加一,直到目标地址收到探测数据包,并返回ICMP回应答复。

问题二:

在以上两个实作中,如果你留意路径中的节点,你会发现无论是访问百度还是棋歌教学网,路径中的第一跳都是相同的,甚至你应该发现似乎前几个节点都是相同的,你的解释是什么?
经过多次尝试,我发现前4跳始终是一样的。为什么呢?上面我查询了ip所在地,发现前两跳是我的内网ip,而前面我也学到过192.168.1.1就是我的计算机所在网络的网关地址,而第二跳就是分配给我笔记本的内网ip地址。第三、四跳ip就是重庆移动的ip,因为我家所接入的宽带就是移动的。

问题三:

在追踪过程中,你可能会看到路径中某些节点显示为 * 号,这是发生了什么?
可以发现,进行路由追踪的时候,有的路由节点会有一些*号。这代表的就是这个路由节点和我当前的宽带是不连通的。那么为什么会不连通呢?经过上网查询,发现有多种情况,比如:路上做了过滤限制、或者本身就是路由有问题。

ARP

实作一:使用arp -a命令查看缓存表

在这里插入图片描述

实作二:使用arp /?查看arp各种选项命令

在这里插入图片描述

实作三

在这里插入图片描述

出现这样的情况无非就是操作权限不够,直接使用管理员身份打开cmd,并进行上述操作

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

可以看到已经修改成功了

问题一:

为什么需要缓存网关?
因为缓存中存放的是当前主机以前访问过的ip,而访问其他ip是需要先交给网关,再由网关发送另外一台主机的网关,所以需要在缓存中存下网关的信息

问题二:

我们将网关或其它计算机的 arp 信息设置为静态有什么优缺点?
优点:在于管理方便且可以有效防止局域网中的ARP欺骗
缺点:静态ARP仍然存在病毒攻击的危险

DHCP

实作一

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

如果你没能成功的释放,请思考有哪些可能的原因并着手进行解决?
我认为应该是这个本地连接媒体已断开连接,所以并不能成功释放

问题:

在Windows系统下,如果由于某种原因计算机不能获取 DHCP 服务器的配置数据,那么Windows将会根据某种算法自动配置为 169.254.x.x 这样的 IP 地址。显然,这样的 IP 以及相关的配置信息是不能让我们真正接入 Internet 的,为什么?既然不能接入 Internet,那么Winodws系统采用这样的方案有什么意义?
虽然并不能接入internet,但是方便于子网内部进行通信吧。假如某天因 DHCP 服务器问题从而不能获得网络配置,那么我们可以查看隔壁教室计算机的配置信息来手动进行网络配置,从而使该计算机能够接入Internet。

netstat

实作一:了解常用端口分配

用记事本打开service如下:

在这里插入图片描述

实作二:使用 netstat -an 命令,查看计算机当前的网络连接状况

使用netstat -an查看目前计算机网络链接如下:

在这里插入图片描述

DNS

实作一:查看本地host文件包含什么信息

查看本地host文件结果如下:

在这里插入图片描述

可以看到127.0.0.1对应着的就是常用的localhost

实作二:使用ipconfig /displaydns和ipconfig /flushdns

使用ipconfig/displaydns结果如下:

在这里插入图片描述

可以看到熟悉的tencent(腾讯)

使用ipconfig /flushdns结果如下:

在这里插入图片描述

实作三:使用 nslookup qige.io 命令

在cmd上使用nslookup qige.io结果如下:

在这里插入图片描述

尝试在浏览器上直接使用Addressess给出的两个ip地址访问得到这样的结果:

在这里插入图片描述

可以发现qige.io是不允许直接使用ip访问的

TroubleShooting:

上面秘籍中我们提到了使用插件或自己修改 hosts 文件来屏蔽广告,思考一下这种方式为何能过滤广告?如果某些广告拦截失效,那么是什么原因?你应该怎样进行分析从而能够成功屏蔽它?
我认为应该是当给host文件添加一个该广告的一个连接的时候,会给它指定一个ip地址,从而浏览器在解析这个广告连接的时候,直接走我设定的ip地址,从而过滤了广告
如果出现广告过滤失败,我认为可能是广告直接嵌入html页面?这样请求的时候是直接将页面带过来,从而将广告也带过来了

cache

实作一:访问qige.io查看Network

结果如下:

在这里插入图片描述

加载时间为650ms

实作二:不使用cache访问qige.io

可以看到时间变长了接近一倍多

在这里插入图片描述

加载时间为1310ms 学到了,以后不清理缓存了!

2、Wireshark 实验

数据链路层

实作一:任意抓包,熟悉Ethernet帧的结构

使用ping www.baidu.com 后再用wireshark抓包得到:

在这里插入图片描述

之前学过,以太网帧格式。那么结合wireshark可以很清楚的知道源目MAC地址等
目的MAC:5c ba ef 07 9c 99
源MAC:00 e2 2c c3 2c 2d
类型:08 00
然后后面的就是数据32字节

问题:

为什么Wireshark 展现给我们的帧中没有校验字段?
经过上网搜索,发现Wireshark在抓包前,在物理层网卡已经去掉了一些东西,比如FCS等,之后利用校验码CRC校验,正确时才会进行下一步操作,这时才开始抓包,因此,抓包到的是去掉前导码、FCS之外的数据,没有校验字段。

实作二:了解子网内/外通信时的 MAC 地址

1、ping 旁边计算机得到以下结果:

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

可以发现发出帧的目的MAC地址为:50 76 af 98 51 c0
而返回桢的源MAC地址也为:50 76 af 98 51 c0
显然这个MAC地址应该是旁边电脑的MAC地址

2、ping qige.io得到以下结果:

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

可以发现发出帧的目的MAC地址为:00 e2 2c c3 2c 2d
而返回桢的源MAC地址也为:00 e2 2c c3 2c 2d
显然这个MAC地址应该是本地网关MAC地址

3、ping www.cqjtu.edu.cn得到以下结果:

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

可以发现发出帧的目的MAC地址为:00 e2 2c c3 2c 2d
而返回桢的源MAC地址也为:00 e2 2c c3 2c 2d
显然这个MAC地址应该是本地网关MAC地址

问题:

1、为什么访问本子网计算机时,目的MAC就是该主机的MAC地址?
因为在旁边计算机和我的计算机同处一个通信子网内,我的计算机给旁边计算机发送信息的时候不需要经历网关,而是直接查询MAC地址建立连接。
2、为什么访问非本子网计算机时,目的MAC是本地子网的网关MAC地址?
因为访问子网外的计算机,需要先将数据发送给网关。所以目的MAC是本地子网网关MAC地址。

实作三:掌握 ARP 解析过程

1、清空arp缓存

在这里插入图片描述

2、ping旁边计算机

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

可以看到192.168.1.11回应我,源MAC地址是它本身的MAC地址
而目的MAC是255.255.255.255,也就是以广播的方式回应我

再次使用 arp -d * 命令清空 arp 缓存

在这里插入图片描述

然后ping qige.io

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

请求的是19.168.1.16 回应的是当前子网的网关 192.168.1.1

问题

1、因为在我们ping之前,我们首先已经将ARP缓存给清除了,所以当我们去ping任意一台主机或网页,我们本地的arp缓存中都没有相应的MAC地址,所以需要广播寻找目的地址。
2、因为在子网之内的计算机就不需要经过网关;而访问子网外的需要先将数据发送到网关处。

网络层

实作一: 熟悉 IP 包结构

使用ping www.baidu.com 后再用wireshark抓包得到:

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

版本: ipv4
头部长度: 20字节
总长度: 60
TTL: 128
协议: ICMP

问题:

为提高效率,我们应该让 IP 的头部尽可能的精简。但在如此珍贵的 IP 头部你会发现既有头部长度字段,也有总长度字段。请问为什么?
因为既然知道了头部长度是多少,那么就可以知道哪里是数据,哪里是头部,方便直接读取数据。而且还可以根据总长度来判断何处结束数据的读取。

实作二 IP 包的分段与重组

ping 202.202.240.16 -l 2000 并使用wireshark进行抓包得到:

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

问题:

分段与重组是一个耗费资源的操作,特别是当分段由传送路径上的节点即路由器来完成的时候,所以 IPv6 已经不允许分段了。那么 IPv6 中,如果路由器遇到了一个大数据包该怎么办?
当数据包过大的时候,路由器会直接丢掉,同时给发送方发送一个分组过大ICMP报文

实作三:考察 TTL 事件

tracert www.baidu.com结果如下:
在这里插入图片描述
在这里插入图片描述
问题

在 IPv4 中,TTL 虽然定义为生命期即 Time To Live,但现实中我们都以跳数/节点数进行设置。如果你收到一个包,其 TTL 的值为 50,那么可以推断这个包从源点到你之间有多少跳?
14跳,因为TTL的初始值应该是比现在值大的最小2的整数次方,也就是64。而目前还剩50跳,所以有14跳。

传输层

实作一:熟悉 TCP 和 UDP 段结构

1、用 Wireshark 任意抓包(可用 tcp 过滤),熟悉 TCP 段的结构,如:源端口、目的端口、序列号、确认号、各种标志位等字段。
在这里插入图片描述
2、用 Wireshark 任意抓包(可用 udp 过滤),熟悉 UDP 段的结构,如:源端口、目的端口、长度等。
在这里插入图片描述
问题:

UDP 的头部比 TCP 简单得多,但两者都有源和目的端口号。请问源和目的端口号用来干什么?
因为进程之间通信是用的端口,所以源端口号用来发送请求,而目的端口是用来接收请求。

实作二:分析 TCP 建立和释放连接

问题:

1、去掉 Follow TCP Stream,即不跟踪一个 TCP 流,你可能会看到访问 qige.io 时我们建立的连接有多个。请思考为什么会有多个连接?作用是什么?
多个连接可以加快资源访问的速度,通过建立多个连接,可以实现实现多个用户进行访问,可以达到节省通道使用的作用。
2、我们上面提到了释放连接需要四次挥手,有时你可能会抓到只有三次挥手。原因是什么?
三次挥手是因为第二次和第三次合并了。如果对方收到本端FIN报文时,对方的接收通道就会关闭,此时,如果对方也没有数据发给本端,那么对方也会发送FIN给本端,用于关闭从对方到本端的连接,这时候就可能出现ACK和FIN合在一起的情况。

应用层

实作一:了解 DNS 解析

使用 ipconfig /flushdns 命令清除缓存,再使用 nslookup qige.io 命令进行解析,同时用 Wireshark 任意抓包
在这里插入图片描述
在这里插入图片描述
问题:

我们发出的 DNS 解析请求不止一个,思考一下是什么原因?
原因在于可能缓存中并没有这个地址,然后就会像根服务器发起请求,如果根服务器还没有这个地址,那么会继续像顶级服务器发起请求,直到获得对应的IP为止。

实作二:了解 HTTP 的请求和应答

1、打开浏览器访问 qige.io 网站,用 Wireshark 抓包
在这里插入图片描述

可以看到请求方式是GET

2、请求的头部字段及其意义

Accept:浏览器可接受的MIME类型。
Accept-Charset:浏览器可接受的字符集

Accept-Encoding:浏览器能够进行解码的数据编码方式
Authorization:授权信息,通常出现在对服务器发送的WWW-Authenticate头的应答中。

3、http状态码

1xx:表示消息
2xx:表示成功
3xx:表示重定向
4xx:表示请求错误,比如404
5xx600:表示服务器错误,经常使用javaweb编程的时候就会出现500错误

问题:

刷新一次 qige.io 网站的页面同时进行抓包,你会发现不少的 304 代码的应答,这是所请求的对象没有更改的意思,让浏览器使用本地缓存的内容即可。那么服务器为什么会回答 304 应答而不是常见的 200 应答?
200表示应答完全发给客户端,而因为有浏览器缓存,可以直接在浏览器缓存获取的内容,是不需要服务器进行回复。所有服务器回答304而不是常见的200应答

3、CPT实验

直接连接两台PC构建LAN

1、首先是创建两台PC,使用交叉线直连
在这里插入图片描述
2、配置两台PC的ip
在这里插入图片描述在这里插入图片描述
3、两台PC互相 ping
在这里插入图片描述

用交换机构建LAN

使用CPT构建如下LAN:
在这里插入图片描述
问题:

1、PC0 能否 ping 通 PC1、PC2、PC3 ?
PC0能够ping通PC1,但是PC0不能ping通PC2,也不能ping通PC3
2、PC3 能否 ping 通 PC0、PC1、PC2 ?为什么?
PC3能ping通PC2,但是不能够ping通PC0,PC1。因为PC3与PC2处于同一个子网(可以使用ip与子网掩码相与,得到的网络号是相同的),PC3和PC1、PC0不在同一个子网(ip与子网掩码相与以后得到的网络号不同).
3、将 4 台 PC 的掩码都改为 255.255.0.0 ,它们相互能 ping 通吗?为什么?
能够ping通,因为将子网掩码与ip想与得到192.168.0.0,他们都处于同一个子网,自然能够ping通.
4、使用二层交换机连接的网络需要配置网关吗?为什么?
不需要吧,因为他们通过子网内部通信,并不需要网关来对外发送信息.

试一试:

集线器 Hub 是工作在物理层的多接口设备,它与交换机的区别是什么?请在 CPT 软件中用 Hub 构建网络进行实际验证。
区别在于集线器Hub是工作在物理层,而交换机工作在数据链路层和物理层.

交换机接口地址列表

构建上述拓扑结构,并设置4台计算机处于一个子网

可能是构建好以后,他会自动发送信息,导致初始时MAC地址表不空,但是并不影响实验

PC0 ping PC1后得到:
在这里插入图片描述

仍然构建上图的拓扑结构,并配置各计算机的 IP 在同一个一个子网,使用工具栏中的放大镜点击某交换机如左边的 Switch3,选择 MAC Table,可以看到最初交换机的 MAC 表是空的,也即它不知道该怎样转发帧(那么它将如何处理?),用 PC0 访问(ping)PC1 后,再查看该交换机的 MAC 表,现在有相应的记录,请思考如何得来。
当它在MAC表中没有找到时,即它不知道该怎样转发帧,他就会以广播的形式将这个帧转发出去。
此时交换机中就有相应的记录,那么如何得来的?原理就是当主机PC0想要和主机PC1进行通信的时候,PC0想要知道PC1的MAC地址,那么交换机收到这个这个信息以后把主机PC0的MAC对应到MAC地址表里,与进入得端口匹配起来,然后转发该广播,主机PC1响应此广播包告诉主机PC0自己的MAC地址,交换机也同样纪录PC1的MAC地址与进入端口对应起来,MAC地址表就这样建立起来了。

路由器初步配置

配置完成如下:
在这里插入图片描述
尝试ping 192.168.1.3 192.168.3.2结果如下:
在这里插入图片描述

可见能够交通大学内的PC能够相互ping通,而交通大学的PC ping不通重庆大学的PC
因为没有配置路由表,交通大学的路由的路由表中没有记录重庆大学的路由,所以ping不同

静态路由

给交通大学的路由器添加静态路由配置如下:
在这里插入图片描述
给重庆大学的路由器添加静态路由如下:
在这里插入图片描述
然后交通大学和重庆大学的PC就能够ping通了:
在这里插入图片描述

动态路由RIP

清除静态路由后如下:
在这里插入图片描述
添加动态路由后如下:
在这里插入图片描述

至此交通大学和重庆大学就能ping通了:
在这里插入图片描述

动态路由OSPF

使用命令清除刚才添加的RIF路由:
在这里插入图片描述
使用如下命名给交通大学添加OSPF路由:

Router(config)#router rip
Router(config-router)#no network 192.168.1.0
Router(config-router)#no network 192.168.2.0
Router(config-router)#router ospf 1
Router(config-router)#network 192.168.1.0 0.0.0.255 area 0
Router(config-router)#network 192.168.2.0 0.0.0.255 area 0
Router(config-router)#^Z
Router#
%SYS-5-CONFIG_I: Configured from console by console
show ip route
Codes: C - connected, S - static, I - IGRP, R - RIP, M - mobile, B - BGP
       D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area
       N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2
       E1 - OSPF external type 1, E2 - OSPF external type 2, E - EGP
       i - IS-IS, L1 - IS-IS level-1, L2 - IS-IS level-2, ia - IS-IS inter area
       * - candidate default, U - per-user static route, o - ODR
       P - periodic downloaded static route

Gateway of last resort is not set

C    192.168.1.0/24 is directly connected, FastEthernet0/0
C    192.168.2.0/24 is directly connected, Serial0/2
R    192.168.3.0/24 [120/1] via 192.168.2.2, 00:02:11, Serial0/2

可以看见已经添加成功了!

使用如下命令给重庆大学添加路由:

Router(config-router)#router ospf 1
Router(config-router)#network 192.168.3.0 0.0.0.255 area 0
Router(config-router)#network 192.168.2.0 0.0.0.255 area 0
Router(config-router)#^Z
Router#
%SYS-5-CONFIG_I: Configured from console by console
show ip route
Codes: C - connected, S - static, I - IGRP, R - RIP, M - mobile, B - BGP
       D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area
       N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2
       E1 - OSPF external type 1, E2 - OSPF external type 2, E - EGP
       i - IS-IS, L1 - IS-IS level-1, L2 - IS-IS level-2, ia - IS-IS inter area
       * - candidate default, U - per-user static route, o - ODR
       P - periodic downloaded static route

Gateway of last resort is not set

C    192.168.2.0/24 is directly connected, Serial0/2
C    192.168.3.0/24 is directly connected, FastEthernet0/0

Router#
00:39:25: %OSPF-5-ADJCHG: Process 1, Nbr 192.168.2.1 on Serial0/2 from LOADING to FULL, Loading Done

交通大学和重庆大学又能ping通了:
在这里插入图片描述

基于端口的网络地址翻译PAT

重新设置交通大学PC和路由器如下:
在这里插入图片描述

Router>enable
Router#
Router#configure terminal
Enter configuration commands, one per line.  End with CNTL/Z.
Router(config)#interface FastEthernet0/0
Router(config-if)#ip address 192.168.1.1 255.255.255.0
Router(config-if)#
Router(config-if)#exit
Router(config)#interface Serial0/2
Router(config-if)#ip address 202.202.240.1 255.255.255.0
Router(config-if)#
01:43:26: %OSPF-5-ADJCHG: Process 1, Nbr 192.168.3.1 on Serial0/2 from FULL to DOWN, Neighbor Down: Interface down or detached

Router(config-if)#exit
Router(config)#interface Serial0/2
Router(config-if)#clock rate 64000
This command applies only to DCE interfaces
Router(config-if)#router ospf 1
Router(config-router)#network 192.168.1.0 0.0.0.255 area 0
Router(config-router)#network 202.202.240.0 0.0.0.255 area 0
Router(config-router)#
01:47:51: %OSPF-5-ADJCHG: Process 1, Nbr 192.168.3.1 on Serial0/2 from LOADING to FULL, Loading Done

Router(config-router)#end
Router#configure terminal
Enter configuration commands, one per line.  End with CNTL/Z.
Router(config)#router rip
Router(config-router)#
%SYS-5-CONFIG_I: Configured from console by console

Router(config-router)#end
Router#configure terminal
Enter configuration commands, one per line.  End with CNTL/Z.
Router(config)#
Router(config)#
%SYS-5-CONFIG_I: Configured from console by console

Router(config)#interface Serial0/1
Router(config-if)#
Router(config-if)#exit
Router(config)#interface Serial0/2
Router(config-if)#

重新设置重庆大学PC和路由器如下:
在这里插入图片描述

Router>enable
Router#
Router#configure terminal
Enter configuration commands, one per line.  End with CNTL/Z.
Router(config)#interface FastEthernet0/0
Router(config-if)#
Router(config-if)#exit
Router(config)#interface FastEthernet0/1
Router(config-if)#
Router(config-if)#exit
Router(config)#interface FastEthernet0/0
Router(config-if)#ip address 8.8.8.1 255.255.255.0
Router(config-if)#
Router(config-if)#exit
Router(config)#interface Serial0/2
Router(config-if)#ip address 202.202.240.2 255.255.255.0
Router(config-if)#
01:44:04: %OSPF-5-ADJCHG: Process 1, Nbr 192.168.2.1 on Serial0/2 from FULL to DOWN, Neighbor Down: Interface down or detached
ip address 202.202.240.2 255.255.255.0
Router(config-if)#router ospf 1
Router(config-router)#network 202.202.240.0 0.0.0.255 area 0
Router(config-router)#
01:47:54: %OSPF-5-ADJCHG: Process 1, Nbr 192.168.2.1 on Serial0/2 from LOADING to FULL, Loading Done

Router(config-router)#network 8.8.8.0 0.0.0.255 area 0

然后交通大学和重庆大学的电脑可以互通了:
在这里插入图片描述
交通大学路由器PAT设配置:

Router(config)#access-list 1 permit 192.168.1.0 0.0.0.255
Router(config)#ip nat inside source list 1 interface s0/0 overload
Router(config)#int f0/0
Router(config-if)#ip nat inside
Router(config-if)#int s0/0
Router(config-if)#ip nat outside

现在交通大学和重庆大学可以ping通:
在这里插入图片描述

虚拟局域网VLAN

构建虚拟局域网如下图所示:

交换机VLAN配置:

Switch(config)#vlan 10
Switch(config-vlan)#name computer
Switch(config-vlan)#exit
Switch(config)#int vlan 10
Switch(config-if)#
%LINK-5-CHANGED: Interface Vlan10, changed state to up
ip address 192.168.0.1 255.255.255.0
Switch(config-if)#ip address 192.168.0.1 255.255.255.0
Switch(config-if)#exit
Switch(config)#vlan 20
Switch(config-vlan)#name communication
Switch(config-vlan)#exit
Switch(config)#int vlan 20
Switch(config-if)#
%LINK-5-CHANGED: Interface Vlan20, changed state to up

Switch(config-if)#ip addr 192.168.1.1 255.255.255.0
Switch(config-if)#exit
Switch(config)#vlan 30
Switch(config-vlan)#name electronic
Switch(config-vlan)#exit
Switch(config)#int vlan 30
Switch(config-if)#
%LINK-5-CHANGED: Interface Vlan30, changed state to up

Switch(config-if)#ip add 192.168.2.1 255.255.255.0
Switch(config-if)#exit
Switch(config)#int range f0/1-8
Switch(config-if-range)#swi
Switch(config-if-range)#switchport mode access
Switch(config-if-range)#wi
Switch(config-if-range)#swi
Switch(config-if-range)#switchport access vlan 10
Switch(config-if-range)#
%LINEPROTO-5-UPDOWN: Line protocol on Interface Vlan10, changed state to up

Switch(config-if-range)#exit
Switch(config)#int range f0/9-16
Switch(config-if-range)#swi
Switch(config-if-range)#switchport mode access
Switch(config-if-range)#swi
Switch(config-if-range)#switchport access vlan 20
Switch(config-if-range)#exit
Switch(config)#int range f0/17-24
Switch(config-if-range)#swi
Switch(config-if-range)#switchport mode access
Switch(config-if-range)#swi
Switch(config-if-range)#switchport access vlan 30
Switch(config-if-range)#^Z
Switch#
%SYS-5-CONFIG_I: Configured from console by console
show vlan

VLAN Name                             Status    Ports
---- -------------------------------- --------- -------------------------------
1    default                          active    Gig0/1, Gig0/2
10   computer                         active    Fa0/1, Fa0/2, Fa0/3, Fa0/4
                                                Fa0/5, Fa0/6, Fa0/7, Fa0/8
20   communication                    active    Fa0/9, Fa0/10, Fa0/11, Fa0/12
                                                Fa0/13, Fa0/14, Fa0/15, Fa0/16
30   electronic                       active    Fa0/17, Fa0/18, Fa0/19, Fa0/20
                                                Fa0/21, Fa0/22, Fa0/23, Fa0/24
1002 fddi-default                     active    
1003 token-ring-default               active    
1004 fddinet-default                  active    
1005 trnet-default                    active    

VLAN Type  SAID       MTU   Parent RingNo BridgeNo Stp  BrdgMode Trans1 Trans2
---- ----- ---------- ----- ------ ------ -------- ---- -------- ------ ------
1    enet  100001     1500  -      -      -        -    -        0      0
10   enet  100010     1500  -      -      -        -    -        0      0
20   enet  100020     1500  -      -      -        -    -        0      0
30   enet  100030     1500  -      -      -        -    -        0      0
1002 fddi  101002     1500  -      -      -        -    -        0      0   
 --More-- 

PC0 ping PC1、PC2结果如下:
在这里插入图片描述

可以发现PC0 ping PC1能够 ping通,但是PC0 ping PC2是请求超时
PC0 ping PC1、PC2结果如下:

PC2 ping PC5、PC6结果如下:
在这里插入图片描述

可以看见同一个VLAN是能够ping通的

思考

分析一下当前为何不同 VLAN 中的 PC 不能通信?网关在此起什么作用?我们的网关又在何处?如何发起广播测试?
因为划分了VALN,那么同一个VLAN的端口可以直接进行通信,但是不同VALN的端口得需借助路由器进行通信,所以不同VLAN中的PC不能通信。
网关在这其中应该是作为每个VLAN通信的出入口。
网关在路由器的位置。
广播只能在一个VLAN中进行,VLAN的作用就是隔离广播,避免广播风暴。

虚拟局域网管理 VTP

构建VTP拓扑结构如下:
在这里插入图片描述

3560 VTP Server 配置:

Switch#conf t
Enter configuration commands, one per line.  End with CNTL/Z.
Switch(config)#hostname 3560
3560(config)#vtp domain cqjtu
Changing VTP domain name from NULL to cqjtu
3560(config)#vtp mode server
Device mode already VTP SERVER.
3560(config)#vlan 2
3560(config-vlan)#name computer
3560(config-vlan)#exit
3560(config)#vlan 3
3560(config-vlan)#name communication
3560(config-vlan)#exit
3560(config)#int vlan 2
3560(config-if)#
%LINK-5-CHANGED: Interface Vlan2, changed state to up

3560(config-if)#ip address 192.168.1.1 255.255.255.0
3560(config-if)#exit
3560(config)#int vlan 3
3560(config-if)#
%LINK-5-CHANGED: Interface Vlan3, changed state to up

3560(config-if)#ip address 192.168.2.1
% Incomplete command.
3560(config-if)#ip address 192.168.2.1 255.255.255.0

2960A(左边) VTP Client 配置:

Switch>en
Switch#conf t
Enter configuration commands, one per line.  End with CNTL/Z.
Switch(config)#hostname 2960A
2960A(config)#vtp domain cqjtu
Changing VTP domain name from NULL to cqjtu
2960A(config)#vtp mode client
Setting device to VTP CLIENT mode.
2960A(config)#int g0/1
2960A(config-if)#swi
2960A(config-if)#switchport mode trunk
2960A(config-if)#swi
2960A(config-if)#switchport trunk allowed vlan all
2960A(config-if)#exit
2960A(config)#int f0/1
2960A(config-if)#swi
2960A(config-if)#switchport mode access
2960A(config-if)#swi
2960A(config-if)#switchport access vlan 2
2960A(config-if)#exit
2960A(config)#int f0/2
2960A(config-if)#swi
2960A(config-if)#switchport mode access
2960A(config-if)#swi
2960A(config-if)#switchport access vlan 3

2960B(右边) VTP Client 配置:

Switch>en
Switch#conf t
Enter configuration commands, one per line.  End with CNTL/Z.
Switch(config)#hostname 2960B
2960B(config)#vtp domain cqjtu
Changing VTP domain name from NULL to cqjtu
2960B(config)#vtp mode client
Setting device to VTP CLIENT mode.
2960B(config)#int g0/1
2960B(config-if)#swi
2960B(config-if)#switchport mode trunk
2960B(config-if)#swi
2960B(config-if)#switchport trunk allowed vlan all
2960B(config-if)#exit
2960B(config)#int f0/1
2960B(config-if)#swi
2960B(config-if)#switchport mode access
2960B(config-if)#swi
2960B(config-if)#switchport access vlan 2
2960B(config-if)#exit
2960B(config)#int f0/2
2960B(config-if)#swi
2960B(config-if)#switchport mode access
2960B(config-if)#swi
2960B(config-if)#switchport access vlan 3

使用PC0 ping PC1、PC0 ping PC2结果如下:
![在这里插入图片描述](https://img-blog.csdnimg.cn/09a640a4224b4ded9c9cbc0fd62293ca.png

可以看见PC0不能ping通PC1,但是能够ping通PC2。为什么?
因为PC0和PC1不在一个VLAN,而PC0和PC2在一个VLAN中。而目前我们不能在VLAN之间通信。

VLAN之间的通信

3560 交换机配置:

3560>en
3560#conf t
Enter configuration commands, one per line.  End with CNTL/Z.
3560(config)#int g0/1
3560(config-if)#swi
3560(config-if)#switchport trunk encapsulation dot1q
3560(config-if)#swi
3560(config-if)#switchport mode trunk
3560(config-if)#swi
3560(config-if)#switchport trunk allowed vlan all
3560(config-if)#exit
3560(config)#int g0/2
3560(config-if)#swi
3560(config-if)#switchport trunk encapsulation dot1q
3560(config-if)#si
3560(config-if)#swi
3560(config-if)#switchport mode trunk
3560(config-if)#swi
3560(config-if)#switchport trunk allowed vlan all
3560(config-if)#exit
3560(config)#ip routing

使用PC0 ping PC1、PC0 ping PC2结果如下:
在这里插入图片描述

可以发现PC之间能够正常通信了,PC0能够ping通PC1,PC0也能够ping通PC2。即VLAN之间可以实现通信了!

DHCP、DNS及Web服务器简单配置

1、设置Server相关属性
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
2、设置两台PC DHCP
在这里插入图片描述
3、访问谷歌or百度
在这里插入图片描述

WLAN初步配置

PC0配置如下:
在这里插入图片描述

记得开机!

笔记本配置如下:
在这里插入图片描述

记得开机!

然后使用PC0去ping 笔记本得如下结果:
在这里插入图片描述

总结

本次计算机网络三次实验让我受益匪浅,王勇老师上课生动的讲解也是让我对计算机网络产生浓厚的兴趣。特别是实验3,让我实际的感受到了我们日常使用的网络如何工作?原理是什么。跟着棋歌教学网上的教程一步一步走,开始的时候,软件使用不熟悉,经常犯错导致写完实验3将近耗费了一整天的时间。做的过程中也会碰到很多不会的,在经过上网搜索不断查找资料,总算是把三个实验给完成了。
总的来说,这三个计算机网络实验,让我收获非常之多!

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值