(计算机科学与技术专业论文)虚拟以太网交换机的设计与实现.pdf_第1页
(计算机科学与技术专业论文)虚拟以太网交换机的设计与实现.pdf_第2页
(计算机科学与技术专业论文)虚拟以太网交换机的设计与实现.pdf_第3页
(计算机科学与技术专业论文)虚拟以太网交换机的设计与实现.pdf_第4页
(计算机科学与技术专业论文)虚拟以太网交换机的设计与实现.pdf_第5页
已阅读5页,还剩77页未读 继续免费阅读

(计算机科学与技术专业论文)虚拟以太网交换机的设计与实现.pdf.pdf 免费下载

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

北京邮电大学硕士研究生毕业论文虚拟以太网交换机的设计与实现 虚拟以太网交换机的设计与实现 摘要 虚拟以太网交换机的研究是a r m 全系统模拟器这个大课题的一个重要组成 部分 随着计算机和通信技术的不断发展 嵌入式应用 特别是嵌入式网络应用 的日益广泛 对嵌入式开发环境也在时间和效率上提出了更高的要求 传统的开 发方法需要在真实硬件环境和真实网络环境下进行软件调试 风险高 周期长 为了解决这个软件开发的瓶颈 全系统模拟器和基于全系统模拟器的虚拟网络技 术应运而生 它模拟具体的嵌入式目标系统和嵌入式目标网络环境 让用户在不 接触真实硬件和使用仿真器的情况下进行开发 提高开发效率 降低开发成本 基于全系统模拟器的虚拟组网技术是嵌入式领域的研究热点之一 目前不同 全系统模拟器组网产品之间在组网结构和技术设计上差异较大 没有一个可以完 全遵循的理论和方法 本文针对自主的全系统模拟器产品如何组网问题 重点探 讨了其组网模型以及相关的技术难点和解决方法 并提出了一种基于虚拟以太网 l 交换机的全系统模拟器网络模拟方案 虚拟以太网交换机这个概念是我们在实体交换机的原理基础上进行的一种 扩展 用于实现全系统模拟器节点之间的网络模拟通信 它能够模拟完成实体以 太网交换机数据转发 差错校验 维护地址映射表等功能 另外可以模拟通信链 路 模拟物理端口 无m a c 地址的数据链路层通信以及时间同步的功能 这种 模拟组网的特点在于它是脱离全系统模拟器环境之外的 与全系统模拟器的具体 实现技术无关 并且可以实现多宿主机上多模拟节点的网络通信和同步 论文首先介绍全系统模拟器原理和项目背景 接着介绍了全系统模拟器组网 的相关技术 针对全系统模拟器网络模拟的有关问题 在模型层面上 提出了一 个与现有模式不同的网络模拟模型 以及一种 基于以太帧时间总裁的时间同步 模型 在设计和实现中的关键技术层面上 对模拟环境中的一些特有问题分别 进行了探讨 并设计了一种e t h e r n e tf r a m eo v e ri p 协议 以及无m a c 地址的数 据链路层通信方法 最后通过客户端仿真实验测试验证了系统的可用性 并指出设计和实现中尚 未完善的地方 对下一阶段工作重点进行了初步探讨 关键词全系统模拟器虚拟以太网交换机时间同步网络模拟 北京邮电大学硕士研究生毕业论文虚拟以太网交换机的设计与实现 d e s i g na n di m p l e m e n t a t l o no fs w l t c h s i m u l 钔r o r a b s t r a c t s w i t c hs i m u l a t o ri sa l li m p o r t a n tc o m p o n e n to fo u rf u l l s y s t e m s i m u l a t o r w i t ht h ed e v e l o p m e n to fc o m p u t e ra n dt e l e c o m m u n i c a t i o n t e c h n o l o g y e m b e d d e d s y s t e mn e t w o r ka p p l i c a t i o ni sb e c o m i n gm o r ea n d m o r e p o p u l a r w h i c h d e m a n d st h em o r ee f f e c t i v e d e v e l o p m e n t e n v i r o n m e n t w h i l et h et r a d i t i o n a ld e v e l o p m e n tm e t h o dc o n f i n et h e s o f t w a r ed e v e l o p e rd u et ot h ed e p e n d e n c yo nt h er e a lt a r g e ts y s t e mi n d e b u g g i n ga p p l i c a t i o n i no r d e rt oo v e r c o m et h eb o t t l e n e c ko ft h e s o f t w a r ed e v e l o p m e n t i tb r i n g so u tt h ef u l l s y s t e ms i m u l a t o ra n d s i m u l a t e dn e t w o r kt e c h n o l o g y t h es i m u l a t e dn e t w o r ks i m u l a t e st h er e a l t a r g e ts y s t e ma n dt a r g e te m b e d d e dn e t w o r ks ot h a tt h ed e v e l o p e r sc a n b e g i ns o f t w a r ed e s i g na n dc o d ed e b u g g i n gw i t h o u tt h er e a lh a r d w a r ea n d i n b o a r de m u l a t o r t h eu s ec a ni m p r o v et h ee 硒c i e n c ya n dl o w e rt h ec o s t o ft h ed e v e l o p m e n ta c t i v i t y 砀es i m u l a t e dn e t w o r kb a s e do nf u l l s y s t e ms i m u l a t o ri sc u r r e n t l y o n eo ft h eh o ts u b j e c t si ne m b e d d e da r e a t h e r ei sl a c ko fe x p e r i e n c ef o r e n t i r en e t w o r ks i m u l a t i o n o w i n gt ot h ed i f f e r e n c et e c h n o l o g ya m o n gt h e p r o d u c t sa tp r e s e n t a i m i n ga tt h i sq u e s t i o n t h i sp a p e rf o c u s e so nt h e n e t w o r ks i m u l a t i o nb a s e do ns w i t c hs i m u l a t o r s w i t c hs i m u l a t o rg r o u n d so nt h ef u n c t i o n so fr e a ls w i t c ha n dg i v e s o m ee x p a n s i b i l i t y i n c l u d i n gt h ed a t at r a n s m i s s i o n f r a m ec h e c k o u t m a c p o r tm a p a n ds i m u l a t i o no f t h ec o m m u n i c a t i o nl i n k p h y s i c a lp o r t l i n k 1 e v e lc o m m u n i c a t i o nf o rn o n em a cn o d e sa n ds y n c h r o n i z a t i o n n i s s i m u l a t e dn e t w o r ki sc h a r a c t e r i s t i c a l l yi n d e p e n d e n to ft h ef u i i s y s t e m s i m u l a t o r t e c h n o l o g y a n dc a r r i e so u tt h ec o m m u n i c a t i o na n d s y n c h r o n i z a t i o no fm u l t i s i m u l a t o r sn o d e so nm u l t i h o s t s 2 北京邮电大学硕士研究生毕业论文虚拟以太网交换机的设计与实现 f i r s tt h eb r i e fi n t r o d u c t i o nt os t r u c t u r ea n di m p l e m e n t a t i o no ft h e 如i is y s t e ms i m u l a t o ri s g i v e n a n dt h e nt h ed i s c o u r s ep r e s e n t so u r n e t w o r ks i m u l a t i o nm o d e l a n d s y n c h r o n i z a t i o nm o d e lb a s e do n e t h e m e tf r a m e o nm o d e l 1 e v e l f r o mt h em o d e l s d e s i g na n di m p l e m e n t t h es w i t c hs i m u l a t o r d u r i n gt h ed e s i g n i n g w eg i v es o m es o l u t i o n sf o r t h es p e c i a lq u e s t i o n si ns i m u l a t i o ne n v i r o n m e n t s u c h e t h e m e tf r a m e o v e ri p p r o t o c 0 1 1 i n k 1 e v e lc o m m u n i c a t i o nf o rn o n em a cn o d e s e t c a tl a s t t h et h e s i sp r e s e n t st h ev e r i f i c a t i o no ft h es y s t e mb yc l i e n t p r o g r a m a n dp o i n t so u tt h ef u r t h e rr e s e a r c hw h i c hi sr e q u i r e di nn e x t s t a g e k e yw o r d s f u l l s y s t e ms i m u l a t o r s w i t c h s i m u l a t o r s y n c h r o n i z a t i o nn e t w o r ks i m u l a t i o n 3 北京邮电大学硕士研究生毕业论文独创性声明 声明 独创性 或创新性 声明 本人声明所呈交的论文是本人在导师指导下进行的研究工作及取得的研究 成果 尽我所知 除了文中特别加以标注和致谢中所罗列的内容以外 论文中不 包含其他人已经发表或撰写过的研究成果 也不包含为获得北京邮电大学或其他 教育机构的学位或证书而使用过的材料 与我一同工作的同志对本研究所做的任 何贡献均已在论文中作了明确的说明并表示了谢意 申请学位论文与资料若有不实之处 本人承担一切相关责任 本人签名 关于论文使用授权的说明 学位论文作者完全了解北京邮电大学有关保留和使用学位论文的规定 即 研究生在校攻读学位期间论文工作的知识产权单位属北京邮电大学 学校有权保 留并向国家有关部门或机构送交论文的复印件和磁盘 允许学位论文被查阅和借 阅 学校可以公布学位论文的全部或部分内容 可以允许采用影印 缩印或其它 复制手段保存 汇编学位论文 本人签名 塑墨耋 导师签名 二乒t 堑里驻 日期 逝叁聋兰宣型 日期 翌生至 堑 北京邮电大学硕士研究生毕业论文 虚拟以太网交换机的设计与实现 1 1 项目背景和意义 第一章绪论 虚拟以太网交换机的研究是a r m 全系统模拟器这个大课题的一个重要组 成部分 它用于实现分散在一个或者多个宿主机的任意多个全系统模拟器之间的 网络连接 从而使得在嵌入式系统网络开发 l 传感器网络设计 2 等领域中能够 以较低的成本用单机或者数台机器模拟分散的网络环境 本课题中的虚拟以太网交换机这个概念与传统的 虚拟交换技术 交换 机模拟器 或者 虚拟交换机 这些概念都不相同 其中 虚拟交换技术 往往 是指通过软件技术来改变现实计算机网络中交换方式 从而达到提高交换效率或 者增加交换灵活性的目的 交换机模拟器 主要用于模拟交换机的交换过程以 及控制过程 并不发生实际的交换 往往用于培训或者训练目的 v m w a r e 等虚 拟化产品的 虚拟交换机 往往是指利用虚拟化技术复用真实物理设备 而本课 题中的 虚拟以太网交换机 特指用于实现全系统模拟器的互联 它会产生实际 的交换和通信 但交换的报文和通信帧不是为实际网络节点设计的 因此本课题 与全系统模拟器的设计与实现 特别是全系统模拟器通信设备模拟的有关部分密 切相关 全系统模拟器是指模拟嵌入式硬件环境的嵌入式软件开发套件 面向嵌入 式软件开发人员 嵌入式软件作为嵌入式工业的基础 通常需要在真实的硬件环 境中进行开发和测试 但作为软件开发人员来说 他们对于底层硬件的依赖相对 较小 如果能够在不利用硬件和仿真工具的情况下 开发和测试应用软件 将极 大的提高软件开发效率 降低开发成本 这也正是使用全系统模拟器的原因所在 一般而言 使用全系统模拟器的意义主要有 便于跟踪程序汇编指令的执行 方便调试 在尚未拿到硬件设备的条件下 及早进行软件开发 节约时间和成本 对尚未成熟面世的硬件设备超前开发 本项目研究所基于的全系统嵌入式模拟器是由大课题组自主研发的具有完 全知识产权的产品 它基于l i n u x 平台 主要模拟的c p u 是a r m 系列芯片 1 1 1 全系统模拟器简介 全系统模拟器是嵌入式领域的研究热点之一 其研发过程涉及大量的计算机 4 北京邮电大学硕士研究生毕业论文虚拟以太网交换机的设计与实现 软硬件底层技术 从而吸引了众多研究人员与开发人员参与其中 目前 在嵌入 式领域存在不少模拟器产品 但是无论从功能实现角度还是面向的应用对象角 度 全系统模拟器都与普通模拟器产品以及虚拟化产品不同 普通模拟器产品按实现的方法可分为功能模拟和结构模拟 按照模拟硬件的 内容 可分为c p u 模拟 外设 完整硬件开发板模拟和p d a 等模拟 按用户角 度看有进程模拟和系统模拟 目前在嵌入式领域存在很多纯软件的模拟器产品 例如斯坦福大学的s i m o s 模拟器 3 它模拟的是m i p s 系列c p u 和相关外设 可以在其上运行s g i 公司的i r i x 操作系统和软件 p s i m 是一个仿真p o w e r p c 指 令集的模拟器 g r e gh e w g i l l 开发的x c o p i l o t 是一个p d a 模拟器 模拟的是m 6 8 k c p u 给基于p a l m o s 的软件开发者提供模拟开发环境 b o o b s 是模拟x 8 6 系列 c p u 的开源项目 可以在其上运行l i n u x 操作系统 商业模拟软件v m w a r e 4 1 v n a m l p c 等可以模拟i a 3 2 体系架构兼容主机 本项目的全系统模拟器与上述模拟器不同 它不是单纯模拟c p u 或指令集 而是模拟了嵌入式硬件平台上的处理器和各种外围设备 并且包括网络的模拟 突出了全系统的 全 全系统模拟器运行的整个环境都是模拟环境 不与真实 环境发生联系 它面向嵌入式软件开发人员 最终使得运行在全系统模拟器上的 目标程序运行效果如同在真正硬件平台上一样 在全系统模拟器上开发各种嵌入 式应用软件或驱动程序 都可以直接移植到真实开发板上 其中的网络模拟即本 文的主要研究内容 由于开发周期和市场等原因 全系统模拟器的开发技术并不多见 国内有 s k y e y e j 5 等 国外有s i m i e s 6 全系统模拟器 图1 1 展示了一个全系统模拟器结构实例 它使得在i a 3 2 架构的l i n u x 操 作系统支持基于a r m 架构的l i n u x 应用程序 图1 1 全系统模拟器示意图 5 北京邮电大学硕士研究生毕业论文 虚拟以太网交换机的设计与实现 最底层是认 3 2 架构c p u 的真实主机 我们称之为宿主机 h o s t 其上一层 运行着宿主机上的操作系统 h o s to s 此处是l i 肌x 宿主机操作系统之上一层 运行很多应用程序 s i m u l a t o r 只是其中的一个 我们称之为目标机 t a r g e t 对 宿主机操作系统来说 它感受不到s i m u l a t o r 和其它应用程序有什么不同 都会 通过进程来调度它们 s i m u l a t o r 为我们模拟出一套a r m 架构的硬件环境 在其 上一层运行着a n n l i n u x 操作系统 称之为目标机操作系统 t a r g e to s 目标机 操作系统之上 便是嵌入式a r m 应用程序 a r m l i n u xa p p l i c a t i o n s 本课题所基于的全系统模拟器要模拟的不仅仅是一个具体的处理器芯片或 是某个简单的外部设备 而是完整的硬件开发环境 它包括四部分 c p u 模拟器 m u t o m u l t iu n i tt r a c eo p t i m i z e r 配置工具 包括人机界面 输入输出模块 包括串口 网卡 硬盘 u s b 设备 固件仿真模块 主要模拟p r o m 包含系统加载和诊断模块 它们之间的关系如图1 2 所示 图卜2 模拟器结构示意图 配置工具负责将用户输入的配置信息收集起来 并存放在配置文件脚本中 当模拟系统启动时 首先开始执行的是固件模拟器 固件模拟器分析配置 将分 析后得到的配置数据结构传递给即将启动的操作系统 操作系统在固件模拟建立的运行环境中运行 就象在真实环境中执行一样 它并不知道自己是在一个模拟的软环境当中执行 c p u 内存 甚至虚拟存储 缓存还有外设 都象真正的设备那样对操作系统的执行做出反应 作到这一点的 要求是 c p u 模拟器能够忠实于c p u 规范地解释每一条机器码 保证执行的顺 6 北京邮电大学硕士研究生毕业论文 虚拟以太网交换机的设计与实现 序与在真实的硬件环境中执行的顺序一致 总线和外设能够对i o 操作做出预期 的反应 最后 性能也是虚拟环境获得有效使用的必要条件 这需要在完全模拟 和功能模拟之间作出折中选择 现在对于模拟器的主要部分实现作一简单介绍 1 c p u 模拟器 m u t o c p u 模拟主要包括c p u 取指令 执行指令的流程 c p u 内部m m u 进行地 址映射的流程 中断处理的流程等 其关键技术是通过程序来解析目标指令并完 成目标指令的各项功能 为了保证模拟器性能 c p u 模拟器并不是一对一实现 c p u 的规范 如果实现了缓存模块和流水线机制 则模拟效果是不能令人满意 的 我们的目标是让嵌入式系统开发用户能够使用我们的系统尽早看到高层软件 在虚拟系统上产生的结果 并进行有效的结果分析和排错 而不是对怎么做到这 一点进行深入研究 因此 我们实现的是功能性模拟 而不是结构模拟 c p u 模拟器并不做精确的时间模拟 各个指令的执行时间与物理c p u 上相 同指令的执行时间并不保证有精确的比例关系 但基本上虚拟机上指令执行时间 多少反映了宿主机上指令执行时间 2 配置模块 配置工具实现了配置界面和配置脚本命令 体现了系统灵活配置的能力 配 置界面接收用户提交的配置参数 并写入脚本文件 供固件模块读取 配置模块的实现主要是用户界面和脚本文件的设计 脚本文件的格式可以采用x m l 也可以为了满足用户自己编写配置命令脚 本的需求而自定义专用语言 用户界面完成对用户输入参数的语法语义分析 保证脚本文件的正确性 考 虑到产品的可移植性 可以采用g t k 或者q t 实现 并使用界面脚本生成和设 计工具 如g l a d e 减少开发工作量 减少错误 提高可维护性 3 f o b f l a s ho p e nb o o o 一固件模块 固件模块的主要功能是在操作系统执行前设置虚拟机运行环境 f o b 从配 置脚本获得当前虚拟机的配置参数并进行分析 检查可能的资源冲突 然后把资 源参数保存在一个数据结构当中 以便传递给即将启动的操作系统 f o b 实际上模拟的是只读存储器 特殊性在于这个设备在操作系统启动之 前就必须存在 并能够完成真实环境中固件所不能也无须完成的工作一一创建虚 拟机环境 包括加载c p u 内存和外设 在真实环境中 这些物理模块是先天 存在的 因此它所模拟的存储设备就不仅是一个数组 而是一个复杂的程序 能 创建出整个虚拟机 并安排好软件执行环境 这是传统固件的任务 并最后把 7 北京邮电大学硕士研究生毕业论文虚拟以太网交换机的设计与实现 执行引领到操作系统 它需要同时做几项任务 f l a s h 功能 完成系统初始启动的功能 读取配置文件 分析并填充到c p u 模拟器容器中 探测主机环境中的设备树 以便和用户输入配置匹配 4 外设模块 外设模块是一个有多种设备构成的集合 该集合包括显示设备 字符设备 网络设备 存储设备等 外设模块的实现 是使得操作系统能够正常访问这些模块所代表的外设 这 些外设模块实现的是对相关硬件的模拟 例如 串口驱动程序向波特率计算寄存 器设置一个值 那串口模块必须模拟寄存器的实现 不论具体方式如何实现 外设模块需要被实现为可动态加载的独立线程 这样可以节省启动系统消耗 和内存代码空间 也可以实现外设模块的灵活配置 c p u 模拟器和外设模块模 拟部分的接口应当独立于具体设备 从而实现灵活的添加各种新的外设 1 1 2 本项目的研究意义 随着硬件成本的不断降低和软件技术的不断发展 嵌入式系统网络的规模也 在不断的扩大 这使得在嵌入式网络开发领域的论证 结构设计 硬件设计 软 件开发 测试的复杂度越来越高 往往是在真实嵌入式网络环境搭建起来以后才 发现问题 这无疑增加了风险和成本 目前的各种嵌入式软件开发平台和嵌入式 仿真平台中 普遍缺少对嵌入式网络环境的仿真 嵌入式网络的瓶颈在哪里 嵌 入式网络是否可靠等等这些问题 一般都需要在开发完成上线测试才能知道 通过本课题的研究 最终实现一个完善的嵌入式开发软件套件 增加目前嵌 入式软件开发平台的网络仿真能力 整个项目a r m 全系统模拟器的研究内容是 通过软件手段模拟全系统硬件环境 构建了一个嵌入式软件开发平台 本论文课 题结合全系统模拟器 构造一个以全系统模拟器为节点的虚拟网络环境 这个网 络环境具有真实网络环境的一切内容 可以在这个虚拟网络环境中进行测试 仿 真 进而修正分析和设计 可以及早发现问题 解决问题 最终为全系统模拟器 完善了网络模块 提供开发网络应用程序和模拟器联网的支持 目前嵌入式开发 特别是嵌入式网络系统开发的核心技术掌握上国内水平并 不高 大部分的核心交换和核心路由技术仍旧处于实验性的阶段 其主要原因是 其中涉及很多软硬件底层技术和基础理论 由于国内资源和资金的不足 大多数 研究人员和技术人员难以接触底层技术和相关理论 通过本课题的研究和开发 8 北京邮电大学硕士研究生毕业论文虚拟以太网交换机的设计与实现 可以为嵌入式网络系统开发人员提供模拟环境 使得更多的人通过较低的成本对 底层技术和相关理论深入了解 构建一个完全仿真的全系统虚拟网络是一个复杂和艰巨的任务 它涉及网络 的每一个层次 既包括硬件网络设备的模拟 也包括了驱动程序和操作系统行为 的模拟 甚至需要进行协议层次的改造和创新 以及安全性 可靠性方面的考虑 无疑是一个长期性的任务 本课题的研究是全系统虚拟网络研究的第一步 主要 涉及的是物理层和数据链路层的处理 第三层以及相关路由并不包括在内 1 2 国内外研究现状 1 2 1 研究概况 目前全系统模拟器实现完整网络模拟的并不多 而虚拟化领域和模拟器领域 则有很多网络通信的先例 随通信的目的不同 所采用的网络结构模型 网络通 信技术也不同 在网络结构方面 主要包括 单宿主机多模拟器网络 多宿主机分散网络 在网络通信方式和通信技术方面 借助物理网卡通信 如国内的s k y e y e 对于单宿主机上的多个模拟器节点通信 往往采用共享内存 r p c 管道技 术来实现 对于单宿主机上的多个模拟器节点与实际物理计算机网络节点通信 往往采用桥接 n a t 或者h o s t o n l y 等方式 例如v m w a r e 等虚拟化技术 对于 多个宿主机的多个模拟器节点通信 往往需要对网络协议的进一步改造 1 2 2 国内外研究现状总结 1 2 2 1 网络结构模型方面 总的来说 在目前全系统模拟器的网络结构模型方面 一般可以分成如下几 种 1 将网络模拟模块作为全系统模拟器内部的一个软件模块实现 典型的实现方式如s i m i c s s i m i c s 是一款完整的商用全系统模拟器 由美国 v i r t u t c c h 公司开发 支持a l p h a p o w c r p c s p a r c x 8 6 和x 8 6 6 4 平台的模拟 其实现的结构示意图如下 刀 9 北京邮电大学硕上研究生毕业论文 虚拟以太网交换机的设计 j 实现 嗣 渊 芗嗣 冒 戮露 图卜3s i m i c s 的网络结构模型 7 j 这种实现方式的特点在于与全系统模拟器紧密相关 当需要模拟异构的 大型嵌入式网络环境时 网络交换节点或者网络路由节点的功能实际上是通过增 加全系统模拟器节点来实现的 此外 该实现方式还可以充分利用空闲节点时钟 提高了宿主机内模拟器节点的执行效率 s i m i e s 主要是在包传输层进行模拟的 其缺点在于难以实现不同类型全系统模拟器混合组网的支持 2 将模拟网卡作为宿主机操作系统上的虚拟网卡 桥接 虚拟节点通信实际上是 宿主机上的普通网络通信 这种方式的典型实现如虚拟化技术的v i 小砌r e 其网络连接如下图所示 4 j 七二 图卜4v m w a r e 的桥接 4 这种实现方式的特点是实现简单 虚拟网络和实际网络实际上是对等的 用 这种方式模拟网络通信速度快 缺点是难以模拟复杂的网络结构 而且通过桥接 对模拟节点的网络通信难以完全控制 3 在模拟器内部建立虚拟网卡的通信 然后通过n a t 或者v p n 方式与其它宿 主机的虚拟节点通信 v m w a r e v i r t u a l p c 等虚拟化产品都实现了这种虚拟网络结构 其结构示意 图如下所示 1 0 黼剃基赫 虚拟以太网交换机的设计与实现 图卜5n a t 接入方式 4 j 这种方式将虚拟网络和实际网络隔离开来 从安全性 灵活性上都比较好 缺点是当实现多宿主机上的多个网络节点通信时 这是一种比较复杂和低效的方 式 1 2 2 2 实现技术层面 在全系统模拟器模拟网络所采用的技术层面来看 主要需要重点关注以下问 题 1 如何模拟物理链路和交换机端口 物理链路的模拟一般采用共享内存 p i p e s o c k e t 等技术实现 而交 换机端口则可以在宿主机的链路层上模拟 也可以在宿主机的应用层模拟 链路 层模拟实际上是替换宿主机的网络驱动程序 或者挂接驱动 效率比较高 缺点 是模拟交换机的配置管理和网管协议困难 2 如何实现现实通信协议和模拟通信协议之间的映射 目前一般可以采用两种方式 一种是将全系统模拟器节点的通信协议转换成 现实通信协议 例如要在虚拟网络中模拟d h c p 服务 总是将虚拟的d h c p 包 转换成实际宿主机的d h c p 包 同时接收端的全系统模拟器截获宿主机的网络 通信包 并进行相应的反向映射 另外一种方式是将模拟通信包整合到实际网络网络通信包的应用层 即模拟 通信包架在实际网络通信上面 这种方式具有较大的灵活性 可以完全脱离实际 网络的协议类型和拓扑结构 缺点是需要自己设计模拟通信协议的内容 3 如何设计和解决m a c 地址缺失或者重复所造成的协议错误问题 若要构筑大型嵌入式模拟网络 全系统模拟器节点难以保证m a c 地址唯一 甚至没有m a c 地址 这会引起模拟通信中的错误 这个问题的解决随全系统模 拟器的不同而有较大差异 比如s i m i c s 是通过s e r v e r n o d e 来保障加入网络中的 每一个虚拟节点都有一个唯一的i d 标识来实现的 圃 1 i o 一 w l 一一j 北京邮电大学硕士研究生毕业论文虚拟以太网交换机的设计与实现 1 2 3 全系统模拟器网络模拟原则 无论是基于何种目的和采用什么技术 无论是结构模型设计还是具体实现方 式上 各种不同全系统模拟器组网模型和技术其设计思路综合归纳起来实际上是 以下两个问题 也是本课题需要重点考虑的问题 1 确定性和精确性一原则 2 搿功能和性能一的平衡 在文中 作者将依据这两个原则和一个平衡探讨关键问题的解决方案 此外 我们还发现通过交换节点 可以解决全系统模拟器节点的自身时间同步问题来达 到确定性目的 其它全系统模拟器解决时间同步问题有的采用单独的时间仲裁机 构 有的采用时间片分配的方式 目前还没有利用虚拟交换节点直接控制模拟 c p u 指令执行 进行时间同步的先例 不过在我们虚拟交换机时间同步的设计 中 参考了分布式系统的一些时间同步方式 如c f i s t i a n 算法 引 b c r k d e y 算法 8 以及时间戳 8 机制等 1 3 研究目标 本课题研究的总体目标是基于实验室现有的全系统模拟器 构建一个网络模 拟的模型 并实现一个纯软件的将多个全系统模拟器节点互联的虚拟以太网交换 机 从而将全系统模拟器做成一个局域网 对于全系统模拟器的各个节点来说 其网络环境与真实的网络环境是一样的 特别重要的是 这个虚拟以太网交换机 不仅可以实现单宿主机上的全系统模拟器节点互联 也可以实现多宿主机上的全 系统模拟器互联 本课题研究的另外一个重要目标是通过虚拟以太网交换机的实现 解决我们 全系统模拟器自身存在的一个问题 多节点的时间同步 为了实现以上目标 具体的说需要完成以下的分目标 1 模型层面 建立自主的全系统模拟器组网模型和时间模拟 同步 模型 2 技术层面 在链路和端口模拟 协议改进 m a c 地址缺失三个问题上提 出自己的解决办法 3 开发出虚拟以太网交换机软件原型 并验证所提出的模型和技术的可用 性 论文思路是从本项目全系统模拟器网络模拟的实际应用需求出发 比较现有 产品的实现方式 提出适合本项目的网络模拟模型和时间模拟模型 并根据此模 型设计并实现一个现实可用的模拟网络设备一一虚拟以太网交换机 1 2 北京邮电大学硕士研究生毕业论文虚拟以太网交换机的设计与实现 1 4 研究成果 通过本项目的研究和开发 完成了以下工作 1 在全系统模拟器的网络结构模型方面 提出了一种全系统模拟器的网络 模拟模型 可以很好的适应本项目中的实际需求 2 在多系统模拟器的传输协议方面 设计并实现了e t h e r n e tf r a m eo v e r i p 的协议 3 在软件虚拟交换机端口交换方面 提出了一种基于性能优化的实现方 案 4 在全系统模拟器各节点的时间同步机制方面 建立了以虚拟交换机作时 间仲裁机构 直接控制模拟器节点c p u 指令执行的模型 5 最后 开发了一个具有自主产权的虚拟以太网交换机软件系统 并在自 主全系统模拟器网络中应用 1 5 本文组织与结构 本文的主要内容是研究如何实现虚拟以太网交换机 通过分析 决定采用的 方案 然后实现虚拟以太网交换机 本文将从以下几个方面介绍作者的工作 第一章 绪论即本章 对论文的背景及意义进行简单的介绍 说明了全系统 模拟器项目的整体构成和实现 阐述了项目的研究意义和研究现状 最后给出本 文的研究目标和取得的研究成果 第二章 虚拟以太网交换机的相关技术背景 描述了虚拟以太网交换机设计 与实现中涉及到的技术背景 根据实体交换机的工作 确定虚拟以太网交换机要 模拟的功能 和要完成的工作 第三章 虚拟以太网交换机的网络结构模型 本章提出本论文中的第一个模 型一 网络模拟模型 首先分析现有全系统模拟器网络模型不适用于本项目的缺 点 然后建立适合本项目的网络模拟模型 第四章 虚拟以太网交换机的时间模拟模型 本章详细描述了本论文中的第 二个模型一一时间同步模型 首先阐述了全系统模拟器网络时间模拟的概念 然 后分析模拟器网络时间同步和分布式时间同步的区别 借鉴分布式系统时间同步 算法 建立 基于以太网帧时间仲裁的时间同步模型 第五章 关键问题的研究和解决 对系统设计和实现中的5 个关键问题按照 提出问题一分析问题 解决问题的路线进行研究和解决 并按照模拟环境的特有 问题和提高效率的问题分类描述 北京邮电大学硕士研究生毕业论文虚拟以太网交换机的设计与实现 第六章 虚拟以太网交换机的设计 首先提出虚拟以太网交换机的设计原则 和设计方案 然后结合实体交换机的功能需求 提出虚拟交换机的系统体系结构 并对主要模块的功能进行简单说明 然后举例说明了帧的处理过程 第七章 虚拟以太网交换机的实现 首先给出整体类图 说明各模块的关系 然后分模块进行描述主要类的设计和实现 第八章 虚拟以太网交换机的测试 本章通过客户端仿真实验进行了测试验 证 并给出用户命令列表 第九章 结束语 本章介绍作者的论文总结 然后在论文总结的基础上 提 出不完善之处以及相应的改进意见 1 4 北京邮电大学硕士研究生毕业论文虚拟以太网交换机的设计与实现 第二章虚拟以太网交换机技术背景介绍 本论文阐述的重点是 提出全系统模拟器的网络模拟模型 时间模拟模型 并将模型实现为虚拟以太网交换机 因此 我们首先在此简单介绍一下虚拟以太 网交换机涉及到的相关技术 然后从总体上描述虚拟以太网交换机要完成的功 能 在后面的章节中 再进一步从模型的建立和设计与实现角度 详细描述每个 重点内容 2 1 以太网帧 虚拟以太网交换机的工作都是基于以太网帧 并根据工作需要将帧格式进行 了一定的修改 但是帧头主体还是标准帧格式 各种帧类型和帧格式的区分也是 虚拟以太网交换机要完成的工作 我们首先来看一下以太网帧的类型和格式 以太网帧是数据链路层的封装 网络层的数据包被加上帧头和帧尾成为可以 被数据链路层识别的数据帧 虽然帧头和帧尾所用的字节数是固定不变的 但依 被封装的数据包大小的不同 以太网帧的长度也在变化 其范围是6 4 1 5 1 8 字 节 不算8 字节的前导字 2 1 1 以太网帧类型 目前 有五种不同格式的以太网帧在使用 它们分别是 1 e t h e r n ai i x e r o x 与d e c i n t d 在1 9 8 2 年制定的以太网标准帧格式 2 e t h e m e t8 0 2 3 即r f c l 0 4 2 定义的帧格式 3 e t h e r n e t8 0 2 3r a w n o v d l 在1 9 8 3 年公布的专用以太网标准帧格式 4 e t h e r n e t8 0 2 3s a p i e e e 在1 9 8 5 年公布的e t h e m e t8 0 2 3 的s a p 版本 5 e t h e r n e t8 0 2 3s n a p i e e e 在1 9 8 5 年公布的e t h e r n e t8 0 2 3 的s n a p 版本 由于目前c s m a c d 的媒体接入方式占主流 因此虚拟以太网交换机着重对 e t h e r n ai i 和i e e e8 0 2 3 的帧格式进行解析工作 在t c p i p 世界中 最常使用 的封装格式是r f c8 9 4 定义的格式 即e t h e m e t 帧 r f c l 0 4 2 定义的以太网帧 称i e e e 8 0 2 3 帧 2 1 2 以太网帧格式 1 e t h e r n e ti i 帧格式 北京邮电大学硕士研究生毕业论文虚拟以太网交换机的设计与实现 图2 1 e t h e r n e ti i 帧格式 e t h e m e ti i 类型以太网帧的最小长度为6 4 字节 6 6 2 4 6 4 最大 长度为1 5 1 8 字节 6 6 2 1 5 0 0 4 其中前1 2 字节分别标识出发送数据帧 的源m a c 地址和接收数据帧的目标m a c 地址 接下来的2 个字节标识出上层数据类型 如0 x 0 8 0 0 代表口协议数据 0 x 8 0 9 b 代表a p p l e t a l k 协议数据 0 x 8 13 8 代表n o v e l l 类型协议数据等 在不定长的数据字段后是4 个字节的帧校验序列 f r a m ec h e e ks e q u e n c e f c s 采用3 2 位c r c 循环冗余校验对从 目标m a c 地址 字段到 数据 字段的 数据进行校验 2 e t h e r n e t8 0 2 3 帧格式 图2 2e t h e r n e t8 0 2 3 帧格式 e t h e r n e t8 0 2 3 帧用长度字段取代将e t h e m e ti i 的类型字段 定义数据字段 的字节数 3 e t h e r n e t8 0 2 3l a w 帧格式 图2 3e t h e r n e t8 0 2 3r a w 帧格式 在e t h e r n e t8 0 2 3r a w 类型以太网帧中 原来e t h e r n e ti i 类型以太网帧中的类 型字段被 总长度 字段所取代 它指明其后数据域的长度 其取值范围为 4 6 1 5 0 0 接下来的2 个字节是固定不变的1 6 进制数o x f f f f 它标识此帧为n o v e u 以太类型数据帧 4 e t h e r n e t8 0 2 3s a p 帧格式 图2 4 e t h e r n e t8 0 2 3s a p 帧格式 从图中可以看出 在e t h e m e t8 0 2 3s a p 帧中 将原e t h e m e t8 0 2 3r a w 帧中 2 个字节的0 x f f f f 变为各1 个字节的d s a p 和s s a p 同时增加了1 个字节的 控制 字段 构成了8 0 2 2 逻辑链路控制 l l c 的首部 l l c 提供了无连接 l l c 1 6 北京邮电大学硕士研究生毕业论文虚拟以太网交换机的设计与实现 类型1 和面向连接 l l c 类型2 的网络服务 l l c l 是应用于以太网中 而 l l c 2 应用在i b ms n a 网络环境中 新增的8 0 2 2l l c 首部包括两个服务访问点 源服务访问点 s s a p 和目 标服务访问点 d s a p 它们用于标识以太网帧所携带的上层数据类型 如1 6 进制数0 x 0 6 代表m 协议数据 1 6 进制数0 x e 0 代表n o v d l 类型协议数据 1 6 进制数0 x f 0 代表i b mn e t b i o s 类型协议数据等 1 个字节的 控制 字段 基本不使用 一般被设为0 x 0 3 指明采用无连接服 务的8 0 2 2 无编号数据格式 5 e t h e r n e t8 0 2 3s n a p 帧格式 图2 5 e t h e r n o t8 0 2 3s n a p 帧格式 e t h e r n c t8 0 2 3s n a p 类型以太网帧格式和e t h c m e t8 0 2 3s a p 类型以太网帧 格式的主要区别在于 1 2 个字节的d s a p 和s s a p 字段内容被固定下来 其值为1 6 进制数0 x a a 2 1 个字节的n 控制 字段内容被固定下来 其值为1 6 进制数0 x 0 3 3 增加了s n a p 字段 由下面两项组成 新增了3 个字节的组织唯一标识 符o u ii d 字段 其值通常等于m a c 地址的前3 字节 即网络适配器厂商代码 2 个字节的n 类型 字段用来标识以太网帧所携带的上层数据类型 2 1 3 如何区别以太网帧 以太网中存在这几种帧的时候 网络设备需要能够识别帧的类型 识别的方 法可以总结如下 1 如果源m a c 地址后的2b y t e s 的值大于1 5 0 0 则此帧为e t h e r n e t i i 格式的 2 再接下来紧接着的两b y t e s 如果为o f f f f 则为e t h e m e t8 0 2 3r a w 类型帧 3 如果为0 x a a a a 贝u 为e t h e r n c ts n a p 格式的帧 4 如果都不是则为e t h e r n e t8 0 2 3 8 0 2 2 格式的帧 2 2 虚拟以太网交换机的作用 实体交换机的作用是虚拟以太网交换机交换机的参考标准 我们先来介绍一 下实体以太网交换机的作用 实体交换机的功能都是在数据链路层实现的 数据链路层的作用主要是控制 1 7 北京邮电大学硕士研究生毕业论文虚拟以太网交换机的设计与实现 数据流量 处理传输错误 提供物理地址 以及管理对物理介质的访问 虚拟以 太网交换机也是工作在数据链路层 为全系统模拟器构造星形网络拓扑 为所连 接的两台联网设备提供了一条独享的点到点的虚电路 避免了冲突 完成了实体 交换机的作用 同时承担了模拟网络中虚拟时间仲裁机构的任务 2 3 虚拟以太网交换机工作原理 实体以太网交换机类似于一台专用的特殊计算机 主要包括中央处理器 c p u 随机存储器 r a m 和操作系统 它利用专门设计的芯片a s i c 使交换机 以线路速率在所有的端口并行进行转发 虚拟以太网交换机将用软件的方式 从功能角度实现这些硬件设备和芯片逻 辑的作用 通过分析流入的数据帧 根据帧中包含的信息做出转发决策 然后再 把数据帧转发到目的地 2 3 1 工作原理 虚拟以太网交换机完全模拟实体交换机的工作过程 读取数据包中的m a c 地址信息 然后根据m a c 地址进行转发 并将这些m a c 地址与对应的端口记录 在自己内部的一个地址表中 具体的工作流程如下 1 当虚拟以太网交换机从某个端口收到一个数据包 它先读取

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论