CiscoPacketTracer初探-计算机网络实验教程-实验三_思科集线器实验-程序员宅基地

技术标签: 网络  http  计算机网络学习笔记  网络协议  

CiscoPacketTracer初探-计算机网络实验教程-实验三

Computer Science Class1 GuoYiXuan 2021/12/25


计算机网络学习笔记系列
计算机网络实验教程-实验一:计算机网络概念初探.
计算机网络实验教程-实验二:ProtocolDataUnit初探.
计算机网络实验教程-实验三:CiscoPacketTracer初探.


写在前面

前两篇博客从计算机网络的名词概念入手,使用命令行窗口探究了常见的计算机网络相关命令,再到用Wireshark进行抓包实验,对PDU *ProtocolDataUnit* 进行了细致的分析。这篇博客,我将会使用CPT *CiscoPacketTracer* 将计算机网络的七层结构联系起来,从真实的案例出发,探究计算机网络的行为的执行步骤

还有,觉得文章写的不错的话,可以给我一个小小的赞!也可以在评论区给给予我指点!你小小的动作将会成为我程序员路上极大的鼓励



一、准备阶段

1.实验软件准备

Cisco Packet Tracer

  • CPT系列视频 https://www.bilibili.com/video/av33482059/
  • CPT实验教程 https://blog.csdn.net/Al_assad/article/details/70255987

2.实验相关概念准备

VLSM VariableLengthSubnetMask
变长子网掩码:子网划分的网络中的不同部分使用不同的子网掩码,总而言之就是为了解决子网划分的问题。

CIDR ClasslessInterDomainRouting
无类域间路由:无类别域间路由是基于可变长子网掩码(VLSM)来进行任意长度的前缀的分配的,总而

总而言之:CIDR : netmask 缩短 VLSM: netmask 增长

RIP RoutingInformationProtocol
路由信息协议:它使用跳数(Hop Count)作为度量来衡量到达目的网络的距离。RIP通过UDP报文进行路由信息的交换,使用的端口号为520。

OSPF OpenShortestPathFirst
开放的最短路径有限协议:也就是Dijkstra算法在路由的实现

VLAN VirtualLocalAreaNetwork
虚拟局域网:将一个物理的LAN在逻辑上划分成为多个广播域

STP SpanningTreeProtocol
生成树协议:组网时候难免手抖组成环路或者冗余链路,为了避免现成广播风暴,我们把这个环路剪裁成为树形拓扑

NAT NetworkAdressTranslation
网络地址转换:本质上就是在不同的地方使用相同的IP地址集合,众所周知,要上网必须要有IP,那我的虚拟机总不可能再让运营商分配一个宝贵的IP吧

DHCP DynamicHostConfigurationProtocol
动态主机配置协议:用于内部网或网络服务提供商自动分配IP地址给用户


二、实战阶段

说在前面

关于在CPT中的连线

直通线(标准568B):两端线序一样,从左至右线序是:白橙,橙,白绿,蓝,白蓝,绿,白棕,棕。
交叉线(标准568A):一端为正线的线序,另一端为从左至右:白绿,绿,白橙,蓝,白蓝,橙,白棕,棕。
简单来说:同类型的设备用交叉线,不同类型的用直通线。这个想一想就很清楚了吧。
当然在CPT中可以用闪电图标来自动选择线的类型,甚至,它还可以帮你选择接口(当然,我也不保证是最好的)

总结连接两台PC构建LAN

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

用交换机构建LAN

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

问题
1.PC0 能否 ping 通 PC1、PC2、PC3 ?
可以Ping通PC1,但是不能Ping通PC2和PC3。很明显,PC0和PC1的网络号为192.168.1.0,而PC1和
PC2的网络号为192.168.1.0,不属于同一个子网,使用内网IP很显然是Ping不通的

在这里插入图片描述

2.PC3 能否 ping 通 PC0、PC1、PC2 ?为什么?
同理, 可以Ping通PC2,但是不能Ping通PC0和PC1。
3.将 4 台 PC 的掩码都改为 255.255.0.0 ,它们相互能 ping 通吗?为什么?
可以,更改后它们都处于192.169.0.0这个网络了,当然Ping的通。

在这里插入图片描述

4.使用二层交换机连接的网络需要配置网关吗?为什么?
这个问题问的很巧妙,需要配置网关吗?很显然没有网关肯定是不能工作的,那我们看道东二层交换机连的PC有没有网关配置呢,有,且默认的是0.0.0.0,也就是说,而且经过实验可以看出来,把网关设置成为192.168.0.254也能实现

想一想
集线器 Hub 是工作在物理层的多接口设备,它与交换机的区别是什么?请在 CPT 软件中用 Hub 构建网络进行实际验证。
打一个简单的比喻:集线器就是个大喇叭,交换机就是接线员
进行以下配置:
PC4:192.168.0.1/24
PC5:192.168.0.2/24
PC6:192.168.0.3/24
PC1:192.168.0.1/24
PC2:192.168.0.2/24
PC3:192.168.0.3/24
在这里插入图片描述

用最左边的机器给最右边的机器发送一个简单的ICMP

在这里插入图片描述

第一次的arp
在这里插入图片描述
在这里插入图片描述

因为交换机已经记录过最左边的MAC和端口了,所以直接点对点发送,而集线器都是采用广播的方式
虽然集线器的那个网络看起来像网装,实际上还是总线型的在这里插入图片描述

得到目的MAC后的ICMP包
在这里插入图片描述

交换机接口地址列表

回到上面的交换机构建的LAN网络
在这里插入图片描述

重置该网络,二层交换机0会自动获得三层交换机0的MAC地址
二层交换机0的路由表
在这里插入图片描述
用PC0发一个简单的ICMP包到PC1
二层交换机0的路由表
在这里插入图片描述
具体的过程:可以看到,先ARP成功了再发的ICMP
在这里插入图片描述
可以看到,PC0在给PC1发送一个简单ICMP包,二层路由器0的MAC表上新增加了两个MAC地址分别属于PC0和PC1,且在第一次接到包时就会自主学习到。

生成树协议(SpanningTreeProtocol)

上一章讲到,搭建网络的时候难免手抖多接了线,那形成广播风暴就在所难免了,为了解决这一问题,还是得从根出发,也就是再交换机

用四个二层交换机构成以下网络
在这里插入图片描述
使用STP生成树协议保证交换机不会出现回路
在这里插入图片描述

可以看到:交换机6和交换机7,交换机7和交换机9的连接线上有两个橙色的点,表明它们物理上是连接着的,而逻辑上是没有连接的。

假设狂徒张三出现,三天没吃饭的他,用嘴吧交换机7和交换机8之间的连接咬断了
在这里插入图片描述
神奇的事情发生了,交换机7和交换机9之间的逻辑连接又被建立起来了

路由器配置初步

建立以下的网络
在这里插入图片描述
说明一
小陈家与小粉红家显然是两个不同的子网。在不同子网间通信需通过路由器。
路由器的每个接口下至少是一个子网,图中我们简单的规划了 3 个子网:
左边路由器是小陈家的,其下使用交换机连接小陈家的网络,分配网络号 192.168.1.0/24,该路由器接口也是小陈家网络的网关,分配 IP 为 192.168.1.1
右边路由器是小粉红家的,其下使用交换机连接小粉红家的网络,分配网络号 192.168.3.0/24,该路由器接口也是小粉红家网络的网关,分配 IP 为 192.168.3.1
两个路由器之间使用广域网接口相连,也是一个子网,分配网络号 192.168.2.0/24
说明二
现实中,小陈家和小粉红家的连接是远程的。该连接要么通过路由器的光纤接口,要么通过广域网接口即所谓的 serial 口(如拓扑图所示)进行,一般不会通过双绞线连接(为什么?)

这里我就要装个逼了,serial口,英语叫序列口,准确来说叫串口,是远距离连接使用的,还记得双绞线的最大传输距离吗?那无法逾越的100米。
那答案显而易见了,用serial接口线可以跨越这100米的最大距离,现在多用光纤

下面我们以通过路由器的广域网口连接为例来进行相关配置。请注意:我们选用的路由器默认没有广域网模块(名称为 WIC-1T 等),需要关闭路由器后添加,然后再开机启动。
说明三
在模拟的广域网连接中需注意 DCE 和 DTE 端(连线时线路上有提示,带一个时钟标志的是 DCE 端。有关 DCE 和 DTE 的概念请查阅相关资料。),在 DCE 端需配置时钟频率 64000
说明四
路由器有多种命令行配置模式,每种模式对应不同的提示符及相应的权限。
请留意在正确的模式下输入配置相关的命令。
User mode:用户模式
Privileged mode:特权模式
Global configuration mode:全局配置模式
Interface mode:接口配置模式
Subinterface mode:子接口配置模式
说明五
在现实中,对新的路由器,显然不能远程进行配置,我们必须在现场通过笔记本的串口与路由器的 console 接口连接并进行初次的配置(注意设置比特率为9600)后,才能通过网络远程进行配置。这也是上图左上画出笔记本连接的用意。
说明六
在路由器的 CLI 界面中,可看到路由器刚启动成功后,因为无任何配置,将会提示是否进行对话配置(Would you like to enter the initial configuration dialog?),因其步骤繁多,请选择 NO
比如小陈家路由器的初步配置可以如下:

Router>en   // 从普通模式进入特权模式
Router#conf t   // 进入全局配置模式
Router(config)#interface FastEthernet0/0
Router(config-if)#ip address 192.168.1.1 255.255.255.0
Router(config-if)#no shutdown
Router(config-if)#exit
Router(config)#line vty 0 4 //可支持0-4共5个终端同时登录
Router(config-line)#password dswybs // 远程登录密码
Router(config-line)#login
Router(config-line)#exit
Router(config)#enable password dswybs // 特权模式密码
Router(config)#^Z  // 退出

最后的配置:

####################小陈家的长途口(广域网口)############################
Router>enable   // 从普通模式进入特权模式
Router#configure terminal   // 进入全局配置模式
Router(config)#interface f0/0   // 进入配置以太网口模式
Router(config-if)#ip address 192.168.1.1 255.255.255.0   // 配置该接口的 IP
Router(config-if)#no shutdown   // 激活接口
Router(config-if)#^z   // 直接退到特权模式
Router#
######################小陈家的内网口(局域网口)###########################
Router>en   // 从普通模式进入特权模式
Router#conf t   // 进入全局配置模式
Router(config)#int s0/0   // 进入配置广域网口模式
Router(config-if)#ip address 192.168.2.1 255.255.255.0   //配置该接口的 IP
Router(config-if)#clock rate 64000    // 其为 DCE 端,配置时钟频率,带钟的那个是DCE我这里是DTE不需要配这个,要配也没有
Router(config-if)#no shutdown   // 激活接口
Router(config-if)#^z   // 直接退到特权模式
Router#
#####################小粉红家的长途口(广域网口)############################
Router>en   // 从普通模式进入特权模式
Router#conf t   // 进入全局配置模式
Router(config)#int f0/0   // 进入配置以太网口模式
Router(config-if)#ip address 192.168.3.1 255.255.255.0   // 配置该接口的 IP
Router(config-if)#no shutdown   // 激活接口
Router(config-if)#^z   // 直接退到特权模式
Router#
######################小粉红家的内网口(局域网口)###########################
Router>en   // 从普通模式进入特权模式
Router#conf t   // 进入全局配置模式
Router(config)#int s0/0   // 进入配置广域网口模式
Router(config-if)#ip address 192.168.2.2 255.255.255.0   //配置该接口的 IP
Router(config-if)#no shutdown   // 激活接口
Router(config-if)#^z   // 直接退到特权模式
Router#
########################################################

按图示将各PC的IP子网掩码和网关配好

小陈卧室Ping家里的路由器成功!
在这里插入图片描述

小陈Ping爹妈的屋成功!
在这里插入图片描述
这里没有发送ARP的原因?因为自动填入了爹妈家电脑的MAC地址,如果Ping的话还是要先发送ARP的

直接发送ICMP和Ping(这里应该是模拟系统设定就是这样的)

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

那么问题来了,小陈最佳迷恋上了小粉红,可是他是一个腼腆的男孩,他想通过网络向她表白,他从18+网站上拿到的小粉红的IP,于是他兴高采烈想通过某某端口向她表白,可是现在他发现连Ping都Ping不通,我们来帮他找找原因
在这里插入图片描述
在这里插入图片描述

小陈慌了,他试图去Ping小粉红家的网关,可是,他连自家网关都出不去!"老陈!!!咱家网咋回事?"

在这里插入图片描述
路由器之间互相Ping没问题啊,那问题就出在路由上了!机智如你!欲知后事如何,请看下集

静态路由

小陈现在可是班上的学霸,虽然刚刚开始学计算机网络,但是触类旁通,很快就意识到,他把他想做那个路由器,“欸,我怎么知道那个要去192.168.2.2的包是要我从发送给小粉红家的那个序列化接口的,我只记得我的端口的IP,那是小粉红的端口IP,与我无瓜”,那我得想办法让路由器记住,去往192.168.3.1/24这里最后一个点分十进制数是不是可以是0-255?的路要走192.168.2.2,这不就行了

Router>en   // 从普通模式进入特权模式
Router#conf t   // 进入全局配置模式
Router(config)#ip route 192.168.3.0 255.255.255.0 192.168.2.2   // 告诉小陈家路由器到 192.168.3.0 这个网络的下一跳是 192.168.2.2
Router(config)#exit   //退到特权模式
Router#show ip route    //查看路由表
#######################################################################
Router>en   // 从普通模式进入特权模式
Router#conf t   // 进入全局配置模式
Router(config)#ip route 192.168.3.0 255.255.255.0 192.168.2.2   // 告诉小粉红家路由器到 192.168.3.0 这个网络的下一跳是 192.168.2.2
Router(config)#exit   //退到特权模式
Router#show ip route    //查看路由表

在这里插入图片描述

终于连上了,珍惜这份缘分,让我们恭喜小陈和小粉红!

注意
我们的拓扑只模拟了 3 个网络。在现实中,路由器连接的网络数量非常多,我们还需要配置一条缺省路由,否则其它网络皆不能到达!当然,我们的拓扑可以不考虑。
Router(config)#ip route 0.0.0.0 0.0.0.0 ... // 缺省全部转发给 ... 这个IP

动态路由RIP(RoutingInformationProtocol)

先上干货:动态路由协议采用自适应路由算法,能够根据网络拓扑的变化而重新计算机最佳路由。
RIP 的全称是 Routing Information Protocol,是距离矢量路由的代表(目前虽然淘汰,但可作为我们学习的对象)。使用 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 命令把刚才配置的静态路由命令给取消。

Router>en   // 从普通模式进入特权模式
Router#conf t   // 进入全局配置模式
Router(config)#router rip   // 启用 RIP 路由协议,注意是 router 命令
Router(config-router)#network 192.168.1.0   // 网络 192.168.1.0 与我直连
Router(config-router)#network 192.168.2.0   // 网络 192.168.2.0 与我直连
Router(config-router)#^z   //直接退到特权模式
Router#show ip route    //查看路由表
#########################################################################
Router>en   // 从普通模式进入特权模式
Router#conf t   // 进入全局配置模式
Router(config)#router rip   // 启用RIP路由协议,注意是 router 命令
Router(config-router)#network 192.168.3.0   // 网络 192.168.3.0 与我直连
Router(config-router)#network 192.168.2.0   // 网络 192.168.2.0 与我直连
Router(config-router)#^z   //直接退到特权模式
Router#show ip route    //查看路由表

没什么好说的,实验以下就知道了

如果在开启 debug ip rig,就会看到此时会看到路由器之间不停发送的距离矢量信息,以判断网络状态是否发生改变从而更新路由表。该命令会不停的显示相关信息,打扰我们的输入,可使用 no debug ip rip 关闭 RIP 诊断在这里插入图片描述

动态路由OSPF

上一篇博客提到过,OSPF,O是Open,开源的好东西!OpenShortestPathFirst是一个内部网关协议(Interior Gateway Protocol,简称 IGP), 用于在单一自治系统(Autonomous System,AS)内决策路由。OSPF 性能优于 RIP,是当前域内路由广泛使用的路由协议。简单来说,RIP是能用,这个是好用(最优!)

第一步,先清掉RIP,二选一:1.重启 2.用no router rip

Router>en   // 从普通模式进入特权模式
Router#conf t   // 进入全局配置模式
Router(config)#router ospf 1   // 启用 OSPF 路由协议,进程号为1(可暂不理会进程号概念)
Router(config-router)#network 192.168.1.0 0.0.0.255 area 0   // 自治域0中的属于 192.168.1.0/24 网络的所有主机(反向掩码)参与 OSPF
Router(config-router)#network 192.168.2.0 0.0.0.255 area 0   // 自治域0中的属于 192.168.2.0/24 网络的所有主机(反向掩码)参与 OSPF
Router(config-router)#^z   //直接退到特权模式
Router#show ip route    //查看路由表
################################################################################
Router>en   // 从普通模式进入特权模式
Router#conf t   // 进入全局配置模式
Router(config)#router ospf 1   // 启用 OSPF 路由协议,进程号为1
Router(config-router)#network 192.168.3.0 0.0.0.255 area 0   // 自治域0中的属于 192.168.3.0/24 网络的所有主机(反向掩码)参与 OSPF
Router(config-router)#network 192.168.2.0 0.0.0.255 area 0   // 自治域0中的属于 192.168.2.0/24 网络的所有主机(反向掩码)参与 OSPF
Router(config-router)#^z   //直接退到特权模式
Router#show ip route    //查看路由表

和RIP一样,可以在特权模式下使用 debug ip ospf events 开启 OSPF 诊断(no debug ip ospf events 关闭诊断), 可看到路由器之间发送的 Hello 信息用以诊断当前的链路是否发生改变以便进行路由调整(事件触发而非定时更新!)。

补充内容:反向掩码
我们常见的子网掩码是所谓的正向掩码,用连续的 1 和 0 来表示,其中 1 表示需精确匹配, 0 则无需,以此得到网络号。
类似的,反向掩码也使用连续的 1 和 0 来表示,但相反,其中 0 表示需精确匹配, 1 则无需,以此得到相关的 IP,主要用于 OSPF 中。
总结一句话:OSPF反着来,网络号正着来
掩码/反掩码/通配符
https://zhidao.baidu.com/question/1801513609594810827.html

*网络中根本不存在反掩码一说* 反掩码是中国的一帮傻逼网络人员,根本没有理解清楚,自己造出的一个概念!这个错误的概念还非常的流行,无论学校的教学,教材还是网络中! 你自己不想想,如果仅仅是掩码 反过来写,有必要麻烦你人工反着写一次吗,计算机直接就反了。 事实上只存在 掩码(mask )和 通配符(wildcard-mask)!!!!掩码必须是连续的1,而通配符是0 和 1 是任意的,0代表严格匹配,1表示任意(就这么定义的,这个定义的好处,还可以和掩码区分开来)。 在特殊情况下,通配符刚好 是掩码反过来写,所以大家误以为,通配符就是 反掩码!!!! 像0.0.0.255,这样的通配符,反过来有对应的掩码,但0.1.0.255 这个通配符,反过来有对应的掩码吗? 还有一个通配符掩码,也采用与反向掩码相似的规则,主要用于访问控制列表 ACL 中。

可构造稍微复杂的拓扑(有更多的路由器即更多的路径),查看其路由表的生成,并且故意 down 下某接口以模拟路由器接口出现问题,或者剪掉路由器之间的连线以模拟网络连线出现故障等,从而更直观的看看路由自动的动态改变。
大无语事件!老王偷偷接入一根线到网络中了,并且路由器配置了OSPF协议
在这里插入图片描述

老王家和小陈家的路由器路由表
在这里插入图片描述
在这里插入图片描述
正义的你出场了,你把老王家的端口down了
老王家
在这里插入图片描述
小陈家
在这里插入图片描述
路由器做出了自动调整!

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

先上干货

网络地址转换(NAT,Network Address Translation)被各个 Internet 服务商即 ISP 广泛应用于它们的网络中,也包括 WiFi 网络。 原因很简单,NAT 不仅完美地解决了 lP 地址不足的问题,而且还能够有效地避免来自网络外部的攻击,隐藏并保护网络内部的计算机。

NAT 的实现方式一般有三种:

  • 静态转换: Static NAT
  • 动态转换: Dynamic NAT
  • 端口多路复用: OverLoad

端口多路复用使用最多也最灵活。OverLoad 是指不仅改变发向 Internet 数据包的源 IP 地址,同时还改变其源端口,即进行了端口地址转换(PAT,Port Address Translation)。
采用端口多路复用方式,内部网络的所有主机均可共享一个合法外部 IP 地址实现对 Internet 的访问,从而可以最大限度地节约IP地址资源。 同时,又可隐藏网络内部的所有主机,有效避免来自 Internet 的攻击。因此,目前网络中应用最多的就是端口多路复用方式。

先对网络进行如下配置
在这里插入图片描述
设置规则让192.168.1.0网络包都拒绝

Router>en   // 从普通模式进入特权模式
Router#conf t   // 进入全局配置模式
Router(config)#access-list 1 deny 192.168.1.0 0.0.0.255  // 创建 ACL 1,丢弃/不转发来自 192.168.1.0/24 网络的所有包
Router(config)#access-list 1 permit any  // 添加 ACL 1 的规则,转发其它所有网络的包
Router(config)#int s0/0   // 配置广域网口
Router(config-if)#ip access-group 1 in  // 在广域网口上对进来的包实施 ACL 1 中的规则,实际就是广域网口如果收到来自 192.168.1.0/24 IP的包即丢弃

在这里插入图片描述
这时候就要有人说完了,小粉红不爱了,要和小陈绝交了,接下来男同胞就要学好了,大号被女神拉黑了不要怕,开个小号继续“骚扰”(NAT)

// 从普通模式进入特权模式
Router#conf t   // 进入全局配置模式
Router(config)#access-list 1 permit 192.168.1.0 0.0.0.255  // 创建 ACL 1,允许来自 192.168.1.0/24 网络的所有包
Router(config)#ip nat inside source list 1 interface s0/0 overload  // 来自于 ACL 中的 IP 将在广域网口实施 PAT
Router(config)#int f0/0   // 配置以太网口
Router(config-if)#ip nat inside   // 配置以太网口为 PAT 的内部
Router(config)#int s0/0   // 配置广域网口
Router(config-if)#ip nat outside   // 配置广域网口为 PAT 的外部

这样,小粉红就可以被Ping动了,你也可以再路由器里用 show ip nat translations看到你变成了谁

虚拟局域网VLAN

VLAN(Virtual Local Area Network)即虚拟局域网。通过划分 VLAN,我们可以把一个物理网络划分为多个逻辑网段即多个子网。
划分 VLAN 后可以杜绝网络广播风暴,增强网络的安全性,便于进行统一管理等。

在这里插入图片描述
分析一下当前为何不同 VLAN 中的 PC 不能通信?网关在此起什么作用?我们的网关又在何处?如何发起广播测试?

答案就在题干中,不同的VLAN属于不同网络号不同,而交换机起到的作用是在局域网内进行交互,所以不同的局域网之间不能通信。但是话有说回来,2960是二层交换机,它设置连IP都看不到,那前面我就说错了,交换机只要记得端口号和MAC的对应关系,所以根据这个来分组,实现管理应该不难。从网络层看,这些跨LAN的请求都要经过网关,在有路由器的网络中,网关就是那个局域网端口的IP,那在这里,要不然存在于电脑里,要不然就需要三层设备来实现了。广播测试肯定是要三层设备引入才行,要不然就配一个能够发往各个VALN的LAN(如果交换机允许的话)
技术内容见此博客:https://blog.csdn.net/z429831417/article/details/50498072

虚拟局域网管理VTP

前一个实验我们在交换机上进行了 VLAN 的规划和划分。但在实际应用中,我们绝不允许在这些支持VLAN的交换机上进行随意的 VLAN 划分,如此将造成管理混乱!VLAN的划分必须得到统一的规划和管理,这就需要 VTP 协议。
VTP(VLAN Trunk Protocol)即 VLAN 中继协议。VTP 通过 ISL 帧或 Cisco 私有 DTP 帧(可查阅相关资料了解)保持 VLAN 配置统一性,也被称为虚拟局域网干道协议,它是思科私有协议。 VTP 统一管理、增加、删除、调整VLAN,自动地将信息向网络中其它的交换机广播。
此外,VTP 减小了那些可能导致安全问题的配置,只要在 VTP Server 做相应设置,VTP Client 会自动学习 VTP Server 上的 VLAN 信息。

总而言之,VTP是思科的私有协议,并且能够高效管理VLAN

进行如下设置

Switch>en
Switch#conf t
Switch(config)#hostname 2960A    // 更改交换机名称(可选)
2960A(config)#vtp domain cqjtu   // 加入名为 cqjtu 的 VTP 域
2960A(config)#vtp mode client    // 设置模式为 VTP 客户
2960A(config)#int g0/1    // 配置与核心交换机 3560 连接的 g0/1 千兆接口
2960A(config-if)#switchport mode trunk    // 设置该接口为中继(trunk)模式
2960A(config-if)#switchport trunk allowed vlan all  // 允许为所有的 VLAN 中继
2960A(config-if)#exit
2960A(config)#int f0/1    // 配置接口 1
2960A(config-if)#switchport mode access    // 设置该接口为正常访问模式
2960A(config-if)#switchport access vlan 2  // 将接口划分到 VLAN 2
2960A(config-if)#exit
2960A(config)#int f0/2    // 配置接口 2
2960A(config-if)#switchport mode access    // 设置该接口为正常访问模式
2960A(config-if)#switchport access vlan 3  // 将接口划分到 VLAN 3
Switch>en
Switch#conf t
#######################################################################
Switch(config)#hostname 2960B    // 更改交换机名称(可选)
2960B(config)#vtp domain cqjtu   // 加入名为 cqjtu 的 VTP 域
2960B(config)#vtp mode client    // 设置模式为 VTP 客户
2960B(config)#int g0/1    // 配置与核心交换机 3560 连接的 g0/1 千兆接口
2960B(config-if)#switchport mode trunk    // 设置该接口为中继(trunk)模式
2960B(config-if)#switchport trunk allowed vlan all  // 允许为所有的 VLAN 中继
2960B(config-if)#exit
2960B(config)#int f0/1    // 配置接口 1
2960B(config-if)#switchport mode access    // 设置该接口为正常访问模式
2960B(config-if)#switchport access vlan 2  // 将接口划分到 VLAN 2
2960B(config-if)#exit
2960B(config)#int f0/2    // 配置接口 2
2960B(config-if)#switchport mode access    // 设置该接口为正常访问模式
2960B(config-if)#switchport access vlan 3  // 将接口划分到 VLAN 3

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

PC0发送ICMP包给PC2
在这里插入图片描述

PC0 Ping PC1
在这里插入图片描述
Ping不通?原因很简单,vtp只是传输vlan的相关信息 不能传输vlan所属的端口信息 即不能认为交换机会学到vlan的编号 名称以及每个vlan所拥有的端口,在同一个域中的交换机共享他们的vlan的信息 并且一个交换机只能加入一个vtp域中 不同域中的交换机不能交换vtp信息. 域名为空则交换机不传送任何vtp通告。大概就是说:通过哦哦VTP消息,才能知道要去的地址在那个交换机上,才能送过去
参考:https://blog.csdn.net/weixin_30929195/article/details/96215642

VLAN之间的通信

VTP 只是给我们划分和管理 VLAN 提供了方便,由上面的测试得知,目前我们仍然不能在 VLAN 间通信。
因为默认的,VLAN 间是不允许进行通信,此时我们需要所谓的独臂路由器在 VLAN 间为其进行转发!
我们使用的核心交换机 3560 是个 3 层交换机,可工作在网络层,也称路由交换机,即具有路由功能,能进行这种转发操作。

进行如下配置

3560>en
3560#conf t
3560(config)#int g0/1    // 配置连接左边 2960A 交换机的接口
3560(config-if)#switchport trunk encapsulation dot1q    // 封装 VLAN 协议
3560(config-if)#switchport mode trunk     // 设置为中继模式
3560(config-if)#switchport trunk allowed vlan all     // 在所有 VLAN 间转发
3560(config-if)#exit
3560(config)#int g0/2    // 配置连接右边 2960B 交换机的接口
3560(config-if)#switchport trunk encapsulation dot1q    //封装 VLAN 协议
3560(config-if)#switchport mode trunk     // 设置为中继模式
3560(config-if)#switchport trunk allowed vlan all     // 在所有 VLAN 间转发
3560(config-if)#exit
3560(config)#ip routing    // 启用路由转发功能

现在再使用 PC0(192.168.1.2) ping PC1(192.168.2.2) 互相PIng都可以Ping通了
在这里插入图片描述
至此,各 VLAN 中的 PC 可以正常通信。

独(单)臂路由
所谓单臂路由(router-on-a-stick)是指在路由器的一个接口上通过配置子接口(或“逻辑接口”,并不存在真正物理接口)的方式,实现原来相互隔离的不同VLAN(虚拟局域网)之间的互联互通。
独臂路由的缺陷
当使用 CPT 的模拟方式进行上面的测试时( PC0 ping PC1),你会非常清楚的看到 ICMP 包全部都由 3560 交换机在转发,非常容易形成瓶颈。
现实中,我们一般不使用这种方式,而是真正使用其三层转发功能,即"一次路由多次交换",请查阅相关资料。

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

可以搭建这样的DHCP、DNS和Web服务器都在一台主机上的
在这里插入图片描述
也可以可以搭建这样的DHCP、DNS和Web服务器都在不同主机上的,这样更加能够理解清楚
在这里插入图片描述
配置都在上面的图片里,我就不赘述了
在这里插入图片描述
DHCP请求成功!
在这里插入图片描述
DNS正常工作!

WLAN初步配置

在这里插入图片描述

笔记本及台式机默认只有有线网卡,请先关机,在关机状态下删除有线网卡,添加无线网卡,然后再开机。


写在最后

到这里,我们计算机网络的学习就要告一段落了,虽然一路上跌跌撞撞,但是终归是学了很多新东西。只要有有收获,多花点时间又何妨呢?希望将来也能保持着这样一颗初心,矢志不渝的,好玩的写下去!

还有,觉得文章写的不错的话,可以给我一个小小的赞!也可以在评论区给给予我指点!你小小的动作将会成为我程序员路上极大的鼓励

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/GyxSingular/article/details/122168328

智能推荐

python编码问题之encode、decode、codecs模块_python中encode在什么模块-程序员宅基地

文章浏览阅读2.1k次。原文链接先说说编解码问题编码转换时,通常需要以unicode作为中间编码,即先将其他编码的字符串解码(decode)成unicode,再从unicode编码(encode)成另一种编码。 Eg:str1.decode('gb2312') #将gb2312编码的字符串转换成unicode编码str2.encode('gb2312') #将unicode编码..._python中encode在什么模块

Java数据流-程序员宅基地

文章浏览阅读949次,点赞21次,收藏15次。本文介绍了Java中的数据输入流(DataInputStream)和数据输出流(DataOutputStream)的使用方法。

ie浏览器无法兼容的问题汇总_ie 浏览器 newdate-程序员宅基地

文章浏览阅读111次。ie无法兼容_ie 浏览器 newdate

想用K8s,还得先会Docker吗?其实完全没必要-程序员宅基地

文章浏览阅读239次。这篇文章把 Docker 和 K8s 的关系给大家做了一个解答,希望还在迟疑自己现有的知识储备能不能直接学 K8s 的,赶紧行动起来,K8s 是典型的入门有点难,后面越用越香。

ADI中文手册获取方法_adi 如何查看数据手册-程序员宅基地

文章浏览阅读561次。ADI中文手册获取方法_adi 如何查看数据手册

React 分页-程序员宅基地

文章浏览阅读1k次,点赞4次,收藏3次。React 获取接口数据实现分页效果以拼多多接口为例实现思路加载前 加载动画加载后 判断有内容的时候 无内容的时候用到的知识点1、动画效果(用在加载前,加载之后就隐藏或关闭,用开关效果即可)2、axios请求3、map渲染页面4、分页插件(antd)代码实现import React, { Component } from 'react';//引入axiosimport axios from 'axios';//引入antd插件import { Pagination }_react 分页

随便推点

关于使用CryPtopp库进行RSA签名与验签的一些说明_cryptopp 签名-程序员宅基地

文章浏览阅读449次,点赞9次,收藏7次。这个变量与验签过程中的SignatureVerificationFilter::PUT_MESSAGE这个宏是对应的,SignatureVerificationFilter::PUT_MESSAGE,如果在签名过程中putMessage设置为true,则在验签过程中需要添加SignatureVerificationFilter::PUT_MESSAGE。项目中使用到了CryPtopp库进行RSA签名与验签,但是在使用过程中反复提示无效的数字签名。否则就会出现文章开头出现的数字签名无效。_cryptopp 签名

新闻稿的写作格式_新闻稿时间应该放在什么位置-程序员宅基地

文章浏览阅读848次。新闻稿是新闻从业者经常使用的一种文体,它的格式与内容都有着一定的规范。本文将从新闻稿的格式和范文两个方面进行介绍,以帮助读者更好地了解新闻稿的写作_新闻稿时间应该放在什么位置

Java中的转换器设计模式_java转换器模式-程序员宅基地

文章浏览阅读1.7k次。Java中的转换器设计模式 在这篇文章中,我们将讨论 Java / J2EE项目中最常用的 Converter Design Pattern。由于Java8 功能不仅提供了相应类型之间的通用双向转换方式,而且还提供了转换相同类型对象集合的常用方法,从而将样板代码减少到绝对最小值。我们使用Java8 功能编写了..._java转换器模式

应用k8s入门-程序员宅基地

文章浏览阅读150次。1,kubectl run创建pods[root@master ~]# kubectl run nginx-deploy --image=nginx:1.14-alpine --port=80 --replicas=1[root@master ~]# kubectl get podsNAME READY STATUS REST...

PAT菜鸡进化史_乙级_1003_1003 pat乙级 最优-程序员宅基地

文章浏览阅读128次。PAT菜鸡进化史_乙级_1003“答案正确”是自动判题系统给出的最令人欢喜的回复。本题属于 PAT 的“答案正确”大派送 —— 只要读入的字符串满足下列条件,系统就输出“答案正确”,否则输出“答案错误”。得到“答案正确”的条件是: 1. 字符串中必须仅有 P、 A、 T这三种字符,不可以包含其它字符; 2. 任意形如 xPATx 的字符串都可以获得“答案正确”,其中 x 或者是空字符串,或..._1003 pat乙级 最优

CH340与Android串口通信_340串口小板 安卓给安卓发指令-程序员宅基地

文章浏览阅读5.6k次。CH340与Android串口通信为何要将CH340的ATD+Eclipse上的安卓工程移植到AndroidStudio移植的具体步骤CH340串口通信驱动函数通信过程中重难点还存在的问题为何要将CH340的ATD+Eclipse上的安卓工程移植到AndroidStudio为了在这个工程基础上进行改动,验证串口的数据和配置串口的参数,我首先在Eclipse上配置了安卓开发环境,注意在配置环境是..._340串口小板 安卓给安卓发指令