基于FPGA的工业以太网控制器IP核研究与设计
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
分类号:TN91单位代码:10190研究生学号:**********密级:公开
硕士专业学位论文
王晓宇
2020年6月
基于FPGA的工业以太网控制器IP核
研究与设计
Research and Design of IP Core for Industrial Ethernet Controller based on FPGA
硕士研究生:王晓宇
校内导师:王宏志教授
企业导师:于占高级工程师
申请学位:工程硕士
学科:电子与通信工程
所在单位:计算机科学与工程学院
答辩日期:2020年6月
授予学位单位:长春工业大学
长春工业大学硕士学位论文原创性声明
本人郑重声明:所呈交的硕士学位论文《基于FPGA的工业以太网控制器IP核研究与设计》,是本人在指导教师的指导下,独立进行研究工作所取得的成果。
除文中已经注明引用的内容外,本论文不包含任何其他个人或集体已经发表或撰写过的作品成果,不存在学位论文买卖、代写、抄袭等学术不端行为。
对本文的研究做出重要贡献的个人和集体,均已在文中以明确方式标明。
本人完全意识到本声明的法律结果由本人承担。
作者签名:
校内导师签名:
企业导师签名:
日期:2020年4月10日长春工业大学硕士学位论文版权使用授权书
本学位论文作者及指导教师完全了解“长春工业大学研究生学位论文版权使用规定”,同意长春工业大学保留并向国家有关部门或机构送交学位论文的复印件和电子版,允许论文被查阅和借阅。
本人授权长春工业大学可以将本学位论文的全部或部分内容编入有关数据库进行检索,也可采用影印、缩印或扫描等复制手段保存和汇编学位论文。
保密的论文在解密后遵守此规定。
作者签名:
校内导师签名:
企业导师签名:
日期:2020年4月10日
摘要
摘要
随着科学技术的不断发展,以太网技术已经深入到我们日常生活中的方方面面,同时,从以太网技术延伸出的工业以太网技术在工业自动化系统中扮演着至关重要的角色。
工业以太网通信环境具有较大的不确定性,需要针对现场实际使用改变硬件或软件的设计。
而FPGA具有可灵活配置的特点,使用FPGA设计工业以太网控制器正好符合了工业以太网对系统灵活性的需求。
根据采用FPGA开发具有高灵活性与高拓展性的工业以太网控制器的需求以及Zynq良好的发展前景,本论文基于Xilinx公司Zynq-7000系列FPGA平台,对工业以太网控制器的工作原理以及各功能模块进行分析,采用了软硬件结合设计的方式,提出一套基于FPGA的工业以太网控制器IP核系统设计方案,能够实现数据发送与接收的功能。
论文首先简述了TCP/IP协议族相关的基础理论,包括TCP/IP协议族的分层、CSMA/CD协议,分析了工业以太网控制器的工作原理,其中对数据发送与接收的流程进行了详细的论述。
其次,基于CSMA/CD协议改进了工业以太网的传输实时性。
通过对非坚持CSMA/CD中时隙的再分割,提出一种基于工业以太网的时隙非坚持CSMA/CD算法,并在MATLAB仿真平台上进行模型搭建并仿真,结果显示其与非坚持CSMA/CD算法相比,时延更低,吞吐量更高且信道利用率也更高。
接着,基于AXI总线设计了AXI控制器IP核,以它和Ethernet Subsystem IP核为核心搭建了工业以太网控制器IP核硬件平台。
其中,Ethernet Subsystem IP核负责通过以太网口发送与接收数据,AXI控制器IP核负责将接收到的数据保存到DDR中,或者将待发送的数据从DDR中传输给Ethernet Subsystem IP核。
然后对工业以太网控制器软件部分进行模块化设计,五个模块分别设计为主机接口模块、控制模块、数据发送和数据接收模块、计数器模块,论述了各个模块的工作原理和实现方法。
最后,搭建了硬件测试平台,使用Wireshark、网络调试助手等软件对所设计的工业以太网控制器进行功能验证和性能测试。
测试结果表明,基于FPGA的工业以太网控制器工作正常,能够与PC建立TCP连接并进行数据的接收与发送,最大传输速率接近100Mbps,满足了系统的设计要求。
本论文设计的基于FPGA的工业以太网控制器与传统控制器相比,具有稳定性高、传输速度快的优点,并可以根据实际使用需要进行配置或扩展,满足了工业以太网系统对灵活性方面的要求。
关键词:FPGA工业以太网以太网控制器Zynq IP核
Abstract
With the rapid development of science and technology,Ethernet technology has penetrated into every aspect of our daily life.At the same time,industrial Ethernet technology extended from Ethernet technology plays a crucial role in industrial automation system.Due to the uncertainty of industrial Ethernet communication environment,it is necessary to change the design of hardware or software for the actual use.FPGA has the characteristics of flexible ing FPGA to design industrial Ethernet controller just meets the needs of industrial Ethernet for system flexibility.According to the requirement of flexibility and scalability of industrial Ethernet controller with FPGA and the good development prospect of Zynq,this paper analyzes the working principle and functional modules of the industrial Ethernet controller,and proposes a set of IP core system design scheme of the industrial Ethernet controller based on the zynq-7000series FPGA platform of Xilinx company,which can realize the function of data sending and receiving.Firstly,this paper introduces the basic theory of TCP/IP protocol family, including the layering of TCP/IP protocol family and CSMA/CD protocol,analyzes the working principle of industrial Ethernet controller,and discusses the process of data sending and receiving in detail.Secondly,the real-time transmission of industrial Ethernet is improved based on CSMA/CD.Through the re-segmentation of non persistent CSMA/CD,non persistent CSMA/CD algorithm based on Industrial Ethernet is proposed, and the model is built and simulated on MATLAB simulation platform.The results show that compared with non persistent CSMA/CD algorithm,it has lower delay,higher throughput and higher channel utilization.Then,designed the Axi Control IP core based on the Axi bus.The industrial Ethernet controller IP core hardware platform is built around AXI Control IP core and Ethernet Subsystem IP.Among them,the Ethernet Subsystem IP core is responsible for sending and receiving data through the Ethernet port,and the Axi Control IP core is responsible for saving the received data into the DDR,or transmitting the data will be sent from the DDR to the Ethernet Subsystem IP core.Then the software part of industrial Ethernet controller is modularized.The system is divided into host interface module,control module,data sending and receiving module,counter module.The working principle and implementation method of each module are discussed.Finally,the hardware test platform is built,and the function verification and performance test of the
designed Industrial Ethernet controller are carried out by using Wireshark,network debugging assistant and other software.The test results show that the industrial Ethernet controller based on FPGA works normally,can establish TCP connection with PC and receive and send data,and the maximum transmission rate is close to100mbps,which meets the design requirements of the system.
Compared with the traditional controller,the industrial Ethernet controller based on FPGA designed in this paper has the advantages of high stability and fast transmission speed,and can be configured or expanded according to the actual use needs,meeting the requirements of industrial Ethernet system on flexibility.
Key words:FPGA Industrial Ethernet Ethernet controller Zynq IP core
目录
摘要 (I)
ABSTRACT (II)
第1章绪论 (1)
1.1研究背景 (1)
1.2国内外研究现状 (2)
1.3IP核简介 (4)
1.4主要研究内容 (5)
第2章工业以太网控制器工作原理分析 (6)
2.1工业以太网基本原理 (6)
2.1.1TCP/IP协议族分层 (6)
2.1.2帧格式介绍 (7)
2.1.3CSMA/CD协议 (9)
2.2工业以太网控制器工作机理 (10)
2.2.1帧的发送与接收 (10)
2.2.2流量控制 (11)
2.2.3MII接口 (13)
2.3本章小结 (13)
第3章工业以太网CSMA/CD实时性改进 (14)
3.1算法改进原理原理 (14)
3.1.1非坚持CSMA/CD (15)
3.1.2时隙非坚持CSMA/CD (16)
3.2算法框架 (19)
3.2.1通信模型搭建 (19)
3.2.2评价指标 (16)
3.3改进方案 (17)
3.3.1参数设置 (17)
3.3.2算法流程 (18)
3.4仿真分析 (19)
3.5本章小结 (21)
第4章工业以太网控制器IP核硬件设计 (42)
4.1开发平台介绍 (22)
4.1.1硬件开发平台 (22)
4.1.2软件开发平台 (24)
4.2系统框架 (26)
4.2.1设计目标与设计原则 (26)
4.2.2总体方案设计与系统结构 (26)
4.3工业以太网控制器IP核 (28)
4.3.1AXI控制器IP核设计 (28)
4.3.2IP核总体方案设计 (32)
4.4本章小结 (42)
第5章工业以太网控制器IP核软件设计 (43)
5.1主机接口 (43)
5.2控制模块 (45)
5.3数据发送模块 (46)
5.3.1数据发送主程序 (47)
5.3.2错误处理模块 (49)
5.3.3校验模块 (50)
5.4数据接收模块 (50)
5.3.1数据接收主程序 (51)
5.3.2地址检查模块 (52)
5.3.3校验模块 (53)
5.5计数器模块 (54)
5.6本章小结 (55)
第6章工业以太网控制器IP核性能测试与分析 (56)
6.1主机接口模块测试 (56)
6.2FPGA与PC连接测试 (57)
6.3数据传输速度测试 (59)
6.4本章小结 (60)
第6章总结 (62)
致谢 (64)
参考文献 (65)
作者简介 (69)
攻读硕士学位期间研究成果 (70)
第1章绪论
1.1研究背景
人类文明的发展离不开互相交流,通信技术的发展也从侧面反映出文明的进步。
自从进入21世纪之后,信息技术的发展成果呈现出井喷的态势,如今已迈入了万物互联的新时代。
在新时代下,互联网[1]是万物相互连接不可或缺的部分。
人们通过互联网可以聊天、玩游戏、开视频会议、查资料,还可以控制电器的运行状态、查看当前运行参数。
在互联网刚运行阶段,它的中枢即计算机与互联网之间通过路由器等网络互联设备相互连接。
它的基础组成部块即局域网为计算机以及其他终端设备接入互联网的中转站。
局域网[2]曾经的三大标准分别为IEEE802.3以太网标准、IEEE802.4令牌总线标准以及IEEE802.5令牌环网[3]标准,三种技术互有优劣。
随着科技的发展,三种标准无法统一的状态过多限制了人们对局域网技术的探索以及发展,而由于以太网相较于其他两种标准更加的适应现代局域网的要求,例如其价格低廉、结构简单且开放等优势获得了局域网技术的主导地位,占据了局域网市场90%的份额,成为了应用最为广泛的局域网技术。
以太网最初由Xerox公司于20世纪70年代提出,在此基础上制定了IEEE802.3局域网标准。
以太网由经典以太网和交换式以太网两大类构成,其总线可以用多种材质的电缆作为其传输数据的传输介质[4]与其他设备进行相互连接,例如粗同轴电缆、屏蔽双绞线、光纤等。
最先应用于实际中的经典以太网作为以太网最初的状态,它的运行速率较低,大致在3~10Mbps之间;而在交换式以太网中,计算机通过交换机来互相连接,它作为现阶段广泛应用的以太网,具有100/1000/10000Mbps的高速率,分别被称为快速以太网、千兆以太网和万兆以太网。
对传输介质的争用极大的限制了以太网的性能,因此采用了CSMA/CD[5]技术来减少数据传输过程中发生冲突的概率。
除了介质争用以外,网络中具有大量的广播数据流量是限制以太网性能的另外一个重要因素,而交换机(网桥)作为二层网络设备虽然能够隔绝数据冲突,它既不能无限接收网络中大量的广播数据流量,也不能减少这些数据流量的数目。
因此,需要在交换机上划分VLAN和采用路由器来解决这一问题。
以太网控制器又称为以太网适配器,就是我们日常生活中所说的“网卡”[6]。
以太网控制器为网络协议族的实现提供了物理基础,它使用一个特定的物理层和数据链路层标准来构建通信所需要的电路系统。
以太网控制器将计算机设备接入到网络中,使它们能够互相进行通信。
一块以太
网控制器通常包含一个物理接口用以连接到其他网络设备,例如双绞线、光纤、BNC、AUI、HomePNA接口,最常用的接口是双绞线和光纤。
而工业以太网[7]则是将传统意义上的以太网加以改进,在满足工业领域的需求后应用在工业控制网络中的技术。
因此工业以太网的优势在工业领域十分明显,它不仅拥有以太网自身的优点,还提高了自身的实时性,可靠性以及环境适应性。
21世纪被称为技术爆炸的世纪,高速发展的不仅仅只有通信技术,集成电路技术也有着日新月异的进步。
根据目前物联网的趋势,不久的将来互联网上连接的终端大部分是小型的嵌入式系统,而传统的互联网都是以计算机为中心的。
嵌入式开发平台因为具有集成度高、效率高、成本低等优点,更能适应现代通信的发展需求,成为当前研究的主流选择。
目前,集成电路[8]越来越多的选用片上系统(即SoC)作为设计方案。
SoC全拼为System On Chip[9],它在一个芯片上集成了所有功能模块。
SoC最突出的优点是耗电量低、体积小、功能多、速度快、价格低。
集成电路设计公司将各个不同功能的集成电路模块集合起来并将其包含在一个单元库中,在这一被提供的单元库中,设计人员能用规定的接口标准使得模块与模块之间能够进行多种数据间的交换以及模块能够被调用,从而使总体的集成电路产品设计变的方便。
由此,产生了以IP[11](Intellectual Property)核为设计基础的集成电路设计思想。
最初由XIlinx公司在1985年推出了现场可编程门阵列(FPGA,Field Programmable Gate Array),现今的发展趋势已逐渐向嵌入式系统的方向靠近。
其中由于FPGA 的门电路资源丰富,设计人员可以根据所需完成的功能自由的调用片上资源以及反复的擦写,这一优点解决了原来使用的定制电路无法多次利用等问题。
同时FPGA 作为专用集成电路(ASIC)领域中的半定制电路,能够在设计嵌入式设备时缩小产品体积使得其集成度有所提高,并且能加快开发的时间从而降低成本,使得FPGA比之前更加具有可利用性,在改进其原来存在的缺点[12-13]的前提下,依然保证了其优点的存在,使它成为了应用于以太网嵌入式设备开发的最佳选择。
总而言之,研究基于FPGA的工业以太网控制器IP核[14-15]在现在的工业以太网应用领域中是十分具有现实意义以及应用价值的。
1.2国内外研究现状
近年来,人们越发注重基于工业以太网的嵌入式应用的研究,其中基于MAC层的嵌入式设备由于其相较于其他设备而言更高的灵活性,以及多种多样的设计方案,成为了这一领域中的研究热点。
以往的研究往往基于单片机、ARM,并且取得了一
定的成果,但是如今人们对网络速度的要求越来越高,而传统的设计方案因为受到了硬件资源的制约,数据处理速度慢、吞吐量小,已经明显跟不上现阶段网络设备的性能需求。
因此选择FPGA来设计工业以太网控制器,它不仅可以弥补上述缺点,而且可以直接采用公司提供的专用IP核,缩短系统的开发周期。
FPGA还能对内部代码进行修改从而改变系统整体或部分的功能以满足具体场所中不同的要求,从而能够更加灵活的设计所需产品。
同时,若有接入光纤网络的需求,也能够通过选择物理层处理芯片实现。
工业以太网控制器[16]主要有三种形式的设计方案:
(1)使用嵌入式软件。
将微处理器与以太网控制器和以太网物理芯片两者进行外接[17],使得工业以太网控制器能够自由选择不同功能、特点的微处理器以满足产品需求。
其中高性能微处理器一般用于高实时性的工业场所中。
同时在嵌入式操作系统中的TCP/IP协议族中,可以集成完整的商业TCP/IP协议族,或者是轻量级的开源TCP/IP协议族,如LWIP[18]。
这一设计方案在长开发周期以及高成本的情况下能够使开发人员有权利移植开源协议族或裁剪开源协议族的功能。
(2)使用具备TCP/IP协议族的ASIC芯片。
与嵌入式软件实现的TCP/IP协议族相比,采用在芯片内固化协议族且拥有属于芯片本身的存储资源,不但提高了其可靠性以及性能,且考虑更为周到。
在这些产品中比较典型的有韩国WIZnet公司的W5500,这是一款应用于10M/100M网络的全硬件TCP/IP[19]芯片,该产品自带物理层功能,支持8个独立socket,具备32KB缓存空间[20]。
而在国内,沁恒公司生产的CH395芯片也有着类似的性能[21]。
这些ASIC式的以太网MAC控制器即插即用,因此给予了用户使用上的极大便利,但因为二次开发具有一定难度,带来拓展性差、不够灵活的缺点,甚至可能存在网络安全隐患。
(3)使用FPGA芯片。
通过FPGA及其开发套件,使用硬件编程语言、C语言和python等程序设计语言完成软硬件结合设计成类似使用开发半定制ASIC设计的工业以太网控制器。
该方案通过编程语言保证了使用嵌入式软件设计工业以太网控制器的灵活性和拓展性,并通过开发FPGA程序即可编程芯片上设计数字电路在理论上保证了成品ASIC[22]的性能,而且可以通过自定义功能使它满足产品需求。
与此同时,假如这个设计方案能通过完整ASIC流程的验证,那么它就可作为ASIC前端原型,供开发各种应用于万兆以太网产品所用,比如万兆网卡、数据采集卡等。
到目前为止,由于国内起步较晚,对基于FPGA的工业以太网控制器一般采用Verilog HDL[23]语言来实现,使用IP核的研究与设计成果较少。
为弥补这一缺憾,本文选用Xilinx[24]公司的IP核来完成设计。
1.3IP核简介
IP核,又称为知识产权核,由于其优点,被广泛用于设计集成电路芯片。
原始的专用集成电路(ASIC)是做好以后供用户在印制电路板(PCB,Printed Circuit Boards)上应用,而IP核可以理解为一颗半定制的专用集成电路,做好以后让用户根据实际需求调用,方便集成在更大的芯片里。
简而言之,芯片的基本单元由一组拥有知识产权的电路设计集合后构成。
不同的IP核具有不同的产品交付方式,且各个IP核的设计方法及实现步骤都不尽相同,因此将IP核分为三大类,分别为软核、硬核和固核。
这三种IP核分别在不同的硬件描述级实现。
软核通常不包含任何具体的物理信息,它经过寄存器转移(RTL)级的设计优化和功能验证,以HDL文本(包括帮助文档、逻辑描述和网表等)形式提供给用户。
软核需要通过功能仿真、综合和布局布线三步骤后才能使用。
与另外两个相比,软核的优势是用户可以根据实际使用需要对其进行灵活的移植、修改和配置;劣势则是对模块缺乏预见性,并且有可能会导致后续的设计发生错误,从而带来一定的设计风险。
而且软核的知识产权保护也是不可忽视的问题。
目前来说,软核是应用最广泛的形式。
硬核指经过验证的设计版图,常用GDSII格式表示。
在FPGA设计中,硬核已经通过了前端和后端的验证,且处于设计表示的最底层,完全用目标工艺实现,能够快速地被集成到衍生产品中。
同时其布局和工艺完全固定,交付形式与标准单元库元件的形式相似。
虽然硬核的性能如速度、功耗等都十分稳定,但由于其设计需求设计人员不能对其进行修改,灵活性和可移植性很差,难以转移到新工艺或集成到新结构中。
硬核不允许修改,原因有二:一是系统设计对各个模块的时序要求很苛刻,不允许打乱已有的物理版图;二是要保护知识产权。
因此,与软核相比,硬核虽然灵活性和可移植性差,但是具有更好的可预见性,并且更容易进行知识产权保护。
固核的设计则参考了软核和硬核各自的优点,并改进了他们的缺点。
在FPGA设计中,固核类似于带有布局规划的软核。
大多数应用于FPGA[25]的IP核均为固核。
固核通常以加密形式提供,实际的RTL对用户不可见,优点是方便用户调节参数并且可复用性较强,而且布局和布线灵活。
换句话说,固核是预先设计的代码模块,但中断资源、时钟频率和管脚信号等参数都可以被用户自定义,因此设计电路时必须考虑与核与核之间的协同工作。
如果一个固核的运行参数被修改,还可能影响电路的其它布局。
简而言之,软核就是用硬件描述语言实现的功能块,但是设计者不知道具体的实
现方式,也不知道使用了哪些电路元件;硬核是固定了拓扑布局和经过验证的成熟技术,可以直接使用;固核这种功能模块已经完成了综合,但是仍然可以进行适当修改。
三者的特点都很明显,固核成本高、可靠性高,软核灵活性与复用性高,固核则兼具了可靠性与灵活性。
1.4主要研究内容
本文的主要工作是通过FPGA逻辑设计实现了工业以太网控制器IP核。
首先简要分析了工业以太网控制器的工作原理,包括TCP/IP协议族的四个层次、以太网的帧格式、CSMA/CD协议、帧的发送与接收、MII接口、流量控制技术,从而引出工业以太网控制器IP核的具体实现内容。
然后介绍了Xilinx公司zynq-7000[26]系列FPGA,并以其为基础搭建了系统的硬件平台。
然后从系统的整体结构出发,提出了整体设计框架,描述了各个模块的实现方法。
最后对工业以太网控制器在FPGA开发板与PC端进行仿真测试,得到结果后进行分析。
具体研究内容如下:第1章:绪论。
首先对工业以太网控制器的研究背景进行了简单的介绍,并分析了在工业领域利用FPGA设计并实现工业以太网控制器IP核所拥有的现实意义。
第2章:对TCP/IP协议族的分层、以太网的帧格式、CSMA/CD协议进行了简单的介绍,然后研究了工业以太网控制器的工作原理。
第3章:提出一种基于工业以太网的时隙非坚持CSMA/CD改进算法,通过对时隙的再分割,使得时隙非坚持CSMA/CD算法时延更低,吞吐量更高且信道利用率也更高,并在MATLAB仿真平台上进行模型搭建并仿真对比。
第4章:首先介绍了Xilinx公司zynq-7000系列FPGA,然后分析了vivado软件开发平台的优点,接着提出了本系统的整体框架,最后基于自定义的AXI控制器IP 核设计了工业以太网控制器IP核硬件系统。
第5章:完成基于FPGA的工业以太网控制器IP核软件部分的设计。
包括数据收发模块、主机接口模块、计数器模块和控制模块。
第6章:性能测试与分析。
通过搭建FPGA硬件平台与PC之间的工业以太网MAC层控制器性能软硬件测试环境,测试工业以太网数据帧在FPGA开发板及PC 端的传输,并对得到的测试结果进行分析。
第7章:总结。
总结和归纳了本论文所研究的内容以及研究成果,并将整个研究的现实意义进行了概括,指出本文设计的不足之处并对下一步基于FPGA的工业以太网IP核设计提出新的研究方向。
第2章工业以太网控制器工作原理分析
2.1工业以太网基本原理
TCP/IP[27]作为现代英特网的基础,其全称为传输控制协议/互联网协议(Transmission Control Protocol/Internet Protocol)。
它作为一个真正开放式通信协议标准[28],是目前应用最广泛的一组网络协议。
TCP/IP通过制定标准和方法使得以太网中传输介质和操作系统不同的各类主机及网络设备在遵循其标准后能够实现网内或者跨网通信[29]。
需要特别注意的一点是,TCP/IP是一个协议族的名字,由多个协议构成,并非只是TCP协议和IP协议。
2.1.1TCP/IP协议族分层
TCP/IP协议的设计模型为网络层次结构模型。
该结构模型主要由各个子功能层次组成,各个层次之间相对独立又能相互连接通信,其中处于下层的层次需要为上层提供它们所需的功能服务。
该网络层次结构模型有利于各个层次间独立技术发展,且能和上下层间互联互通。
同时,由于该层次结构模型的层次独立特性,若系统与系统之间有互相通信需求,则每个系统只有在拥有相同层次结构时才能满足其需求,而不同系统中相同的层次结构称为同等层或对等层。
TCP/IP由应用层、传输层、网络层和网络接口层这四层构成,每层的名称和该层所含部分协议如表2-1所示。
表2-1TCP层次结构
(1)应用层。
应用层向用户提供一组常用的应用协议(如文件传输,电子邮件等),为不同主
机上的进程或应用之间提供通信。
TCP/IP协议族为常用的应用程序制定了相应的协议标准。
用户也可以根据自己的实际需要,在应用层里建立自己的专用程序。
(2)传输层
传输层的功能与OIS七层参考模型的传输层相同。
TCP/IP协议族的传输层提供端对端系统的数据传输服务,最主要的特点是保证传输的可靠性,并且解决不同应用程序的识别问题。
该层定义了两个端到端的传输协议,分别是传输控制协议(TCP)和用户数据包协议(UDP)。
(3)网络层
网络层定义了IP数据报的格式和所用的协议,包括IP协议(Internet Protocol,网际互连协议)和ICMP协议(Internet Control Message Protocol,网络控制报文协议)。
IP协议实现穿越多个网络的路由选择功能,并设计拥塞控制问题,在端系统和路由器上都要执行。
路由器是典型的网络层设备,它能连接两个或多个网络,根据选定的路由算法把各数据包按最佳路线传送到指定位置,并且具有网关的作用,把非TCP/IP 网络连接到Internet上。
(4)网络接口层
网络接口层包括了端系统和通信子网之间的逻辑接口与物理接口,实现了端系统与其相连的网络进行数据交换的功能。
因此,该层必须能向网络层提供必要的功能服务。
网络接口层利用传输介质为端系统提供物理连接,实现比特流的透明传输。
同时,源端系统必须通过网络接口层向网络层提供目的端系统的地址,以便网络沿着合适的路径将数据送往正确的目的端系统。
当然,源端系统也可提出要求,如网络提供的服务类别(如优先级)等。
发送数据的一方,先将要发送的数据传给应用层,应用层加上必要的控制信息,再传递给传输层,传输层在应用层数据单元的基础上再加入本层的控制信息,然后传递给网络层。
逻辑链路子层的控制信息有两部分,一部分加在数据单元的首部,另一部分加在尾部,最后发给媒体介入控制层。
物理层由于是比特流传输,所以不需要添加控制信息。
从上述流程可以看出,网络接口层又可以分为MAC[30](Medium Access Control,媒体介入控制)子层与LLC(Logical Link Control,逻辑链路控制)子层。
其中LLC子层负责实现网络接口层与硬件无关的功能,包括数据帧的顺序传输、数据帧的分段与重组、传输可靠性保障和控制。
LLC子层的基础是高级数据链路控制(HDLC:High-Level Data-Link Control),它使用了HDLC规范子集。
LLC子层提供三种类型的服务,一是无确认无连接的服务为数据帧类型的服务;二是连接方式的服务,类似于HDLC提供的服务;三是有确认无连接的服务,能够提供有确认的。