计算机网络 实验七 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接口定义: 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/,这个就是将论文中的内容或者补充视频放到一个网页上,以更好的展示他们的工作。因此,这里介绍下如何使用前人提供的模板制作我…...
mongodb/redis/neo4j 如何自己打造一个 web 数据库可视化客户端?
随笔 从千万粉丝“何同学”抄袭开源项目说起,为何纯技术死路一条? 数据源的统一与拆分 监控报警系统的指标、规则与执行闭环 我们的系统应该配置哪些监控报警项? 监控报警系统如何实现自监控? java 老矣,尚能饭否ÿ…...
1、正则表达式
grep匹配 grep用来过滤文本内容,以匹配要查询的结果。 grep root /etc/passwd:匹配包含root的行 -m 数字:匹配几次后停止 -v:取反-i:忽略字符的大小写,默认的,可以不加-n:…...
Airsim安装问题:This project was made with a different version of the Unreal Engine.
本文记录如何在 Ubuntu 18.04 系统中配置 AirSim 和 Unreal Engine 4.27,并成功打开默认的 Blocks 环境项目。 环境说明 系统:Ubuntu 18.04Unreal Engine 版本:4.27AirSim:主分支文件路径: Unreal Engine:…...
java八股-分布式服务的接口幂等性如何设计?
文章目录 接口幂等token Redis分布式锁 原文视频链接:讲解的流程特别清晰,易懂,收获巨大 【新版Java面试专题视频教程,java八股文面试全套真题深度详解(含大厂高频面试真题)】 https://www.bilibili.com/…...
vscode python code runner执行乱码
打开vscode code runner插件配置,如图所示: 然后在setting.json修改运行python的默认命令: 将原来 替换成 "python":"set PYTHONIOENCODINGutf8 && python", 参考:Vscode——python环境输出中文乱…...
Java中的继承详解
在Java编程中,继承(Inheritance)是一种面向对象编程(OOP)的核心概念,它允许一个类(称为子类或派生类)继承另一个类(称为父类或基类)的属性和方法。通过继承&a…...
kafka进阶_2.存储消息
文章目录 一、存储消息介绍二、副本同步2.1、数据一致性2.2、HW在副本之间的传递 如果想了解kafka基础架构和生产者架构可以参考 kafka基础和 Kafka进阶_1.生产消息。 一、存储消息介绍 数据已经由生产者Producer发送给Kafka集群,当Kafka接收到数据后,…...
如何启用本机GPU硬件加速猿大师播放器网页同时播放多路RTSP H.265 1080P高清摄像头RTSP视频流?
目前市面上主流播放RTSP视频流的方式是用服务器转码方案,这种方案的好处是兼容性更强,可以用于不同的平台,比如:Windows、Linux或者手机端,但是缺点也很明显:延迟高、播放高清或者同时播放多路视频视频容易…...
如何更好地设计SaaS系统架构
SaaS(Software as a Service)架构设计的核心目标是满足多租户需求、支持弹性扩展和高性能,同时保持低成本和高可靠性。一个成功的SaaS系统需要兼顾技术架构、资源利用、用户体验和商业目标。本文从以下几个方面探讨如何更好地设计SaaS系统架构…...
表征对齐在训练DiT模型中的重要性
Diffusion Models专栏文章汇总:入门与实战 前言:训练过DiT模型的读者们肯定有所体会,相比于UNet模型训练难度大了很多,模型不仅很难收敛,而且非常容易训崩,其中一个很重要的原因是没有进行表征对齐…...
Qt中CMakeLists.txt解释大全
Qt从Qt5.15版本开始正式推荐使用CMake进行项目管理。 在Qt 5.15之前,虽然可以使用CMake进行构建,但Qt官方更推荐使用qmake。 然而,从Qt5.15开始,Qt官方正式推荐使用CMake作为主要的构建系统,并在Qt 6中进一步加强了…...
【在 PyTorch 中使用 tqdm 显示训练进度条,并解决常见错误TypeError: ‘module‘ object is not callable】
在 PyTorch 中使用 tqdm 显示训练进度条,并解决常见错误TypeError: module object is not callable 在进行深度学习模型训练时,尤其是在处理大规模数据时,实时了解训练过程中的进展是非常重要的。为了实现这一点,我们可以使用 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.…...
数据分析的尽头是web APP?
数据分析的尽头是web APP? 在做了一些数据分析的项目,也制作了一些数据分析相关的web APP之后,总结自己的一些想法和大家分享。 1.web APP是呈现数据分析结果的另外一种形式。 数据分析常见的结果是数据分析报告,可以是PPT或者…...
YOLO系列论文综述(从YOLOv1到YOLOv11)【第3篇:YOLOv1——YOLO的开山之作】
YOLOv1 1 摘要2 YOLO: You Only Look Once2.1 如何工作2.2 网络架构2.3 训练2.4 优缺点 YOLO系列博文: 【第1篇:概述物体检测算法发展史、YOLO应用领域、评价指标和NMS】【第2篇:YOLO系列论文、代码和主要优缺点汇总】 ——————————…...
容器和它的隔离机制
什么是容器和它的隔离机制? 容器 是一种轻量化的虚拟化技术,它允许多个应用程序共享同一个操作系统(OS)内核,同时为每个应用程序提供自己的运行环境。容器通过利用 Linux 的内核功能(如 Namespaces 和 Cgr…...
【数据结构与算法】排序算法总结:冒泡 / 快排 / 直接插入 / 希尔 / 简单选择 / 堆排序 / 归并排序
1 排序 1.1 冒泡 内排序的交换排序类别 1.1.1 普通实现 public class BubbleSort {/*** 基本的 冒泡排序*/public static void bubbleSort(int[] srcArray) {int i,j; // 用于存放数组下标int temp 0; // 用于交换数值时临时存放值for(i0;i<srcArray.length-1;i){// j …...
Windows Serv 2019 虚拟机 安装Oracle19c,图文详情(超详细)
1、下载安装文件 Oracle官网下载直链:https://www.oracle.com/database/technologies/oracle-database-software-downloads.html#db_ee 夸克网盘下载:https://pan.quark.cn/s/1460a663ee83 2、新建 Windows Server 2019 虚拟机 (超详细&a…...
数字孪生开发之 Three.js 插件资源库(2)
在当今数字化快速发展的时代,数字孪生技术正逐渐成为各个领域的关键技术之一。它通过创建物理实体的虚拟副本,实现对实体的实时监测、模拟和优化,为企业和组织带来了诸多好处,如提高生产效率、降低成本、改进产品质量等。然而&…...
小米C++ 面试题及参考答案下(120道面试题覆盖各种类型八股文)
指针和引用的区别?怎么实现的? 指针和引用有以下一些主要区别。 从概念上来说,指针是一个变量,它存储的是另一个变量的地址。可以通过指针来间接访问所指向的变量。例如,我们定义一个整型指针int *p;,它可以指向一个整型变量的内存地址。而引用是一个别名,它必须在定义的…...
OpenOCD之J-Link下载
NOTE:此篇文章由笔者的 VSCode编辑GCC for ARM交叉编译工具链Makefile构建OpenOCD调试(基于STM32的标准库)派生而来。 1.下载USB Dirver Tool.exe,选择J-Link dirver,替换成WinUSB驱动。(⭐USB Dirver Tool…...
华为云云连接+squid进行正向代理上网冲浪
1 概述 Squid是一个高性能的代理缓存服务器,主要用于缓冲Internet数据。它支持多种协议,包括FTP、gopher、HTTPS和HTTP。Squid通过一个单独的、非模块化的、I/O驱动的进程来处理所有的客户端请求,这使得它在处理请求时具有较高的效率。…...
情绪识别项目
文章目录 1、mp4s文件转mp3文件2、Audition下载3、Audition安装4、Audition使用: 1、mp4s文件转mp3文件 在线转:Convert audio to MP3(https://audio.online-convert.com/convert-to-mp3) 2、Audition下载 Audition CC2019/64位…...
餐饮加盟网站怎么做/最新国际新闻头条今日国际大事件
1.对单字符的查找: 1.1单字符: ‘X’ $ grep ‘q’ passwd //查找单个字符 1.2 范围字符 [] [^] 1.3 任意字符 . $ grep [1-9] passwd //查找某个范围的单个字符(范围) $ grep [a-zA-Z] passwd //查找某个范围的单个字符ÿ…...
上海做网站的费用/站长之家是什么
C是一种编程语言,但又不是一种单一的编程语言,它可以包含以下四种子语言,也即C的四个组成部分: 1、C部分。C语言的基本语法,内置类型、预处理、数组、指针等。 2、面向对象部分。类,封装、继承、多态、虚…...
要修改wordpress目录下的文件权限/北京百度竞价托管公司
问题如题:安装方法参考 http://www.cnblogs.com/shengulong/p/7887586.html ,安装完后,使用时出现如题的错误 解决办法: 1、zerorpc本身依赖很多三方包,请注意版本的兼容性,因此最佳方案是,把这…...
网站支持asp/杭州seo技术培训
iOS 获取图片有三种方法: 1. 直接调用摄像头拍照 2. 从相册中选择 3. 从图库中选择 UIImagePickerController 是系统提供的用来获取图片和视频的接口; 用UIImagePickerController 类来获取图片视频,大体分为以下几个步骤: 1. 初始…...
做做做网站/六安seo
虚拟机中试用windows 8(视频) VM7装windows 8基本没戏,建议用正式版vmware8.0,还有Oracle的Virtualbox 也没问题http://www.virtualbox.org/wiki/Downloads,本视频展示了部分Metro 风格的桌面,与以前的系统相比这这是具有革命性变化 平板电脑…...
做推广能提高网站权重么/深圳seo优化
在上一篇文章里面我们编译了在X86体系的最简单的Linux下的入门驱动Hello,现在我们开始开发在ARM板上的最简单的Hello的驱动: 开发环境:虚拟机上的Linux(Fedora)ARM(11)友善之臂的光盘带的linux内核linux-2.6.36 开发步骤: 1.先安装…...