文章目录
一、直接连接两台 PC 构建 LAN
将两台 PC 直接连接构成一个网络。注意:直接连接需使用交叉线。
进行两台 PC 的基本网络配置,只需要配置 IP 地址即可,然后相互 ping 通即成功。
二、用交换机构建 LAN
首先构建如下拓扑结构的局域网:
各PC的基本网络配置如下表:
机器名 | IP | 子网掩码 |
---|---|---|
PC0 | 192.168.1.1 | 255.255.255.0 |
PC1 | 192.168.1.2 | 255.255.255.0 |
PC2 | 192.168.2.1 | 255.255.255.0 |
PC3 | 192.168.2.2 | 255.255.255.0 |
pc0 ping pc1 可以ping得通
pc0 ping pc1、pc2 ping不通
pc3去ping pc0、pc1、pc2 只能ping通pc2
将四台pc如下图将子网掩码改为255.255.0.0
用pc0去ping其他机器,发现能够ping得通所有pc
✎ 问题
1. PC0 能否 ping 通 PC1、PC2、PC3 ?
只能ping通pc1
2. PC3 能否 ping 通 PC0、PC1、PC2 ?为什么?
可以ping通pc2,ping不通pc0、pc1,因为pc0、pc1处于同一个子网下,pc2、pc3处于另一个子网下
3. 将 4 台 PC的掩码都改为 255.255.0.0 ,它们相互能 ping 通吗?为什么?
可以,处于同一子网下
4. 使用二层交换机连接的网络需要配置网关吗?为什么?
不需要,只有当访问不属于同一个子网的网络时才需要网关
三、交换机地址列表
二层交换机是一种即插即用的多接口设备,它对于收到的帧有 3 种处理方式:广播、转发和丢弃(请弄清楚何时进行何种操作)。那么,要转发成功,则交换机中必须要有接口地址列表即 MAC 表,该表是交换机通过学习自动得到的!
仍然构建上图的拓扑结构,并配置各计算机的 IP 在同一个一个子网,使用工具栏中的放大镜点击某交换机如左边的 Switch3,选择 MAC Table,可以看到最初交换机的 MAC 表是空的,也即它不知道该怎样转发帧(那么它将如何处理?),用 PC0 访问(ping)PC1 后,再查看该交换机的 MAC 表,现在有相应的记录,请思考如何得来。随着网络通信的增加,各交换机都将生成自己完整的 MAC 表,此时交换机的交换速度就是最快的!
原先的switch中的mac表,因为有ping过pc2、所以会有一条记录
用PC0 ping PC1,发现多了两条记录
四、生成树协议
交换机在目的地址未知或接收到广播帧时是要进行广播的。如果交换机之间存在回路/环路,那么就会产生广播循环风暴,从而严重影响网络性能。而交换机中运行的 STP 协议能避免交换机之间发生广播循环风暴。
只使用交换机,构建如下拓扑:
这是初始时的状态。我们可以看到交换机之间有回路,这会造成广播帧循环传送即形成广播风暴,严重影响网络性能。
随后,交换机将自动通过生成树协议(STP)对多余的线路进行自动阻塞(Blocking),以形成一棵以 Switch4 为根(具体哪个是根交换机有相关的策略)的具有唯一路径树即生成树!
经过一段时间,随着 STP 协议成功构建了生成树后,Switch5 的两个接口当前物理上是连接的,但逻辑上是不通的,处于Blocking状态(桔色)如下图所示:
在网络运行期间,假设某个时候 Switch3 与 Switch4 之间的物理连接出现问题(将 Switch2 与 Switch4 的连线剪掉),则该生成树将自动发生变化。Switch4 中间先前 Blocking 的那个接口现在活动了(绿色),但下方那个接口仍处于 Blocking 状态(桔色)。如下图所示:
使用 CPT 的 Simulation 即模拟方式可非常清楚看到这个过程!
五、路由器配置初步
我们模拟重庆交通大学和重庆大学两个学校的连接,构建如下拓扑:
分别通过图形化设置对路由器进行如下配置
接口名 | IP | 子网掩码 |
---|---|---|
Router0 以太网口 | 192.168.1.1 | 255.255.255.0 |
Router0 广域网口 | 192.168.2.1 | 255.255.255.0 |
Router1 以太网口 | 192.168.3.1 | 255.255.255.0 |
Router1 广域网口 | 192.168.2.2 | 255.255.255.0 |
通过对CLI完成路由器的动态主机配置协议(DHCP)实现四个PC自动获取IP
需要加上如下模块,通过串口将两个路由器链接
如下图所示:能够ping通本校的pc,但是却不能ping另一个学校的pc
✎ 问题
现在交通大学内的各 PC 及网关相互能 ping 通,重庆大学也类似。但不能从交大的 PC ping 通重大的PC,反之亦然,也即不能跨子网。为什么?
还没建立路由表
六、静态路由
Router0路由器静态路由配置:
Router1路由器静态路由配置:
设置路由表后发现能够ping通不同子网下的pc了
七、动态路由 RIP
动态路由协议采用自适应路由算法,能够根据网络拓扑的变化而重新计算机最佳路由。
RIP 的全称是 Routing Information Protocol,是距离矢量路由的代表(目前虽然淘汰,但可作为我们学习的对象)。使用 RIP 协议只需要告诉路由器直接相连有哪些网络即可,然后 RIP 根据算法自动构建出路由表。
因为我们模拟的网络非常简单,因此不能同时使用静态和动态路由,否则看不出效果,所以我们需要把刚才配置的静态路由先清除掉。
清除静态路由配置:
使用 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 命令把刚才配置的静态路由命令给取消。并配置RIP,查看路由表你可看到标记为 R 的一条路由,R 表示 RIP 。至此,这些 PC 也能全部相互 ping 通!
再去尝试ping命令,看是否能够ping通
发现能ping通
八、动态路由 OSPF
OSPF(Open Shortest Path First 开放式最短路径优先)是一个内部网关协议(Interior Gateway Protocol,简称 IGP), 用于在单一自治系统(Autonomous System,AS)内决策路由。OSPF 性能优于 RIP,是当前域内路由广泛使用的路由协议。
同样的,我们需要把刚才配置的 RIP 路由先清除掉。
清除 RIP 路由配置:
使用 no 命令清除 RIP 路由。在全局配置模式下,各路由器都使用:no router rip 命令进行清除,然后配置OSPF,查看路由表你可看到标记为 O 的一条路由,O 表示 OSPF 。至此,这些 PC 能全部相互 ping 通!
再去尝试ping命令,看是否能够ping通
发现也能够ping通
九、基于端口的网络地址翻译 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 | 子网掩码 |
---|---|---|
Router0 以太网口 | 192.168.1.1 | 255.255.255.0 |
Router0广域网口 | 202.202.240.1 | 255.255.255.0 |
Router1 以太网口 | 8.8.8.1 | 255.255.255.0 |
Router1广域网口 | 202.202.240.2 | 255.255.255.0 |
设置OSPF
检查是否能ping通
将router1进行如下配置,实施访问控制 ACL ,即丢弃来自192.168.1.0这个网段传来的包来模拟这个丢包的过程。
此时,再使用交通大学内部的 PC0(192.168.1.2)来 ping 重庆大学的 PC2(8.8.8.2)就不成功了,会显示目的主机不可到达(Destination host unreachable)信息。
下面,我们就开始实施 PAT。
对Router0实施以下配置
再尝试去ping,发现能够ping通
ping 成功后,在交通大学路由器特权配置模式下使用 show ip nat translations 可查看这个翻译的过程!
十、虚拟局域网 VLAN
VLAN(Virtual Local Area Network)即虚拟局域网。通过划分 VLAN,我们可以把一个物理网络划分为多个逻辑网段即多个子网。
划分 VLAN 后可以杜绝网络广播风暴,增强网络的安全性,便于进行统一管理等。
在 CPT 中构建如下图所示拓扑:
交换机 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 的划分情况
至此,在该交换机上我们就划分了 3 个 VLAN(不包括缺省的 VLAN 1)。
如下图:
各 VLAN 下 PC 的网络配置及连接的交换机接口如下表:
机器名 | 连接的接口 | 所属vlan | IP | 子网掩码 | 网关 |
---|---|---|---|---|---|
PC0 | F0/1 | vlan10 | 192.168.0.2 | 255.255.255.0 | 192.168.0.1 |
PC1 | F0/2 | vlan10 | 192.168.0.3 | 255.255.255.0 | 192.168.0.1 |
PC2 | F0/9 | vlan20 | 192.168.1.2 | 255.255.255.0 | 192.168.1.1 |
PC3 | F0/10 | vlan20 | 192.168.1.3 | 255.255.255.0 | 192.168.1.1 |
PC4 | F0/11 | vlan20 | 192.168.1.4 | 255.255.255.0 | 192.168.1.1 |
PC5 | F0/17 | vlan30 | 192.168.2.2 | 255.255.255.0 | 192.168.2.1 |
PC6 | F0/18 | vlan30 | 192.168.2.3 | 255.255.255.0 | 192.168.2.1 |
用PC0分别去ping PC1、PC3、PC5发现能够ping通同一个vlan下的pc,但是不能ping通不同vlan下的pc
分析一下当前为何不同 VLAN 中的 PC 不能通信?网关在此起什么作用?我们的网关又在何处?如何发起广播测试?
- VLAN具有分割网络的作用,因此不能通信
- VLAN只是链路层协议,划分广播域,而不需要考虑IP;网关是用来进行协议转换的。不同的网段之间需要通信一定需要网关。
- 若是要发起广播测试,那么就要引入三层设备。
十一、虚拟局域网管理 VTP
VTP(VLAN Trunk Protocol)即 VLAN 中继协议。VTP 通过 ISL 帧或 Cisco 私有 DTP 帧(可查阅相关资料了解)保持 VLAN 配置统一性,也被称为虚拟局域网干道协议,它是思科私有协议。 VTP 统一管理、增加、删除、调整VLAN,自动地将信息向网络中其它的交换机广播。
此外,VTP 减小了那些可能导致安全问题的配置,只要在 VTP Server 做相应设置,VTP Client 会自动学习 VTP Server 上的 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 配置:
Switch>en
Switch#conf t
Switch(config)#hostname 3560 // 更改交换机名称(可选)
3560(config)#vtp domain cqjtu // 设置 VTP 域名称为 cqjtu
3560(config)#vtp mode server // 设置其为 VTP 服务器模式
3560(config)#vlan 2 // 新建VLAN 2
3560(config-vlan)#name computer // 设置 VLAN 2 的别名(可选)
3560(config-vlan)#exit
3560(config)#vlan 3 // 再建 VLAN 3
3560(config-vlan)#name communication //设置 VLAN 2 的别名(可选)
3560(config-vlan)#exit
3560(config)#int vlan 2 // 配置接口 VLAN 2,它将是该子网(左边)的网关
3560(config-if)#ip address 192.168.1.1 255.255.255.0
3560(config-if)#exit
3560(config)#int vlan 3 // 配置接口 VLAN 3,它将是该子网(右边)的网关
3560(config-if)#ip address 192.168.2.1 255.255.255.0
我们将在左边交换机 2960A 上进行如下工作:
- 加入名为 cqjtu 的 VTP 域
- 配置与核心交换机 3560 连接的千兆接口 g0/1 为 trunk 模式
- 将接口 f0/1 划分到 VLAN 2 中
- 将接口 f0/2 划分到 VLAN 3 中
2960A(左边) VTP Client 配置:
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
我们将在右边交换机 2960B 上进行同样的工作:
- 加入名为 cqjtu VTP 域
- 配置与核心交换机 3560 连接的千兆接口 g0/1 为 trunk 模式
- 将接口 f0/1 划分到 VLAN 2 中
- 将接口 f0/2 划分到 VLAN 3 中
2960B(右边) VTP Client 配置:
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
至此,各交换机配置完毕。
使用show vtp status命令查看 VTP 状态
使用show vlan命令查看 VLAN 状态
各 PC 连接的交换机和接口以及网络配置如下:
机器名 | 连接的交换机和接口 | 所属vlan | IP | 子网掩码 | 网关 |
---|---|---|---|---|---|
PC0 | 2960A-F0/1 | vlan2 | 192.168.1.2 | 255.255.255.0 | 192.168.1.1 |
PC1 | 2960A-F0/2 | vlan3 | 192.168.2.2 | 255.255.255.0 | 192.168.2.1 |
PC2 | 2960B-F0/1 | vlan2 | 192.168.1.3 | 255.255.255.0 | 192.168.1.1 |
PC3 | 2960B-F0/2 | vlan3 | 192.168.2.3 | 255.255.255.0 | 192.168.2.1 |
至此,VTP 配置完成。同 VLAN 可以 ping 通,而不同 VLAN 不行(即使在同一交换机下,如从 PC0 到 PC1),且能够方便的统一规划和管理。
✎ 试一试
使用 PC0(192.168.1.2) ping PC1(192.168.2.2) 的结果如何?使用 PC0 ping PC2的结果如何?想想为什么?
在不同的VLAN下,即使在同一交换机下也不能实现通信
十二、VLAN 间的通信
3560 交换机配置:
至此,各 VLAN 中的 PC 可以正常通信。
现在再使用 PC0(192.168.1.2) ping PC1(192.168.2.2) 的结果如何?使用 PC0 ping PC2的结果如何?
发现ping不同vlan下的pc也能ping通了
十三、DHCP、DNS及Web服务器简单配置
构建如图所示的拓扑结构:
配置DNS
配置DHCP
配置HTTP
最后对PC进行动态获取IP配置:
打开 PC0 的浏览器,输入 www.google.com