当前位置: 首页 > news >正文

计算机网络 实验七 NAT配置实验

一、实验目的

        通过本实验理解网络地址转换的原理和技术,掌握扩展NAT/NAPT设计、配置和测试。

二、实验原理

        NAT配置实验的原理主要基于网络地址转换(NAT)技术,该技术用于将内部私有网络地址转换为外部公有网络地址,从而实现内网主机与外网的通信。以下是关于NAT配置实验原理的详细解释:

        NAT概述:NAT是一种网络技术,它允许内部网络中的设备使用私有IP地址,同时通过一个或多个公共IP地址访问外部网络。当内部网络中的主机需要访问外部网络时,NAT设备(如路由器)会将其私网地址转换为公网地址,从而在外部网络上进行通信。

        NAT工作原理:NAT设备维护一个转换表,记录内部私有地址与外部公有地址之间的映射关系。当内部主机发送数据包到外部网络时,NAT设备会检查数据包的源IP地址,并在转换表中查找对应的公网地址,然后将数据包的源IP地址替换为公网地址。同时,NAT设备还会记录数据包的端口号,以便在返回数据包时能够正确地将其转发给原始的内部主机。

        NAT分类:静态NAT:将一个固定的内部私有IP地址映射到一个固定的外部公有IP地址。动态NAT:也称为PAT(端口地址转换),它允许多个内部私有IP地址共享一个外部公有IP地址的不同端口。Easy IP:是NAPT的一种方式,直接借用路由器出接口IP地址作为公网地址,将不同的内部地址映射到同一公有地址的不同端口号上。

三、实验环境

        Cisco Router 2620XM     3台

        Catalyst Switch 2950-24 6台

        Hub Hub-PT 1台

        PC PC-PT 5台

        Server Server-PT 4台

四、实验内容

【实验拓扑和参数配置】

(一)首先按照下图构建网络拓扑

(二)配置参数

参照下表进行参数配置,具体步骤见下文。

路由器配置信息(子网掩码均为255.255.255.0)

主机名

类型

IP 地址

RIP路由网络

时钟频率

InsideRouter

2620XM

Fa0/0: 192.168.1.2

Eth1/0: 192.168.2.1

Eth1/1: 192.168.3.1

Eth1/2: 192.168.4.1

Eth1/3: 192.168.5.1

192.168.1.0

192.168.2.0

192.168.3.0

192.168.4.0

192.168.5.0

EageRouter

2620XM

Fa0/0: 192.168.1.1

Ser0/0: 218.58.59.91

192.168.1.0

218.58.59.0

OutsideRouter

2620XM

Fa0/0: 218.58.100.1

Ser0/0: 218.58.59.90

218.58.59.0

218.58.100.0

9600

PC和Server配置信息(子网掩码均为255.255.255.0)

主机名

IP 地址

默认网关

所属网段

PC0

192.168.2.2

192.168.2.1

192.168.2.0

PC1

192.168.2.3

192.168.2.1

192.168.2.0

PC2

192.168.3.2

192.168.3.1

192.168.3.0

PC3

192.168.4.2

192.168.4.1

192.168.4.0

PC4

192.168.5.2

192.168.5.1

192.168.5.0

PC5

218.58.100.2

218.58.100.1

218.58.100.0

WWW

192.168.1.3

192.168.1.1

192.168.1.0

FTP

192.168.1.4

192.168.1.1

192.168.1.0

SMTP

192.168.1.5

192.168.1.1

192.168.1.0

Outside WWW

218.58.100.3

218.58.100.1

218.58.100.0

交换机和Hub配置信息

主机名

类型

所属网段

备注

Manage

2950-24

192.168.2.0

所属校园网管理网段

Administration

2950-24

192.168.3.0

所属校园网行政网段

Teach

2950-24

192.168.4.0

所属校园网教学网段

Student

2950-24

192.168.5.0

所属校园网宿舍网段

Server Area

2950-24

192.168.1.0

DMZ区

Outside

2950-24

218.58.100.0

所属校外网

Hub 0

Hub-PT

Hub-PT

【实验步骤】

1. 配置静态网络地址转换并完成相应的测试

将192.168.1.3 静态NAT到218.58.59.93。

配置路由器IP:

配置路由器RIP:

配置主机IP:

配置时钟频率:

配置服务器IP:

首先将192.168.1.3 静态转换到218.58.59.93并查看一下刚才的配置。

接下来我们进行测试,添加一个由PC5到218.58.59.93的Complex PDU格式如图所示:

在Simulation模式下我们跟踪该PDU如图所示:

图中PDU的Successful状态说明外网网段可以访问218.58.59.93上的HTTP资源。

在Simulation Panel-Event List中单击3.022s的EageRouter上的PDU,调出PDU Information对话框,在OSI Model选项卡中我们可以清楚的看到IP地址的转换过程,OSI Model下方的英文信息说明这一点。

2. 配置动态网络地址转换并完成相应的测试

将管理网段、行政网段的内部私有IP动态NAT到218.58.59.95和218.58.59.96。

将管理网段(192.168.2.0)、行政网段(192.168.3.0)的内部私有IP动态转换到218.58.59.95和218.58.59.96。

建立两个Complex PDU格式如下图所示:

图中0号PDU和1号PDU的Successful状态分别说明管理网段和行政网段可以访问218.58.59.100.3上的HTTP资源。

用如下命令做进一步的验证:EdgeRouter#show ip nat translations 信息显示又增加了两个条目,正好是刚才进行的NAT地址转换。

分别调出两个数据包在EdgeRouter上的PDU Information 面板,在各自OSI Model选项卡中我们可以清楚的看到各自的Ip地址的转换过程,OSI Model下方的英文信息说明这一点。

五、实验思考

详细记录实验过程当中遇到的具体问题及阐述自己的解决方法。

        在连接设备的过程中,对于2620XM路由器,InsideRouter缺少Eth端口,EdgeRouter和OutsideRouter缺少Ser端口,导致无法连接。通过查找资料,发现可以在路由器的Physicial界面添加端口。在添加端口的过程中,需要先关闭路由器电源,对于InsideRouter,将NM-4E拖入Zoom in下面的黑色区域即可添加4个Eth端口;对于EdgeRouter和OutsideRouter,将WIC-2T拖入Original Size下面的两块黑色区域之一即可添加2个Ser端口,完成操作后开启路由器电源,等待片刻后端口添加完成。

        在设备连接完成后,不了解Cisco Packet Tracer软件如何操作,导致实验无法进行,查找资料后才了解了本次实验的基本操作:

        在右侧栏中添加Complex PDU

        在右下角进入Simulation模式

        在Realtime和Simulation的下方查看PDU状态

相关文章:

计算机网络 实验七 NAT配置实验

一、实验目的 通过本实验理解网络地址转换的原理和技术,掌握扩展NAT/NAPT设计、配置和测试。 二、实验原理 NAT配置实验的原理主要基于网络地址转换(NAT)技术,该技术用于将内部私有网络地址转换为外部公有网络地址,从…...

数据结构——排序算法第二幕(交换排序:冒泡排序、快速排序(三种版本) 归并排序:归并排序(分治))超详细!!!!

文章目录 前言一、交换排序1.1 冒泡排序1.2 快速排序1.2.1 hoare版本 快排1.2.2 挖坑法 快排1.2.3 lomuto前后指针 快排 二、归并排序总结 前言 继上篇学习了排序的前面两个部分:直接插入排序和选择排序 今天我们来学习排序中常用的交换排序以及非常稳定的归并排序 快排可是有多…...

【kafka04】消息队列与微服务之Kafka 图形工具

Kafka 在 ZooKeeper 里面的存储结构 topic 结构 /brokers/topics/[topic] partition结构 /brokers/topics/[topic]/partitions/[partitionId]/state broker信息 /brokers/ids/[o...N] 控制器 /controller 存储center controller中央控制器所在kafka broker的信息 消费者 /c…...

剖析前后端 API 接口参数设计:JSON 数据结构化全攻略

在当今软件开发领域,前后端分离架构已成为主流趋势。而 API 接口作为前后端之间数据交互的桥梁,其设计的合理性对系统的可维护性和扩展性起着至关重要的作用。JSON(JavaScript Object Notation)作为一种轻量级的数据交换格式&…...

vue3 多种方式接受props,定义ref,reactive

定义props 1 第一种 interface AddType { dialogStudyVisible: boolean; } const props defineProps<AddType>(); 第二种 // const props defineProps({ // dialogStudyVisible:{ // type:Boolean, // default:false // } // }) 第三种 // const …...

逻辑处理器核心指纹修改

navigator.hardwareConcurrency的属性,可以用来获取CPU的逻辑处理器核心数。 1、navigator.hardwareConcurrency接口定义&#xff1a; third_party\blink\renderer\core\frame\navigator_concurrent_hardware.idl // https://html.spec.whatwg.org/C/#navigator.hardwarecon…...

如何制作项目网页

一、背景 许多论文里经常会有这样一句话Supplementary material can be found at https://hri-eu.github.io/Lami/&#xff0c;这个就是将论文中的内容或者补充视频放到一个网页上&#xff0c;以更好的展示他们的工作。因此&#xff0c;这里介绍下如何使用前人提供的模板制作我…...

mongodb/redis/neo4j 如何自己打造一个 web 数据库可视化客户端?

随笔 从千万粉丝“何同学”抄袭开源项目说起&#xff0c;为何纯技术死路一条&#xff1f; 数据源的统一与拆分 监控报警系统的指标、规则与执行闭环 我们的系统应该配置哪些监控报警项&#xff1f; 监控报警系统如何实现自监控? java 老矣&#xff0c;尚能饭否&#xff…...

1、正则表达式

grep匹配 grep用来过滤文本内容&#xff0c;以匹配要查询的结果。 grep root /etc/passwd&#xff1a;匹配包含root的行 -m 数字&#xff1a;匹配几次后停止 -v&#xff1a;取反-i&#xff1a;忽略字符的大小写&#xff0c;默认的&#xff0c;可以不加-n&#xff1a…...

Airsim安装问题:This project was made with a different version of the Unreal Engine.

本文记录如何在 Ubuntu 18.04 系统中配置 AirSim 和 Unreal Engine 4.27&#xff0c;并成功打开默认的 Blocks 环境项目。 环境说明 系统&#xff1a;Ubuntu 18.04Unreal Engine 版本&#xff1a;4.27AirSim&#xff1a;主分支文件路径&#xff1a; Unreal Engine&#xff1a…...

java八股-分布式服务的接口幂等性如何设计?

文章目录 接口幂等token Redis分布式锁 原文视频链接&#xff1a;讲解的流程特别清晰&#xff0c;易懂&#xff0c;收获巨大 【新版Java面试专题视频教程&#xff0c;java八股文面试全套真题深度详解&#xff08;含大厂高频面试真题&#xff09;】 https://www.bilibili.com/…...

vscode python code runner执行乱码

打开vscode code runner插件配置&#xff0c;如图所示&#xff1a; 然后在setting.json修改运行python的默认命令&#xff1a; 将原来 替换成 "python":"set PYTHONIOENCODINGutf8 && python", 参考&#xff1a;Vscode——python环境输出中文乱…...

Java中的继承详解

在Java编程中&#xff0c;继承&#xff08;Inheritance&#xff09;是一种面向对象编程&#xff08;OOP&#xff09;的核心概念&#xff0c;它允许一个类&#xff08;称为子类或派生类&#xff09;继承另一个类&#xff08;称为父类或基类&#xff09;的属性和方法。通过继承&a…...

kafka进阶_2.存储消息

文章目录 一、存储消息介绍二、副本同步2.1、数据一致性2.2、HW在副本之间的传递 如果想了解kafka基础架构和生产者架构可以参考 kafka基础和 Kafka进阶_1.生产消息。 一、存储消息介绍 数据已经由生产者Producer发送给Kafka集群&#xff0c;当Kafka接收到数据后&#xff0c…...

如何启用本机GPU硬件加速猿大师播放器网页同时播放多路RTSP H.265 1080P高清摄像头RTSP视频流?

目前市面上主流播放RTSP视频流的方式是用服务器转码方案&#xff0c;这种方案的好处是兼容性更强&#xff0c;可以用于不同的平台&#xff0c;比如&#xff1a;Windows、Linux或者手机端&#xff0c;但是缺点也很明显&#xff1a;延迟高、播放高清或者同时播放多路视频视频容易…...

如何更好地设计SaaS系统架构

SaaS&#xff08;Software as a Service&#xff09;架构设计的核心目标是满足多租户需求、支持弹性扩展和高性能&#xff0c;同时保持低成本和高可靠性。一个成功的SaaS系统需要兼顾技术架构、资源利用、用户体验和商业目标。本文从以下几个方面探讨如何更好地设计SaaS系统架构…...

表征对齐在训练DiT模型中的重要性

Diffusion Models专栏文章汇总&#xff1a;入门与实战 前言&#xff1a;训练过DiT模型的读者们肯定有所体会&#xff0c;相比于UNet模型训练难度大了很多&#xff0c;模型不仅很难收敛&#xff0c;而且非常容易训崩&#xff0c;其中一个很重要的原因是没有进行表征对齐&#xf…...

Qt中CMakeLists.txt解释大全

‌Qt从Qt5.15版本开始正式推荐使用CMake进行项目管理‌。 在Qt 5.15之前&#xff0c;虽然可以使用CMake进行构建&#xff0c;但Qt官方更推荐使用qmake。 然而&#xff0c;从Qt5.15开始&#xff0c;Qt官方正式推荐使用CMake作为主要的构建系统&#xff0c;并在Qt 6中进一步加强了…...

【在 PyTorch 中使用 tqdm 显示训练进度条,并解决常见错误TypeError: ‘module‘ object is not callable】

在 PyTorch 中使用 tqdm 显示训练进度条&#xff0c;并解决常见错误TypeError: module object is not callable 在进行深度学习模型训练时&#xff0c;尤其是在处理大规模数据时&#xff0c;实时了解训练过程中的进展是非常重要的。为了实现这一点&#xff0c;我们可以使用 tq…...

数据结构-堆的实现和应用

目录 1.堆的概念 2.堆的构建 3.堆的实现 4.堆的功能实现 4.1堆的初始化 4.2堆的销毁 4.3堆的插入 4.3.1向上调整 4.4堆的删除 4.4.1向下调整法 ​编辑4.5取堆顶 5. 向上调整法和向下调整法比较 6.堆的应用 6.1TOP-K问题 6.2TOP-K思路 6.2.1用前n个数据来建堆 6.…...

利用最小二乘法找圆心和半径

#include <iostream> #include <vector> #include <cmath> #include <Eigen/Dense> // 需安装Eigen库用于矩阵运算 // 定义点结构 struct Point { double x, y; Point(double x_, double y_) : x(x_), y(y_) {} }; // 最小二乘法求圆心和半径 …...

【解密LSTM、GRU如何解决传统RNN梯度消失问题】

解密LSTM与GRU&#xff1a;如何让RNN变得更聪明&#xff1f; 在深度学习的世界里&#xff0c;循环神经网络&#xff08;RNN&#xff09;以其卓越的序列数据处理能力广泛应用于自然语言处理、时间序列预测等领域。然而&#xff0c;传统RNN存在的一个严重问题——梯度消失&#…...

深入理解JavaScript设计模式之单例模式

目录 什么是单例模式为什么需要单例模式常见应用场景包括 单例模式实现透明单例模式实现不透明单例模式用代理实现单例模式javaScript中的单例模式使用命名空间使用闭包封装私有变量 惰性单例通用的惰性单例 结语 什么是单例模式 单例模式&#xff08;Singleton Pattern&#…...

拉力测试cuda pytorch 把 4070显卡拉满

import torch import timedef stress_test_gpu(matrix_size16384, duration300):"""对GPU进行压力测试&#xff0c;通过持续的矩阵乘法来最大化GPU利用率参数:matrix_size: 矩阵维度大小&#xff0c;增大可提高计算复杂度duration: 测试持续时间&#xff08;秒&…...

Spring是如何解决Bean的循环依赖:三级缓存机制

1、什么是 Bean 的循环依赖 在 Spring框架中,Bean 的循环依赖是指多个 Bean 之间‌互相持有对方引用‌,形成闭环依赖关系的现象。 多个 Bean 的依赖关系构成环形链路,例如: 双向依赖:Bean A 依赖 Bean B,同时 Bean B 也依赖 Bean A(A↔B)。链条循环: Bean A → Bean…...

在QWebEngineView上实现鼠标、触摸等事件捕获的解决方案

这个问题我看其他博主也写了&#xff0c;要么要会员、要么写的乱七八糟。这里我整理一下&#xff0c;把问题说清楚并且给出代码&#xff0c;拿去用就行&#xff0c;照着葫芦画瓢。 问题 在继承QWebEngineView后&#xff0c;重写mousePressEvent或event函数无法捕获鼠标按下事…...

基于IDIG-GAN的小样本电机轴承故障诊断

目录 🔍 核心问题 一、IDIG-GAN模型原理 1. 整体架构 2. 核心创新点 (1) ​梯度归一化(Gradient Normalization)​​ (2) ​判别器梯度间隙正则化(Discriminator Gradient Gap Regularization)​​ (3) ​自注意力机制(Self-Attention)​​ 3. 完整损失函数 二…...

Web中间件--tomcat学习

Web中间件–tomcat Java虚拟机详解 什么是JAVA虚拟机 Java虚拟机是一个抽象的计算机&#xff0c;它可以执行Java字节码。Java虚拟机是Java平台的一部分&#xff0c;Java平台由Java语言、Java API和Java虚拟机组成。Java虚拟机的主要作用是将Java字节码转换为机器代码&#x…...

破解路内监管盲区:免布线低位视频桩重塑停车管理新标准

城市路内停车管理常因行道树遮挡、高位设备盲区等问题&#xff0c;导致车牌识别率低、逃费率高&#xff0c;传统模式在复杂路段束手无策。免布线低位视频桩凭借超低视角部署与智能算法&#xff0c;正成为破局关键。该设备安装于车位侧方0.5-0.7米高度&#xff0c;直接规避树枝遮…...

图解JavaScript原型:原型链及其分析 | JavaScript图解

​​ 忽略该图的细节&#xff08;如内存地址值没有用二进制&#xff09; 以下是对该图进一步的理解和总结 1. JS 对象概念的辨析 对象是什么&#xff1a;保存在堆中一块区域&#xff0c;同时在栈中有一块区域保存其在堆中的地址&#xff08;也就是我们通常说的该变量指向谁&…...