计算机网络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 欢迎交流 笔记说明 如我在驱动开发总览中说的那样&…...
React Native 开发环境搭建(全平台详解)
React Native 开发环境搭建(全平台详解) 在开始使用 React Native 开发移动应用之前,正确设置开发环境是至关重要的一步。本文将为你提供一份全面的指南,涵盖 macOS 和 Windows 平台的配置步骤,如何在 Android 和 iOS…...
在鸿蒙HarmonyOS 5中实现抖音风格的点赞功能
下面我将详细介绍如何使用HarmonyOS SDK在HarmonyOS 5中实现类似抖音的点赞功能,包括动画效果、数据同步和交互优化。 1. 基础点赞功能实现 1.1 创建数据模型 // VideoModel.ets export class VideoModel {id: string "";title: string ""…...

23-Oracle 23 ai 区块链表(Blockchain Table)
小伙伴有没有在金融强合规的领域中遇见,必须要保持数据不可变,管理员都无法修改和留痕的要求。比如医疗的电子病历中,影像检查检验结果不可篡改行的,药品追溯过程中数据只可插入无法删除的特性需求;登录日志、修改日志…...
鸿蒙中用HarmonyOS SDK应用服务 HarmonyOS5开发一个医院挂号小程序
一、开发准备 环境搭建: 安装DevEco Studio 3.0或更高版本配置HarmonyOS SDK申请开发者账号 项目创建: File > New > Create Project > Application (选择"Empty Ability") 二、核心功能实现 1. 医院科室展示 /…...

1.3 VSCode安装与环境配置
进入网址Visual Studio Code - Code Editing. Redefined下载.deb文件,然后打开终端,进入下载文件夹,键入命令 sudo dpkg -i code_1.100.3-1748872405_amd64.deb 在终端键入命令code即启动vscode 需要安装插件列表 1.Chinese简化 2.ros …...
大语言模型(LLM)中的KV缓存压缩与动态稀疏注意力机制设计
随着大语言模型(LLM)参数规模的增长,推理阶段的内存占用和计算复杂度成为核心挑战。传统注意力机制的计算复杂度随序列长度呈二次方增长,而KV缓存的内存消耗可能高达数十GB(例如Llama2-7B处理100K token时需50GB内存&a…...
Fabric V2.5 通用溯源系统——增加图片上传与下载功能
fabric-trace项目在发布一年后,部署量已突破1000次,为支持更多场景,现新增支持图片信息上链,本文对图片上传、下载功能代码进行梳理,包含智能合约、后端、前端部分。 一、智能合约修改 为了增加图片信息上链溯源,需要对底层数据结构进行修改,在此对智能合约中的农产品数…...
关于uniapp展示PDF的解决方案
在 UniApp 的 H5 环境中使用 pdf-vue3 组件可以实现完整的 PDF 预览功能。以下是详细实现步骤和注意事项: 一、安装依赖 安装 pdf-vue3 和 PDF.js 核心库: npm install pdf-vue3 pdfjs-dist二、基本使用示例 <template><view class"con…...

【深度学习新浪潮】什么是credit assignment problem?
Credit Assignment Problem(信用分配问题) 是机器学习,尤其是强化学习(RL)中的核心挑战之一,指的是如何将最终的奖励或惩罚准确地分配给导致该结果的各个中间动作或决策。在序列决策任务中,智能体执行一系列动作后获得一个最终奖励,但每个动作对最终结果的贡献程度往往…...

数据分析六部曲?
引言 上一章我们说到了数据分析六部曲,何谓六部曲呢? 其实啊,数据分析没那么难,只要掌握了下面这六个步骤,也就是数据分析六部曲,就算你是个啥都不懂的小白,也能慢慢上手做数据分析啦。 第一…...