计算机网络ENSP课设--三层架构企业网络
本课程设计搭建一个小型互联网,并模拟Internet的典型Web服务过程。通过此次课程设计,可以进一步理解Internet的工作原理和协议过程,并提高综合知识的运用能力和分析能力。具体目标包括:
(1)掌握网络拓扑的分析能力以及简单的故障排除方法;
(2)进一步理解TCP/IP协议栈的工作过程及其数据封装方法;
(3)进一步理解数据分组在互联网中的传输过程;
(4)进一步理解路由协议的工作原理。
(5)综合了解各种协议如何协同工作,完成Internet信息服务。
一、设计目标
1.初始化拓扑图
2.观察同一交换机上同一VLAN内PC间的通信
3.观察不同交换机上但属于同一VLAN内PC间的通信
4.观察同一交换机上但不属于同一VLAN内PC间的通信
5.观察不同交换机上不属于同一VLAN内PC间的通信
6.观察VLAN2内PC4与外部通信
7.观察VLAN3内PC5与外部通信
8.观察活跃路由故障时,PC与外部通信情况
二、 背景知识与基本原理
背景知识
1.分层网络设计概述
企业网络一般采用分层思想进行设计,即一个大规模的网络系统往往被分为几个较小的部分,它们之间既相对独立又相互关联。这种化整为零的设计方法称为分层设计。三层分层模型包括核心层(CoreLayer)、汇聚层(DistributionLayer)和接入层(AccessLayer)。
其中,每层都有其特定的功能,详细说明如下。
(1)核心层(CoreLayer):主干网络,其主要功能是实现快速而可靠的数据传输。核心层的性能与可靠性对整个网络的性能和可靠性是至关重要的,因此在设计核心层时只将高可靠性、高速的传输作为其设计目标,而不将影响传输速度的数据处理放在核心层实现。核心层交换机需要具有较高的可靠性和性能。
(2)汇聚层(DistributionLayer):负责连接接入层和核心层,将众多的接入层接入点汇集起来,屏蔽接入层对核心层的影响。汇聚层需要实现一些网络策略,包括提供路由、实现包过滤、网络安全、创建VLAN并实现VLAN间路由、分割广播域、WAN接入等。汇聚层交换机仍需要较高性能和比较丰富的功能。
(3)接入层(AccessLayer):又称为桌面层,提供用户或工作站的网络接入,用户可以通过接入层访问网络设备。接入层的交换机数量较多,在设备选择上需要选择易于使用和维护、具有较高性价比和高端口密度的交换机。
分层设计的主要优点如下。
(1)对复杂的网络问题进行层次分割,每层执行特定的功能,使复杂的网络问题更易于解决。(2)各层间相对独立,某层的拓扑结构变化不会影响到其他层。
(3)使用分层模型设计的网络更易于实现和维护,具有更好的可扩展性。
2.冗余网络
网络的稳定性对于大多数企业网络都是很重要的,一旦网络出现故障(即使时间很短)就会造成很大的损失。因此,为了增强企业网络的稳定性,往往会在网络中使用冗余链路,当其中一条链路出现故障时,另外一条链路仍然可以保证网络的正常通信。
基本原理
利用单臂路由实现VLAN 间路由,以太网中, 通常会使用VLAN 技术隔离二层广播域来减少广播的影响,并增强网络的安全性和可管理性。其缺点是同时也严格地隔离了不同VLAN 之间的任何二层流量,使分属于不同VLAN 的用户不能直接互相通信。在现实中, 经常会出现某些用户需要跨越VLAN 实现通信的情况,单臂路由技术就是解决VLAN 间通信的一种方法。
单臂路由的原理是通过一台路由器,使VLAN 间互通数据通过路由器进行三层转发。如果在路由器上为每个VLAN 分配一个单独的路由器物理接口,随着VLAN数量的增加, 必然需要更多的接口,而路由器能提供的接口数昼比较有限,所以在路由器的一个物理接口上通过配置子接口(即逻辑接口)的方式来实现以一当多的功能,将是一种非常好的方式。路由器同一物理接口的不同子接口作为不同VLAN 的默认网关,当不同VLAN 间的用户主机需要通信时,只需将数据包发送给网关,网关处理后再发送至目的主机所在VLAN, 从而实现VLAN 间通信。由于从拓扑结构图上看,在交换机与路由器之间,数据仅通过一条物理链路传输,故被形象地称之为“ 单臂路由”。
三、 拓扑结构与详细配置
画出拓扑结构图

写出详细的配置信息
设备名
接口名
IP地址
子网掩码
Internet_R
G0/0/0
23.1.1.2
255.255.255.0
G0/0/1
23.1.2.254
255.255.255.0
GW_R
G0/0/0
23.1.1.1
255.255.255.0
G0/0/1
172.16.1.1
255.255.255.0
G0/0/2
172.16.2.1
255.255.255.0
L3SW_1
G0/0/1
172.16.1.2
255.255.255.0
G0/0/3(VLAN2)
172.16.20.252
255.255.255.0
G0/0/4(VLAN3)
172.16.30.252
255.255.255.0
L3SW_2
G0/0/1
172.16.2.2
255.255.255.0
G0/0/3(VLAN2)
172.16.20.253
255.255.255.0
G0/0/4(VLAN3)
172.16.30.253
255.255.255.0
设备名
所属网段
IP地址
默认网关
Server
VLAN2
172.16.20.1
172.16.20.254
PC1
VLAN2
172.16.20.2
172.16.20.254
PC2
VLAN2
172.16.20.3
172.16.20.254
PC3
VLAN3
172.16.30.1
172.16.30.254
PC4
VLAN2
172.16.20.4
172.16.20.254
PC5
VLAN3
172.16.30.2
172.16.30.254
Server
外部网络
23.1.2.1
23.1.2.254
代码如下
交换机L3sw_1
[huawei]vlan batch 2 3
[huawei]int vlan2
[huaweiVlanif2]ip add 172.16.20.252 24
[huaweiVlanif2]int vlan3
[huaweiVlanif3]ip add 172.16.30.252 24
[huaweiVlanif3]int g0/0/1
[Huawei-GigabitEthernet0/0/1]port link-type trunk
[Huawei-GigabitEthernet0/0/1]port trunk allow-pass vlan all
[Huawei-GigabitEthernet0/0/1]int g0/0/3
[Huawei-GigabitEthernet0/0/3]port link-type trunk
[Huawei-GigabitEthernet0/0/3]port trunk allow-pass vlan all
[Huawei-GigabitEthernet0/0/3]int g0/0/4
[Huawei-GigabitEthernet0/0/4]port link-type trunk
[Huawei-GigabitEthernet0/0/4]port trunk allow-pass vlan all
[Huawei-GigabitEthernet0/0/4]q
[huawei]q
<huawei>save交换机L3sw_2
[huawei]vlan batch 2 3
[huawei]int vlan2
[huaweiVlanif2]ip add 172.16.20.253 24
[huaweiVlanif2]int vlan3
[huaweiVlanif3]ip add 172.16.30.253 24
[huaweiVlanif3]int g0/0/1
[Huawei-GigabitEthernet0/0/1]port link-type trunk
[Huawei-GigabitEthernet0/0/1]port trunk allow-pass vlan all
[Huawei-GigabitEthernet0/0/1]int g0/0/3
[Huawei-GigabitEthernet0/0/3]port link-type trunk
[Huawei-GigabitEthernet0/0/3]port trunk allow-pass vlan all
[Huawei-GigabitEthernet0/0/3]int g0/0/4
[Huawei-GigabitEthernet0/0/4]port link-type trunk
[Huawei-GigabitEthernet0/0/4]port trunk allow-pass vlan all
[Huawei-GigabitEthernet0/0/4]q
[huawei]q
<huawei>save交换机LSW5
[huawei]vlan batch 2 3
[huawei]int vlan2
[huaweiVlanif2]ip add 172.16.20.252 24
[huaweiVlanif2]int vlan3
[huaweiVlanif3]ip add 172.16.30.253 24
[huaweiVlanif3]int g0/0/1
[Huawei-GigabitEthernet0/0/1]port link-type trunk
[Huawei-GigabitEthernet0/0/1]port trunk allow-pass vlan all
[Huawei-GigabitEthernet0/0/1]int g0/0/2
[Huawei-GigabitEthernet0/0/2]port link-type trunk
[Huawei-GigabitEthernet0/0/2]port trunk allow-pass vlan all
[Huawei-GigabitEthernet0/0/2]int g0/0/3
[Huawei-GigabitEthernet0/0/3]port link-type access
[Huawei-GigabitEthernet0/0/3]port default vlan 2
[Huawei-GigabitEthernet0/0/3]int g0/0/4
[Huawei-GigabitEthernet0/0/4]port link-type access
[Huawei-GigabitEthernet0/0/4]port default vlan 2
[Huawei-GigabitEthernet0/0/4]int g0/0/5
[Huawei-GigabitEthernet0/0/5]port link-type access
[Huawei-GigabitEthernet0/0/5]port default vlan 2
[Huawei-GigabitEthernet0/0/5]int g0/0/6
[Huawei-GigabitEthernet0/0/6]port link-type access
[Huawei-GigabitEthernet0/0/6]port default vlan 3
[Huawei-GigabitEthernet0/0/6]q
[huawei]q
<huawei>save交换机LSW6
[huawei]vlan batch 2 3
[huawei]int vlan2
[huaweiVlanif2]ip add 172.16.20.253 24
[huaweiVlanif2]int vlan3
[huaweiVlanif3]ip add 172.16.30.252 24
[huaweiVlanif3]int g0/0/1
[Huawei-GigabitEthernet0/0/1]port link-type trunk
[Huawei-GigabitEthernet0/0/1]port trunk allow-pass vlan all
[Huawei-GigabitEthernet0/0/1]int g0/0/2
[Huawei-GigabitEthernet0/0/2]port link-type trunk
[Huawei-GigabitEthernet0/0/2]port trunk allow-pass vlan all
[Huawei-GigabitEthernet0/0/2]int g0/0/3
[Huawei-GigabitEthernet0/0/3]port link-type access
[Huawei-GigabitEthernet0/0/3]port default vlan 2
[Huawei-GigabitEthernet0/0/3]int g0/0/4
[Huawei-GigabitEthernet0/0/4]port link-type access
[Huawei-GigabitEthernet0/0/4]port default vlan 3
[Huawei-GigabitEthernet0/0/4]q
[huawei]q
<huawei>save路由器GW_R
<huawei>sys
[huawei]Int g0/0/1
[Huawei-GigabitEthernet0/0/1]ip add 172.16.1.1 24
[Huawei-GigabitEthernet0/0/1]int g0/0/2
[Huawei-GigabitEthernet0/0/2]ip add 172.16.2.1 24
[Huawei-GigabitEthernet0/0/2]int g0/0/0
[Huawei-GigabitEthernet0/0/0]ip add 23.1.1.1 24
[Huawei-GigabitEthernet0/0/0]int g0/0/1.1
[Huawei-GigabitEthernet0/0/1.1]ip add 172.16.20.254 24
[Huawei-GigabitEthernet0/0/1.1]dot1q termination vid 2
[Huawei-GigabitEthernet0/0/1.1]arp broadcast enable
[Huawei-GigabitEthernet0/0/1.1]int g0/0/1.2
[Huawei-GigabitEthernet0/0/1.2]ip add 172.16.30.254 24
[Huawei-GigabitEthernet0/0/1.2]dot1q termination vid 3
[Huawei-GigabitEthernet0/0/1.2]arp broadcast enable
[Huawei-GigabitEthernet0/0/1.2]q
[huawei]ip route -static 23.1.2.0 24 23.1.1.2
[huawei]q
<huawei>save路由器Internet
<huawei>sys
[huawei]int g0/0/1
[Huawei-GigabitEthernet0/0/1]ip add 23.1.2.1 24
[Huawei-GigabitEthernet0/0/1]int g0/0/0
[Huawei-GigabitEthernet0/0/0]ip add 23.1.1.2 24
[Huawei-GigabitEthernet0/0/0]q
[huawei]ip route-static 172.16.20.0 24 23.1.1.1
[huawei]ip route-static 172.16.30.0 24 23.1.1.1
[huawei]q
<huawei>save
四、 主要步骤
任务1 观察同一企业网络同一VLAN间通信
步骤1:初始化拓扑图
步骤2:观察同一交换机上同一VLAN内PC间的通信

步骤3:观察不同交换机上但属于同一VLAN内PC间的通信

任务2 观察企业网络不同VLAN间通信
步骤1:观察同一交换机上但不属于同一VLAN内PC间的通信

步骤2:观察不同交换机上不属于同一VLAN内PC间的通信

任务3双核心路由热备份实验
步骤1:观察VLAN2内PC4与外部通信

步骤2**:观察VLAN3内PC5与外部通信**

步骤3:观察活跃路由故障时,PC与外部通信情况


相关文章:
计算机网络ENSP课设--三层架构企业网络
本课程设计搭建一个小型互联网,并模拟Internet的典型Web服务过程。通过此次课程设计,可以进一步理解Internet的工作原理和协议过程,并提高综合知识的运用能力和分析能力。具体目标包括: (1)掌握网络拓扑的…...
【openwrt】openwrt-21.02 基于IP地址使用ipset实现策略路由操作说明
openwrt版本信息 DISTRIB_ID=OpenWrt DISTRIB_RELEASE=21.02-SNAPSHOT DISTRIB_REVISION=r0-6bf6af1d5 DISTRIB_TARGET=mediatek/mt7981 DISTRIB_ARCH=aarch64_cortex-a53 DISTRIB_DESCRIPTION=OpenWrt 21.02-SNAPSHOT r0-6bf6af1d5 DISTRIB_TAINTS=no-all busybox override …...
Git:常用命令
一、查看当前分支 git branch 二、查看所有分支 git branch -a 三、切换到远程分支 git checkout origin/分支名 示例:git checkout origin/dev 四、拉取远程分支代码 git pull origin 分支名 示例:git pull origin dev 五、常用指令 查看暂存区…...
【2025最新版】搭建个人博客教程
【2025最新版】搭建个人博客教程 –小记: 在搭建我的这个博客之前我在CSDN也发布过一些文章,目前应该也是几千粉丝了,但是看到别人都是用自己博客写的就感觉自己很LOW,所以就想自己来搭建一个属于自己的个人博客。当然搭建博客的…...
微信小程序实现联动删除输入验证码框
以下是json代码 {"component": true,"usingComponents": {} }以下是wxml代码 <van-popup show"{{ show }}" bind:close"onClose" custom-class"extract"><image src"../../images/extract/icon1.png"…...
数据库中decimal、float 和 double区别
在计算机科学中,decimal、float 和 double 是用于表示和处理数值的不同数据类型。 - decimal 是一种精确的十进制浮点数表示,通常用于需要高精度计算的场景,比如财务应用。它能够精确表示小数,并且不会出现浮点数运算误差。 - flo…...
网络编程01
1. 概念 通过网络,让两个主机之间能够进行通信,基于这样的通信完成一定的功能 只要满足进程不同即可,即使是同一个主机,只要是不同的进程,基于网络完成编程 进行网络编程时,需要操作系统提供一组API&…...
el-dialog修改其样式不生效加deep也没用
场景 el-dialog标签直接写在了template下。 解决方法 在template中先写一层div,包裹住el-dialog。...
三天精通一算法之快速排序
力扣链接912. 排序数组 - 力扣(LeetCode)注意这题快排不能用递归,否则堆会爆 快速排序(Quicksort)是一种高效的排序算法,通常使用分治法来将一个列表分成较小的子列表,然后递归地排序这些子列表…...
互联网、物联网的相关标准
互联网的相关标准 网络通信协议: HTTP(Hypertext Transfer Protocol):用于在网络中传输文本、图像、音频和视频等数据的协议。它基于请求-响应模型,客户端发送请求给服务器,服务器返回响应。HTTPS&a…...
Linux题库及答案
填空题 1. 建立用户账号的命令是__useradd________。 2. 修改账号密码的命令是__passwd________。 3. 更改用户密码过期信息的命令是__chage________。 4. 创建一个新组的命令是___groupadd_______。 5. 用于在不注销的情况下切换到系统中的另一个用户的命令是___su_…...
Android 镜像模式和扩展模式区别探讨-Android14
Android 镜像模式和扩展模式区别探讨 1、区分镜像模式和扩展模式1.1 扩展屏是否有显示内容1.2 镜像模式显示条件 2、镜像模式界面 同屏显示和异屏显示探讨DisplayManagerService启动及主屏添加-Android13 Android主副屏显示-Android14 1、区分镜像模式和扩展模式 LogicalDispla…...
深度学习笔记之BERT(五)TinyBERT
深度学习笔记之TinyBERT 引言回顾:DistilBERT模型TinyBERT模型结构TinyBERT模型策略Transformer层蒸馏嵌入层蒸馏预测层蒸馏 TinyBERT模型的训练效果展示 引言 上一节介绍了 DistilBERT \text{DistilBERT} DistilBERT模型,本节将继续介绍优化性更强的知…...
【时间序列预测】基于PyTorch实现CNN_BiLSTM算法
文章目录 1. CNN与BiLSTM2. 完整代码实现3. 代码结构解读3.1 CNN Layer3.2 BiLSTM Layer3.3 Output Layer3.4 forward Layer 4. 应用场景5. 总结 本文将详细介绍如何使用Pytorch实现一个结合卷积神经网络(CNN)和双向长短期记忆网络(BiLSTM&am…...
联想Y7000 2024版本笔记本 RTX4060安装ubuntu22.04双系统及深度学习环境配置
目录 1..制作启动盘 2.Windows 磁盘分区,删除原来ubuntu的启动项 3.四个设置 4.安装ubuntu 5.ubuntu系统配置 1..制作启动盘 先下载镜像文件,注意版本对应。Rufus - 轻松创建 USB 启动盘 用rufus制作时,需要注意选择正确的分区类型和系统类型。不然安装的系统会有问题…...
VuePress学习
1.介绍 VuePress 由两部分组成:第一部分是一个极简静态网站生成器 (opens new window),它包含由 Vue 驱动的主题系统和插件 API,另一个部分是为书写技术文档而优化的默认主题,它的诞生初衷是为了支持 Vue 及其子项目的文档需求。…...
一次“okhttp访问间隔60秒,提示unexpected end of stream“的问题排查过程
一、现象 okhttp调用某个服务,如果第二次访问间隔上一次访问时间超过60s,返回错误:"unexpected end of stream"。 二、最终定位原因: 空闲连接如果超过60秒,服务端会主动关闭连接。此时客户端恰巧访问了这…...
SQL最佳实践:避免使用COUNT=0
如果你遇到类似下面的 SQL 查询: SELECT * FROM customer c WHERE 0 (SELECT COUNT(*)FROM orders oWHERE o.customer_id c.customer_id);意味着有人没有遵循 SQL 最佳实践。该语句的作用是查找没有下过订单的客户,其中子查询使用了 COUNT 函数统计客…...
PG与ORACLE的差距
首先必须是XID 64,一个在极端环境下会FREEZE的数据库无论如何都无法承担关键业务系统的重任的,我们可以通过各种配置,提升硬件的性能,通过各种IT管控措施来尽可能避免在核心系统上面临FREEZE的风险,不过并不是每个企业…...
树莓派3B+驱动开发(2)- LED驱动(传统模式)
github主页:https://github.com/snqx-lqh 本项目github地址:https://github.com/snqx-lqh/RaspberryPiDriver 本项目硬件地址:https://oshwhub.com/from_zero/shu-mei-pai-kuo-zhan-ban 欢迎交流 笔记说明 如我在驱动开发总览中说的那样&…...
浏览器访问 AWS ECS 上部署的 Docker 容器(监听 80 端口)
✅ 一、ECS 服务配置 Dockerfile 确保监听 80 端口 EXPOSE 80 CMD ["nginx", "-g", "daemon off;"]或 EXPOSE 80 CMD ["python3", "-m", "http.server", "80"]任务定义(Task Definition&…...
基于算法竞赛的c++编程(28)结构体的进阶应用
结构体的嵌套与复杂数据组织 在C中,结构体可以嵌套使用,形成更复杂的数据结构。例如,可以通过嵌套结构体描述多层级数据关系: struct Address {string city;string street;int zipCode; };struct Employee {string name;int id;…...
智能仓储的未来:自动化、AI与数据分析如何重塑物流中心
当仓库学会“思考”,物流的终极形态正在诞生 想象这样的场景: 凌晨3点,某物流中心灯火通明却空无一人。AGV机器人集群根据实时订单动态规划路径;AI视觉系统在0.1秒内扫描包裹信息;数字孪生平台正模拟次日峰值流量压力…...
React---day11
14.4 react-redux第三方库 提供connect、thunk之类的函数 以获取一个banner数据为例子 store: 我们在使用异步的时候理应是要使用中间件的,但是configureStore 已经自动集成了 redux-thunk,注意action里面要返回函数 import { configureS…...
抽象类和接口(全)
一、抽象类 1.概念:如果⼀个类中没有包含⾜够的信息来描绘⼀个具体的对象,这样的类就是抽象类。 像是没有实际⼯作的⽅法,我们可以把它设计成⼀个抽象⽅法,包含抽象⽅法的类我们称为抽象类。 2.语法 在Java中,⼀个类如果被 abs…...
CSS 工具对比:UnoCSS vs Tailwind CSS,谁是你的菜?
在现代前端开发中,Utility-First (功能优先) CSS 框架已经成为主流。其中,Tailwind CSS 无疑是市场的领导者和标杆。然而,一个名为 UnoCSS 的新星正以其惊人的性能和极致的灵活性迅速崛起。 这篇文章将深入探讨这两款工具的核心理念、技术差…...
SFTrack:面向警务无人机的自适应多目标跟踪算法——突破小尺度高速运动目标的追踪瓶颈
【导读】 本文针对无人机(UAV)视频中目标尺寸小、运动快导致的多目标跟踪难题,提出一种更简单高效的方法。核心创新在于从低置信度检测启动跟踪(贴合无人机场景特性),并改进传统外观匹配算法以关联此类检测…...
设计模式域——软件设计模式全集
摘要 软件设计模式是软件工程领域中经过验证的、可复用的解决方案,旨在解决常见的软件设计问题。它们是软件开发经验的总结,能够帮助开发人员在设计阶段快速找到合适的解决方案,提高代码的可维护性、可扩展性和可复用性。设计模式主要分为三…...
夏普比率(Sharpe ratio)
具有投资常识的人都明白,投资光看收益是不够的,还要看承受的风险,也就是收益风险比。 夏普比率描述的正是这个概念,即每承受一单位的总风险,会产生多少超额的报酬。 用数学公式描述就是: 其中࿱…...
易语言是什么?易语言能做什么?
易语言(EPL)是什么? 易语言(Easy Programming Language,简称EPL)是一款面向中文用户的编程语言,由中国人吴涛于2000年开发,专为降低编程门槛设计。其核心特点是…...
