前言:中文期刊网精心挑选了tcpip协议范文供你参考和学习,希望我们的参考范文能激发你的文章创作灵感,欢迎阅读。
tcpip协议范文1
关键词:NDK; TMS320DM642; TCP/ IP
1、 NDK 的结构
TI公司依据C6000芯片推出了TCP/IP NDK(Network Developer's Kit)开发套件, 其主要构成包括: (1)支持TCP/IP 协议栈程序库。其中主要含有的库: 支持TCP/IP网络工具的库,支持TCP/IP 协议栈与DSP/BIOS平台的库,网络控制以及线程调度的库。(2)示范程序。其中主要包括DHCP/Telnet 客户端, HTTP 数据服务器示范。(3)支持文档。包含用户手册、程序员手册和平台适应手册。NDK 采用紧凑的设计方法, 实现了用少量的资源耗费来支持TCP/IP。从实用效果来看, NDK仅用200-250K程序空间和95K 数据空间即可完成常规的TCP/IP 服务。
NDK相对于操作系统和底层硬件是透明的, 因为这是由OS。LIB 提供操作系统DSP/BIOS的接口和HAL。LIB 提供对硬件的支持来实现的。在NDK的TCP/IP协议栈中STACK。LIB 包括了顶层套接字到底层链路层的所有功能, NETCTRL。LIB在整个协议栈中起关键作用, 协调操作系统和底层硬件驱动, 管理所有网络事件, NETTOOL。LIB 提供配置网络各种服务。
2、NDK 在DSP/BIOS 下的使用
DSP/BIOS 是TI 开发的实时微型操作系统, 支持线程管理、实时分析、周期函数、调度软件中断以及外部硬件中断与各种外设的管理。使用DSP/BIOS 所有与硬件有关的操作都必须借助操作系统本身提供的函数完成, 应避免直接控制硬件资源。基于DSP/BIOS 的程序与传统开发过程是不同的, 用户编写的程序由DSP/BIOS 调度, 不再按标写的次序顺序执行。同样开发基于DSP/BIOS的网络应用程序也必须要遵循一些原则。
在DSP/BIOS 下使用NDK 必须注意以下几点: (1) 为了保证使用NDK 的工程项目能正确编译, 在CCS 的Link Order 要按一定的顺序添加库文件, 推荐的顺序是: NETCTRL。LIB、HAL_xxxLIB、STACK。LIB、OS。LIB; (2)在使用NDK 的过程当中, OS和HAL 会创建三个内存段, 分别是PACKETMEM、MMBUFFER、OBJMEM, 必须在CMD 文件中为这三个段在内存中分配存储空间;(3) 至少要使用32K 的cache, 否则应用程序会产生不可预料的错误;(4) 必须在CDB文件中为HAL 创建一个周期为100ms 的PRD 函数, 用来驱动llTimerTick()系统函数;(5) OS 需要钩子函数为TCP/IP 堆栈加载和保存私人变量指针, 所以必须在CDB 文件中创建两个钩子函数NDK_hookInit()和NDK_hookCreate();(6)必须把工程项目的IncludeSearching Path 指向NDK 安装目录下的inc 文件夹。
3、NDK 性能测试
测试NDK性能既有主观性又有客观性。主观性适应为实际测试要受到很多环境因素的影响。客观性是因为使用标准的工具,并且结果可重现。 所以只能是性能的估计性测试。影响NDK性能的主要因素有:
socket API: NDK既支持非拷贝的数据包socket,也支持基于缓冲区的典型socket,甚至非拷贝的直接接收的TCP数据流。性能随所采用的策略变化而变化。
socket 缓冲区: socket缓冲区影响TCP发送和接收的窗口大小,并且决定每次发送数据流大小,这对网络性能有很大的影响。
CPU速度:在cache大小一定的情况下,网络性能与CPU速度成正比。CPU cache: cache的大小对网络性能有巨大的影响。
网络硬件设备:以太网硬件设计的好坏直接影响DSP和网络接口的速度。
外部存储器(EMIF)接口:对于和DSP外部存储器接口相连的以太网设备, EMIF的速度对外部解码逻辑有额外的影响。
下面的测试由TI提供,测试不仅兼顾最佳的性能而且考虑到应用的实际情况,比如socket缓冲区大小为8K,而不是32K 或64K,因为这在嵌入式设备中是不切实际的。测试的过程是DSP执行低优先级的网络任务,PC机执行客户基准测试程序, 然后与DSP不执行网络任务时CPU的负载情况做对比。
4 、结论
TI推出的NDK网络开发工具不仅可以使技术人员快速开发基于DSP的网络应用程序,而且具有十分可靠的性能,这使得C6000系列芯片完全可以胜任大数据量的视频网络传输的要求,是开发嵌入式网络视频设备的首选。
参考文献
[1]Texas Instrument。TMS320C6000 Programmer ' s Guide(Rev。 I)。
tcpip协议范文2
关键词:TCP/IP;网络拥塞;拥塞控制;算法
中图分类号:TP393 文献标识码:A 文章编号:1009-3044(2013)07-1513-03
随着网络用户的不断增加,制约网络应用和发展的关键瓶颈是网络拥塞问题,对进入网络的数据流量进行控制是拥塞控制的主要目的,通过控制拥塞保证用户发送的数据流对通信网络不造成阻塞,并且瓶颈资源能够被合理的使用。可以在网络协议的不同层次上实施拥塞控制,首先对网络拥塞产生的原因进行分析,分类、归纳拥塞控制,持续时间越长的拥塞需要越高的控制层次来解决拥塞问题,并且拥塞控制的实现主要在传输层和网络层。
1 网络拥塞概述
网络的性能会逐渐下降,当过多的数据包存在于网络中时,这种现象被称为网络拥塞。吞吐量下降在发生网络拥塞的时候,并且严重的时候拥塞崩溃的现象会在发生。通常而言,增加的网络负载导致网络效率降低,在此时容易发生拥塞崩溃的现象。拥塞现象的描述如图1 。
图1 拥塞现象的描述
在较小的网络负载时,吞吐量随着负载的增长也会增长,两者为线性关系,相应的时间也缓慢增长。当网络容量被负载达到的时候,相应的时间急剧增加,吞吐量呈现缓慢增长,这一点被成为Knee点。吞吐量在负载超过一定量时开始急剧下降,路由器在负载继续增加的情况下开始丢包,这一点是死锁点。在拥塞控制机制中有拥塞控制和拥塞避免两种方式,前者的目的是在控制运行在死锁点附近的网络拥塞现象,后者是避免网络运行在Knee点的时候发证拥塞现象。前者是一种恢复措施,使网络从拥塞中恢复过来,进入正常运行状态;后者是一种预防措施,使网络维持在低延迟、高吞吐量状态,网络拥塞现象得以避免。
2 分析网络拥塞产生的原因
网络的处理能力和资源容量被网络的负载超出了是网络拥塞产生的根本原因,也就是网络对资源的总需求量大于总的可用资源,下面分析一下网络拥塞产生的原因。
1)不足的存储空间
一个输出端口需要对各种报文在接收端口的缓冲区域中进行排队,因为它接受的报文是由多个端口转发而来的,若满足使用要求的缓冲空间在输出端,报文就会丢失,尤其是突发的数据流也会丢失。这一矛盾的缓解通过增加存储空间来实现。但将会出现更加严重的拥塞现象在不断增加存储容量时。因为缓冲区网络结点的延时增加的时候,报文也会增加,最终端到端的确认时间也增加了,就会产生超时重发。网络负载因此会进一步增加,拥塞现象最终会加重。
2)不足的宽带容量
在低速链路中流通的高速数据流经常会产生拥塞现象,在数据发送率小于信道容量的时候,拥塞现象才会避免。不然在节点的缓冲区域堆集大量的报文就会产生拥塞。
3)速度缓慢的节点处理机
报文被放入其CPU队列中进行缓存当被路由器对其进行接收的时候,路由器来选择路由并且把报文转发到相应的节点。此时路由器的处理速度的快慢是能否出网络现拥塞的关键因素。
总而言之,只有考虑到从以上三方面的因素,来解决拥塞现象,优化整体性能。只考虑一方面内的因素拥塞问题不仅不能够解决,反而拥塞问题还会更加严重。
3 控制拥塞的策略
1)Tahoe和Reno拥塞控制算法
随着网络技术的发展,TCP拥塞控制有快速恢复(fast recovery)、快速重传(fast retransmit)、拥塞避免(congertion avoidance)、慢启动(slow start)这四种,其中常用的是TCP Tahoe和TCP Reno两种算法。快速重传、拥塞避免、慢启动是Tahoe包括的三个部分,并且改进了往返时间RTT,从而对超时重发计时器进行更好的重新设定,具体的算法描述如下:
最多发一个报文在一个RTT内。其中窗口的大小由w来表示,慢启动门限值由ssthresh来表示,是慢启动进入拥塞避免的分界值。
这种算法的基本思想是通过线性增加速率源端对网络中的空闲容量进行探测,当拥塞被检测到的时候用指数递减它的速率,在源端丢包被检测到的时候确认拥塞。实现拥塞避免和慢启动的例子如图图2 慢启动和拥塞避免的实现举例
由上图可知,每当一个丢包被检测到的时候,慢启动门限值被源端设置为当前窗口的一半,对丢失的包重传,窗口被设置为1,重新进入慢启动。
2)TCP中拥塞控制的关键
TCP协议在Internet上被95%的数据流使用,对发送端的发送速率进行控制是TCP中拥塞控制的关键。可以采用控制算法中的乘法减少加法增加(AIMD)的来解决拥塞问题。每个拥塞窗口由发送方维持着,如果没有发生窗口中的报文丢失,那么目前是良好的网络状况,窗口的大小被发送者加大,同时报文的发送速率加大。当窗口内的一个报文被发送方发现丢失的时候,则认为报文的丢失是由网络拥塞造成的,于是窗口的大小减半,随之发送速率也减小,拥塞加重的现象得以避免。
3)慢启动阶段的拥塞控制
一个连接被TCP启动的时候多个数据包被发送到网络时会造成不必要的网络拥塞和数据丢失,而慢启动可以避免这种现象的发生,还能避免吞吐量在AIMD算法中增加引起网速过慢的问题。初始化拥塞窗口cwnd为一个数据包大小在新的TCP连接建立的时候,按照cwnd大小源端进行数据的发送,也就是随着RTT的增长cwnd呈指数增长。
4)拥塞避免阶段
处理丢失数据包的方法被称为拥塞避免算法。当重复确认被发送方收到或数据包超时被发送方发现的时候,网络拥塞就会发生,此时进入拥塞避免阶段,置为1的cwnd在数据包发送超时并且重复确认被发送方收到时,那么每收到一个ACK,cwnd将增加segsize*segsize/cwnd。其中数据包的大小被称为segsize,cwnd在拥塞避免阶段不是呈指数增长而是呈线性增长的。
5)快速恢复和快速重传阶段
当3个或3个以上的重复ACK被源端收到的时候,发送方认为出现数据包丢失的现象,对数据包进行重新传输,而且启动阈值ssthresh被设置为一半的当前cwnd,然后对丢失的数据包重新传输,这个过程被称为快速传输。系统执行的不是慢启动算法而是拥塞避免算法,这被称为快速恢复,能够使TCP连接的吞吐量提高。另外,不必要的重传超时要想避免可以应用一种受限传输机制:在接收方中允许如果有广播窗口,一个或两个重复的ACK被发送方接收到后,发送方对新的报文段继续传输,具有较小窗口的TCP在受限的传输机制的允许下进行错误码恢复,不必要的重传得以避免。
6)IP 拥塞控制策略
对于Internet 的健壮性而言基于窗口的端到端的TCP拥塞控制起着关键性作用,在Internet的迅速发展的今天网络的规模也越来越大,并且日趋复杂的结构在不断出现,端对端的拥塞控制已经不能满足需求,那么对拥塞的控制也需要在网络层进行,需要在路由器中采用数据丢弃和排队算法策略。其中丢弃策略进行分配缓存是通过决定哪些包被丢弃来实现的,排队算法进行分配宽带是是通过决定哪些包可以被传输来实现的。IP 拥塞控制的方法有:先进先出、公平排队算法、加权公平排队算法。
总而言之,无论哪种拥塞控制方法都有它的优势,总体上包括TCP 拥塞控制和IP 拥塞控制两种,下面表格针对这两种方式进行了比较:
[TCP 与IP 拥塞控制的比较\&参数\&TCP 拥塞控制\&IP 拥塞控制\&实现位置\&端系统中\&网络内部\&短期拥塞\&可以处理\&较好处理\&长期拥塞\&可以处理\&无法处理\&不同数据流间的公平性\&难于实现\&可以实现\&延迟\&较大\&无\&]
4 结束语
通过上述网络拥塞概述、网络拥塞产生的原因、控制拥塞的策略,可以得知,随着互联网用户越来越多,网络宽带等资源也在持续增加,但是用户的需求仍然不能得到满足,逐渐暴漏出网络拥塞问题,拥塞如何更好的预防和控制,使网络具有同时到达资源并且低延时和低丢包率的最大效用。无论TCP拥塞控制还是IP 拥塞控制都有自身的优势,要想在这个基础上更好的解决网络拥塞问题,需要结合各种方法并且灵活的使用。
参考文献:
[1] The Stream Control Transmission Protocol (SCTP) as a Transport for the Session Initiation Protocol(SIP).internet Draft,IETF,Jan,2005 Work in Progress.
[2] 黄卫平.TCP/IP 协议中拥塞控制算法探讨[J].广西工学院学报,2003,14(2):71-73.
[3] Gonzalo Camarillo,Raimo Kantola.Evaluation of Transport Protocols for SIP .IEEE Network September/October 2003.
[4] 武航星,慕德俊,潘文平.网络拥塞算法综述[J].计算机科学,2007,34(2):51-54.
tcpip协议范文3
关键词:GPRS TCP/TP通信协议 应用
1 GPRS简介
GPRS又被称为通用分组无线业务,通过连接因特网或者是企业网,以GSM以基础,进行数据之间的分组交换。GPRS技术也即2.5G,是介于现今2G和3G之间的过渡性方案技术,通过这项技术,为用户提供了丰富的数据业务,也是现阶段移动通信领域信息服务做的比较完善的一项技术性方案。
1.1 GPRS发展 GPRS根据欧洲的ETST的GSM第2+阶段的建议分为Phase1和Phase2两个发展阶段。在Phase 1阶段其能够支持以下功能和业务:①TCP/IP和X.25业务。②全新的GPRS空中接口加密技术。③GPRS附加业务。④增强型的短信业务(E一SMs)。
根据数据量采取计费即为GPRS的分组数据计费功能。上述功能业务中最显著的就是TCP/IP和X.25功能。GSM网络通过TCP/IP和X.25能够为用户通过电子邮件、专用数据、LAN接入等业务。GPRS Phase 2阶段的规范仍旧处于制定阶段,其将为用户提供更多新功能和新业务。
1.2 GPRS接口种类 在GPRS系统中存在各种不同类型的接口,如下图所示。其涉及七号信令协议、IP协议等不同规程的种类,内容十分多。本文主要对IP协议进行介绍。
2 TCP/IP协议概述
2.1 协议优势 ①IP在长期的发展过程中逐渐取代了其他网络,IP传输的通用数据能够轻易的取代以前专有数据网络传输的数据。②此协议经常用于访问电子邮件或聊天以提供便利的IP服务,并通过转悠网络隧道的某种方式实现。由于最初的隧道方式没有效率,从而导致电子邮件和聊天需要的带宽非常低。③对于IP基础设施投资较少即可出现在专有数据网络周边。④由于整个因特网都遍布了IP的替代品,从而使得IP替代品相对最初的专有网络更有价值。⑤用户在专有网络受到压制的情况下可以维护使用IP替代品的复制品。⑥由于IP包的间接开销小于1%而使得成本具有很强的竞争性。因此,人们开发了一种将IP用到专有网络上比较低廉的传输媒介。
2.2 协议缺点 第一,在服务、接口和协议上的区别不是很清楚。一个好的软件工程应当将功能与实现方法进行区分,但是TCP/IP协议却没有做到这一点,从而对于使用新的技术没有很好的指导意义,因此,此协议参考模型不适合于其他非TCP/IP协议簇。第二,主机-网络层实际上并不是一层,其对网络层与数据链路层接口进行了定义。一个好的模型应当将物理层与数据链路层进行合理的划分,但是TCP/IP却没有做到这一点。
2.3 GPRS传输中的TCP/TP协议 在GPRS网络传输过程中,需要用到很多的通信协议,现将TCP/IP协议介绍如下:TCP/IP协议:这项协议又被称为网络通信协议,是因特网最为基本的协议、因特网等国际互联网的基础,是由网络层的IP协议以及传输层的TCP协议组成的。这项协议具体解释了电子设备是如何接入互联网的以及数据如何在软件系统内传输等等。TCP/IP协议采用了层级结构,每一层都通过下一层的配合来满足自身的需求。通俗来看,TCP是负责发现软件操作系统中传输层面的问题,一旦有问题出现就会立刻启动信号,要求重新传输,直到所有的数据都准确无误的到达目的地为止。而IP则是通过给因特网的每一台电脑规定的一个地址。下图是这项协议中各个部分的位置示意图:
■
IP层处于网络层,主要负责接收由底层发来的数据包,并担任中间者的角色,将该数据包发送到更高层TCP或UDP层。IP协议的数据包格式介绍如下所示:
版本:标识数据报的IP协议的版本信息,对于IPv4,该字段值为4;而对于IPv6,该字段值为6。
头部长度:占据了4位,代表IP数据报首部的长度,其值以32位(4字节)为单位。
服务类型:占8位,可以被用来获得更好的服务。
总长度:占16位,总长度是指IP首部和数据部分长度的总数。
标识符:占16位。当IP数据报在传输过程中由于低层网络传输限制需要进行分阶段、分时间传输时,同一个IP数据报的每个分片所共有的标记,代表着这些分片同属于一个IP数据报。
标志:占3位,第一位保留,第二位为不分片标志,第三位为更多分片标志。
片偏移:占13位。片偏移所扮演的角色是指明此分片在原IP数据报中的绝对位置。因为IP数据报的传输不可避免的会受物理网络的MTU限制,当一个IP数据报较大,无法承载数据链路层的一个帧中传输时。IP协议需要将IP数据报分片,并为每个分片构造一个单独的IP数据报,以适应物理网络的传输要求过程。
生存时间:占8位。以秒为单位设置了该IP数据报在互联网中允许存在的时间。
协议:占8位,用于指出IP数据报携带的数据属于哪一种高层协议,该字段的值是高层协议对应的标号。
首部校验和:占16位,用于保证IP数据报的完整性。
源地址:占32位,定义源点的IP地址。代表了IP数据报从源主机发送到目的主机的时间内容,这个字段必须保持不变。
目的地址:占32位,定义终点的IP地址。它是IP数据报从源主机发送到目的主机的时间内容,这个字段必须保持不变。
可选项:这是一个边长字段。源头中主要包括源点产生的信息和其他路由器加入的信息,主要是用于测试。
填充项:字段通过在选项字段后面添加,补足32位,是为了保证报头长度是32比特的倍数。
3 GPRS与IP
电信网络和计算机网络在引进GPRS技术后进行了有机的连接,同时向着全IP网络平台发展。通过GPRS结构我们知道,基站与SGSN设备之间是通过帧中继进行连接的,而SGSN与GGSN设备之间则是通过IP网络进行有效连接的。具有NAT网络地址翻译功能的路由器能够承担GGSN内部IP地址与外部网络IP地址的转换。
在标识GPRS设备中,如手机MS的标识除了在GSM中使用IMSI、MSISDN等号码外还需要分配IP地址。网元设备SGSN、GGSN的标识不仅有7号信令地址,还有数据GGSN的IP地址,GSN之间(SGSN或GGSN)采用IP地址进行通信,但是GSN与MSC、HLR等实体通信采用7号信令地址。在GPRS系统中有两个数据库可以记录信息:第一,用户移动性管理上下文用于对移动用户的位置信息进行管理;第二,用户的PDP上下文用于管理手机MS到网关GGSN以及ISP即Internet服务提供商之间的数据路由信息。当MS访问GPRS内部网络或外部PDN/ Internet网络时,MS向SGSN发出激活PDP上下文请求信息,MS通过与运营商签约来选择固定服务的GGSN,或者根据APN选择规则由SGSN选择服务GGSN,然后SGSN再向GGSN发出建立PDP上下文请求的消息。GGSN将一个静态或动态、共用或私有的IP地址分配给MS,在建立PDP上下文的过程中对用户的身份、需要的服务质量进行鉴权和论证。当成功建立和激活PDP上下文后,用户的PDP上下文信息都存储在MS、SGSN和GGSN内。MS在拥有用户位置和数据路由信息的基础上便可以访问该网络的资源。伴随着二代半产品GPRS的问世,在开发和部署GPRS业务时会遇到一些新的概念。
4 结语
IP协议是TCP/IP协议的核心,GPRS网络通过无线连接到IP地址是相对来说比较容易的,其建设和维护以及运行成本都比较低,所以我国大部分的监控系统都是采用的这种方式。
参考文献:
[1]孙德辉,马文丽,姚文娟,郑文岭.基于GPRS的无线传输系统设计与实现[J].微计算机信息,2007(21).
[2]王刚,黄宗福,陈曾平.基于GPRS的远程通信与控制系统的设计与实现[J].电子技术,2008(11).
tcpip协议范文4
在网络应用日益普遍的今天,越来越多的嵌入式设备实现Internet网络化。TCP/IP协议是一种目前被广泛采用的网络协议。嵌入式Internet的技术核心是在嵌入式系统中部分或完整地实现TCP/IP协议。由于TCP/IP协议比较复杂,而目前嵌入式系统中大量应用低速处理器,受内存和速度限制,有必要将TCP/IP协议简化。
图1 协议处理
1 TCP/IP协议的实现
嵌入式TCP/IP协议一般实现:ARP/RARP、IP、ICMP、TCP、UDP、HTTP、SMTP、FTP、TELNET等协议,协议处理的主要流程如图1所示。
1.1 TCP协议的实现
工业控制领域传输层采用TCP协议、不用UDP协议,是考虑到实时监控系统中传输量并不大,而可靠性要求较高。TCP协议是面向连接的、端对端的可靠通信协议。它采用了许多机制来保证可靠传输,应用于嵌入式系统显得过于复杂。
TCP协议数据传输可分为三个阶段:建立连接、传输数据和断开连接。它的实现过程可以用状态机来描述。建立连接有两种方法,即主动打开和被动打开。服务器端是一种被动打开,它一直在侦听连接请求;而客户端是一种主动打开,它发送连接请求以建立连接。研究发现,如果TCP层的上层实现服务器端的应用,可以将标准TCP状态机建立连接过程中客户端建立连接的状态机部分简化掉。同理,如果应用是基于客户端的,可以将服务器端建立连接的状态机部分简化掉。断开连接有两种方式:一是主动断开连接;另一是被动断开连接。被动断开连接的处理较为简单,但标准TCP协议的主动断开连接的状态机部分过于复杂。经过实验发现,在需要主动断开连接的时候,发送一个Fin数据报;接收到对Fin数据报的确认后,再发送一个Reset数据报,即可顺利完成一次主动断开连接。
标准的TCP协议使用慢启动的滑动窗口机制。滑动窗口是一种在流量控制和网络传输效率之间折中的方案。它允许发送方在等待一个确认之前发送多个窗口,其确认是一种批量的确认。研究滑动窗口协议发现,滑动窗口的一个极限情况,是只使用单个窗口,就变成了一种简单确认的处理方法。使用该方法后,所有的处理只是对单个数据报的发送和确认,节约了系统的资源,也使维护更加方便。为了协议的兼容性,需要通信的另一方也使用简单确认方法。因为如果对方使用较大的窗口,就可能造成处理器被淹没。这个问题可以通过设置待发送数据报的TCP头部的Windows字段的大小解决。
在上述基础上,简化实现TCP协议的流程图如图2所示。其中“不同状态的相应处理”指根据接收到的TCP报文准备待发送数据报并将其发送到以太网上。这部分根据TCP所处的不同状态,所做的处理是不一样的。
1.2 IP协议
IP协议是TCP/IP的基础,为不同网络的主机之间发送数据报的操作序列提供无连接服务。通过在数据报前添加IP协议头,使每个数据报具有寻址能力。嵌入式系统只把IP作为传输工具,进行简化以完成主要的操作。得到IP包后,检验IP头部的版本、目的地址、校验和正确否,解析出协议类型字段,由此交给相应的高层协议处理。发送IP包时,将缓冲区内的源地址与目的地址互换,设置校验和,然后交给下层协议处理。不符合要求,则将此包丢弃。IP包最大可以为65KB,可以分段传输,而在嵌入式系统里根本无法容纳如此大的数据包,因此一般不支持分段传输。所以限制MCU发送和接收数据包的方式以避免分段传输,从而减少程序复杂度。
1.3 其它协议
ARP协议为32位IP地址到对应的48位以太网地址之间提供动态映射。嵌入式系统中仅响应ARP请求,发送ARP回答包。请求者广播出包含ARP请求的以太帧、目的以太网地址为全1的广播地址。本机收到后,由目的IP地址发现自己是目的主机,发送一个ARP回答。ICMP通过IP协议传输其报文。IP协议是无连接的,它无法将报文和错误信息传到最初的主机,ICMP将状态信息和错误信息发送到发报文的主机。
2 前端设备的系统设计
TCP/IP协议扩展到工业控制级,将企业内部计算机网络应用于工业现场实时信息的和显示,通过Internet浏览器对现场工业信息进行动态监视。下面是笔者在某公司一分布式监控系统中的应用实例。基于TCP/IP协议的前端设备系统软件结构如图3。前端嵌入式设备处理器是Samsung公司的S3C4510B(ARM核)。该芯片是用在基于以太网系统的高性价比、高性能的16/32位RISC微控制器。通信部分采用BNC接口方式,信号输出经耦合隔离变压器由RJ45接头联入集线器,此外还设计了液晶显示和键盘输入当地接口功能。
在TCP/IP协议中多处用到超时和重发机制。这种机制对于确保两个或多个彼此独立的通信结点从通信错误或故障状态自动恢复到正常状态是非常有效的,但也增加了软件结构的复杂性。因为对超时的处理通常独立于正常程序流程,也就是与正常的程序流程异步。要实现的TCP/IP协议软件中有四处要用到定时器:第一是在ARP高速缓存的维护中,被添加到ARP高速缓存中的表项在一段时间后要置为无效;第二是在等待对发出的ARP请求返回响应时,可能会在指定的超时时间内还未收到返回的响应;第三是在IP组装收到分片时,由于部分分片在一定时间内没有收到而丢弃整个IP包;第四是在TCP等待接收方对数据段的确认时。如果在指定时间内还未收到对某个数据段的确认,需重新发送。从上述可见,要实现的定时器具备以下特点:
·对定时的精度要求都不是很高,基本都是秒级的精度。这样,完全可以稍滞后一些来处理定时器超时,不把超时处理放在时钟中断处理程序中。
·对同一类超时处理可以由同一处理程序来完成,只是传入到相应的处理程序中的参数不同而已。例如一个ARP高速缓存中的表项超时时,需要将其置为无效,可以统一用一个处理程序,参数中放入相应的表项地址即可。
首先,定义一定时器的数据结构,如图4所示。每一类超时都是由一个超时控制块和其所属的一个由超时事件项组成的链表管理。整个链表按超时事件将要发生的时间顺序排列,先发生的超时事件排列在前。超时控制块中的head_ptr用以指向一个超时事件项链表的首项;timeout_process是超时事件发生时处理程序的入口地址。在每个超时事件项中,next_ptr指向链表中的下一项;relative_time是本表项的超时事件相对于上一表项的超时事件发生的相对时间。所以某个表项表示的超时事件距离当前的时间是它以前所有表项(包括自身)中的relative_time的和。relative_time的基本单位是granularity。
tcpip协议范文5
引言
Internet现已成为社会重要的信息流通渠道。如果嵌入式系统能够连接到Internet上面,则可以方便、低廉地将信息传送到几乎世界上的任何一个地方。可以预言,嵌入式设备与Internet的结合代表着嵌入式系统和网络技术的真正未来。随着IPv6的应用,设备都可能获得一个全球唯一的IP地址,通过IP地址和互联网相连成为一个网络设备。但是传统的TCP/IP协议在实现实时性方面做得不够好,它把大量的精力花在保证数据传送的可靠性以及数据流量的控制上。而在实时性要求比较高的嵌入式领域中,传统的TCP/IP不能满足其实时要求。另外,传统TCP/IP的实现过于复杂,需占用大量系统资源,而嵌入式应用的系统资源往往都很有限。因此,需要把传统TCP/IP在不违背协议标准的前提下加以改进实现,使其实现性得到提高,占用的存储空间尽可能少,以满足嵌入式应用的要求。
在大型企业自动化系统中,上层企业管理层和生产监控层一般采用的都是以太网和PC机,而在下层车间现场都是采用现场总线和单片机测控设备。上下两层的沟通,通常采用工业控制机加以太网卡,再加上PC机插槽上的接口卡和并行打印口EPP接口卡来实现。这种连接方式成本高,开发周期长。针对这些情况,本文提出了一种单独的嵌入式CAN-以太网网关互连系统的设计方案,成功地实现以太网和现有的CAN总线网的直接数据传输。
1 异构网络互联系统结构设计
CAN总线是一个设备互连总线型控制网络。在CAN总线上可以挂接多达110个设备节点,各设备间可以自主相互通信,实现复杂网络控制系统。但设备信息层无法直接到达信息管理层,要想设备信息进入信息管理层就要通过一种数据网关。
这里设计了一个SX52网关,用于CAN总线与以太网的互连。图1所示的系统总体结构分为三部分:现场测控网络(CAN网络)、嵌入式透明SX52网关和以太网信息管理终端(如监控平台和网络数据库等)。以太网信息管理终端与CAN总线上的CAN节点通过Ethernet、SX52网关、CAN总线相互通信,其中SX52网关起核心异构网络的互连作用。
协议转换是异构网络互连的技术关键和难点。协议转换一般遥相呼应采用分层转换的方法,自低向上逐层进行。目前互连大都是在网络层或网络层展开的,因而必须对互连层以下各层协议逐层向上转换。这种转换方法的依据是协议分层的基本原理,即低层支持高层,高层调用低层,低层断开连接后,高层连接也随之断开,但高层断开连接却不会影响低层。从网络的分层结构上来看我们设计的互连系统具有如图2所示的分层结构。以太网上运行TCP/IP协议,它具有应用层、传输层、网络层以太网数据链路层和物理层;CAN总线具有应用层、数据链路层和物理层,其中应用层由用户自己定义,数据链路层和物理层由CAN协议所定义;SX52数据网关具有物理层、数据链路层和应用层,其应用层也就是Ethernet与CAN的信息数据交换层,SX52微控制器在此层相互解释并转发这两种不同协议的数据。
在本设计中,SX52网关被设计成了一个透明数据网关。也就是在以太网应用层构建和解析完整的CAN协议数据包。CAN协议数据包作为TCP/IP网络的应用层的数据进行传输。对通信数据的具体实际意义不做任何解释。
透明式网关由通信处理器、CAN总线控制器和以太网控制器三个部分组成。其中SX52单片机为核心处理器,实现CAN控制网络与以太网之间的协议转换。以太网信息管理 层的控制指令发送到嵌入式透明SX52网关,经过它将TCP/IP协议包数据转换为CAN协议形式发送至CAN控制网络中的指定设备节点,完成信息管理层对现场设备层的控制。同样地,当CAN网络上的设备数据(如定时采样数据或报警信息)要传输到信息管理层时,可将数据发送到嵌入式透明SX52网关,再通过网关协议转换程序将CAN协议数据封装成TCP/IP协议的以太网数据帧发送至以太网上的监控计算机。
2 SX52中TCP/IP协议栈的设计
按照层次结构思想,对计算机网络模块化的研究结果是,形成了一组从上到下单向依赖关系的协议栈(protocol stack),也叫协议族。在标准的TCP/IP协议族中有很多协议。这里SX52中TCP/IP协议栈层次结构如图3所示。
2.1 SX52 ARP协议的设计与实现
地址解析协议ARP(Address Resolution Protocol)可以实现逻辑地址到物理地址的动态映射。它提供了一种使以太网络节点可以传输一个IP数据包到目的地址的映射机制。
在SX52中,ARP协议是通过一个“IP地址对应以太网地址”的单登记实现的。当远程主机需要知道它的物理地址时,远程主机会向它发送ARP请求。这时它就会响应这个远程主机的请求,告诉对方自己的物理地址。当然,当应用层需要传输IP数据包时,SX52 ARP协议也可以请求远程目的物理地址。
要传输的Internet数据包在以太网控制器的发送缓冲区中被构建,它使用最近接收到的数据包的目的以太网地址作为发送数据包的目的地址。当然,这可能不是正确的以太网地址,因此,在实际发送数据包之前,ARP协议将检查发送数据包中的IP地址是否存在于ARP核中。如果发送数据中包中的IP地址在这个核中,在以太网发送缓冲区中的数据包将使用ARP核中的以太网地址更新;如果不在,ARP协议将发送一个ARP请求包,然后等待一个应答。一旦这个ARP应答接收到,这个ARP核将使用刚接收到的目标以太网地址更新,接着,等待发送的数据包也将使用这个以太网地址更新,然后被发送出去。如果发送的ARP请求包没有应答,导致ARP定时器超时,这时等待发送的数据包将被废弃,正常的协议栈继续运行。使用的变量有:ARP核中的IP地址{hostlIP3,hostlIP2,hostlIP1,host1IP0};ARP核中的以太网物理地址{host1Eth0,host1Eth1,host1Eth2,host1Eth3,host1Eth4,host1Eth5};ARP协议的定时器{arpTimerMSB,arpTimerLSB}等。使用涉及的函数有:ARPInit(),ARPCheckCache(),ARPSendResponse(),ARPUpdateEthAddr(),ARPCheckIfIs(),ARPCompare4(),ARPSendStPacket(),ARPSendCommon(),ARPSendRequest()。
2.2 SX52 IP协议的设计与实现
IP是TCP/IP协议族中最为核心的协议。所有的TCP、UDP、ICMP及IGMP数据都以IP数据报格式传输。IP提供不可靠、无连接的数据报传送服务。本设计中的IP协议是针对特殊的应用环境下的合理简化。CAN总线的控制网络是一种短帧(每个数据帧为8字节)的实时网络,所以,IP数据包无须分片(MF=DF=0),同时,设置IP为服务类型为一般类型,其头长为20字节,寿命TTL设置为64。使用的变量有:目的IP地址{remoteIP3,remoteIP2,remoteIP1,remoteIP0};源IP地址{myIP3,myIP2,myIP1,myIP0};IP校验和{ipCheckSumMSB,ipCheckSumLSB};IP数据包长度{ipLengthMSB,}ipLengthLSB};上层使用的协议ipProtocol,IP标识{ipIdentMSB,ipIdentLSB}。使用涉及的函数有:TCPIPInit(),CheckIPDatagram(),CheckIPDestAddr(),IPStartPktOut()等。
2.3 SX52 ICMP协议的设计与实现
为了让互联网中的路由器报告或提供有关意外情况的信息,在TCP/IP协议系列中加入了一个专门用于发送差错报文的协议——互联网控制报文协议ICMP(Internet Control Message Protocol)。ICMP是IP的一部分在每个IP实现中都必须用到它。像其它所有的通信业务一样,ICMP报文是放在一个IP数据报的数据部分中传送的。ICMP报文的最终目的不是应用程序或目的机器上的用户,而是该机上处理它的Internet协议软件模块。也就是说:Internet控制报文协议允许路由器向其它路由器或主机发送差错或控制报文;ICMP在两台主机的Internet协议软件之间提供通信。
每个ICMP报文都以相同的3个字节开始:1个8位整数的报文类型(TYPE)字段用来识别报文,1个8位代码(CODE)字段提供有关报文类型的进一步信息,1个16位校验和字段。此外,ICMP报文还总是包括产生问题的数据报首部及其开头的64位数据。
ICMP使用IP来传送每一个差错报文。当路由器有一个ICMP报文要传递时,它会创建一个IP数据报并将ICMP报文封装其中,也就是说,ICMP报文被置于IP数据报的数据区中,然后这一数据报像通常一样被转发。即整个数据报被封装进帧中进行传递。
每一个ICMP报文的产生总是对应于一个数据报。路由器将一个ICMP报文将回给产生数据报的主机。在这里,只实现了ICMP的回应请求/应答服务,主要用于PING程序测试通信链路的畅通性,即只处理接收的报文类型为0x08的ICMP帧,发送的ICMP报文类型为0x00。它没有自己专有的变量,涉及的函数也只有ICMPGenCheckSum()和ICMPProcPktIn()。
2.4 SX52 UDP协议的设计与实现
UDP是一个简单的面向数据报的运输层协议:进程的每个输出操作都正好产生一个UDP数据报,并组装成一份待发送的IP数据报。UDP不提供可靠性,它把应用程序传给IP层的数据发送出去,但是并不保证它们能到达目的地。由于缺乏可靠性,我们似乎觉得要避免使用UDP,而使用一种可靠的协议,如TCP。但分析发现,UDP在我们的互连设计中有很多的优点:其一,UDP协议传输效率高,无须TCP通信前的连接开销;第二,UDP协议简单,无须复杂的状态机传输机制,可以很好地避免SX52网关死机复位后由于状态不一致而无法正常通信,且上层协议又很难发现的危险。因此,可以使用UDP来实现通信(避免TCP连接的开销),而让许多需要的特征(如动态超和重传、拥塞避免、查错等)放置在应用层设计和实现。使用的变量有:
UDP接收数据报的源端口{udpRxSrcPortMSB,udpRxSrcPortLSB};
UDP接收数据报的目的端口{udpRxDestPortMSB,udpRxDestPortLSB};
UDP接收数据报的长度{udpRxDataLenMSB,udpRxDataLenLSB};
UDP发送数据报的源端口{udpTxSrcPortMSB,udpTxSrcPortLSB};
UDP发送数据报的目的端口{udpTxDestPortMSB,udpTxDestPortLSB};
UDP发送数据报的长度{udpTxDataLenMSB,udpTxDataLenLSB}。
设计的相关函数有:UDPAppInit(),DPGenCheckSum(),UDPStartPktOut(),UDPProcPktIn(),UDPEndPktOut(),UDPAppProcPktIn(),UDPAppProcPktOut()等。
2.5 SX52 TCP协议的设计与实现
传输控制协议TCP(Transmission Control Protocol)是传输层的重要协议。它提供一个完全可靠的(没有数据重复或丢失)、面向连接的、全双工的流传输服务。本设计中,对复杂的TCP协议做了合理的简化:①因为CAN网络传输速度较快,数据量小且10Mbps的以太网传输一般不会发生阻塞,以太网上的主机也会有足够的能力及时处理通信数据,所以可以固定超时与重传的时间为5s。②RTL8019AS上有两个1500字节的接收缓冲区,且CAN网络为控制网,信息量小,所以可以固定接收窗口为1400字节。③因为我们采用一般的TCP服务就可以满足应用,所以可以忽略紧急指针和选项及填充字段的值。通过上述三点简化,实际上大大简化了TCP协议的实现。因为TCP的超时与重传时间的确定和窗口大小的控制有着较复杂的算法和实现机制。
它的实现变量有:tcpState,{tcpTmpSeq4,tcpTmpSeq3,tcpTmpSeq2,tcpTmpSeq1},{tcpTmpAck4,tcpTmpAck3,tcpTmpAck2,tcpTmpAck1},{tcpUnAckMSB,tcpUnAckLSB},tcpRxFlags,{tcpCheckSumMSB,tcpCheckSumLSB},{tcpLengthMSB,tcpLengthLSB},{tcpTmpMSB,TcpTmpLSB},{tcbLocalPortMSB,tcbLocalPortLSB},{tcbRemotePortMSB,tcbRemotePortLSB},{tcbSndUna4,tcbSndUna3,tcbSndUna2,tcbSndUnal},{tcbRcvNxt4,tcbRcvNxt3,tcbRcvNxt2,tcbRcvNxt1},tcbOffset,tcbFlags,{tcbSendWinMSB,tcbSendWinLSB},{tcpTimerMSB,tcpTimerLSB}等。
相关函数有:TCPIPInit(),TCPRxHeader(),TCPProcPktIn(),TCPTransmit(),TCPReTransmit(),TCPAppPassiveOpen(),TCPAppActiveOpen(),CPAppClose(),TCPAddRcvNxt(),TCPIncRcvNxt(),TCPIncSndUna(),TCPCopySeqToNxt(),TCPAckUpdate(),TCPUpdateSeq(),TCPChkSeq(),TCPRestorePrev(),TCPCmpNxtSeq(),TCPSendEmptyPkt(),TCPSendReset(),TCPSendSyn(),TCPSendISN(),TCPSendSynAck()TCPSendAck(),TCPSendFin(),TCPCheckSuminit(),CPCheckSumAcc(),TCPCheckSumAddHdr(),CPTxByte(),TCPStartPktOut(),TCPAppInit(),TCPAPPTxBytes(),TCPAPPTxData(),TCPAPPTxDone(),TCPAppRxBytes(),TCPAppRxData(),等。
2.6 TCP和IP传输层协议的选择
把TCP/IP协议应用到控制网络中如何选择传输层协议类型很关键。如果要与现有的应用程序通信,必须使用与其相同的协议类型。在实际应用时,从可靠性来说,TCP提供了可靠的数据连接,UDP和直接访问IP的一些协议是不可靠的,数据报可能会丢失、损坏或重复;从性能上讲,UDP的性能最快,可靠性、流量控制重组包和连接维护等附加开销降低了TCP的性能。对于速度比较慢的系统来说,如温度、湿度传感器,选择TCP或UDP都无所谓,对于不太重要的传感器选用UDP就可以了;对于可靠性要求较高的传感器,应该选用TCP协议;对于实时性要求高的网络设备,如网络会议系统、IP音响、实时播放的电视等设备,数据传输率较高,应该选用UDP协议;有些有严格要求的同步系统应采用UDP;数据监控系统传输的可靠性要求较高,应采用TCP;Web和Email也应采用了TCP。总之,要根据实际情况来确定选用何种协议。
tcpip协议范文6
关键词:“计算机网络”教学;Wireshark;TCP/IP
“计算机网络”课程作为计算机科学与技术、网络工程、通信工程和软件工程等专业的主干课,其地位在课程体系群中尤为重要。学习这门课程,最重要的是掌握计算机网络的原理,了解网络硬件和软件的工作机制。计算机网络基础理论复杂抽象,概念众多,对刚开始学习计算机网络的学生来说,这些概念和协议是非常难以理解和记忆的。计算机网络原理主要描述的是各层的功能及其协议和服务,具体地说就是要理解网络的相关功能层概念和网络体系结构(包括OSI参考模型、TCP/IP模型协议族),以及功能模块之间的协议交互[1],这是学好计算机网络的关键。网络体系结构是计算机网络及其部件所应完成的功能的精确定义。计算机网络原理主要讲述的就是各层的功能及其协议和服务。在计算机网络教学过程中,利用Wireshark网络探测和分析软件,通过从网络中实时捕获几种常见协议数据包并进行分析,使学生对一些协议的工作原理及结构有了更加深刻的理解和认识[2]。
1Wireshark简介
Wireshark(原名Ethereal)是目前世界上最受欢迎的协议分析软件,利用它可将捕获到的网络二进制数据流翻译为人们容易读懂和理解的文字和图表等形式,极大地方便了对网络活动的监测分析和教学实验。它有十分丰富和强大的统计分析功能,可在Windows,Linux 和UNIX等系统上运行。它允许在一个网络内部实时捕获和分析数据包,用户可以通过图形界面很直观地浏览捕获到的数据信息,研究数据包每一层的详细信息[3]。
学习和理解计算机网络原理的最好方法是,理论联系实际。在一个现实的局域网中,网络数据流往往是来自不同用户的各种各样协议数据的大混杂,因此利用Wireshark的“捕获过滤器”和“显示过滤器”,从错综复杂的数据流中迅速提取自己所关心的网络信息,了解和掌握网络的工作原理和协议的交互过程。
Wireshark使用目的是网络管理员使用Wireshark来检测网络问题、网络安全工程师使用Wireshark来检查资讯安全相关问题、开发者使用Wireshark来为新的通讯协议除错、普通使用者使用Wireshark来学习网络协议的相关知识等。
2用Wireshark分析网络协议
网络协议是网络上所有设备(网络服务器、计算机及交换机、路由器、防火墙等)之间通信规则的集合,它定义了通信时信息必须采用的格式和这些格式的意义。TCP/IP(Transmission Control Protocol / Internet Protocol),即传输控制协议/互联网协议是不同操作系统的计算机网络互连的通用协议,它是一组计算机通信协议族,其中最著名的两个协议是TCP及IP协议。TCP/IP协议具有开放式互联环境,很容易实现各种局域网和广域网的集成式互联。此协议是当今技术最成熟、应用最广泛的网络协议[4]。
TCP是一种面向连接的、可靠的运输层协议,TCP数据传输(只有连接建立后才可进行数据传输)需要通过在客户端和服务器端建立特定的虚电路连接来完成,该过程通常被称为“三次握手”,即发送方先发送连接请求,然后接收方进行连接确认,最后发送方对接收方的确认再次进行确认(图1)。下面就以Wireshark对 TCP连接建立交互过程的数据包捕获分析为例,来说明对TCP/IP协议实现的分析。
2.1建立捕获TCP连接报文的实验环境
PCATTCP是一款不错的测试局域网网络速度的软件。在局域网中,两台主机通过交换机连接起来。在服务器端和客户端都安装和运行PCATTCP进行通信,产生TCP流。启动Wireshark进行数据包捕获,单击CaptureInterfaces菜单,选择自己的网卡,选择Start开始监控流量。在服务器端运行ttcp,监听TCP的5001端口。图2是服务器端的完整命令行输出:
服务器配置好后,在客户端运行ttcp,双方开始通信。
2.2TCP报文分析
2.2.1客户端发送连接请求
捕捉到的TCP 连接报文如图3所示。
从图3可以看出,客户端发出的连接请求数据包封装了三个头信息:以太网(Ethernet)帧、IP数据报和TCP报文段。在数据链路层,数据以帧的方式进行传输。在网络层,加工的主要数据对象是IP数据报。IP协议是TCP/IP协议族中的核心协议之一,所有的TCP、UDP、ICMP数据都以IP数据报格式传输。
在运输层,主要数据对象是TCP报文。客户端发送的连接请求如图4所示。
第一条报文是没有数据的TCP报文段,并且将首部的SYN位设置为1。因此,第一条报文常常被称为SYN分组。这个报文段里的序列号是由系统随机设置的数值,表示客户端为后续报文设定的起始编号。此TCP报文段,序列号SEQ在连接请求时相对初始值是0,其实际值是c9 f4 65 c2;确认号是00 00 00 00,ACK标志为0表明确认号被忽略。SYN=1表示正在进行连接请求,通过SYN和ACK也可以用来区分Connection Request和Connection Accepted,在连接请求中,SYN=1、ACK=0,连接响应时,SYN=1、ACK=1。
SYN分组通常是从客户端发送到服务器端。这个报文段请求建立连接。因为一旦成功建立连接,服务器进程必须已经在监听SYN分组所指示的IP地址和端口号[5]。如果没有建立连接,SYN分组将不会应答。如果第一个分组丢失了,客户端通常会发送若干个SYN分组,如果多次尝试不成功,客户端将会停止并报告一个错误给应用程序。
2.2.2服务端连接响应
当服务器接收到连接请求时,就对请求方进行响应,以确认收到客户端的第一个TCP报文段。响应的报文段SYN位和ACK位都将置1。通常称这个报文段为SYNACK分组。SYNACK分组在确认收到SYN分组的同时也发出一个初始的数据流序列号,表示服务器发向客户端的数据序号,它不需要与刚才客户端发来的数据流的序列号相匹配。服务器端响应的数据包如图5所示。
此数据包的起始序列号SEQ在协议框中显示为0,在原始框中的实际值为63 cf 1a c9。所有初始序列号逻辑上都视同为序列号0。ACK标志为1表明确认号有效,SYN仍然为1。
图6中确认号在协议框中显示为1,在原始框中的值为c9 f4 65 c3(比c9 f4 65 c2多1)。这解释了TCP的确认模式,TCP接收端确认第X个字节已经收到,并通过设置确认号为X+1来表明期望收到的下一个字节号。
2.2.3客户端连接确认
在TCP连接建立的最后阶段,客户端对接收到数据包的服务器端进行确认,到此为止建立完整的TCP连接,开始全双工模式的数据传输过程。客户端收到服务器端确认后,发送带有ACK标志的TCP报文段来完成三次握手的过程[6]。这个报文段将确认服务器端发送的SYNACK分组,并检查TCP连接的两端是否正确地打开和运作。
如图7所示,在确认阶段,数据包由客户端发送至服务器端,TCP中的序列号为c9 f4 65 c3(即上次服务器响应报文的确认号)。
图8中,报文段的本次确认号为63 cf 1a ca(即上次的序列号加1)表示客户端下一次希望从主机接收的数据的起始位置。ACK标志为1表明确认号有效,SYN置为0表示连接建立结束。连接建立后,双方可以根据各自的窗口尺寸开始传输数据。
2.3小结
从以上的图可以看出,利用Wireshark可以针对每一数据包,完成从链路层、网络层、运输层到应用层的协议解析。通过上面步骤,可以更加直观的观察到TCP三次握手建立的过程,有助于理解TCP及其工作原理,掌握协议的语法细节。
3结语
计算机网络基本理论复杂抽象,不易理解,但这部分内容又是进一步学习“计算机网络”课程,培养实践应用能力的基础。在教学过程中,通过合理组织授课内容,采用先进的教学方法和较为科学的教学手段,使学生能够较好地掌握计算机网络的基本理论和方法。利用Wireshark网络协议分析软件,进行网络性能参数和数据代码的捕获分析,了解协议的封装结构、交互过程,对于计算机网络教学有很大的帮助。
参考文献:
[1] 谢希仁. 计算机网络[M]. 大连:大连理工大学出版社,2004.
[2] 杨春勇,潘文君,朱翠涛. 计算机网络课程教学及辅助教学方法研究[J]. 高等函授学报:自然科学版,2008,21(6):12-14.
[3] Angela Orebaugh,Gilbert Ramirez,Jay Beale. Wireshark & Ethereal Network Protocol Analyzer Toolkit[M]. Burlington:Syngress Press,2006.
[4] Forouzan.B.A. TCP/IP协议族[M]. 3版. 谢希仁,等译. 北京:清华大学出版社,2006.
[5] 蒋波,李方军,郝军. 数据包的截获与网络协议分析[J]. 重庆三峡学院学报,2006,22(3):26-28.
[6] Miller D. 数据通讯与网络[M]. 邓劝生,薛建新,王涌,译. 北京:清华大学出版社,2007.
The Application of Wireshark in TCP/IP Network Protocol Teaching
PAN Wen-chan, ZHANG Yun
(College of Computer Science, Nanjing University of Posts and Telecommunications, Nanjing 210003, China)