(计算机应用技术专业论文)ip网络适配器硬件系统的研究与设计.pdf_第1页
(计算机应用技术专业论文)ip网络适配器硬件系统的研究与设计.pdf_第2页
(计算机应用技术专业论文)ip网络适配器硬件系统的研究与设计.pdf_第3页
(计算机应用技术专业论文)ip网络适配器硬件系统的研究与设计.pdf_第4页
(计算机应用技术专业论文)ip网络适配器硬件系统的研究与设计.pdf_第5页
已阅读5页,还剩63页未读 继续免费阅读

下载本文档

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

文档简介

摘要 在目前,计算机网络普遍采用的通信方式是在局域网或者广域网的基础上运行 t c p f i p 协议,它采用分层进行开发,每一层分别负责不同的通信功能,传输数据时在各 个分层加入各自的协议信息,但实际上运行的网络的最底层的协议信息是局域网协议或 者广域网协议,而不是t c p i p 协议中的信息。 为了解决上述问题,提出组建一个直接通过传输介质双绞线来传输i p 分组的独立 的i p 网络,分析相应的工作原理和拓扑结构,并且研究设计与之相适应的i p 网络适配 器。 在对i p 网络适配器进行大量研究与论证的基础上,通过分析、设计与实验,选择 美国p l x 公司生产的p c i9 0 5 4 专用芯片控制i p 网络适配器的p c 机接口部分,采用 c y p r e s s 半导体公司推出高速串行数据通信的发送芯片c y 7 8 9 2 3 和接收芯片c y 7 8 9 3 3 以及高速低功耗的先进先出缓冲存储器芯片c y 7 c 4 5 3 ,构成i p 网络适配器的数据发送 接收部分,采用a l t e r a 公司的低价位c y c l o n e 系列芯片e p l c 6 q 2 4 0 c 8f p g a 芯片作为 控制部分,分别完成各个部分的电路设计。 整个系统硬件语言设计选用v h d l 语言,在q u a r t u si i5 0 软件开发平台中完成 了对整个硬件程序的设计开发。通过分析i p 网络适配器的工作原理,将系统划分为三 大功能模块:即i p 数据报接收控制模块、i p 数据报发送控制模块、控制模块,并分模 块进行程序代码编写和仿真测试。 最后,对所设计实现的基于双绞线的i p 网络适配器进行了时序测试以及功能仿真。 软件方面,用w i n d r i v e r 开发硬件驱动程序,v c + + 语言开发网络应用程序。 这次设计是一次全新的尝试,它的研究对完善现有的t c p f i p 协议体系结构,提高网 络数据传输的速率和数据有效率有比较高的研究价值。 关键词:t c p i p 网络协议,i p 分组传输,网络适配器,f p g a a b s t r a c t a tp r e s e n t ,t h ec o m m o n l ya d o p t e dm e a n si nc o m p u t e rn e t w o r kc o m m u n i c a t i o ni st or u n t c p i pp r o t o c o lo nl a no rw a n t c p i pn e t w o r kh i e r a r c h i c a ld e s i g n w i t he a c hl a y e r r e s p o n s i b l ef o rd i f f e r e n tc o m m u n i c a t i o nf u n c t i o na n da d d i n gt h ep r o t o c o li n f o r m a t i o nt h e r e o f w h e nt r a n s f e r r i n gd a t a h o w e v e r ,t h ep r o t o c o li n f o r m a t i o no nt h el a s tl a y e ro ft h er u n n i n g n e t w o r ki sl a n p r o t o c o lo rw a np r o t o c o l ,b u tn o tt h ei n f o r m a t i o no ft c p i pp r o t o c 0 1 f o rs o l v i n gt h es a i dp r o b l e m ,t h ep a p e rs u g g e s t sai n d e p e n d e n ti pn e t w o r kt r a n s f e r r i n g i pp a c k e td i r e c t l yt h r o u g ht r a n s m i s s i o nm e d i u mt w i s t e d - p a i r ,a n a l y z e st h er e l a t e dw o r k i n g t h e o r ya n dt o p o l o g ya n dd e s i g n sai pn e t w o r ka d a p t o ra p p l i e dt oi t b a s e do nt h es u b s t a n t i a lr e s e a r c ha n dp r o o fo ni pn e t w o r ka d a p t o ri nc o m b i n a t i o no f a n a l y s i s ,d e s i g na n de x p e r i m e n t s ,p c i9 0 5 4s p e c i a l - p u r p o s ec h i pm a n u f a c t u r e db yp l x c o m p a n y ,u s ai ss e l e c t e dt oc o n t r o lp ci n t e r f a c eo fi pn e t w o r ka d a p t o r ,t r a n s m i s s i o nc h i p c y 7 8 9 2 3a n dr e c e i v ec h i pc y 7 8 9 3 3o fc y p r e s ss e m i - c o n d u c t o rc o m p a n ya n df i f oc h i p c y 7 c 4 5 3o fh i g h s p e e d l o wp o w e rd i s s i p a t i o na r e a d o p t e dt o c o n s t i t u t et h ed a t a s e n d i n g r e c e i v i n gp a r to fi pn e t w o r ka d a p t o r ,l o wp r i c ee p 1c 6 q 2 4 0 c 8f p g ac h i po f c y c l o n es e r i e sp r o d u c e db ya l t e r ai sa d o p t e df o rc o n t r o lp a r t ,i ns u c hw a yt h a tt h ec i r c u i t d e s i g na r ea c h i e v e dr e s p e c t i v e l y t h eh a r d w a r el a n g u a g eo ft h ew h o l es y s t e mi sv h d l t h ed e s i g na n dd e v e l o p m e n to f t h ew h o l eh a r d w a r ep r o g r a mi sa c h i e v e do nq u a r t u si i5 0s o f t w a r ed e v e l o p m e n tp l a t f o r m b ya n a l y z i n gt h ew o r k i n gt h e o r yo fi pn e t w o r ka d a p t o r ,t h es y s t e mc a nb ed i v i d e di n t o3 f u n c t i o n a lm o d u l e s :i pp a k e tr e c e i v i n gc o n t r o lm o d u l e ,i pp a k e ts e n d i n gc o n t r o lm o d u l ea n d c o n t r o lm o d u l e ,c i r c u i td e s i g n i n g ,c o d ep r o g r a m m i n ga n ds i m u l a t i o nt e s t i n ga r ec a r r i e do u ti n s u b m o d u l e s f i n a l l y ,s u c c e s s i o nt e s ta n df u n c t i o ns i m u l a t i o na r ec o n d u c t e do nt h ei pn e t w o r k a d a p t o rb a s e do nt w i s t e d - p a i r i nt e r m so ft h es o f t w a r e ,w i n d r i v e r i sf o rd e v e l o p i n gh a r d w a r e d r i v ep r o g r a ma n dv c + + l a n g u a g ei sf o rd e v e l o p i n gn e t w o r ka p p l i c a t i o np r o g r a m t h i sd e s i g ni sab r a n d n e wa t t e m p t ,t h es t u d yo fw h i c hi so fg r e a tv a l u ei np e r f e c t i n g p r e s e n tt c p i pn e t w o r kp r o t o c o la n di m p r o v i n gt r a n s f e rr a t eo fn e t w o r kd a t a k e y w o r d s :t c p i pn e t w o r kp r o t o c o l ,i pp a c k e tt r a n s m i s s i o n ,n e ta d a p t e r ,f p g a 论文独创性声明 本人声明:本人所呈交的学位论文是在导师的指导下,独立进行研究工 作所取得的成果。除论文中已经注明引用的内容外,对论文的研究做出重 要贡献的个人和集体,均已在文中以明确方式标明。本论文中不包含任何 未加明确注明的其他个人或集体已经公开发表的成果。 本声明的法律责任由本人承担。 论文作者签名:磐疑2 。8 年5 月弓。日 论文知识产权权属声明 本人在导师指导下所完成的论文及相关的职务作品,知识产权归属学 校。学校享有以任何方式发表、复制、公开阅览、借阅以及申请专利等权 利。本人离校后发表或使用学位论文或与该论文直接相关的学术论文或成 果时,署名单位仍然为长安大学。 ( 保密的论文在解密后应遵守此规定) 论文作者签名:兽狈 导, j o 签名:丑卫k 2 - 0 06 年y 月专d 日 硼年,眵。日 长安大学硕士学位论文 1 1 常用网络协议分析 第一章绪论 1 1 1o s i 参考模型 开放式互联( o s i ,o p e ns y s t e m si n t e r c o n n e c t i o n ) 参考模型是国际化标准组织( i s o , i n t e r n a t i o n a ls t a n d a r d so r g a n i z a t i o n ) 制定的一个国际标准,它分为七层,分别是物理层、 数据链路层、网络层、传输层、会话层、表示层和应用层。这些层与层之间的联系见图 1 1 0 1 。 层编号 协 义凿例由网络上主机发送的数据哐 交换单元 协议举例l一 应用层 表示层 会话层 传输层 网络层 数据链路层 物理层 x 4 0 0 x 5 0 0h数据 h 数据 h 数据 h 数据 x 2 5h 数据 s d l ch数据t r c 2 3 2 c比特流 a p d u p p d u s p d u t p d u 数据分组 数据帧 比特流 图1 1o s i 参考模型 主机向网络传输数据时,数据首先交给应用层所采用的协议,应用层处理完这些数 据会在头部的字段中加上一些控制信息。作为形成两个对等应用层问的虚拟通信方式, 那么要传输的数据和应用层头部一起被称为应用层协议数据单元( a f d u ,a p p l i c a t i o n p r o t o c o ld a t au n i t ) 。 这个a p d u 被应用层向前传递给发送主机的表示层。此时,a p d u 和应用层头部 都被视为表示层的协议数据单元( p d u ,p r o t o c o ld a t au n i t ) 中的数据部分,称为表示 层协议数据单元( p p d u ,p r e s e n t a t i o np d u ) 。表示层头部是发送端表示层和接收端表 示层之间实现通信的方法,p p d u 被转交给会话层。这个过程在每一层中重复进行,直 到到达数据链路层,在数据链路层再添加一个尾部标记,送入物理层形成比特流。数据 接收端,处理过程相反。 它的优点是使网络的不同层次分担起不同的职责,从而减轻问题的复杂程度,一旦 网络发生故障,可迅速定位故障所处层次,便于查找和纠错;在各层分别定义标准接口, 7 6 5 4 3 2 l 第一章绪论 使具备相同对等层的不同网络设备能实现互操作,各层之间则相对独立,一种高层协议 可放在多种低层协议上运行;能有效刺激网络技术革新,因为每次更新都可以在小范围 内进行,不需对整个网络动大手术;便于研究和教学。 缺点是o s i 模型及其相关的服务定义和协议都及其复杂。在七层结构中,其中会话 层和表示层基本上没有使用价值:而数据链路层和网络层功能烦杂,从而分成几个不同 功能的子层,显得结构臃肿;某些功能重复出现,例如寻址、流量控制和出错控制在各 层重复出现,导致效率降低,系统功能下降;某些特性无法找到与之对应的特定层,比 如虚拟终端处理原先在表示层,现在放到应用层;数据安全、加密问题和网络管理无法 决定放在哪层,从而被放置一边:模型的制定主持者是通信方面的,由于通信与计算 机和软件的工作方式不同,导致某些决定无法在互联网上使用【2 】。 1 1 2t c p i p 协议 o s i 参考模型具有通用性和更好的隐蔽性,可由于出现时机不对,技术实现较为复 杂,使的当今世界普遍认可了先与o s i 模型出现的t c p i p 协议( t r a n s m i s s i o nc o n t r o l p r o t o c o l i n t e m e tp r o t o c o l ,传输控制协议网际协议) 。t c p f i p 网络协议类似于o s i 参考 模型分不同层次进行开发,每一层分别负责不同的通信功能【1 3 】,如图1 2 所示 应用层 h 1 r p 、f r p 、s m t p 、s n m p 数据 ( a p p l i c a t i o nl a y e r ) 传输层 ( t r a n s p o r tl a y e r ) t c p 、u d p 、r s v p 端口号数据 网络层 l p 、砌p 、1 c m p 、 协议号数据 ( n e t w o r kl a y e r ) a r p 、r a r p 、 网络接u 层 i e e e 8 0 2 、 类型 p p p 、a t m 、 字段 数据 t ( l i n kl a y e r ) r o n e t 图1 2t c p i p 协议结构示意图 在t c p i p 协议中,在各层的之间的传输都类似于o s i 模型介绍的数据传输过程, 当主机向网络传输数据时,数据首先交给应用层所采用的协议,应用层加入相应的信息 送给传输层,传输层加入端口号送给网络层,这些头部标记都是进行对等虚拟通信的标 记。在网络接口层加入类型字段和尾部校验信息送入网络形成比特流。 这种t c p f i p 体系结构中,应用层、传输层和网络层都有典型的协议,但是网络接 2 长安人学硕士学位论文 鬻一 千 第一章绪论 统一,那么究竟可以建立一个怎样的类似o s i 模型的网络既能使网络传输比较简单,又 能统一一些? 除此之外,还有什么网络模型可以供我们来选择搭建? 我们先来分析一下 现有网络的数据传输。 1 2 现有网络数据传输分析 1 2 1 网络数据传输格式 主机数据经过应用层、传输层加上各层的协议格式后,在网络层加上i p 分组格式, 然后在网络层转换成其他广域网数据帧格式或者局域网数据帧格式,然后才能通过传输 介质进行传输。 1 、网络层数据格式i p 数据分组 网络层的i p 数据分组也叫i p 数据报或者i p 数据包,它在网络层中传输,计算机 在通信时,将数据打成大小形式一致的i p 数据包( 封装) ,路由器在链路层接到数据包 后在网络层内将其拆开,并且察看路由信息以及其他相关信息( 拆封) ;读完信息后按 照信息重新分组以及寻找路由之后,便重新将数据打成大小形式一致的数据包( 封装) , 然后从网络层发回链路层按照路由进行传输【4 1 。 它的具体格式如下图1 4 所示。 0481 61 91 43 1 版本头标长服务类型总长 标识标志片偏移 生存时间协议头标校验和 源p 地址 信宿p 地址 数据 填充域 数据区 图1 4i p 数据报格式 2 、数据链路层数据格式帧 帧是工作在数据链路层的数据单位,不同的数据链路层有不同的帧的结构,但是 都包括帧头和帧数据,帧头中都会包括接收方主机物理地址以及其他网络信息,图1 5 是以太网i i 帧的结构【4 1 。 4 长安人学硕上学位论文 1 2 2 局域网中的数据传输过程 图1 5 以太网i l 帧的结构 i p 地址: 1 2 3 1 5 6 1 2 0 l 飘叟i p j 也:t l t :p 目的物理 目的i p 地址:尾部 网卡3 6 数据 f l 蚰k 3 61 2 3 1 5 6 1 2 0 0 校验 l o 图1 6 局域网中口数据报的传输 如图1 6 所示,局域网路由器收到一个来自i n t e m e t 网络目的i p 地址是1 2 3 1 5 6 1 2 0 0 的数据报,路由器查其i p 地址,验证它存在本网中,再查看这个i p 地址在它的a i 冲 ( a d d r e s sr e s o l u t i o np r o t o c o l ,地址解析协议) 列表中是否存在,路由器需要得到与这 个目的i p 地址对应的物理地址,如果这个i p 地址不在路由器的a r p 列表中,那么路 由器会以广播的形式在一个帧内发送一个a r p 请求,询问与这个局域网相连的每一个 p c 机,只有i p 地址相同的节点才会做出回应。在这个图中只有网卡号为3 6 ( 这里4 8 位的m a c 地址简化写为3 6 ) 的p c 机才能做出回应,并向在寻找它的路由器发出a r p 应答。路由器收到应答后,把i p 数据分组送给网卡号为3 6 的p c 机,3 6 号p c 机再利 用网卡对帧进行解析。 那么,在一个局域网中,同一个主机被寻找了两次,一次是m a c 地址,一次是i p 地址,时间大大加长,并且在局域网中,通过a r p 协议寻找主机的过程使网络的工作 复杂度大大加强了。 1 2 3 问题的提出 下面是用i r i s 软件在网络上实际访问h t t p 网站截获的数据,左边的窗口显示的就是 数据根据协议解析的过程,首先在以太网中接收到的数据是帧的形式,在窗口左侧的树 第一章绪论 形结构的第一行标注为m a ch e a d e r ( e t h e r n e ti 1 ) ,右侧下方的红色部分就是这次访问的 帧头。第一个标志字节后跟的就是目的m a c 地址0 0 :e 0 :f c :4 3 :6 a :b i ,紧随目的m a c 地址后的就是源m a c 地址0 0 :1 3 :d 4 :d c :d 5 :f 0 ,后面是封装好的i p 数据报。如图17 所示。 0 吨! “口o 1 0 j 口l e 口e e 口q 回日* k t】3 - e 口n 1 a t 1 “ h t m t 0* 】| n )“m 【m 口口 “ozk n 口口r ? q m q* 口h t * mh 目 】k 口1 日】l + 一u 一【一 ,m 口m3 瓣辫;燕i 誊篓i 奠i 瓣獬篓i 誊糍i 誊i 。 i 誉i i ! i 擀;i 兰誊曼! 冀:饕:端嚣,二:二 口q日口 :i0 07 := n o o ! c u 0ju-j?;cx a :0d 2r , “- 一x 口:“00 0 。llx0 u 1u ,:i f r t t “1e 3 l7oe0。o1 m 图1 7 实际以太网帧头 然后来看i p 数据报头如图1 8 ,窗口左侧的树形结构第二部分就是i p v 4h e a d e r 也 就是实际网络中的i p 数据包头结构,在窗口右下侧的窗口红色显示,包括第一字节的 版本号4 5 h ( m 版本是4 ,头标长为5 ) ,服务类型为o o h ,总长0 0 3 9 h ( 5 7 字节) ,标识 0 3 4 1 h 。标志0 h ,片偏移0 0 0 h ,生存时间4 0 h ,协议1 1 h ,头标校验和5 f 4 3 h ,源l p 地址7 c 1 6 3 b c 8 ( 1 2 42 2 5 92 0 0 ) ,目的i p 地址d 2 5 7 8 d f a ( 2 1 0 8 71 4 12 5 0 ) ,后面紧跟 数据区。 - 自釜z 苜” 。:i :二二:= := := 二二: :i 蓍f 巢臻臻孤噩篓巢,;i 聂 图l 8 实际i p 报头 长安大学硕士学位论文 那么我们可以看出无论是数据链路层的帧还是网络层的i p 数据报都有一个地址, 只是一个是网络层的i p 地址,一个是底层的m a c 物理地址。那我们能否利用网络层 的i p 地址直接在某种介质上进行数据的传输呢? 下面我们就来分析一下在介质上直接 传输i p 数据分组的可能性。 1 3i p 网络的建立可行性分析 1 3 1 数据链路层的作用与功能分析 数据链路层的主要作用m 1 是组帧、流量控制和差错控制。组帧的作用在局域网协 议中主要是将上层数据分割成一定大小的、适合传输的数据块,然后加上源地址、目的 地址、校验和帧标记等形成数据帧,帧是数据传输的最小单位:流量控制主要用来协调 通信的两台主机之间的数据发送速率,避免由于发送方发送过快,接收方来不及接收而 造成数据丢失,最常使用的方法是滑动窗口协议;差错控制主要用来发现数据传输中的 错误,并能自动纠正某些错误,常用的方法是在数据中增加校验和,例如i e e e 8 0 2 3 协 议的数据帧就是这种方法。 通过对比分析,我们可以看出,实际上在t c p i p 协议中,也都有数据链路层的这 些功能。 针对数据帧,在t c p i p 协议中实际上i p 数据包本身就是具有一定结构和一定大小 的数据块,包中既有源地址,也有目的地址,只不过它的地址形式是3 2 位或者1 2 8 位 的二进制,而不是通常的4 8 位m a c 地址。 对于流量控制,在t c p i p 协议的面向连接的传输协议t c p 中有完备的流量控制机 制,例如基于信贷的滑动窗口协议就是典型代表。 还有就是差错控制,t c p i p 协议采用校验和和应答信号机制保证数据传输错误的 及时发现,对发现的错误利用重发机制进行纠正,从而实现网络的正常运行。 也就是说目前数据链路层的功能在t c p i p 协议中都有实现,只是出现在网络模型 中的位置不同,但是原理和方法基本一样。 1 3 2 物理层的作用与功能分析 计算机网络的物理层【8 1 主要讨论物理特性、电器特定、功能特性和过程特性。所谓 的物理特性主要是指连接器的物理形状和尺寸大小;电器特性主要讨论传输中信号的电 平高低;功能特性讨论连接器中每个管脚的功能定义;过程特性讨论数据传输过程中 7 第一章绪论 各个部分的工作状态和通信过程中的状态变化。 在t c p i p 协议中,物理层的这些功能没有任何定义和描述,因为t c p i p 协议网络 必须建立在其它网络之上,所以它不需要定义这些内容。实际上,这也是i p 网络必须 依赖于其它介质的根本原因。 1 3 3 组建i p 网络的可行性分析 根据上述分析,我们可以看出,要必须解决在t c p i p 协议中没有定义的这些数据 链路层和物理层协议问题,主要包括如下几点: 首先,必须解决连续数据流的分割问题。在数据传输中,从应用层或者说从传输层 来的数据是连续的,在数据封装成为i p 包的时候只是增加i p 包头。传统的局域网和广 域网将i p 包再次进行封装帧,帧与帧之间用分隔符隔离,也就是在帧的起始处加入1 、 0 比特交替出现的同步码以便于接收方识别。如果我们熟悉i p 分组格式,那么可以很 清楚地知道,每一个i p 分组都是以“版本号字段开始的,由于采用链路层的数据帧 进行分割,所以包格式中没有包之间的分割。如果要在介质上直接传送i p 分组,必须 解决i p 分组之间的分割问题。这个问题可以通过增加特殊标记来实现比如加入一个字 节的0 、1 交替出现的比特码。 其次,在解决了i p 分组的分割之后,接下来就要考虑i p 分组如何在介质上传输的 问题。直接在介质上传输i p 分组,现有的通信接口都不能完成这个任务。虽然串口和 并口都可以直接用于i p 分组的传输,但是因为传输距离的原因,不能满足网络通信的 距离要求,所以不能用来实现i p 分组的传输。 用双绞线通信的网卡,可以满足网络通信的距离要求,但是如果用于传输i p 分组 也是不行,因为现有的网卡中包含了局域网网络协议,这样在传输过程中仍然需要使用 局域网协议,不能直接传送i p 分组。为了在双绞线上直接传送i p 数据报必须重新设计 传送的通信接口,实际上也就是必须设计新的网络适配器。只要有了合适的i p 网络适 配器,就可以实现在网络中直接传送i p 分组了。 第三,现代的计算机网络拓扑结构皆为星型结构,也就是网络中的主机通过中间交 换节点连接在一起,各主机之间的通信通过中间节点进行,中间节点就是交换机。因此, 也要必须重新设计i p 交换机。 具备了i p 网络适配器,i p 交换机就可以组建口网络实现i p 数据报在介质上直接 传输的想法,这是一种全新的i po v e rc a b l e 6 1 技术。 长安大学硕士学位论文 1 4 研究内容 1 4 1 研究内容 ( 1 ) 分析o s i 参考模型、t c p i p 协议、i e e e 8 0 2 3 协议,并研究和探讨它们存在 的问题。 ( 2 ) 根据常用网络协议所存在的问题,分析并讨论组建i p 网络的可行性;说明其 工作原理和拓扑结构。 ( 3 ) 分析满足i p 网络要求的i p 网络适配器的工作原理和基本结构,提出基于p c i 总线的i p 网络适配器方案。 ( 4 ) 根据i p 网络适配器的设计要求,完成硬件原理图设计,器件选择,并用v h d l 语言在q u a r t u s l i5 0 中实现硬件连接程序的开发。 1 4 2 研究目标 ( 1 ) 设计完善的i p 网络拓扑结构,并给出工作原理。 ( 2 ) 根据i p 网络的要求设计基于p c i 总线的i p 网络适配器,构建由两台带i p 网 络适配器的计算机和一个i p 网络交换机组成的简化实验i p 网络。 1 4 3 难点和创新点 1 、难点 ( 1 ) 在双绞线上直接传送i p 分组,必须解决i p 分组之间连续数据流的分割问题。 ( 2 ) 考虑i p 分组如何直接在双绞线介质上传输的问题。 ( 3 ) 如何发现数据传输中的错误,并能自动纠正某些错误,也就是要考虑差错控 制问题。 ( 4 ) p c i 总线接口的控制和处理。 2 、创新点 ( 1 ) 提出i p 网络的拓扑结构和工作原理,在此基础上可直接用双绞线传输i p 分 组。 ( 2 ) 设计一种全新的基于p c i 总线的i p 网络适配器。 9 第二章总体设计方案 第二章总体设计方案 2 1 基于双绞线的i p 网络拓扑结构和工作原理 如果要组建一个纯粹i p 网络的局域网,首先要具备局域网的三要素即传输介质、 拓扑结构、介质访问控制方法。传输介质采用双绞线,采用i po v e rc a b l e 也就是在双 绞线上传输i p 数据分组,拓扑结构采用星型结构,利用交换技术进行介质访问,如图 2 1 所示。 地址表: 端口地址 l1 2 3 1 5 6 1 1 21 2 3 1 5 6 1 3 31 2 3 1 5 6 1 2 5 41 2 3 1 5 6 1 2 0 0 5 1 2 3 1 5 6 1 2 0 5 i p 地址; 1 2 3 1 5 6 1 2 0 0 图2 1i p 局域网的结构 这种i p 星型局域网的核心是一个i p 网络交换机,它有多个端口,采用点对点的交 换,阵列交换方式,有i p 地址端口对照表,这样当交换机收到一个i p 数据包的时候, 可以根据i p 分组格式,读取i p 地址,然后根据i p 地址端口对照表判断分组的目的端 口,然后在源端口和目的端口之间建立连接,实现i p 分组的交换。 在图2 1 中i p 交换机有五个本地接口,每一个接口连接一个主机,每个主机都有相 应的i p 网络适配器。i p 交换机维持一个地址表,上面记录了每一个主机的i p 地址,以 及与它相连接的端口号。比如,当i p 交换机收到一个来自i p 局域网中源i p 地址是 1 2 3 1 5 6 1 1 目的i p 地址是1 2 3 1 5 6 1 2 0 0 的数据报时,交换机查其目的i p 地址,发现这 个目的i p 地址在i p 交换机的地址表中,那么交换机会给端口号为4 的主机发送一个请 求,收到应答后,把端口号为l 的i p 数据分组送给端口号为4 的主机其i p 地址为 1 0 长安人学硕士学位论文 1 2 3 。1 5 6 1 2 0 0 ,然后数据报交给主机的i p 网络适配器处理后送入更高一层的协议。这 个处理过程省去了传统以太网中的a r p ( a d d r e s sr e s o l u t i o np r o t o c o l ,地址解析协议) 的过程,对网络的传输速率的提高有很大的帮助。 2 2 网络适配器的功能及技术需求分析 2 。2 。1 网络适配器功能 网络适配器( n e t a d a p t e r ) 也称为网卡( n e t w o r ki n t e r f a c ec a r d ,简称n i c ) ,一般 以扩展卡的形式插在p c 机的扩展槽上,在主机的控制下结合网络通信媒体实现t c p i p 协议中链路层以及物理接口的所有功能,它是电脑与局域网相互连接的接1 5 1 【5 j 。无论是 普通电脑还是高端服务器,只要连接到局域网,就都需要安装块网卡。 传统网卡是局域网中计算机连接传输介质的接口,是实现网络介质之间数据信号之 间数据信号形式的变换、收发控制,通常一个网卡包括o s i 模型的两个层物理层和 数据链路层。物理层定义了数据传送与接收所需要的电与光信号、线路状态、时钟基准、 数据编码和电路等,并向数据链路层设备提供标准接口。数据链路层则提供寻址机构、 数据帧的构建、数据差错检查、传送控制、向网络层提供标准的数据接口等功能。 2 2 2 现有的网络适配器分析 在现有的网络中,电脑之间在进行相互通讯时,数据不是以流而是以帧的方式进行 传输的。我们可以把帧看作是一种数据包,在数据包中不仅包含有数据信息,而且还包 含有数据的发送地、接收地信息和数据的校验信息1 9 j 。 现有网络适配器的功能主要有两个:一是将电脑的数据封装为帧,并通过网线( 对 无线网络来说就是电磁波) 将数据发送到网络上去;二是接收网络上传过来的帧,并将 帧重新组合成数据,发送到所在的电脑中。网卡接收所有在网络上传输的信号,但只接 收发送到该电脑的帧和广播帧,将其余的帧丢弃。然后,传送到系统c p u 做进一步处 理。当电脑发送数据时,网卡等待合适的时间将分组插入到数据流中。接收系统通知电 脑消息是否完整地到达,如果出现问题,将要求对方重新发送。 其传输时的基本原理是:当发送i p 数据包时必须首先由网卡将其按照子网的帧格 式进行封装传送,接收端再进行拆封等处理。即处于网络层的i p 数据包先送到子网层 传送,再在接收端由子网层升上网络层进行处理。在帧格式中,采用封装和拆封包头的 形式。这一过程处理繁琐,它包括各种子网层的控制和管理等,造成很大的浪费,而且 第二章总体设计方案 由于冗余信息多,影响网络传送效率,不符合有效可靠的通信观念。此外,由于系统比 较复杂,其运行费用也比较高。另外目前的网卡,每块网卡都有一个m a c 地址,m a c 地址被烧录于网卡的r o m 中,用于在网络中标识电脑的身份,实现网络中不同电脑之 间的通信和信息交换。 2 2 3i p 网络中的网络适配器分析 那么根据第一章的分析,i p 数据报在双绞线上直接传输的理论是可行的,为了保证 局域网中中传输的是“纯”i p 分组,我们必须考虑网络适配器的选用,经过调研,我们 没有找到合适的网络适配器,所以网络适配器要重新设计。网络适配器主要用来实现在 主机和交换机之间的数据传输,主要包括发送电路、接收电路和控制电路,其工作原理 如图2 2 所示: 图2 2 适配器工作原理 发送电路主要用来数据发送。从网络层来的i p 分组到达网卡后,网卡首先要为i p 分组加上分割标记,然后根据某种编码方式将数据编码,编码的目的是为了保证信号在 传输一定距离后仍然可以识别,并增加传输中的抗干扰能力;编码后电路将数据转换为 电信号,并增加一定的强度,然后进行数据发送。在这个过程中,由于双绞线和同轴电 缆的物理性质不同,所以要通过不同的控制电路进行控制,对于双绞线而言,由于其物 理结构时4 对8 芯,所以必须选择如何把信号分配到不同的线对上传输。 接收电路和发送电路功能相反,用来把从介质上接收到的信号,经过解码还原为i p 分组,需要解决的一个问题是要根据控制电路的指示,要把分配在不同线对上的信号重 新装配,然后还原为分组,并提交给上层用户。 2 3i p 网络适配器的功能分析 i p 网络适配器的具有的基本功能有并串转换、网络数据控制、数据缓存、网络信 1 2 长安人学硕士学位论文 号的收发、接口控制、编码与译码。 2 3 1 并串数据转换 计算机处理的数据是并行数据需要进行转换才能进行双绞线上的串行传输,同样双 绞线上传输的是串行数据,需要经过i p 网络适配器进行串并转换后才能送给计算机进 行数据处理。本i p 网络适配器通过两个专用芯片来完成转换,c y 7 8 9 2 3 用于点对点之 间高速串行数据通信的发送芯片,用户的8 位并行数据或协议信息将读入发送器的输入 寄存器中,然后由编码器编码后送到移位寄存器,最后在位时钟的控制下通过三对差分 p e c l 对串行输出,送入双绞线。与之相对应的接受芯片是c y 7 8 9 3 3 ,它的两对差分线 接收端可作为串行数据的输入,然后将输入位流数据在移位器中实现串并转换。 2 3 2 网络数据控制 网络存取控制主要完成的是差错控制、流量控制等功能。 差错控制是检测和纠正传输错误的机制。主要用来发现数据传输中的错误,并能自 动纠正某些错误,常用的方法是在数据中增加校验和,例如i e e e s 0 2 3 协议的数据帧就 是这种方法。t c p i p 协议采用校验和和应答信号机制保证数据传输错误的及时发现, 对发现的错误利用重发机制进行纠正,从而实现网络的正常运行。也可以通过f p g a 设 计c r c 检测和编辑程序进行冗余检测。 i p 网络适配器的接收芯片c y 7 8 9 3 3 的r v s ( 接收违例字符指示) 端、r f ( 帧同步 允许) 端口以及发送芯片c y 7 8 9 2 3 的s v s ( 发送为例字符) 、r p 端口也可以检测差错 控制。当r v s 为高电平时,表明在接收数据流中检测到违例字符:当r v s 为低电平时, 表明检测到错误码;此时,它通过r f 返回一个信号,使r f 不允许帧同步,从而使接 收芯片将错误信号过滤,起到差错控制的作用。当s v s 为高电平时,在c k w 的上升 沿,并行输入端的数据被忽略而将一个违例字符编码后发送。当s v s 为低电平时,则 由d o - - ,和s c d 的状态决定发送码,若它检测到错误的时候,它给l i p 返回一个信号, 使r p 不允许帧同步,从而使接收芯片将错误信号过滤,起到差错控制的作用。 流量控制是一种协调发送端和接收端工作步调的技术,其目的是避免发送速度过快 接收端来不及处理而丢失数据。为了保证i p 网络适配卡的正确传输,我们在数据中加 入特殊控制字符,通过接收芯片c y 7 8 9 3 3 的r v s ( 违例字符指示) 端和发送芯片 c y 7 8 9 2 3 的s v s ( 违例字符指示) 来检测所加入的控制字符,并将其反馈到l 球端和r p 端,从而达到数据的输入输出流量控制。 第二章总体设计方案 2 3 3 数据缓存 双绞线上传输数据是i 岳速数据,但是计算机数据的传输速率是有限的,因此会造成 上一次数据还没有被计算机读取,下一次的传输过程就来了,会造成大量数据的混乱或 者丢失,所以需要使用到缓存进行处理。本i p 网络适配卡使用的是f i f o ( f i r s ti nf i r s t o u t ,先进先出) 芯片c y 7 c 4 5 x ,当f i f o 未满且e n w 有效时,在c k w 的上升沿将数 据写入f i f o 存储器;在c k w 的上升沿,若m r 有效,则将数据写入f i f o 的程序寄 存器中;当f i f o 不为空且e n r 有效时,在c k r 的上升沿将数据从f i f o 存储器中读 出:在c k r 的上升沿,若m r 有效,则将数据从f i f o 的程序寄存器中读出。 2 3 4 网络信号发送和接收 网络信号的发送是依靠发送模块在发送控制模块的控制调度下,当e n a 或e n n 低 电平有效时,在c k w 的上升沿,将8 位数据或协议信息从高速缓冲区f i f o 读入到发 送器的输入寄存器中。然后再由编码器编码后送到移位寄存器,最后在位时钟的控制下 通过三对差分p e c l 对串行输出到r j 4 5 端口。 网络信号的接收控制是由接收芯片的r d y 端( 输出数据准备好) 以及f i f o 芯片 的h f ( 半满标志位) 和e f ( 空标志位) 三个信号共同作用,提供一个输入信号e n w ( 写使能端) 给f i f o ,将数据从r 3 4 5 端口输入到缓存芯片中。只有当h f ,e f ,r d y 为高电平时,数据才能从f i f o 端口d 以7 端口输入。 2 3 5 接口控制 网卡对计算机数据的处理要通过主机总线接口进行,常用的接口电路有i s a 总线 p c i 总线,本文用p c i 总线设计i p 网络适配器。采用p c i 9 0 5 4 芯片对接口进行控制并 协调总线和数据的发送传输处理。将l h o l d 和l h o l d a 连接起来进行d m a 的传输, 分为读状态和写状态,由a d s # 、r e a d y # 、b l a s t # 、l w r # 控制总线读写状态,从 而发送数据或者接收数据。 2 3 6 编码和解码 网络信号在进入网络前必须要进行编码比如传统的以太网卡芯片m l 6 6 9 2 型芯片 就有4 b 5 b 编译码器,而本文所采用的编码译码电路都集中在收发控制器上,发送芯片 c y 7 8 9 2 3 内部包括一个8 b 1 0 b 编码器,当e n a 或e n n 有效( 低电平) 时,在c k w 的上升沿,对输入的用户的8 位数据或协议信息输送到输入寄存器中,然后由编码器编 码。接收芯片c y 7 8 9 3 3 内部包括一个8 b 1 0 b 解码器,当接收器接收来自差分串行输 1 4 长安人学硕士学位论文 入端的串行位流后,通过移位转换送入解码器解码。 2 4i p 网络适配器工作原理 借助于以太网网络适配器的工作原理,在i p 网络适配器中虽然没有传统的m a c 地址解析的过程,但是我们设计了i p 地址对比的过程。前端p c 机在外部信号的控制下 通过p c i 接口p c i 9 0 5 4 向外设输出存储的数据报,再通过f p g a 驱动进行3 2 位至8 位 的转换,同时通过上层应用程序和f p g a 共同进行网络功能的控制,将数据报送入f i f o 进行缓冲,最后送入h o t l i n k 进行串并转换,送入双绞线进行传输。在接受端,数据 经过双绞线传输后进入h o t l i n k 串并转换,再由f i f o 进行缓冲,送入f p g a 后进行 整体控制,并进行i p 地址的比对,当网卡收到一个i p 包的时候,可以根据i p 分组格 式,从i p 分组的第9 6 位( 第1 7 个字节) 开始,判断分组的目的i p 地址是否与主机一 致如果一致,则p c 机接收数据报,否则丢弃数据报。图2 3 是i p 网络适配器的发送数 据的数据流图。 图

温馨提示

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

评论

0/150

提交评论