基于TCPIP的以太网通讯端口的设计.doc
《基于TCPIP的以太网通讯端口的设计.doc》由会员分享,可在线阅读,更多相关《基于TCPIP的以太网通讯端口的设计.doc(48页珍藏版)》请在三一文库上搜索。
1、毕业设计说明书 第 43 页 基于TCP/IP的以太网通讯端口的设计摘 要随着Internet的发展,TCP/IP已经成为通信领域事实上的国际标准。嵌入式系统通过嵌入式TCP/IP协议栈连接Internet,甚至Internet,将具有更好的实用性和巨大的经济效益。在对当前国内外嵌入式TCP/IP协议栈产品现状进行调研的基础上,自主研发了可利用TCP/IP协议进行数据传输的方法。本论文对ARP、ICMP、UDP、TCP等几个协议进行详细剖析,包括协议可配置性分析,并阐述TCP/IP协议栈的实现思路及方法。TCP/IP协议栈采用分层体系结构,严格按照IEEE国际标准,没有任何私有协议,也没有做任
2、何假设,从而确保协议的完整性和一致性。TCP/IP协议栈在设计上充分考虑了移植性,整个协议栈架构在系统抽象层之上,通过系统抽象层屏蔽掉硬件体系结构、底层嵌入式操作系统以及编译器等的差异。关键词:TCP/IP,IP协议栈,IEEE国际标准The Design Of Ethernet Communication Interface On The Basis Of TCP/IPAbstractWith the development of Internet,TCP/IP has virtually become the internationalstandard in the communicati
3、on field.If the connection,by means of embedded TCP/IPstack,between the embedded system and Intranet,even Internet can come true,theembedded system will be much more practical and bring about enormous economicbenefits.Based on the research and study of the current situation of the embeddedTCP/IP sta
4、ck products home and abroad,independently the configurable embeddedTCP/IP stack-VIP stack has been developed.According to VIP stack,this paperexpatiates on ARP、ICMPv4、UDP、TCP and other protocols,including ananalysis of protocol configuration,and also offers the implementation method of VIPstack.VIP
5、stack,with the adoption of layered architecture,can be carried out by means ofANSI C language,strictly abiding by international RFC standard without any privateprotocol and any assumption,so as to ensure integrality and consistency of the protocolstack.In the aspect of design VIP stack takes full co
6、nsideration of the property oftransplantation.The whole VIP stack stands on top of the system abstract layer,whicheliminates the differences of hardware architecture,embedded operating system andcompilers.Keywords:TCP/IP, IP stack, IEEE standard目 录1 绪论11.1 课题背景及目的11.2 国内外研究状况11.3 课题研究方法11.4 论文构成及研究内
7、容12 TCP/IP协议的介绍32.1 TCP/IP以太网的连接方式32.2 TCP/IP以太网的工作原理42.3 TCP/IP层次模型52.4 传输协议的介绍82.4.1 ARP协议82.4.2 IP协议102.4.3 ICMP协议112.4.4 UDP协议132.4.5 TCP/IP协议142.5 TCP连接的建立与终止163 硬件实现183.1 电路设计环境183.2 RTL8019AS芯片简介193.2.1 RTL8019AS内部结构213.2.2 网卡的上电复位和初始化243.2.3 接收和发送以太网帧的实现274 上位机软件设计314.1 Winsock概述314.2 RTL801
8、9AS以太网驱动程序324.3 ARP协议的实现334.4 ICMP的程序实现364.5 ARP协议的程序实现384.6 TCP协议的程序实现39结 论41致 谢42参考文献431 绪论1.1 课题背景及目的近年来,由于互联网技术的发展,宽带网络迅速发展,以太网己成为许多住宅小区的基础设施。以太网技术是当今最成熟的网络技术。从以太网出现以来,它的发展一直受到广泛的重视和大量的技术投入,10M、100M的以太网技术早己获得了广泛的应用,1000M的以太网技术也在形成之中。采用以太网传输媒介,在技术支持和升级方面无需专门的研发投入,这一点是任何现有的现场总线技术,包括RS-485技术,都无法比拟的
9、。同时以太网技术得到广泛的开发技术支持,以太网是应用最广泛的计算机网络技术,几乎所有的编程语言都支持以太网的应用开发,例如Java、Visua1C+、ViusalBasic等。这些编程语言由于被广泛应用,为人们所熟悉,并受到软件开发商的高度重视,具有很好的发展前景,其性能也会不断改进。所以,选择以太网作为传输媒介,不会拘泥于一种开发语言或者软件平台,有更宽的选择自由度。1.2 国内外研究状况当前,以太网技术已深入到国民经济的各个方面。在防盗、工控、仪器仪表数据传递、机电控制单元等领域,以太网技术已成为电子系统智能化的最好平台。以太网的应用也随处可见,通过以太网技术和芯片RTL8019AS的组合
10、应用可以实现很多的功能。使其应用在不同的领域。1.3 课题研究方法1、了解现阶段所使用的数据传输方法,选择性能较好的进行设计应用。2、设计以太网的传输速率以及RTL8019AS内部程序,使其达到设计要求。3、对TCP/IP进行数据端口的规划。4、通过软件编程来实现所要实现的功能。1.4 论文构成及研究内容本系统内实现了真正的无缝连接,对外部来说,由于以太网协议的标准性,通用性,使不同系统间的连接非常的方便,为智能小区的互联和信息共享提供了技术支持。同时还可使用户拥有成本下降。掌握以太网技术的工作人员比较多,而无需专人去学习控制网络的方法。所以,若能够采用以太网传输数据,可以避免单独布线的问题,
11、而且TCP/IP协议作为以太网互联的最广泛的协议,其开放性和兼容性使系统的应用范围具有较大的扩展空间。随着科技的进步,住宅小区要求的提高,直接使用以太网传输数据一定会成为将来的主流技术。2 TCP/IP协议的介绍以太网(Ethernet)最初起源于Xeorx公司建造的一个2.9Mbps的CSMA/CD(载波监听/多路访问)系统,它以无源电缆作为总线来传输数据,在1000M的电缆上连接了100多台计算机,并以曾经在历史上表示传播电磁波的以太(Ether)来命名,这就是如今的以太网的鼻祖。随后DEC、Intel及Xerox合作公布了Ethernet物理层和数据链路层1的规范,称为DIX规范。在此基
12、础上,电气和电子工程师协会(IEEE)制定了IEEE802.3标准。以太网可以支持多种传输介质。以太网按传输介质标准主要可分为三类,粗缆以太网、细缆以太网、双绞线以太网,即10BASE-5、10BASE-2、10BASE-T,近几年又出现了以光纤为传输介质的快速以太网。随着技术的不断发展,以太网的传输速度也得到很大提高,从10Mbps逐渐发展到100Mbps、1000Mbps,甚至10Gbps也提上研究日程。2.1 TCP/IP以太网的连接方式1、拓扑结构总线型:所需的电缆较少、价格便宜、管理成本高,不易隔离故障点、采用共享的访问机制,易造成网络拥塞。早期以太网多使用总线型的拓扑结构,采用同轴
13、缆为传输介质,连接简单,通常在小规模的网络中不需要专用的网络设备,但由于它存在的固有缺陷,己经逐渐被以集线器和交换机为核心的星型网络所代替。星型:管理方便、容易扩展、需要专用的网络设备作为网络的核心节点、需要更多的网线、对核心设的可靠性要求高。采用专用的网络设备(如集线器或交换机)作为核心节点,通过双绞线将局域网中的各台主机连接到核心节点上,这就形成了星型结构。星型网络虽然需要的线缆比总线型多,但布线和连接器比总线型的要便宜。此外,星型拓扑可以通过级联的方式很方便的将网络扩展到很大的规模,因此得到了广泛的应用,被绝大部分的以太网所采用。2、传输介质以太网可以采用多种连接介质,包括同轴缆、双绞线
14、和光纤等。其中双绞线多用于从主机到集线器或交换机的连接,而光纤则主要用于交换机间的级联和交换机到路由器间的点到点链路上。同轴缆作为早期的主要连接介质已经逐渐趋于淘汰。当前以太网支持光纤和双绞线媒体支持下的四种传输速率:10MbPs-10Base-Ethernet(802.3)100MbPs-FastEthernet(802.3u)1000MbPs-GigabitEthernet(802.3z)10Gigabit Ethernet-IEEE802.3ae2.2 TCP/IP以太网的工作原理1、工作过程以太网采用带冲突检测的载波帧听多路访问(CSMA/CD)机制。以太网中节点都可以看到在网络中发送
15、的所有信息,因此,我们说以太网是一种广播网络。当以太网中的一台主机要传输数据时,它将按如下步骤进行: (l)帧听信道上收否有信号在传输。如果有的话,表明信道处于忙状态,就继续帧听,直到信道空闲为止; (2)若没有帧听到任何信号,就传输数据;(3)传输的时候继续帧听,如发现冲突则执行退避算法,随机等待一段时间后,重新执行步骤1 (当冲突发生时,涉及冲突的计算机会发送一个拥塞序列2,以警告所有的节点);(4)若未发现冲突则发送成功,计算机会返回到帧听信道状态;注意:每台计算机一次只允许发送一个包,所有计算机在试图再一次发送数据之前,必须在最近一次发送后等待9.6微秒(以10MbPs运行)。2、以太
16、网协议以太网协议有两种,一种是IEEE802.2/IEEE802.3,还有一种是以太网的封装格式。一个标准的以太网物理传输帧由七部分组成,如表2.1所示。表2.1 以太网物理传输帧结构PRSDDASATYPEDATAFCS同步位分隔位目的地址源地址类型字段数据段帧校验序列7166246-15004PR:同步位。用于收发双方的时钟同步,同时也指明了传输的速率,是56位的二进制数101010101010.。SD:分隔位。表示下面跟着的是真正的数据,而不是同步时钟,为8位的10101011,跟同步位不同的是最后2位是11而不是10。DA:目的地址以太网的地址为48位(6个字节)二进制地址,表明该帧传
17、输给哪个网卡如果为FFFFFFFFFFFF,则是广播地址,广播地址的数据可以被任何网卡接收到。SA:源地址。48位,表明该帧的数据是哪个网卡发的,即发送端的网卡地址,同样是6个字节。TYPE:类型字段。表明该帧的数据是什么类型的数据,不同的协议的类型字段不同。如:0x0800表示数据为IP包,0x0806表示数据为ARP包,0x814C是SNMP包,0X8137为IPX/SPX包,(小于0x0600的值是用于IEEE802的,表示数据包的长度)。DATA:数据段。该段数据不能超过1500字节。因为以太网规定整个传输包的最大长度不能超过1514字节(14字节为DA,SA,TYPE)。PAD:填充
18、位。由于以太网帧传输的数据包最小不能小于60字节,除去(DA,SA,TYPE 14字节),还必须传输46字节的数据,当数据段的数据不足46字节时,后面补0 (也可以补其它值)。FCS:32位数据校验位。为32位的CRC校验,该校验由网卡自动计算,自动生成,自动校验,自动在数据段后面填入。由此可见,以太网帧除了数据段的长度不定外,其他部分的长度固定不变。整个传输包的最大长度不能超过1514字节(14字节为DA、SA、TYPE),最小不能小于60字节。除去DA、SA、TYPE 14字节,还必须传输46字节的数据,当数据段的数据不足46字节时需填充;超过1500字节时,需拆成多个帧传送。发送数据时,
19、PR、SD、FCS及填充字段这几个数据段由以太网控制器自动产生;而接收数据时PR、SD被跳过,控制器一旦检测到有效的前序字段(即PR、SD),就认为接收数据开始。2.3 TCP/IP层次模型TCP/IP协议(Transfer Control Protocol/Interface Protocol)叫做传输控制/网际协议,又叫网络通讯协议,是70年代中期美国国防部为ARPANET广域网开发的网络体系结构和协议标准,以它为基础组建的州TERNET是目前国际上规模最大的计算机网络,正因为创INTERNET的广泛使用,使得TCP/IP成了事实上的标准。虽然从名字上看TCP/IP包括两个协议,传输控制协
20、议(TCP)和网际协议(IP),但TCP/IP实际上是一组协议,包括:TCP(TransPort Conrtol Portocol)传输控制协议3,IP(Internetwoking Protocol)网间协议,UDP(User Datagram Protoeol)用户数据报协议,ICMP(Internet Control Message Protocol)互联网控制信息协议和简单邮件传输协议SMTP(SimpleMailTrnasefrportoeol),SNMP(Simple Network message Protocol)简单网络管理协议,FTP(File Transfer Proto
21、col)文件传输协议,ARP(address resolation Protocol)地址解析协议等许多协议。TCP/IP分成四个概念层次,从上到下依次为应用层,运输层,网络层和链路层。每一层分别由若干不同的协议组成,完成相应的数据处理任务。之所以采取分层的体系结构是为了简化通信协议的复杂性,使其各个任务独立出来,使数据传输更加透明。TCP/IP分层模型的四个协议层分别完成以下的功能:第一层:链路层TCP/IP模型的物理层和数据链路层的任务主要依靠以太网控制芯片RTLSO19AS完成,而网络层、传输层、应用层则由相关的协议软件实现。物理层协调在物理媒体中传送比特流所需的各种功能。物理层涉及到接
22、口和传输媒体的机械的和电气的规约,它还定义了这些物理设备和接口为所发生的传输所必须完成的过程和功能。物理层定义在设备与传输媒体之间的接口特性,传输媒体的类型,传输速率(即每秒发送的比特数)也在物理层定义。换言之,物理层定义一个比特持续时间。物理层还定义在两个设备之间的传输方式,即单工、半双工或全双工。数据链路层将物理层(即原始的传输设施)转换为可靠的数据链路,它使物理层对上层(网络层)看起来好像是不产生差错的。数据链路层把从网络层收到的比特流划分成可以处理的数据单元,即组帧。如果这些帧需要发送给网络上的不同系统,那么数据链路层就要把一个首部加到帧上,以明确帧的发送器和/或接收器。如果这个帧是要
23、发送给在发送器的网络以外的一个系统,则接收器地址就应当是将本网络连接到下一个网络的连接设备的地址。数据链路层增加了一些措施来检测和重传受损伤的帧或丢失的帧,因而将物理层增加了可靠性。它还有防止出现重复帧的机制,差错控制通常是在帧的最后加上一个尾部实现。第二层:网络层该层用来处理机器之间的通信问题。它传送的IP数据报。它接收运输层请求,传输某个具有目的地址信息的分组。该层把分组封装到IP数据报中,填入数据报的首部(报头),使用选路算法来确定是直接交付数据报,还是把它传递给路由器,然后把数据报交给适当的网络接口进行传输。该层还要处理传入的数据报,检验其有效性,使用选路算法来决定应该对数据报进行本地
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 TCPIP 以太网 通讯 端口 设计
链接地址:https://www.31doc.com/p-3314915.html