摘要:
本文通过Cisco Packet Tracer实验,熟悉网络的一些协议与算法。通过构建网络拓扑结构,以及对网络的配置,得到了一些个人的思考与理解
文章目录
- 摘要:
- :sun_with_face: CPT软件简单使用
- :sun_with_face: 用交换机构建 LAN
- :sun_with_face: 交换机地址列表
- :sun_with_face: 生成树协议
- :sun_with_face: 路由配置初步
- :sun_with_face: 静态路由
- :sun_with_face: 动态路由RIP
- :sun_with_face: 动态路由OSPF
- :sun_with_face: 基于端口的网络地址翻译 PAT
- :sun_with_face: 虚拟局域网VLAN
- :sun_with_face: 虚拟局域网管理VTP
- :sun_with_face: DHCP、DNS及Web服务器简单配置
- :sun_with_face: 总结
- 参考:
🌞 CPT软件简单使用
加入主机和集线器:
配置网络:
拖动发消息:
先是简单的试下,接下来就是正式实验了。
🌞 用交换机构建 LAN
构建拓扑结构如下的局域网:
配置信息
机器名 | IP | 子网掩码 |
---|---|---|
主机0 | 192.168.1.1 | 255.255.255.0 |
主机1 | 192.168.1.2 | 255.255.255.0 |
主机2 | 192.168.2.1 | 255.255.255.0 |
主机3 | 192.168.2.2 | 255.255.255.0 |
主机0 ping 主机1
可以看到ping通
再由主机1 ping 主机3
可以看到没有ping通;
同样的操作实验,得到
主机0可以ping通主机1,ping不同主机2、3
主机2可以ping通主机3,ping不同主机0、1
✍️ 原因就是主机0,1是在一子网下,主机2,3是在另一个子网下。在同一子网下的主机可以相互ping同而在不同子网下的主机就无法ping通。
如果改子网掩码都为255.255.0.0,那么这些主机都会位于同一子网下,再次实验:
依次操作,可以返现可以ping通了。证明上面的想法是对的。
集线器 Hub 是工作在物理层的多接口设备,它与交换机的区别是什么?请在 CPT 软件中用 Hub 构建网络进行实际验证。
验证方式:通过simulation
个人理解,集线器Hub相当于就是把端口连接起来的设备,并没有任何别的功能。当接收到了帧之后就广播出去;
但是交换机就不同,它可以看成多端口的网桥,网桥具有转发帧,过滤帧,转换帧格式等功能。端口接收到帧后,查询地址列表,如果同端口就丢弃,不同端口就转发,找不到就广播
如下,对三台主机分别配置网址和掩码和网关,分别在集线器连接和交换机连接尝试。得到,集线器在任何时候都会广播出去,而交换机则可以实现找到端口发送。在第一次交换机还没有构建地址表时和集线器一样都是采用广播方式。
🌞 交换机地址列表
初始时,看到交换机MAC表为空
但是,当PC0ping完PC1时查看MAC Table发现存的有东西了
✍️ 当同一子网下的主机间要进行通信的时候,该主机会
地址解析协议(ARP)
发一个广播,来获取IP对应的MAC地址,并存在自己的缓冲区内
🌞 生成树协议
交换机在目的地址未知或接收到广播帧时是要进行广播的。如果交换机之间存在回路/环路,那么就会产生广播循环风暴,从而严重影响网络性能。
构建如下拓扑:
这是初始时的状态。我们可以看到交换机之间有回路,这会造成广播帧循环传送即形成广播风暴,严重影响网络性能。
随后,交换机将自动通过生成树协议(STP)对多余的线路进行自动阻塞(Blocking),以形成一棵以 Switch4 为根(具体哪个是根交换机有相关的策略)的具有唯一路径树即生成树!
通过Simulation
模拟看清整个过程
总结生成树的过程
:首先先确认根假设为B1,然后跟广播出去,交换机比如B2,B3,B4。依次确定与根的距离,然后再广播出自己的距离,这时B2,3,4之间相互屏蔽,比如都广播至B5那里,B5判断最短路径,依次这样构建生成树。
🌞 路由配置初步
构建两所大学的连接
配置好相应的网络。
✍️ 注意:
- 两所大学所在不同的子网,分配左边大学为192.168.1.0/24,网关为192.168.1.1,右边大学的网络号为c,网关为192.168.3.1,两个路由器之间也是使用广域网接口相连,也是一个子网,分配网号为192.168.2.0/24。
- 两学校间相连通过路由器的广域网
serial
接口需要,我们需要做出如下配置- 在模拟的广域网连接中需注意 DCE 和 DTE 端(连线时线路上有提示,带一个时钟标志的是 DCE 端。有关 DCE 和 DTE 的概念请查阅相关资料。),在 DCE 端需配置时钟频率
64000
然后我们对左边大学的路由器初步配置
配置完后发现
可以ping通该学校下的其他主机
可以ping通网关
ping不通另一个学校的其它主机
大学内部各PC可以互相ping,也可以ping通网关,但是大学间就是ping不通
✍️ 原因:路由表尚未构建,路走不通。
🌞 静态路由
静态路由是非自适应性路由协议,是由网络管理人员手动配置的,不能够根据网络拓扑的变化而改变。 因此,静态路由简单高效,适用于结构非常简单的网络。我们可以使用静态路由,直接告诉路由器该怎么走
然后进行静态路由配置:
配置第一所大学
框选即为告诉路由器该怎么走
查看路由配置,S即为静态路由表
同样的操作对另一所大学
最终都可以互相ping通了
下面是左边大学的主机0ping 右边大学主机2
✍️ 需要注意,我们的网络数量特别多时就需要配置一条缺省路由
Router(config)#ip route 0.0.0.0 0.0.0.0 *.*.*.*
//这样缺省就可以全部转发给这个IP了
🌞 动态路由RIP
动态路由协议采用自适应路由算法,能够根据网络拓扑的变化而重新计算机最佳路由。
RIP 的全称是 Routing Information Protocol
,是距离矢量路由的代表(目前虽然淘汰,但可作为我们学习的对象)。使用 RIP 协议只需要告诉路由器直接相连有哪些网络即可,然后 RIP 根据算法自动构建出路由表。
因为我们模拟的网络非常简单,因此不能同时使用静态和动态路由,否则看不出效果,所以我们需要把刚才配置的静态路由先清除掉。
首先清除静态路由
no
配置动态路由RIP
配置右边大学
配置左边大学
查看
看到R
的一条路由,表示RIP
此时可以ping通
✍️ 可以用
debug ip rip
开启RIP诊断,判断网络状态是否发生变化从而更新路由表no debug ip rip
关闭诊断
🌞 动态路由OSPF
OSPF(Open Shortest Path First 开放式最短路径优先)是一个内部网关协议(Interior Gateway Protocol,简称 IGP), 用于在单一自治系统(Autonomous System,AS)内决策路由。OSPF 性能优于 RIP,是当前域内路由广泛使用的路由协议。
清除 RIP 路由配置:
no router rip
清除RIP路由
然后配置OSPF路由
配左边大学
配右边大学
O的一条路由,O就是OSPF
主机之间相互ping通
总结
RIP
与OSPF
找不同
- RIP:数跳数;OSPF:计算链路的度量值
- RIP:仅和相邻路由器交换信息;OSPF:向本自治系统所有路由器发送消息,由于路由器发送的链路状态信息只能单向传送,OSPF不存在“坏消息传播得慢”的问题,更新过程的收敛性得到保证。
- 为了使 OSPF 能够用于规模很大的网络,OSPF 将一个自治系统再划分为若干个更小的范围,叫作区域。利用洪泛法交换链路状态信息的范围局限于每一个区域而不是整个的自治系统,减少了整个网络上的通信量,减轻路由器的负担。
- RIP:按固定的时间间隔交换路由信息(当网络拓扑发生变化时,路由器也及时向相邻路由器通告拓扑变化后的路由信息)
- RIP协议使用运输层的用户数据包UDP来进行传送;
- OSPF的位置在网络层,直接用IP数据报传送(其IP数据报首部的协议字段值为89)。由于OSPF构成的数据报很短,不仅减少了路由信息的通信量,而且在传送中不必分片,不会出现一片丢失而重传整个数据报的现象。
🌞 基于端口的网络地址翻译 PAT
首先配置主机网络
节点名 | 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网络配置模拟外部/公网IP地址,重庆大学和交大的广域网口配置变化
然后进行OSPF路由配置
交大:
重大:
Router>en // 从普通模式进入特权模式
Router#conf t // 进入全局配置模式
Router(config)#router ospf 1 // 启用 OSPF 路由协议,进程号为1
Router(config-router)#network 202.202.240.0 0.0.0.255 area 0 // 自治域0中的属于202.202.240.0/24网络的所有主机(反向掩码)参与 OSPF
Router(config-router)#network 8.8.8.0 0.0.0.255 area 0 // 自治域0中的属于8.8.8.0/24网络的所有主机(反向掩码)参与 OSPF
用PC0pingPC2
可以ping通:
重大丢包配置:
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的包即丢弃
同上测试网络发现ping不通 提示Destination host unreachable
信息
Simulation
模拟
配置 NAT
配置好后再次测试网络:
可以看到网络已经通了,我们用show ip nat translations
看翻译过程
✍️ 可以看到内部地址已经被翻译成了外部地址,这就是NAT网络地址转换的作用,完美解决了IP地址不足的问题,还能隐藏保护网络内部的计算机。
🌞 虚拟局域网VLAN
VLAN(Virtual Local Area Network)即虚拟局域网。通过划分 VLAN,我们可以把一个物理网络划分为多个逻辑网段即多个子网。
划分 VLAN 后可以杜绝网络广播风暴,增强网络的安全性,便于进行统一管理等
构建拓扑网
Cisco 2960 交换机是支持 VLAN 的交换机,共有 24 个 100M 和 2 个 1000M 以太网口。默认所有的接口都在
VLAN 1
中,故此时连接上来的计算机都处于同一 VLAN,可以进行通信。
配置VLAN
Switch>en
Switch#conf t
Switch(config)#vlan 10 // 创建 id 为 10 的 VLAN(缺省的,交换机所有接口都属于VLAN 1,不能使用)
Switch(config-vlan)#name computer // 设置 VLAN 的别名
Switch(config-vlan)#exit
Switch(config)#int vlan 10 // 该 VLAN 为一个子网,设置其 IP,作为该子网网关
Switch(config-if)#ip address 192.168.0.1 255.255.255.0
Switch(config-if)#exit
Switch(config)#vlan 20 // 创建 id 为 20 的 VLAN
Switch(config-vlan)#name communication //设置别名
Switch(config-vlan)#exit
Switch(config)#int vlan 20
Switch(config-if)#ip addr 192.168.1.1 255.255.255.0
Switch(config-if)#exit
Switch(config)#vlan 30 // 创建 id 为 20 的 VLAN
Switch(config-vlan)#name electronic // 设置别名
Switch(config-vlan)#exit
Switch(config)#int vlan 30
Switch(config-if)#ip add 192.168.2.1 255.255.255.0
Switch(config-if)#exit
Switch(config)#int range f0/1-8 // 成组配置接口(1-8)
Switch(config-if-range)#switchport mode access // 设置为存取模式
Switch(config-if-range)#switchport access vlan 10 // 划归到 VLAN 10 中
Switch(config-if-range)#exit
Switch(config)#int range f0/9-16
Switch(config-if-range)#switchport mode access
Switch(config-if-range)#switchport access vlan 20
Switch(config-if-range)#exit
Switch(config)#int range f0/17-24
Switch(config-if-range)#switchport mode access
Switch(config-if-range)#switchport access vlan 30
Switch(config-if-range)#^Z
Switch#show vlan // 查看 VLAN 的划分情况
查看配好的VLAN
网络配置如下
机器名 | 连接的接口 | 所属VLAN | IP | 子网掩码 | 网关 |
---|---|---|---|---|---|
PC0 | F0/1 | VLAN 10 | 192.168.0.2 | 255.255.255.0 | 192.168.0.1 |
PC1 | F0/2 | VLAN 10 | 192.168.0.3 | 255.255.255.0 | 192.168.0.1 |
PC2 | F0/17 | VLAN 30 | 192.168.2.2 | 255.255.255.0 | 192.168.2.1 |
PC3 | F0/9 | VLAN 20 | 192.168.1.2 | 255.255.255.0 | 192.168.1.1 |
PC4 | F0/10 | VLAN 20 | 192.168.1.3 | 255.255.255.0 | 192.168.1.1 |
PC5 | F0/18 | VLAN 30 | 192.168.2.3 | 255.255.255.0 | 192.168.2.1 |
PC6 | F0/19 | VLAN 30 | 192.168.2.4 | 255.255.255.0 | 192.168.2.1 |
网络测试,ping同一VLAN下可以ping通
ping不同VLAN下ping不通
分析一下当前为何不同 VLAN 中的 PC 不能通信?网关在此起什么作用?我们的网关又在何处?如何发起广播测试?
答:
- VLAN具有分割网络的作用,因此不能通信
- VLAN只是链路层协议,划分广播域,而不需要考虑IP;网关是用来进行协议转换的。不同的网段之间需要通信一定需要网关。
- 若是要发起广播测试,那么就要引入三层设备。
🌞 虚拟局域网管理VTP
VTP协议(VLAN Trunk Protocol),可以使VLAN的划分得到统一的规划和管理。也叫VLAN中继协议。VTP 通过 ISL 帧或 Cisco 私有 DTP 帧(可查阅相关资料了解)保持 VLAN 配置统一性,也被称为虚拟局域网干道协议,它是思科私有协议。 VTP 统一管理、增加、删除、调整VLAN,自动地将信息向网络中其它的交换机广播。
构建如下拓扑结构:
作为干线,两个 2960 交换机和核心的 3560 交换机应该使用 Gbit 口相连。这虽然不是必须,但现实中这样连接性能最好。
3560 交换机是网络中的核心交换机,我们将其作为 VTP Server,VTP 域及 VLAN 将在其上创建和管理。
两个 2960 交换机是是局域网中的汇聚层/接入层交换机,将作为 VTP Client,可决定加入的 VTP 域和 VLAN。
目前该网络都属于 VLAN 1
,也即这些 PC 是可以相互通信的。前面说过,无论对于性能、管理还是安全等而言,现实中我们必须进行 VLAN 划分。
进行网络配置
现在我们的要求是:新建两个 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
配置好如下:
2960A(左边)VTP Client配置
2960A(右边边)VTP Client同样配置
划分结果
主机配置
机器名 | 连接的交换机和接口 | 所属VLAN | IP | 子网掩码 | 网关 |
---|---|---|---|---|---|
PC0 | 2960A-F0/1 | VLAN 2 | 192.168.1.2 | 255.255.255.0 | 192.168.1.1 |
PC1 | 2960A-F0/2 | VLAN 3 | 192.168.2.2 | 255.255.255.0 | 192.168.2.1 |
PC2 | 2960B-F0/1 | VLAN 2 | 192.168.1.3 | 255.255.255.0 | 192.168.1.1 |
PC3 | 2960B-F0/2 | VLAN 3 | 192.168.2.3 | 255.255.255.0 | 192.168.2.1 |
可以发现PC0可以ping通PC2,但是PC0却ping不通PC1,这就是在不同的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 // 启用路由转发功能
然后再测试网络
发现各VLAN都通信正常了。
上述过程中难免会遇到一些问题,比较严重的就是一个路由器可能形成瓶颈
🌞 DHCP、DNS及Web服务器简单配置
首先,构建如图所示的拓扑结构:
然后进行配置,Server-PT同时作为DNS、DHCP及Web服务器,各客户机无需配置。通过自动获取网络地址,然后设置server-PT的IP为19.89.6.4/24
,然后进行如下相关配置:
机器名 | 配置项目 | 说明 |
---|---|---|
Server | HTTP | 开启即可 |
Server | DNS | 19.89.6.4:www.google.com、www.baidu.com |
Server | DHCP | 地址池开始地址:19.89.6.10/24,并返回DNS地址 |
PC | 网络配置 | 自动获取 |
具体操作如下
服务器:
1、网路配置
2、HTTP开
3、DHCP设置如下
4、DNS添加记录
最后对PC进行动态获取IP配置:
然后打开浏览器,网站输入wwww.google.com
即可进入网页
做了稍微的改动:
🌞 总结
通过实验,我对计算机网络有了更深入的认识,从数据链路层的生成树协议、VLAN划分到网络层路由的一些路由算法,再到DHCP、DNS、HTTP协议的认识。都有个更好的了解。通过对路由器的配置我也学习到了一些基本路由配置的语法。感觉收获很大。计算机网络就是考虑如何实现主机之间的连通与共享。在这次实操中,与网络测试语句,让我理解了一个建网的过程。收获颇丰。
参考:
https://qige.io/network/netlab/index.html#3