《GNS3实战指南》——第1章 GNS3介绍1.1 为什么使用GNS3

简介:

本节书摘来自异步社区《GNS3实战指南》一书中的第1章,第1.1节,作者: 【美】Jason C. Neumann(詹森 C. 诺伊曼) 更多章节内容可以访问云栖社区“异步社区”公众号查看。

第1章 GNS3介绍


<a href=https://yqfile.alicdn.com/2b617721ff231af0b93d766e5bd9c1c0b4f72b6a.png" >

GNS3是一款运行在Windows、OS X和Linux上的跨平台图形网络模拟器,是Christophe Fillot、Jeremy Grossmann和Julien Duponchelle等超级优秀的行业专家协作努力的成果,此处只提到了几个人。Fillot是MIPS处理器仿真程序(Dynamips)的开发者,Dynamips使你可以运行Cisco路由器操作系统;Grossmann是GNS3的开发者,他把Dynamips和其他开源软件集成到一个易于使用的图形用户界面中;Duponchelle协助GNS3的编程,他的贡献推进了软件开发。

GNS3使你能够在PC上设计并测试虚拟网络,包括(但不限于)Cisco IOS、Juniper、MikroTik、Arista、Vyatta网络,在CCNA与CCNP考试中学习Cisco IOS路由和交换时需要实践经验的学生也常使用它。但这仅仅是GNS3功能的表面。本章会讨论GNS3是什么以及这个软件的优点和局限性。

1.1 为什么使用GNS3

在对虚拟化、网络工程师、管理员好奇之前,学生不得不使用物理硬件搭建实验室,或在机架上花费时间。这两个选择都华而不实,还限制了可用的网络设计。像RouterSim和Boson NetSim等软件模拟程序也已经存在了很长时间,但是,这些有限的应用程序仅仅能模拟Cisco IOS的命令。基于UNIX上的Cisco IOS(IOU),Cisco Education的确提供了更便宜的虚拟化机架租赁,但是借助它只可以练习特定预配置的网络配置。还要求有一个活跃的网络连接来访问实验室。Cisco也提供了一款名为虚拟网络路由实验(VIRL)的产品,它类似于GNS3,但是它需要缴纳年费,限制实验室中可以使用的对象数量,并且只用于模拟Cisco操作系统。

然而,GNS3可以定制符合要求的网络实验室,使用Cisco和非Cisco技术创建无限的项目,在项目中添加无限的对象,不论网络连通性如何,可以在任意时刻访问这些项目。GNS3通过对运行在真实网络操作系统(如Cisco IOS)和模拟操作系统(如NX-OSv)上的模拟硬件设备的组合,以及对跨多台计算机资源的分享能力,为设计提供了最大的灵活性。

1.1.1 硬件仿真
GNS3的图形界面可以让你使用大量的路由器、交换机和PC创建虚拟网络实验室,但它与Cisco IOS搭配使用时才发挥真正的作用。不像类似的应用程序,GNS3不仅仅模拟Cisco IOS的命令或特性。相反,它使用一个后台虚拟机监控程序来仿真运行Cisco IOS的硬件。因为只有对硬件仿真,才可以在PC上运行真实的IOS镜像文件。所有的配置命令和输出都来自真实的IOS,并且理论上,IOS版本支持的任何协议或特性在网络设计中都可用。这个功能将GNS3与RouterSim、Boson NetSim或VIRL等程序区分开,这些程序模拟整个程序,只为你提供有限的环境、命令和场景。

1.1.2 操作系统模拟
除了硬件仿真之外,GNS3集成了模拟操作系统,并且对于其他GNS3设备,它们是完全网络化的。一个这样的例子就是Cisco IOU,它会在第9章介绍。IOU由一系列仿真IOS镜像特征的Linux二进制文件组成,GNS3完全支持它。

除了Cisco IOS之外,GNS3可以集成QEMU和运行Linux、BSD或Windows等操作系统的VirtualBox虚拟机。例如,为了在Linux上练习安装、配置Apache Web服务器,在GNS3中添加一个运行Linux和Apache Web服务器的VirtualBox虚拟机(VM),并且通过从另一台VirtualBox主机上浏览它来测试。所有这一切都是在GNS3用户环境中完成的。如果想在Apache服务器前放置防火墙,可以使用Cisco路由器、自适应安全设备(ASA)防火墙,甚至基于Linux的Vyatta等防火墙。

1.1.3 GNS3服务器的可扩展性
GSN3使用客户端/服务器技术;就像Web浏览器连接到Web服务器来访问和显示网页,GNS3图形用户界面(GUI)程序访问GNS3服务器,让它开始、停止或控制GNS3设备。这使得项目可以扩展,因为它们不局限于在一台计算机上运行。如果要使用更大、更复杂的拓扑,还可以在不同的PC上运行GNS3服务器程序,而不是GSN3 GUI程序。如果访问有大量内存和处理能力的高端服务器,可以在服务器硬件上安装GNS3服务器程序,但从运行在更普通的PC上的GNS3 GUI程序控制所有的设备。

1.1.4 虚拟连接
GNS3真正的魅力在于可以将虚拟设备连接到一起,通常使用IPv4和IPv6等协议,来创建可以运行在单台计算机上的实验室。一些简单的设计可能只有几个组件,如图1.1所示的项目一样。


<a href=https://yqfile.alicdn.com/8d5d658de9b13bca339e413e10c264aafbef28a1.png" >

图1.1中的项目允许Fedora Linux主机通过交换机、Juniper路由器、Cisco路由器和GNS3云节点访问真实的互联网。那是一个简单网络,但是可以创建由许多路由器、交换机、PC组成的复杂网络,就像图1.2所示的设计。


8722786ca7b3f59fe3d2e9d54b9c4713beec0ca3

图1.2所示的项目由多于25台的设备所配置,包括冗余的交换机群、EtherChannel、二层热备份路由协议(HSRP)、帧中继、增强型内部网关路由协议(EIGRP)、开放最短路径优先(OSPF)和边界网关协议(BGP),但是项目可以运行在适度配置的PC上。为了保持设备整齐,可以使用带颜色、可扩展的文本进行注释,就像我在本例中做的。如果有一台笔记本电脑,甚至可以在旅途中参与项目以展示给客户,解决设计问题,或者准备认证考试。CCNA或CCNP候选者也可以创建练习实验室,进而学习Cisco考试内容,在真实操作系统上练习,在所有地方学习。

GNS3可以将实验室设备中的虚拟接口桥接到PC上的一个或多个物理以太网接口。这使你可以将虚拟网络连接到路由器、交换机、PC等真实硬件上。例如,可以使用多台PC运行两个或多个GNS3网络,使用以太网交叉电缆或物理交换机将PC连接在一起。这样做使你可以把所有PC上的所有GNS3设备连接在一起(我把这亲切地称为GNS3 ubernet)。

相关文章
|
12月前
|
Linux 虚拟化 iOS开发
GNS3 v3.0.5 - 开源免费网络模拟器
GNS3 v3.0.5 - 开源免费网络模拟器
1174 3
GNS3 v3.0.5 - 开源免费网络模拟器
|
10月前
|
机器学习/深度学习 运维 监控
智能运维Agent:自动化运维的新范式
在数字化转型浪潮中,智能运维Agent正重塑运维模式。它融合人工智能与自动化技术,实现从被动响应到主动预防的转变。本文详解其四大核心功能:系统监控、故障诊断、容量规划与安全响应,探讨如何构建高效、可靠的自动化运维体系,助力企业实现7×24小时无人值守运维,推动运维效率与智能化水平全面提升。
2186 0
|
资源调度 监控 数据可视化
贝尔宾团队角色理论:高效团队的9种角色
贝尔宾团队角色理论将团队分为思考、行动、社交三类九种角色,明确角色定位可优化协作。
3151 0
贝尔宾团队角色理论:高效团队的9种角色
|
9月前
|
存储 SQL 供应链
如何开发仓库管理系统中的出入库管理板块 ?(附架构图+流程图+代码参考)
本文详细介绍了仓库管理系统(WMS)中出入库管理模块的开发与实现。内容涵盖功能模块设计、业务流程梳理、技术实现技巧及实际应用效果,助力企业高效构建定制化仓库管理系统,提升库存管理效率与准确性。
|
存储 Java 编译器
🔍深入Android底层,揭秘JVM与ART的奥秘,性能优化新视角!🔬
【7月更文挑战第28天】在Android开发中,掌握底层机制至关重要。从Dalvik到ART, Android通过采用AOT编译在应用安装时预编译字节码至机器码,显著提升了执行效率。ART还优化了垃圾回收,减少内存占用及停顿。为了优化性能,可减少DEX文件数量、优化代码结构利用内联等技术、合理管理内存避免泄漏,并使用ART提供的调试工具。
513 7
|
11月前
|
存储 人工智能 JSON
AI + 低代码技术揭秘(三):项目模型和块模型
VTJ低代码平台核心数据层详解,涵盖ProjectModel与BlockModel类的结构与功能。内容涉及项目状态管理、文件组织、事件驱动架构及数据持久化等关键设计,为可视化设计器提供基础支持。
177 0
|
人工智能 自然语言处理 测试技术
[译][AI OpenAI-doc] 微调
探索如何通过微调OpenAI模型来定制应用程序,提高文本生成质量,降低成本,并减少延迟。了解微调步骤、模型选择、数据集准备、以及如何使用微调模型。
407 10
[译][AI OpenAI-doc] 微调
|
网络协议 关系型数据库 MySQL
启动mysql时的异常为:[ERROR] Can‘t start server: Bind on TCP/IP port. Got error: 98: Address already in used
启动mysql时的异常为:[ERROR] Can‘t start server: Bind on TCP/IP port. Got error: 98: Address already in used
|
运维 监控 安全
交换机运维监控:保障网络稳定的基石
作为网络连接的核心设备之一,交换机承担着数据转发、流量控制、VLAN划分等重要任务,其稳定运行直接关系到整个网络的性能和可靠性
1009 0
|
Linux Shell 网络安全
Linux 强大的网络命令:nc命令操作方法
Linux 强大的网络命令:nc命令操作方法
2544 1