tcp协议(4篇)

网友 分享 时间:

【导读指引】阿拉题库漂亮网友为您分享整理的“tcp协议(4篇)”法律文书资料,供您参考学习,希望这篇文档资料对您有所帮助,喜欢就下载分享给朋友吧!

tcp协议【第一篇】

关键词:嵌入式IP;TCP/IP;嵌入式TCP;嵌入式Internet

中图分类号:TP393文献标识码:A文章编号:1009-3044(2010)08-1815-02

The Design and Implementation of the Embedded TCP/IP Protocol

LIU Chun-yan1, YAN Xing-jian2

( Province School of Posts and Telecommunications, Kunming 65000, China; Mobile Group Yunnan Co., Ltd., Kunming 65000, China)

Abstract: This paper analyzed the designed principal and the implementation method of the embedded TCP/IP protocol stack. The source code of the embedded TCP/IP protocol is developed with the GNU tool chain on the Linux operating system. In the concrete implementation, this paper concentrates in the reduction of the standard TCP/IP protocoland is mainly achieved IP, TCP, ARP, ICMP protocol to make it applicable to embedded systems.

Key words: embedded IP; TCP/IP; embedded TCP; embedded Inernet

1 概述

嵌入式系统应用日益广泛,其TCP/IP协议的实现,业界开展了不少工作,结合对嵌入式TCP/IP协议栈的分析,本文给出了一种设计实现并就相关问题进行了探讨,为方便以后的叙述,将所设计和实现的嵌入式TCP/IP协议栈命名为EmbedIP。

2 EmbedIP设计与实现描述

使用Linux系统作为嵌入式TCP/IP的设计与实现开发的操作系统。GNU工具的编译器和项目管理工具,主要包括:GNU GCC,Make,Gdb,Binutils等。源代码调试工具使用gnu gdb, DDD和kgdb作为辅助的源代码调试工具。对于TCP/IP协议开发来说必须使用IP包处理工具来完成IP包的发送和侦测,这里选用netwag作为IP包的发送和侦测的工具。netwag共集成221相关的网络工具,其中最为常用的工具为sniff和spoof两个工具。另也同时使用ethereal,它是优秀的网络抓包工具,并有一定错误提示功能。并且一般linux系统都有基于命令行的tcpdump,这个软件也是一很好的IP包侦测工具。将netwag,ethereal,tcpdump三种工具灵活地组合使用将极大地帮助了嵌入式TCP/IP的设计与实现,高质量和快速地完成。

在PC机系统上TCP/IP协议栈的实现通常符合RFC标准,而在嵌入式环境下进行TCP/IP协议栈设计时不可能像PC机系统一样实现完全符合RFC标准的TCP/IP协议栈。嵌入式TCP/IP协议的设计与实现必须对TCP/IP协议进行一定裁减,并尽可能在最大程度上兼容和满足RFC标准。

结合实际的应用,在EmbedIP中实现了必要的几种协议:IP、 TCP、 ARP、ICMP。现对EmbedIP的整体执行流程作一介绍,EmbedIP整体流程看参见图1。

由图1可看出,EmbedIP的处理是基于事件处理模型的思路设计的,该设计思路主要参考了uip [4] 的实现方法。

在图1中,读入的链路层数据帧存储于一长度为1500字节的缓冲区内,处理好的数据放入这1500字节的发送缓冲区内,然后将数据发送。图中超时处理由文件eip_中的TCPTimerProc()函数来进行时钟的管理,ARP协议的处理由位于文件eip_中的ARPProc()函数来进行处理,IP包头的处理由位于eip_中的IPProc()函数来进行处理,TCP协议处理由位于eip_中的函数TCPProc()来进行处理。

以下对两个主要协议进行说明。

3 EmbedIP中的IP协议

IP层是整个INTERNET层次模型中的核心部分。IP协议规范在RFC791中进行了定义,IP协议是网络层的核心协议,在EmbedIP中暂不支持IP包的分片传送和重组,在这样的情况下,通常IP包头长度都是标准的20字节。

根据IP包头的协议格式可以得出IP包头的C语言描述。IP包头的C语言描述见上。对于网络层来说主要处理的是IP包头,由IP包头的判断决定下一步使用的处理协议。IP包头的处理流程参见图2。在图2中有5个包含有检查字样的活动状态,在这5个检查状态中一旦检查出错就直接转到终止状态。

4 EmbedIP中的TCP协议

为使TCP协议能在嵌入式的环境中运行,可进行裁减。

现设计的嵌入式TCP/IP主要应用于服务器端,因此那些在客户端才会使用的TCP协议部分就将其裁减掉。这样在TCP协议中就不支持主动打开,与之相应的状态就不再实现,而仅支持被动打开。同时地,超时处理的相关模块也就不用实现与之相关的内容。考虑到在实用中时很少使用urgent功能,所以urgent功能也裁减掉,不实现。因窗口协议需要大量的缓冲区,这在嵌入式系统中,没有足够的RAM来完成这一要求,因此,TCP窗口协议也裁减掉,不实现。这样一来,TCP协议就变得相对简单,TCP协议的实现也就集中到TCP状态机的实现上,这不仅能符合实际需求,还能使TCP协议能在小型嵌入式系统上良好的运行。

TCP协议的整体流程见图3。IP包头处理完后,若是TCP协议,那么程序就会转入TCP处理模块,这也就是TCP协议处理的开始。TCP协议的处理通常是按照TCP的标志位进行分流的,从而转向不同的处理过程。TCP协议在开始处理时,最为重要的步骤是根据TCP段的IP地址,端口号区分该段是一要求建立新连接的段还是一已存在的连接的TCP段,然后才进行进一步的处理。对于是一要求建立新连接的TCP段,先找到一个未用的连接数据结构,然后根据所得的TCP段填写相关的内容,一切好了以后,被动打开端应返回确认帧,并为三次握手定理作好准备,这个时候作为被动打开端的服务器的TCP连接状态处于SYN_RCVD状态。当TCP段的IP地址和端口信息为某一连接的信息时,证明该TCP段为某一连接应处理的TCP段,这个时候,程序对TCP段进行必要的处理后就进入到TCP状态机的处理。

当所有输入处理都完成了,程序将根据是否有数据要发送的信号为数据的发送准备数据,最终设置并启动数据发送函数。

TCP状态机的处理通常伴随着超时处理,两者相辅相成共同完成任务。因在TCP协议的实现时对TCP协议进行了裁减,并裁减了一部分TCP状态,这造成在状态机转换时与RFC标准有所不同,但实现了的状态机转换一定必须符合RFC标准。现已实现的TCP状态机转化和超时处理见图4。

图4 状态机转化和超时处理 图5 TCP层数据发送流程

TCP协议是基于IP协议的,所以其在进行数据发送时就比IP协议的数据发送处理要复杂,这里就对TCP协议进行发送的流程作一说明。TCP协议层的数据发送过程见图5。

以上的流程在实现时用两个函数TCPSndPreProc()和TCPAppDataSnd()进行了抽象。由图5可见,数据发送时,由高层数据开始,往底层处理,处理每一层时加上符合该层的数据,最终调用链路层接口将数据发送出去。

5 结束语

在本嵌入式TCP/IP的设计与实现中,设计和实现了TCP/IP协议通信的必要部分,这包括:IP、TCP、ARP、ICMP协议的实现四个部分。结合应用实践,实现时进行了必要剪裁,通过测试该协议正确,在此基础上今后可进一步对EmbedIP进行完善,以使其更为有用和更为健壮。

参考文献:

[1] Stevens W /IP详解 卷一:协议(英文版)[M].北京:机械工业出版社,2002.

[2] Stevens W /IP详解 卷三:TCP事务协议(英文版)、HTTP、NNTP和UNIX域协议(英文版)[M].北京:机械工业出版社,2002.

[3] Stevens W /IP详解 卷二:实现(英文版)、HTTP、NNTP和UNIX域协议(英文版)[M].北京:机械工业出版社,2002.

tcp协议【第二篇】

关键词TCP/IP协议,协议分析,三次握手

一、引言

《TCP/IP协议分析》是计算机网络专业必修课程,内容涵盖了TCP/IP协议族中的IP协议、ICMP协议、TCP协议、UDP协议以及应用层的DNS、TELENT、FTP、HTTP、SMTP、POP3等协议,内容抽象,晦涩难懂[1]。在实际教学过程中,作者发现传统的讲授方法主要使用课件讲解协议的封装格式以及实体之间的通信过程,使用动画演示协议实体之间的交互过程,虽然这样做,形象化了协议交互过程,但学生还是感觉比较抽象,有的学生甚至因此失去了学习计算机网络课程的兴趣[2]。学生没有真正理解TCP/IP协议,所谓的理解只能算是表面上的,理论联系实际更是无从谈起[3]。为了较直观地学习网络协议,本文提出将网络协议分析软件应用到教学中,利用该软件使学生在学习网络协议的过程中能清楚地看到网络数据的详细格式和具体传输过程,从而加深对网络协议的理解并提高自身的实际动手能力。本文以最有代表性的三次握手为例具体阐述其全过程。

二、协议分析及理论概述

网络协议分析软件可以实时捕获网络上传输的数据信息,能跟踪剖析网络协议运行的整个过程,让学生直观地看到网络中的数据内容,把抽象的概念形象生动地表现出来,因此,网络协议分析软件开始被广泛地用于网络实验甚至是课堂的教学当中。TCP是一种可靠的、面向连接的传输协议,因此端到端的数据传输前必须先建立一个会话,这个会话过程是通过三次往返来实现的,被形象的称为“三次握手”,其具体步骤是:

1、主机A向主机B发出连接请求报文,序列号字段Seq随机生成,假设为x,确认号字段Ack为0。

2、如果B收到则发回确认报文,其确认号字段Ack = x+1,同时随机生成序列号字段Seq,假设为y。

3、A收到后向B给出确认,其Seq=x+1,Ack= y+1。

至此,双方确认已建立连接。

一般来说,这是很多教师在讲授时常采用的方式,应该说其实现原理并不深奥。但实际问题是具体细节并不详细,比如序列号字段Sequence Number和确认号字段Acknowledge Number的具体值有什么特点?每个阶段的SYN和ACK字段的值是多少?各功能字段如何配合使用的?等等问题并没有直观的体现出来。此时协议分析实验平台则可大显身手。

三、协议分析实验案例

本文以访问学校官网?为例进行抓包实验。浏览器访问网站采用的是HTTP协议,它是应用层协议之一,其传输手段正是TCP,也就是说,客户机和服务器的这次会话过程一定有TCP建立连接的过程,即三次握手,通过协议分析软件就能看到其详细过程和内容。

第一步:启动协议分析软件,本文采用的是中软吉大和我院共建的专用网络协议实训平台,其功能基本和其它的抓包软件相同,如Sniffer和Ethereal等。需要说明的是,为了减少抓包的数量,便于查找和分析,建议设置过滤器,比如HTTP过滤。

第二步:启动浏览器访问网站,只要一打开页面即可停止捕获,表面上看到的页面呈现似乎一瞬间就完成了,其实从最底层的原始数据来看,成百上千个数据帧已经捕获了,也正好借此机会给学生讲解原因,贯穿以前所学以及为今后的内容打下埋伏。

第三步:展开协议分析树,找到所需要的会话项,就本例来说,客户端IP是,端口是1118,服务器IP是,端口是80。

第四步:详细解读三次握手的数据信息。源端口、目的端口、首部长度等TCP头部信息字段一清二楚。为了更好理解TCP三次握手的原理细节,我们重点关注序列号、确认号以及各种标志位的含义。

1、选中第一帧数据,即标示为SYN,表示第一次握手,序列号是585188878,系统随机生成的,可以看出该值足够大,理论上不会重复,确认号确实是0。标志位SYN为1,ACK为0,表示连接请求,证实了上节理论概述的第一条。

2、选中第二帧数据,即标示为SYN ACK,其含义是第二次握手,确认号是585188879,其值正好是第一次握手中序列号值加一,表示收到客户端的连接请求了,同时为了给客户端回复,也需要随机生成一个序列号,其值是3570280288。标志位SYN和ACK均为1,表示既是响应又有新请求,证实了上节理论概述的第二条。

3、选中第三帧数据,即标示为ACK,表示第三次握手。序列号是585188879,其值是第二次握手中的确认号,表示客户端已经知道和服务器端连接上了,确认号是3570280289,其值正好是第二次握手中序列号值加一,如果一切正常,待服务器端收到并看到该确认字段值后就表示已经和客户端连接上了。标志位SYN为0,ACK为1,表示回应,证实了上节理论概述的第三条。至此双方都确认互相连接上了,后续就是正常的携带有效数据载荷的传输了,其最终的序列号585188879和确认号3570280289就是双方秉持的令牌凭证了。

四、结束语

在计算机网络专业的课程中,TCP/IP协议课程原理的复杂性及抽象性决定了其必然成为教学的难点。由于网络协议分析软件能够捕获各种网络实验协议的数据并进行解析,进而再现网络实验通信的整个过程。本文以三次握手为例,通过协议分析软件以图解方式直观方式展示网络会话过程中数据帧的传输方向及每个数据帧的功能,把隐性变成了显性,对理论数据格式与实验捕获的实际数据帧比较,使学生对协议交互机制和工作过程有了更深刻的认识,也提升了对网络故障的分析能力。改变了过去的传统教课方式,符合先感性后理性的认知规律,使学生感觉到网络协议易学易懂,激发了兴趣,增强了信心,取得了良好的教学效果。

参考文献:

[1]梅海彬。 协议分析软件在计算机网络教学中的应用。 安徽:科教文汇。 2012

tcp协议【第三篇】

关键词:网络工程;TCP/IP协议;课程建设;教学改革

文章编号:1672-5913(2013)14-0042-04 中图分类号:G642

TCP/IP协议是高校计算机网络工程专业的专业基础课,是计算机网络学科领域和网络工程专业人才应具备的理论基础,在网络工程专业课程体系中处于重要地位。该课程是高级路由与交换、网络性能测试与分析、网络通信程序设计、网络信息安全等课程的前导课程,如果学习不好会直接影响网络工程专业学生学习后续专业课的兴趣和信心,从而影响整个课程体系的教学质量。然而,TCP/IP协议课程内容以各类通信协议为主,教学过程中容易出现以下问题:学生感到内容抽象和枯燥,似懂非懂、不好理解;网络技术的飞速发展易使理论与实际脱节,学生以为在实际工作中用处不大;实验环节设计不够合理,难以发挥应有作用。笔者针对长春大学计算机科学技术学院网络工程专业多年来在TCP/IP协议课程的建设和教学改革过程中积累的一些微薄经验加以总结,供广大教师同行切磋探讨。

1 课程定位与目标

TCP/IP协议是网络工程专业的一门专业基础课,而且是必修课,是在本专业学生已有的计算机网络知识基础上进一步学习研究互联网的核心技术,以提高和加深学生的理论深度和实践水平。通过该课程的教学,教师引导学生逐步理解因特网的网络体系结构――事实上的国际标准TCP/IP,理解多个异构物理网络如何能够互连在一起,互连网络协议如何协调工作,应用程序如何使用互连网络系统,数据如何从一个应用进程传输到另一个应用进程。学生可以了解到Intemet的许多技术细节和前沿热点,掌握TCP/IP协议族的结构,掌握TCP/IP协议族中各子协议的结构和功能,重点掌握ARP协议、IP协议、UDP协议和TCP协议等相关理论知识。该课程的学习将为下一步的专业学习和计算机网络相关的应用、设计和开发工作打下必要且坚实的基础。

2 课程建设与改革探索

教学内容规划及教材的选用

按照TCP/IP协议课程的定位与目标,依据教育部高等学校计算机科学与技术教学指导委员会编写的《高等学校网络工程专业规范(试行)》,结合长春大学培养应用型本科网络工程专业人才的定位和学生的实际情况,将该课程规划为48学时,其中理论课38学时,实验课10学时。该课程是网络工程专业学生在学完计算机网络课程后进一步深入学习和掌握计算机网络理论的进阶课程,主要内容包括底层物理网络技术、ARP协议、IPv4编址技术、IP辅助协议、单播路由选择协议、UDP协议、TCP协议、SCTP协议、应用层协议和IPv6相关协议等。教材选用的是清华大学出版的《TCP/IP协议族(第4版)》,由Behrouz 著,王海、张娟等译。该教材为世界著名的计算机经典教材,曾荣获“第八届全国高校出版社优秀畅销书一等奖”。该教材大量运用图文并茂的方法讲述技术性很强的内容,重点突出、实例丰富。我们从该教材第二版开始使用一直到目前的第四版,效果较好。该课程的具体理论课讲授学时规划如下:

(1)引言(概论)部分占2学时,主要讲授Intemet简史、协议和标准、因特网标准、因特网管理机构,适当扩展一些互联网的前沿和热点技术以激发学生对该课程的兴趣,使学生了解Intemet历史,理解并掌握协议和标准概念,了解标准创建委员会,掌握RFC的成熟度。

(2)OSI模型和TCP/IP协议族部分占2学时,主要讲授OSI模型、TCP/IP协议族,使学生掌握数据通信和组网中多层结构的思想以及层与层之间的相互关系,掌握OSI模型中每一层的功能,掌握TCP/IP协议族与OSI模型的差异和特点。

(3)底层技术部分占2学时,主要讲授有线局域网技术、无线局域网技术、广域网技术和常用互连设备,使学生掌握有线局域网中占主导地位的以太网技术理论知识,包括传统以太网、快速以太网等,了解无线局域网技术、蓝牙技术、点到点广域网技术。

(4)IP编址部分占4学时,主要讲授IP编址的方法、地址的种类、分类地址、分类地址互联网划分实例、划分子网的方法、无分类编址、构成超网的方法,使学生理解IPv4编址思想以及如何在分类编址中实现,掌握分类结构中的划分子网的方法以及构造超网和无分类编址方法。

(5)IP分组交付和路由选择部分占2学时,主要讲授面向连接和无连接、直接交付与间接交付、路由选择的类型,使学生理解面向连接和无连接的区别,直接交付与间接交付的区别,掌握路由器结构和路由选择的类型。

(6)网际协议(IPv4)部分占4学时,主要讲授IP数据报首部、分片、选项、检验和IP软件包设计,使学生理解IP协议的总体思想,掌握IP数据报的一般格式、首部中各个字段的名称和意义,掌握IP数据报的分片和重装,理解IP数据报首部中检验和计算方法以及IP协议软件设计算法。

(7)地址解析协议(ARP)部分占2学时,主要讲授地址映射、ARP协议、ATMARP、ARP软件包设计,使学生掌握ARP的基本原理、ARP数据包格式和各字段意义、了解ARP存在的问题和缺陷、了解RARP的用途。

(8)网际控制报文协议(ICMP)部分占2学时,主要讲授ICMP报文类型、ICMP报文格式、排错工具的原理和用法、ICMP软件包设计原理,使学生掌握ICMP报文的分类及格式、Ping和Traceroute的用法和工作原理,理解ICMP协议软件设计思路。

(9)移动IP部分占2学时,该节内容较新,主要讲授移动IP编址、归属、外地、移动主机通信的3个阶段、移动IP的低效率,使学生了解移动IP通信的相关基础、存在的问题与解决方案。

(10)用户数据报协议(UDP)部分占2学时,主要讲授UDP用户数据报、UDP的服务和应用、UDP软件包设计算法,使学生掌握UDP报文格式及各字段意义,了解检验和的基本概念和计算方法、UDP协议软件实现思路。

(11)传输控制协议(TCP)占6学时,主要讲授TCP服务类型与特点、TCP报文段首部格式、连接控制、流量控制、差错控制、拥塞控制、TCP软件包设计思路,介绍流控制传输协议SCTP,使学生掌握TCP的报文格式,理解TCP的服务类型、滑动窗口的概念、流量控制和差错控制的方法、TCP的传输机制、TCP协议软件实现思路,了解SCTP协议。

(12)单播路由协议部分占2学时,主要讲授RIP、OSPF和BGP,使学生理解自治系统的概念,掌握距离向量和链路状态路由选择协议特点,重点掌握RIP、OSPF、BGP的原理及应用。

(13)应用层协议部分占4学时,主要讲授客户一服务器范式、DHCP、域名系统DNS、远程登录、文件传送协议、万维网、电子邮件、网络管理SNMP等应用层协议,使学生理解常用应用层协议的基本原理和用途。

(14)IPv6协议部分占2学时,主要讲授IPv6编址、分组格式、IPv4到IPv6的过渡技术,使学生掌握IPv6地址记法、3种地址类型、过渡技术,了解IPv6分组格式和优越性。

教学内容以大纲和教材为基础,适当结合和扩充一些较新的技术热点,尽量做到理论联系实际。学生普遍认为课程内容设置较合理,易于理解和接受,对该课程的学习兴趣较高。

实验内容的设计

经过多年的实践与改进,目前长春大学计算机科学技术学院TCP/IP协议课程共规划了5个实验(10学时),分别为IP协议分析、ARP地址解析协议分析、ICMP协议分析与应用、UDP用户数据报协议分析、TCP传输控制协议分析。每个实验都包括基础实验、进阶实验、思考、创新设计4个环节,主要内容见表1。

实验课内容由TCP/IP协议课程组教师精心组织和设计,已充分考虑到课程的重、难点以及后续课程学习的需求。实验目的要保证清晰明确,这对学生做实验至关重要。实验内容分为基础和进阶两段,好处是基础实验操作简单,容易实现,增进了一些基础较差学生的信心与兴趣,更方便进一步在其基础上完成进阶实验内容。每个实验都设置了几个让学生思考的问题,使学生发现不足、开拓思路。完成以上几项内容,该实验目的就基本达到。创新设计环节则是对学生提出的更高要求,对学生理论联系实际、创新和学以致用提供了发挥空间。该实验规划考虑到了不同层次的学生情况,从实验课指导和实验报告提交情况来看也基本达到了课程组的预期目标。

教学团队建设

优秀的课程和实验资源离不开教师的讲授,课程建设与改革需要建设一支高水平的教学团队。TCP/IP协议课程教学团队由5名教师组成,是一支长期从事本课程及相关课程教学的“双师型”队伍(取得了如CCNA、RCNA、CCNP等业界著名的网络厂商认证)。职称结构为副教授2人、讲师3人,学历结构为博士1人、硕士4人。团队成员都是中青年教师,接受和更新知识能力强,经常参加各种技术培训与学术交流,参与企业公司的网络工程项目和实验室建设,具备扎实的理论基础和丰富的工程经验,在教学过程中对重点把握到位,理论与实践融会贯通。课程组还定期召开教学研讨会,交流在课程讲授过程中的心得和问题;每学期都组织互听课,相互学习并指出不足。教学团队成员的讲课水平不断提高,在学生评教测评中成绩突出,深受学生欢迎。近几年来课程组成员承担和完成各级教学质量工程项目9项,其中省级5项、校级4项,公开发表教学论文7篇,建设省级优秀课一门,并荣获2012年校级优秀教学团队称号。

教学方法与教学管理的改进

教学团队业务水平进步的同时,教学方法和教学管理也应不断地改进,先进的教学方法与科学的教学管理必然获得更好的教学效果。本文主要就以下方面进行探讨。

(1)发挥多媒体优势,扬长避短。现在多媒体授课已经在高校普及,多媒体课件图文并茂、信息量大,但是也有弊端。在多媒体教室授课的教师很难离开控制台,一边讲课一边控制电脑的过程容易忽略与学生的交流,一些形象的肢体语言也无暇表达。很多学生感觉教师缺少了传统黑板讲课的潇洒。教师使用有无线翻页功能的激光笔就可以基本解决这个问题。这样教师可以走下控制台,来到学生中间,无形中便拉近了与学生的距离,教师与学生更容易交互和沟通,课堂气氛会更加轻松融洽。制作课件时,能用动画演示的尽量不用图,能用图表达的尽量不用文字。比如讲解数据从一台计算机的进程传送到另一台计算机进程时,用动画的形式来演示一下会更容易理解。

(2)用好Wffeshark和Packet Racer工具辅助教学。TCPdP协议课程中有大量的协议,协议数据单元到底是什么样子?单纯靠语言讲述效果是有限的。若利用协议分析工具Wireshark现场抓包、现场分析,讲解效果会直观且容易理解。Packet Tracer是由Cisco公司的一个辅助学习工具,除了模拟设计、配置网络环境外,还可以提供数据包在网络中行进的详细处理过程,观察网络实时运行情况。例如在讲授路由选择协议时,可以利用Packet Tracer清晰地观察到路由信息传递和学习的过程。还可以模拟跟踪网络报文经过路由器和交换机之后各个字段所发生的变化。在本课程教学中用好这两样工具可以起到事半功倍的效果,学生学会使用这两样工具在实验和实际工作中也大有用途。

(3)加强与学生的课后交流。虽然现在提倡启发式教学,鼓励学生积极参与教学,但是课堂时间毕竟有限,课程任务要完成还是以教师讲授为主,不可能所有学生都有机会参与,所以要多利用网络资源不受时间地点限制的优势,如使用QQ群进行课程讨论、为学生答疑,这样所有的学生都能看到,从而避免了重复解答同类问题,提高效率。

(4)注重过程化教学管理,改革考核制度。改变以往全靠期末考试定成绩的办法,根据长春大学计算机科学技术学院制订的“课程过程考核制度管理办法”,提出过程与能力有机结合的考核体系,加大学生课堂讨论和发言表现、课后作业质量、实验质量、课堂测验所占总成绩的比重,全面考核学生的知识、能力和综合素质,增强学生学习自觉性和主动性。

3 结语

经过多年对TCP/IP协议课程的建设与改革研究,该课程的教学和实验内容不断改进,教学资源不断丰富,教学团队也在课程建设和教学改革中不断进步和成长,可谓硕果累累。网络工程专业的实践性很强,我们的课程教学也应更加紧密结合实际,紧跟因特网的发展步伐,不断改革创新,为社会培养更多高质量的网络工程应用型人才。

参考文献:

[1]教育部高等学校计算机科学与技术教学指导委员会,高等学校网络工程专业规范(试行)[M],北京:高等教育出版社,2012

[2]ForouzanBA,TCP/IP协议族[M],4版,王海,张娟,等,译,北京:清华大学出版,2011:3-4

tcp协议【第四篇】

关键词TCP/IP协议 Android OpenWrt 远程无线控制

一、TCP/IP协议

TCP/IP协议栈是一个实现网络上通信的协议族,这种协议使得不同平台架构网络之间的互联成为可能,它是一个真正开放系统,最早起源于一个关于分组交换网络研究的项目,后来发展成为Internet 事实上的通信标准。TCP/IP协议采用分层的结构形式,总共分成四层,是对OSI结构的简化,它们每一层都实现了不同的功能模块和通信协议,每一层都为上一层提供支持,其结构如图1所示:

图1 TCP/IP协议结构

二、OpenWrt路由嵌入式系统

OpenWrt是一个开源的Linux版本,主要是用于嵌入式系统,其强大之处在于它的网络部分功能,现在很多嵌入式设备的代码都是使用OpenWrt或者参考OpenWrt做成的。OpenWrt是运行在嵌入式CPU上,主频一般都在几百兆左右,Flash闪存一般为8M或者16M,SDRAM内存一般是16M。主流路由器固件有 dd-wrt,tomato,openwrt三类。对于开发人员,OpenWrt 是使用框架来构建应用程序,而无需建立一个完整的固件来支持;对于用户来说,这意味着其拥有完全定制的能力,可以用前所未有的方式使用该设备。

本文中的mini路由器是常见的TP-LINK TL-WR703N v1,4MFlash,32MDDR,无线标准:IEEE 、IEEE 、IEEE , 有线标准:IEEE 、IEEE ,最高传输速度150Mbps,信道数1-13,1个10/100Mbps LAN/WAN复用接口,1个USB接口,内置天线,支持3G、VPN、WDS无线桥接、无线MAC地址过滤、无线安全功能开关、64/128/152位WEP加密、WPA-PSK/WPA2-PSK、WPA/WPA2安全机制,远程WEB管理,配置文件导入与导出,WEB软件升级。

在下载中心下载TL-WR703N的OpenWrt固件,路由器通过网线连接电脑后登陆路由器,在路由器的固件升级中选择文件进行升级,升级中不要断电,否则导致路由器损坏,整个过程需要5分钟左右,升级后路由器的USB就具备了驳接摄像头或者直插U盘的功能,而官方版本只支持驳接3G上网卡。刷完后固件版本为OpenWrt FirmWare Attitude Adjustment(r31054)/LuCI Trunk(trunk-svn8380),嵌入式Linux内核版本为。WIFI 智能模块, 就是把 3G 路由器改装的, 直接把 TTL 焊点引到了迷你 USB 接口,这样就可以跟控制板进行通信和供电。

远程设置的基本流程就是将连上宽带的无线路由器添加一个虚拟服务器,IP为,新建两个服务端口,视频接入端口为8080,控制端口为2001,将3G无线路由器的模式从Access Point改为Client并连上无线路由器,查看无线路由器的WAN口IP地址为,在手机端接入服务器IP设置为,这样手机连上宽带后就可以连接上远程的3G路由器。图2是一个IP远程连接控制的拓扑图。

图2 IP远程连接拓扑结构

三、Arduino控制系统

Arduino平台的基础就是AVR指令集的单片机。Arduino是一个能够用来感应和控制现实物理世界的一套工具。它由一个基于单片机并且开放源码的硬件平台,和一套为Arduino板编写程序的开发环境组成。Arduino可以用来开发交互产品,比如它可以读取大量的开关和传感器信号,并且可以控制各式各样的电灯、电机和其他物理设备。图3是Arduino控制板的框图。

图3 Arduino控制板的框图。

图4 控制系统组成框图

四、Android手机端软件设计

Android提供一套关于wifi连接和数据信号收发的API,我们利用这些API可以快速开发相关软件,软件的基本函数构成如图5。

图5 基本函数构成

视频传输与呈现的的基本函数构成如图6。

图6 基本函数构成

常用钢琴键为21个键,即分别实现高中低三个音阶,安卓软件界面如图7。

图7安卓软件界面效果图

在代码段将视频接入IP地址和控制IP地址均设置为服务器IP地址,经过实践,这套系统可以很好的实现远程连接与控制,达到了预期的效果。

六、总结

本文提出了一套完整了远程控制方案,包括硬件部分和软件部分,随着远程无线控制的发展,这个方向会越来越被大家所青睐,然而目前网络连接中广泛使用的IPv4协议地址空间上存在很大的局限性,地址空间的局限往往使得运营商动态分配IP地址。如果自己有唯一的域名的话就可以解决这个问题,解析到域名的IP地址就可以唯一的连接到此地址作为服务器了,理论上全国各地均可以进行远程连接和控制。

参考文献:

[1]候国照。基于OpenWrt的无线传感器网络协议研究与实现[D].哈尔滨工业大学,2009.

[2]焦双伟。基于TCP/IP网络的智能家居控制系统的研究与实现[D].南昌航空大学,2012.

[3]肖飞。嵌入式Internet远程控制设计与实现[D].河南师范大学,2009.

[4]周正杰。基于Internet的家电控制的研究[D].广西大学,2011.

51 934767
");