1、安庆职业技术学院 2011 届毕业生毕业论文(设计)1TCP/IP 协议简要分析摘 要一、绪论在网络应用日益普遍 ARMTCP/IP 协议的今天,越来越多的嵌入式设备实现 Internet网络化。TCP/IP 协议是一种目前被广泛采用的网络协议。嵌入式 Internet 的技术核心是在嵌入式系统中部分或完整地实现 TCP/IP 协议。由于 TCP/IP 协议比较复杂,而目前ARMTCP/IP 协议嵌入式系统中大量应用低速处理器,受内存和速度限制,有必要将TCP/IP 协议简化。嵌入式 TCP/IP 协议一般实现:ARP/RARP、 、IP、ICMP、TCP、UDP、HTTP、SMTP、FTP、
2、TELNET 等协议工业控制 ARMTCP/IP 协议领域传输层采用 TCP 协议、不用 UDP 协议,是考虑到实时监控系统中传输量并不大,而可靠性要求较高。TCP 协议是面向连接的、端对端的可靠ARMTCP/IP 协议通信协议。它采用了许多机制来保证可靠传输,应用于嵌入式系统显得过于 ARMTCP/IP 协议复杂。TCP/IP 是一个四层的分层体系结构。高层为传输控制协议,它负责聚集信息或把文件拆分成更小的包。这些包通过网络传送到接收端的 TCP 层,接收端的 TCP 层把包还原为原始文件。低层是网际协议,它处理每个包的地址部分,使这些包正确的到达目的地。网络上的网关计算机根据信息的地址来进
3、行路由选择。即使来自同一文件的分包路由也有可能不同,但最后会在目的地汇合。 TCP/IP 使用客户端/服务器模式进行通信。TCP/IP通信是点对点的,意思是通信是网络中的一台主机与另一台主机之间的。TCP/IP 与上层应用程序之间可以说是“没有国籍的” ,因为每个客户请求都被看做是与上一个请求无关的。正是它们之间的“无国籍的”释放了网络路径,才是每个人都可以连续不断的使用网络。 许多用户熟悉使用 TCP/IP 协议的高层应用协议。包括万维网的超文本传输协议(HTTP) ,文件传输协议(FTP) ,远程网络访问协议 (Telnet)和简单邮件传输协议(SMTP) 。这些协议通常和 TCP/IP
4、协议打包在一起。 使用模拟电话调制解调器连接网络的个人电脑通常是使用串行线路接口协议(SLIP)和点对点协议(P2P) 。这些协议压缩 IP 包后通过拨号电话线发送到对方的调制解调器中。 与 TCP/IP 协议相关的协议还包括用户数据报协议(UDP) ,它代替 TCP/IP 协议来达到特殊的目的。其他协议是网络主机用来交换路由信息的,包括 Internet 控制信息协议(ICMP) ,内部网关协议(IGP) ,外部网关协议(EGP) ,边界网关协议(BGP ) 。关键字: TCP IP Internet安庆职业技术学院 2011 届毕业生毕业论文(设计)2二、TCP/IP 协议定义TCP/IP
5、 是网络中使用的基本的通信协议。虽然从名字上看 TCP/IP 包括两个协议,传输控制协议(TCP)和网际协议(IP),但 TCP/IP 实际上是一组协议,它包括上百个各种功能的协议,如:远程登录、文件传输和电子邮件等,而 TCP 协议和 IP 协议是保证数据完整传输的两个基本的重要协议。通常说 TCP/IP 是 Internet 协议族,而不单单是 TCP 和 IP。TCP/IP 是用于计算机通信的一组协议,我们通常称它为 TCP/IP 协议族。它是 70 年代中期美国国防部为其 ARPANET 广域网开发的网络体系结构和协议标准,以它为基础组建的 INTERNET 是目前国际上规模最大的计算
6、机网络,正因为 INTERNET 的广泛使用,使得TCP/IP 成了事实上的标准。协议数据传输可分为三个阶段:建立连接、传输数据和断开连接。它的实现过程可以用状态机来描述。建立连接有两种方法,即主动打开和被动 ARMTCP/IP 协议打开。服务器端是一种被动打开,它一直在侦听连接请求;而客户端是一种主动打开,它发送连接请求以建立连接。研究发现,如果 TCP 层的上层实现服务器端的应用,可以将标准 TCP 状态机建立连接过程中客户端建立连接的状态机部分简化掉。同理,如果应用是基于 ARMTCP/IP 协议客户端的,可以将服务器端建立连接的状态机部分简化掉。断开连接有两种方式:一是主动断开连接;另
7、一是被动断开连接。被动断开连接的处理较为简单,但标准 TCP 协议的主动断开连接的状态机部分过于复杂。经过实验发现,在需要主动断开 ARMTCP/IP 协议连接的时候,发送一个 Fin 数据报;接收到对 Fin 数据报的确认后,再发送一个 RESET 数据报,即可顺利完成一次主动断开连接。IP 协议是 TCP/IP 的基础,为不同 ARMTCP/IP 协议网络的主机之间发送数据报的操作序列提供无连接服务。通过在数据报前添加 IP 协议头,使每个数据报具有寻址能力。嵌入式系统只把 IP 作为传输工具,进行简化以完成主要的操作。得到 IP 包后,检验 IP 头部的版本、目的地址、校验和正确否,解析
8、出协议类型字段,由此交给相应的高层协议处理。发送 IP 包时,将缓冲区内的源地址与目的地址互换,设置校验和,然后交给下层协议处理。不符合要求,则将此包丢弃。IP 包最大可以为 KB,可以分段传输,而在嵌入式系统里根本无法容纳如此大的数据包,因此一般不支持分段传输。所以限制 MCU 发送和接收数据包的方式以避免分段传输,从而减少程序复杂度。TCP/IP(Transmission Control Protocol/Internet Protocol)的简写,中文译名为传输控制协议/因特网互联协议,又叫网络通讯协议,这个协议是 Internet 最基本的协议、Internet 国际互联网络的基础,简
9、单地说,就是由网络层的 IP 协议和传输层的 TCP 协议组成的。1997 年,为了褒奖对因特网发展作出突出贡献的科学家,并对 TCP/IP 协议作出充分肯定,美国授予为因特网发明和定义 TCP/IP 协议的文顿瑟夫和卡恩“国家技术金奖” 。这无疑使人们认识到 TCP/IP 协议的重要性当时科学家们提出这样一个理念:“所有电脑生来都是平等的。 ”为了让这些“生来平等”的电脑能够实现“资源共享”就得在这些系统的标准之上,建立一种大家共同都必须遵守的标准,这样才能让不同的电脑按照一定的规则进行“谈判” ,并且在谈判之后能“握手” 。三、TCP/IP 协议参考模型TCP/IP 协议并不完全符合 OS
10、I 的七层参考模型。传统的开放式系统互连参考模型,是安庆职业技术学院 2011 届毕业生毕业论文(设计)3一种通信协议的 7 层抽象的参考模型,其中每一层执行某一特定任务。该模型的目的是使各种硬件在相同的层次上相互通信。这 7 层是:物理层、数据链路层、网络层、传输层、会话层、表示层和应用层。而 TCP/IP 通讯协议采用了 4 层的层级结构,每一层都呼叫它的下一层所提供的网络来完成自己的需求。这 4 层分别为:3.1、应用层:向用户提供一组常用的应用程序,比如电子邮件、文件传输访问、远程登录等。远程登录 TELNET 使用 TELNET 协议提供在网络其它主机上注册的接口。TELNET 会话
11、提供了基于字符的虚拟终端。文件传输访问 FTP 使用 FTP 协议来提供网络内机器间的文件拷贝功能。3.2、传输层:在此层中,它提供了节点间的数据传送,应用程序之间的通信服务,主要功能是数据格式化、数据确认和丢失重传等。如传输控制协议(TCP) 、用户数据报协议(UDP)等,TCP 和 UDP 给数据包加入传输数据并把它传输到下一层中,这一层负责传送数据,并且确定数据已被送达并接收。 3.3、互连网络层:负责相邻计算机之间的通信。其功能包括三方面。一、处理来自传输层的分组发送请求,收到请求后,将分组装入 IP 数据报,填充报头,选择去往信宿机的路径,然后将数据报发往适当的网络接口。二、处理输入
12、数据报:首先检查其合法性,然后进行寻径-假如该数据报已到达信宿机,则去掉报头,将剩下部分交给适当的传输协议;假如该数据报尚未到达信宿,则转发该数据报。三、处理路径、流控、拥塞等问题。 3.4、网络接口层(主机- 网络层):接收 IP 数据报并进行传输,从网络上接收物理帧,抽取 IP 数据报转交给下一层,对实际的网络媒体的管理,定义如何使用实际网络(如 Ethernet、Serial Line 等)来传送数据。前面我们已经学过关于 OSI 参考模型的相关概念,现在我们来看一看,相对于七层协议参考模型,TCP/IP 协议是如何实现网络模型的。OSI 中的层 功能 TCP/IP 协议族 应用层 文件
13、传输,电子邮件,文件服务,虚拟终端 TFTP,HTTP,SNMP,FTP,SMTP,DNS,Telnet 表示层 数据格式化,代码转换,数据加密 没有协议 会话层 解除或建立与别的接点的联系 没有协议 传输层 提供端对端的接口 TCP,UDP 安庆职业技术学院 2011 届毕业生毕业论文(设计)4网络层 为数据包选择路由 IP,ICMP,RIP ,OSPF ,BGP,IGMP 数据链路层 传输有地址的帧以及错误检测功能 SLIP,CSLIP,PPP ,ARP , RARP,MTU 物理层 以二进制数据形式在物理媒体上传输数据 ISO2110,IEEE802。IEEE802.2 协议参考模型表四
14、、TCP/IP 协网络模型简析: 4.1、数据链路层数据链路层包括了硬件接口和协议 ARP,RARP ,这两个协议主要是用来建立送到物理层上的信息和接收从物理层上传来的信息; 4.2、网络层网络层中的协议主要有 IP,ICMP ,IGMP 等,由于它包含了 IP 协议模块,所以它是所有机遇 TCP/IP 协议网络的核心。在网络层中,IP 模块完成大部分功能。ICMP 和IGMP 以及其他支持 IP 的协议帮助 IP 完成特定的任务,如传输差错控制信息以及主机/路由器之间的控制电文等。网络层掌管着网络中主机间的信息传输。传输层上的主要协议是 TCP 和 UDP。正如网络层控制着主机之间的数据传递
15、,传输层控制着那些将要进入网络层的数据。两个协议就是它管理这些数据的两种方式:TCP 是一个基于连接的协议4.3、应用层应用层位于协议栈的顶端,它的主要任务就是应用了。上面的协议当然也是为了这些应用而设计的,具体说来一些常用的协议功能如下:Telnet:提供远程登录(终端仿真)服务,好象比较古老的 BBS 就是用的这个登陆。FTP :提供应用级的文件传输服务,说的简单明了点就是远程文件访问等等服务;SMTP:不用说拉,天天用到的电子邮件协议。TFTP:提供小而简单的文件传输服务,实际上从某个角度上来说是对 FTP 的一种替换(在文件特别小并且仅有传输需求的时候) 。SNTP:简单网络管理协议。
16、看名字就不用说什么含义了吧。DNS:域名解析服务,也就是如何将域名映射城 IP 地址的协议。HTTP:不知道各位对这个协议熟不熟悉啊?这是超文本传输协议,你之所以现在能看到网上的图片,动画,音频,等等,都是仰仗这个协议在起作用啊安庆职业技术学院 2011 届毕业生毕业论文(设计)5五、简叙 IP 协议网际协议 IP 是 TCP/IP 的心脏,也是网络层中最重要的协议。 IP 层接收由更低层(网络接口层例如以太网设备驱动程序)发来的数据包,并把该数据包发送到更高层-TCP 或 UDP 层;相反,IP 层也把从 TCP 或 UDP 层接收来的数据包传送到更低层。IP 数据包是不可靠的,因为 IP
17、并没有做任何事情来确认数据包是按顺序发送的或者没有被破坏。IP 数据包中含有发送它的主机的地址(源地址)和接收它的主机的地址(目的地址) 。TCP 将它的信息送到更高层的应用程序,例如 Telnet 的服务程序和客户程序。应用程序轮流将信息送回 TCP 层,TCP 层便将它们向下传送到 IP 层,设备驱动程序和物理介质,最后到接收方。 面向连接的服务(例如 Telnet、FTP 、rlogin、X Windows 和 SMTP)需要高度的可靠性,所以它们使用了 TCP。DNS 在某些情况下使用 TCP(发送和接收域名数据库) ,但使用 UDP 传送有关单个主机的信息。UDP 与 TCP 位于同
18、一层,但它不管数据包的顺序、错误或重发。因此,UDP 不被应用于那些使用虚电路的面向连接的服务,UDP 主要用于那些面向查询 -应答的服务,例如NFS。相对于 FTP 或 Telnet,这些服务需要交换的信息量较小。使用 UDP 的服务包括NTP(网络时间协议)和 DNS(DNS 也使用 TCP)ICMP 与 IP 位于同一层,它被用来传送 IP 的的控制信息。它主要是用来提供有关通向目的地址的路径信息。ICMP 的Redirect信息通知主机通向其他系统的更准确的路径,而Unreachable信息则指出路径有问题。另外,如果路径不可用了,ICMP 可以使 TCP连接体面地终止。PING 是最
19、常用的基于 ICMP 的服务。TCP 和 UDP 服务通常有一个客户/服务器的关系,例如,一个 Telnet 服务进程开始在系统上处于空闲状态,等待着连接。用户使用 Telnet 客户程序与服务进程建立一个连接。客户程序向服务进程写入信息,服务进程读出信息并发出响应,客户程序读出响应并向用户报告。因而,这个连接是双工的,可以用来进行读写。IP 地址可确认网络中的任何一个网络和计算机,而要识别其它网络或其中的计算机,则是根据这些 IP 地址的分类来确定的。一般将 IP 地址按节点计算机所在网络规模的大小分为 A,B ,C 三类,默认的网络屏蔽是根据 IP 地址中的第一个字段确定的。 A 类地址
20、A 类地址的表示范围为:1.0.0.1126.255.255.255 ,默认网络屏蔽为:255.0.0.0;A 类地址分配给规模特别大的网络使用。A 类网络用第一组数字表示网络本身的地址,后面三组数字作为连接于网络上的主机的地址。分配给具有大量主机(直接个人用户)而局域网络个数较少的大型网络。例如 IBM 公司的网络。B 类地址 B 类地址的表示范围为:128.0.0.1191.255.255.255,默认网络屏蔽为:255.255.0.0;B 类地址分配给一般的中型网络。B 类网络用第一、二组数字表示网络的地址,后面两组数字代表网络上的主机地址。C 类地址 C 类地址的表示范围为:192.0
21、.0.1223.255.255.255,默认网络屏蔽为:255.255.255.0;C 类地址分配给小型网络,如一般的局域网,它可连接的主机数量是最少的,采用把所属的用户分为若干的网段进行管理。C 类网络用前三组数字表示网络的地址,最后一组数字作为网络上的主机地址。安庆职业技术学院 2011 届毕业生毕业论文(设计)6若公司不上 Internet,那一定不会烦恼 IP 地址的问题,因为可以任意使用所有的 IP 地址,不管是 A 类或是 B 类,这个时候不会想到要用子网 ,但若是上 Internet 那 IP 地址便弥足珍贵了,目前全球一阵 Internet 热,IP 地址已经愈来愈少了,而所申
22、请的 IP 地址目前也趋保守,而且只有经申请的 IP 地址能在 Internet 使用,但对某些公司只能申请到一个 C 类的 IP地址,但又有多个点需要使用,那这时便需要使用到子网,这就需要考虑子网的划分,下面简介子网的原理及如何规划。设定任何网络上的任何设备不管是主机、个人电脑、路由器等皆需要设定 IP 地址,而跟随着 IP 地址的是所谓的子网掩码(NetMask,Subnet Mask),这个子网掩码主要的目的是由 IP 地址中也能获得网络编码,也就是说 IP 地址和子网掩码作和而得到网络编码,如下所示: IP 地址 192.10.10.6 11000000.00001010.000010
23、10.00000110 子网掩码 255.255.255.0 11111111.11111111.11111111.00000000 AND - Network Number 192.10.10.0 11000000.00001010.00001010.00000000 子网掩码有所谓的默认值,如下所示 类 IP 地址 范围 子网掩码 A 1.0.0.0-126.255.255.255 255.0.0.0 B 128.0.0.0-191.255.255.255 255.255.0.0 C 192.0.0.0-223.255.255.255 255.255.255.0使用子网是要解决只有一组 C
24、 类地址但需要数个网络编码的问题,并不是解决 IP 地址不够用的问题,因为使用子网反而能使用的 IP 地址会变少 ,子网通常是使用在跨地域的网络互联之中,两者之间使用路由器连线,同时也上 Internet,但只申请到一组 C 类 IP 地址,过路由又需不同的网络,所以此时就必须使用到子网,当然二网络间也可以远程桥接(Remote Bridge,字面翻译)连接 ,那便没有使用子网的问题。若要使两个完全不同的网络(异构网)连接在一起,一般使用网关,在 Internet 中两个网络也要通过一台称为网关的计算机实现互联。这台计算机能根据用户通信目标计算机的IP 地址,决定是否将用户发出的信息送出本地网
25、络,同时,它还将外界发送给属于本地网络计算机的信息接收过来,它是一个网络与另一个网络相联的通道。为了使 TCP/IP 协议能够寻址,该通道被赋予一个 IP 地址,这个 IP 地址称为网关地址。六、TCP/IP 配置的步骤安装网络硬件和网络协议之后,我们一般要进行 TCP/IP 协议的测试工作,那么怎样测试才算是比较全面的测试呢?我们认为,全面的测试应包括局域网和互联网两个方面,因此应从局域网和互联网两个方面测试,以下是我们在实际工作中利用命令行测试 TCP/IP 配置的步骤: 安庆职业技术学院 2011 届毕业生毕业论文(设计)71、 单击“开始”/“运行” ,输入 CMD 按回车,打开命令提
26、示符窗口。 2、 首先检查 IP 地址、子网掩码、默认网关、DNS 服务器地址是否正确,输入命令ipconfig /all,按回车。此时显示了你的网络配置,观查是否正确。 3、 输入 ping 127.0.0.1,观查网卡是否能转发数据,如果出现 “Request timed out”,表明配置差错或网络有问题。 4、 Ping 一个互联网地址,如 ping 202.102.128.68,看是否有数据包传回,以验证与互联网的连接性。 5、 Ping 一个局域网地址,观查与它的连通性。 6、 用 nslookup 测试 DNS 解析是否正确,输入如 nslookup ,查看是否能解析。七、TCP
27、/IP 协议的作用TCP/IP(Transmission Control Protocol/Internet Protocol)已成为一个事实上的工业标准。TCP/IP 是一组协议的代名词,它还包括许多协议,组成了 TCP/IP 协议簇。 TCP/IP 协议簇分为四层,IP 位于协议簇的第二层(对应 OSI 的第三层),TCP 位于协议簇的第三层(对应 OSI 的第四层)。 TCP 和 IP 是 TCP/IP 协议簇的中间两层,是整个协议簇的核心,起到了承上启下的作用。7.1、接口层 TCP/IP 的最低层是接口层,常见的接口层协议有: Ethernet 802.3、Token Ring 80
28、2.5、X.25、Frame reley、HDLC、PPP ATM 等。 7.2、网络层 网络层包括:IP(Internet Protocol)协议、ICMP(Internet Control Message Protocol) 控制报文协议、ARP(Address Resolution Protocol)地址转换协议、RARP(Reverse ARP)反向地址转换协议。7.3、传输层 传输层协议主要是:传输控制协议 TCP(Transmission Control Protocol)和用户数据报协议 UDP(User Datagram rotocol)。TCP 是面向连接的通信协议,通过三次
29、握手建立连接,通讯时完成时要拆除连接,由于 TCP 是面向连接的所以只能用于点对点的通讯 TCP 提供的是一种可靠的数据流服务,采用“带重传的肯定确认”技术来实现传输的可靠性。TCP安庆职业技术学院 2011 届毕业生毕业论文(设计)8还采用一种称为“滑动窗口”的方式进行流量控制,所谓窗口实际表示接收能力,用以限制发送方的发送速度。7.4、应用层应用层一般是面向用户的服务。如 FTP、TELNET、DNS、SMTP、POP3。 FTP(File Transmision Protocol)是文件传输协议,一般上传下载用 FTP 服务,数据端口是20H,控制端口是 21H。八、参考文献:1TCP/
30、IP 协议深入分析 清华大学出版社ISBN 号:9787302184164 / 730218416X2 计算机网络与通信(第 2 版) 人民邮电出版社ISBN 号 97871152211243 计算机网络原理与实用技术 清华大学出版社ISBN 号 9787302200710安庆职业技术学院 2011 届毕业生毕业论文(设计)9目 录一、绪论 .1二、TCP/IP 协议定义 .2三、TCP/IP 协议参考模型 .23.1、应用层: .33.2、传输层: .33.3、互连网络层: .33.4、网络接口层(主机-网络层): .3四、TCP/IP 协网络模型简析: .44.1、数据链路层 .44.2、网络层 .44.3、应用层 .4五、简叙 IP 协议 .5六、TCP/IP 配置的步骤 .6七、TCP/IP 协议的作用 .77.1、接口层 .7安庆职业技术学院 2011 届毕业生毕业论文(设计)107.2、网络层 .77.3、传输层 .77.4、应用层 .7八、参考文献: .8