兰州交通大学 现代交换技术课程设计.docx

上传人:b****3 文档编号:3551793 上传时间:2022-11-23 格式:DOCX 页数:18 大小:131.67KB
下载 相关 举报
兰州交通大学 现代交换技术课程设计.docx_第1页
第1页 / 共18页
兰州交通大学 现代交换技术课程设计.docx_第2页
第2页 / 共18页
兰州交通大学 现代交换技术课程设计.docx_第3页
第3页 / 共18页
兰州交通大学 现代交换技术课程设计.docx_第4页
第4页 / 共18页
兰州交通大学 现代交换技术课程设计.docx_第5页
第5页 / 共18页
点击查看更多>>
下载资源
资源描述

兰州交通大学 现代交换技术课程设计.docx

《兰州交通大学 现代交换技术课程设计.docx》由会员分享,可在线阅读,更多相关《兰州交通大学 现代交换技术课程设计.docx(18页珍藏版)》请在冰豆网上搜索。

兰州交通大学 现代交换技术课程设计.docx

兰州交通大学现代交换技术课程设计

兰州交通大学

本科生课程设计

中文题目:

TCP,UDP和OSPF协议的分析与比较

英文题目:

AnalysisandcomparisonofTCP,UDP&OSPFprotocol

 

学院:

电子与信息工程学院

课程:

现代交换技术

专业:

通信工程

班级:

通信12班

姓名:

学号:

指导教师:

徐岩

二零一五年七月

摘要

本文对TCP协议、UDP协议与OSPF协议进行了分析与比较,分析了三种协议的必要性,对TCP协议、UDP协议与OSPF协议的定义、协议的组成要素以及协议的发展历程进行了回顾。

并对TCP协议、UDP协议与OSPF协议的消息类型进行了分析。

同时分析了TCP协议、UDP协议与OSPF协议的消息结构、头格式以及消息体格式;并分析了TCP协议、UDP协议与OSPF协议常用的消息体格式。

最后分析了TCP协议、UDP协议与OSPF协议的操作过程。

通过这些分析,加强了对TCP协议、UDP协议与OSPF协议三个协议的理解,并锻炼了自己理论联合实际的能力。

 

关键词:

TCP;UDP;OSPF

 

Abstract

Inthispaper,TCPprotocol,UDPprotocolandtheOSPFprotocolanalysisandcomparativeanalysisofthenecessityofthreeprotocolsforTCPprotocol,UDPprotocolandtheOSPFprotocolisdefined,theconstituentelementsoftheagreementandprotocoldevelopmentprocesswerereviewed.AndTCPprotocol,UDPprotocolandtheOSPFprotocolmessagetypeswereanalyzed.SimultaneousanalysisoftheTCPprotocol,UDPprotocolmessagestructureandOSPFprotocolheaderformatandmessagebodyformat;andanalyzesTCPprotocol,UDPprotocolandtheOSPFprotocolcommonlyusedmessagebodyformat.FinallytheTCPprotocol,UDPprotocolandprocedureOSPFprotocol.Throughtheseanalyzes,strengthentheTCPprotocol,UDPprotocolOSPFprotocolandthethreeprotocolstounderstandandexercisetheirjointrealabilitytheory.

 

Keywords:

TCP;UDP;OSPF

 

目录

摘要Ⅰ

AbstractⅡ

1概述1

1.1协议必要性分析1

1.2协议简介1

1.2.1TCP协议简介1

1.2.2UDP协议简介2

1.2.3OSPF协议简介2

2消息类型3

2.1TCP协议消息类型3

2.2UDP协议消息类型3

2.3OSPF协议消息类型4

3协议详细分析4

3.1TCP协议详细分析4

3.2UDP协议详细分析6

3.3OSPF协议详细分析7

4常用消息体格式8

4.1TCP协议常用消息体格式8

4.2UDP协议常用消息体格式10

4.3OSPF协议常用消息体格式11

5协议操作过程12

5.1TCP协议操作过程12

5.2UDP协议操作过程15

5.3OSPF协议操作过程15

参考文献17

1概述

1.1协议必要性分析

1.1.1TCP协议必要性分析

TCP协议(TransmissionControlProtocol),即传输控制协议是一种面向连接的、可靠的、基于字节流的传输层通信协议。

在计算机网络TCP/IP模型中,它完成第四层传输层所指定的功能。

TCP层是位于IP层之上,应用层之下的中间层。

应用层向TCP层发送用于网间传输的、用8位字节表示的数据流,然后TCP把数据流分区成适当长度的报文段(通常受该计算机连接的网络的数据链路层的最大传输单元(MTU)的限制)。

之后TCP把结果包传给IP层,由它来通过网络将包传送给接收端实体的TCP层。

TCP为了保证不发生丢包,就给每个包一个序号,同时序号也保证了传送到接收端实体的包的按序接收。

然后接收端实体对已成功收到的包发回一个相应的确认(ACK);如果发送端实体在合理的往返时延(RTT)内未收到确认,那么对应的数据包就被假设为已丢失将会被进行重传。

TCP用一个校验和函数来检验数据是否有错误;在发送和接收时都要计算校验和。

1.1.2UDP协议必要性分析

UDP协议(UserDatagramProtocol),即用户数据报协议,是一个简单的面向数据报的传输层协议,正式规范为RFC768。

在TCP/IP模型中,UDP为网络层以上和应用层以下提供了一个简单的接口。

UDP只提供数据的不可靠传递,它一旦把应用程序发给网络层的数据发送出去,就不保留数据备份。

UDP在IP数据报的头部加入了复用和数据校验字段。

1.1.3OSPF协议必要性分析

OSPF协议(OpenShortestPathFirst),即开放式最短路径优先,是对链路状态路由协议的一种实现,隶属内部网关协议(IGP),故运作于自治系统内部。

使用Dijkstra算法被用来计算最短路径树。

它使用“代价(Cost)”作为路由度量。

链路状态数据库(LSDB)用来保存当前网络拓扑结构,它在同一区域中的所有路由器上是相同的。

OSPF协议是大中型网络上使用最为广泛的IGP(InteriorGatewayProtocol)协议。

节点在建立邻接,接受链路状态通告(Link-stateAdvertisement,LSA)时,可以通过MD5或者明文进行安全验证。

与RIP和BGP不同的是,OSPF协议不使用TCP或者UDP协议而是承载在IP协议之上,IP协议号为89,工作在OSI模型的传输层。

1.2协议简介

1.2.1TCP协议简介

1.2.1.1TCP协议定义

TCP协议(传输控制协议)由IETF的RFC793定义,是一种面向连接的、可靠的、基于字节流的传输层通信协议。

TCP提供面向连接的服务。

在传输数据之前必须先建立连接,数据传输完成后释放连接。

1.2.1.2TCP协议组成要素

TCP是面向连接的传输层协议。

每一条TCP连接只能有两个端点,每一条TCP连接只能是点对点。

TCP提供可靠的交付服务,保证传输的数据无差错、不丢失、不重复且有序。

TCP是面向字节流的。

TCP提供全双工通信,TCP允许通信双方的应用进程在任何时候都能发送数据。

1.2.1.3TCP协议发展经历

TCP协议由发表于1981年的RFC793定义,并在以后不断完善发展。

RFC1122阐明了许多TCP协议的实现要求。

RFC2581描述了更新后的避免过度拥塞的算法。

2001年的RFC3168描述了对明显拥塞的报告,这是一种拥塞避免的信号量机制。

在21世纪早期,在所有因特网的数据包中,通常有大约95%的包使用了TCP协议。

常见的使用TCP的应用层有HTTP/HTTPS(万维网协议),SMTP/POP3/IMAP(电子邮件协议)以及FTP(文件传输协议),这些协议在今天被广泛地使用。

1.2.2UDP协议简介

1.2.2.1UDP协议定义

UDP协议(用户数据报协议)由IETF的RFC768定义,是一个简单的面向数据报的传输层协议。

UDP在传输数据之前不需要先建立连接。

远地主机的运输层在收到UDP报文后,不需要给出任何确认。

虽然UDP不提供可靠交付,但在某些情况下UDP确实一种最有效的工作方式。

1.2.2.2UDP协议组成要素

UDP无需建立连接,因此UDP不会引入建立连接的时延。

UDP无连接状态。

UDP分组首部开销小,仅有8字节开销。

UDP在应用层能更好的控制要发送的数据和发送时间,UDP没有拥塞控制,因此网络中的拥塞也不会影响主机的发送效率。

1.2.2.3UDP协议发展经历

UDP协议在1980年由DavidP.Reed设计,并最终由RFC768定义。

1.2.3OSPF协议简介

1.2.3.1OSPF协议定义

OSPF协议(开放最短路径优先)由RFC2328所定义,是对链路状态路由协议的一种实现,隶属内部网关协议(IGP)

1.2.3.2OSPF协议组成要素

OSPF使用洪泛法向本自治系统中的所有路由器发送信息。

OFPS发送的信息就是与本路由器相邻的所有路由器的链路状态。

在OSPF协议中,只有当链路状态发生变化时,路由器才向所有路由器用洪泛法发送此信息。

1.2.3.3OSPF协议发展经历

OSPF分为OSPFv2和OSPFv3两个版本,其中OSPFv2用在IPv4网络,OSPFv3用在IPv6网络。

OSPFv2是由RFC2328定义,OSPFv3是由RFC5340定义。

2消息类型

2.1TCP协议消息类型

当应用层向TCP层发送用于网间传输的、用8位字节表示的数据流,TCP则把数据流分割成适当长度的报文段,最大传输段大小(MSS)通常受该计算机连接的网络的数据链路层的最大传送单元(MTU)限制。

之后TCP把数据包传给IP层,由它来通过网络将包传送给接收端实体的TCP层。

TCP为了保证报文传输的可靠,就给每个包一个序号,同时序号也保证了传送到接收端实体的包的按序接收。

然后接收端实体对已成功收到的字节发回一个相应的确认(ACK);如果发送端实体在合理的往返时延(RTT)内未收到确认,那么对应的数据(假设丢失了)将会被重传。

在数据正确性与合法性上,TCP用一个校验和函数来检验数据是否有错误,在发送和接收时都要计算校验和;同时可以使用md5认证对数据进行加密。

在保证可靠性上,采用超时重传和捎带确认机制。

在流量控制上,采用滑动窗口协议,协议中规定,对于窗口内未经确认的分组需要重传。

在拥塞控制上,采用广受好评的TCP拥塞控制算法(也称AIMD算法)。

该算法主要包括三个主要部分:

1)加性增、乘性减;2)慢启动;3)对超时事件做出反应。

2.2UDP协议消息类型

UDP是OSI参考模型中一种无连接的传输层协议,它主要用于不要求分组顺序到达的传输中,分组传输顺序的检查与排序由应用层完成,提供面向事务的简单不可靠信息传送服务。

UDP协议基本上是IP协议与上层协议的接口。

UDP协议适用端口分别运行在同一台设备上的多个应用程序。

UDP提供了无连接通信,且不对传送数据包进行可靠性保证,适合于一次传输少量数据,UDP传输的可靠性由应用层负责。

UDP报文没有可靠性保证、顺序保证和流量控制字段等,可靠性较差。

但是正因为UDP协议的控制选项较少,在数据传输过程中延迟小、数据传输效率高,适合对可靠性要求不高的应用程序,或者可以保障可靠性的应用程序,如DNS、TFTP、SNMP等。

2.3OSPF协议消息类型

链路是路由器接口的另一种说法,因此OSPF也称为接口状态路由协议。

OSPF通过路由器之间通告网络接口的状态来建立链路状态数据库,生成最短路径树,每个OSPF路由器使用这些最短路径构造路由表。

OSPF路由协议是一种典型的链路状态(Link-state)的路由协议,一般用于同一个路由域内。

在这里,路由域是指一个自治系统(AutonomousSystem),即AS,它是指一组通过统一的路由政策或路由协议互相交换路由信息的网络。

在这个AS中,所有的OSPF路由器都维护一个相同的描述这个AS结构的数据库,该数据库中存放的是路由域中相应链路的状态信息,OSPF路由器正是通过这个数据库计算出其OSPF路由表的。

作为一种链路状态的路由协议,OSPF将链路状态组播数据LSA(LinkStateAdvertisement)传送给在某一区域内的所有路由器,这一点与距离矢量路由协议不同。

运行距离矢量路由协议的路由器是将部分或全部的路由表传递给与其相邻的路由器。

3协议详细分析

3.1TCP协议详细分析

3.1.1TCP协议消息结构

TCP传送的数据单元称为报文段。

一个TCP报文段分为TCP首部和TCP数据两部分,整个TCP段作为IP数据报的数据部分封装在IP数据包中。

其首部前20字节是固定的。

TCP报文段的首部最短为20字节,后面有4N字节是根据需要而增加的选项,通常长度为4字节的整数倍。

3.1.2TCP协议头格式

TCP协议的数据头格式如图3-1所示:

数据头中各部分的含义如下:

1)SourcePort——源端口(16位),发起连接的计算机源端口号

2)DestinationPort——目的端口(16位),要登录的目的端口号

3)InitialSequenceNumber——序列号(32位),初始连接的请求号,即SEQ

4)NextExpectedSEQNumber——确认号(32位),对方返回的ACK值

5)DataOffset——数据偏移(4位),数据偏移的大小

6)ReservedBites——保留位(6位)

7)Flags——URG——紧急数据标志,1有效,表示应立即进行传递

0

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

源端口

目的端口

序号

确认号

头长度

保留

URG

ACK

PSH

RST

SYN

FIN

窗口

校验和

紧急指针

选项

填充

数据

图3-1

8)ACK——确认标志位,1表示此数据包为应答数据包

9)PSH——PUSH标志位,为1表示此数据包应立即传递

10)RST——复位标志位,如果收到不属于本机的数据包,则返回一个RST

11)SYN——连接请求标志位,为1表示为发起连接的请求数据包。

12)FIN——结束连接请求标志位,为1表示是结束连接的请求数据包

13)Window——窗口大小(16位)

14)CheckSum——校验和(16位)

15)UrgentPointer——紧急指针(16位)

3.1.3TCP协议消息体格式

TCP协议消息体格式如图3-2所示:

图3-2

TCP报文段既可以用来运载数据,也可以用来建立连接、释放连接和应答。

3.2UDP协议详细分析

3.2.1UDP协议消息结构

UDP数据报包含两个部分:

UDP首部和用户数据,整个UDP数据报作为IP数据报的数据部分封装在IP数据报中。

UDP首部有8个字节,由4个字段组成,每个字段的长度都是两个字节。

3.2.2UDP协议头格式

UDP协议头格式如图3-3所示:

0~7

8~15

16~23

24~31

UDP源端口

UDP目的端口

长度

UDP校验和

数据

数据

图3-3

各部分的含义如下:

1)源端口:

源端口号。

在需对方回信时选用。

不需要时可用全0。

2)目的端口:

目的端口号。

这在终点交付报文时必须要使用到。

3)长度:

UDP数据报的长度(包括首部和数据),其最小值是8(仅有首部)。

4)校验和:

检测UDP数据报在传输中是否有错。

有错就丢弃。

该字段是可选的,当源主机不想计算校验和,则直接令该字段全为0。

3.2.3UDP协议消息体格式

图3-4

UDP协议的数据报格式如图3-4所示:

UDP数据报包含两个部分:

UDP首部和用户数据,整个UDP数据报作为IP数据报的数据部分封装在IP数据报中。

3.3OSPF协议详细分析

3.3.1OSPF协议消息结构

OSPF分组使用24字节的固定长度首部。

OSPF不用UDP而是直接用IP数据报传送(其IP数据报首部的协议字段值为89)。

OSPF构成的数据报很短,这样做可减少路由信息的通信量。

数据报很短的另一好处是可以不必将长的数据报分片传送。

3.3.2OSPF协议头格式

OSPF协议头格式如图3-5所示:

081631

版本

类型

分组长度

路由器标识符

区域标识符

检验和

鉴别类型

鉴别

鉴别

图3-5

各部分的含义如下:

1)版本:

当前的版本号是2。

2)类型:

可以是五种类型分组中的一种。

3)分组长度:

包括OSPF首部在内的分组长度,以字节为单位。

4)路由器标识符:

标志发送该分组的路由器的接口的IP地址。

5)区域标识符:

分组属于的区域的标识符。

6)检验和:

用来检测分组中的差错。

7)鉴别类型:

目前只有两种。

0(不用)和1(口令)。

8)鉴别:

鉴别类型为0时就填入0。

鉴别类型为1则填入8字符的口令。

3.3.3OSPF协议消息体格式

OSPF协议的消息体格式如图3-6所示:

OSPF分组使用24字节的固定长度的OSPF分组首部。

分组的数据部分可以是五种类型分组中的一种。

图3-6

4常用消息体格式

4.1TCP协议常用消息体格式

TUP协议的数据报格式如图4-1所示:

0

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

源端口

目的端口

序号

确认号

头长度

保留

URG

ACK

PSH

RST

SYN

FIN

窗口

校验和

紧急指针

选项

填充

数据

图4-1

各部分的含义如下:

1)源目标端口号字段:

占16比特。

TCP协议通过使用"端口"来标识源端和目标端的应用进程。

端口号可以使用0到65535之间的任何数字。

在收到服务请求时,操作系统动态地为客户端的应用程序分配端口号。

在服务器端,每种服务在"众所周知的端口"(Well-Know Port)为用户提供服务。

2)顺序号字段:

占32比特。

用来标识从TCP源端向TCP目标端发送的数据字节流,它表示在这个报文段中的第一个数据字节。

3)确认号字段:

占32比特。

只有ACK标志为1时,确认号字段才有效。

它包含目标端所期望收到源端的下一个数据字节。

4)头部长度字段:

占4比特。

给出头部占32比特的数目。

没有任何选项字段的TCP头部长度为20字节;最多可以有60字节的TCP头部。

 

5)标志位字段(U、A、P、R、S、F):

占6比特。

各比特的含义如下:

a)URG:

紧急指针(urgent pointer)有效。

b)ACK:

确认序号有效。

c)PSH:

接收方应该尽快将这个报文段交给应用层。

d)RST:

重建连接。

e)SYN:

发起一个连接。

f)FIN:

释放一个连接。

6)窗口大小字段:

占16比特。

此字段用来进行流量控制。

单位为字节数,这个值是本机期望一次接收的字节数。

7)TCP校验和字段:

占16比特。

对整个TCP报文段,即TCP头部和TCP数据进行校验和计算,并由目标端进行验证。

8)紧急指针字段:

占16比特。

它是一个偏移量,和序号字段中的值相加表示紧急数据最后一个字节的序号。

9)选项字段:

占32比特。

可能包括"窗口扩大因子"、"时间戳"等选项。

TCP协议为终端设备提供了面向连接的、可靠的网络服务。

TCP协议为了保证数据传输的可靠性,相对于UDP报文,TCP报文头部有更多的字段选项。

每个TCP报文头部都包含源端口号(sourceport)和目的端口号(destinationport),用于标识和区分源端设备和目的端设备的应用进程。

在TCP/IP协议栈中,源端口号和目的端口号分别与源IP地址和目的IP地址组成套接字(socket),唯一的确定一条TCP连接。

序列号(Sequencenumber)字段用来标识TCP源端设备向目的端设备发送的字节流,它表示在这个报文段中的第一个数据字节。

如果将字节流看作在两个应用程序间的单向流动,则TCP用序列号对每个字节进行计数。

序列号是一个32bits的数。

既然每个传输的字节都被计数,确认序号(Acknowledgementnumber,32bits)包含发送确认的一端所期望接收到的下一个序号。

因此,确认序号应该是上次已成功收到的数据字节序列号加1。

TCP的流量控制由连接的每一端通过声明的窗口大小(windowssize)来提供。

窗口大小用数据包来表示,例如Windowssize=3,表示一次可以发送三个数据包。

窗口大小起始于确认字段指明的值,是一个16bits字段。

窗口大小可以调节。

校验和(checksum)字段用于校验TCP报头部分和数据部分的正确性。

最常见的可选字段是MSS(MaximumSegmentSize,最大报文大小)。

MSS指明本端所能够接收的最大长度的报文段。

当一个TCP连接建立时,连接的双方都要通告各自的MSS协商可以传输的最大报文长度。

我们常见的MSS有1024(以太网可达1460字节)字节。

4.2UDP协议常用消息体格式

UDP协议数据报格式如图4-2所示:

0~7

8~15

16~23

24~31

UDP源端口

UDP目的端口

长度

UDP校验和

数据

数据

图4-2

各部分的含义如下:

a)源目标端口号字段:

占16比特。

作用与TCP数据段中的端口号字段相同,用来标识源端和目标端的应用进程。

 

b)长度字段:

占16比特。

标明UDP头部和UDP数据的总长度字节。

   

c)校验和字段:

占16比特。

用来对UDP头部和UDP数据进行校验。

和TCP不同的是,对UDP来说,此字段是可选项,而TCP数据段中的校验和字段是必须有的。

UDP是一种不可靠的、无连接的数据报服务。

源主机在传送数据前不需要和目标主机建立连接。

数据被冠以源、目标端口号等UDP报头字段后直接发往目的主机。

这时,每个数据段的可靠性依靠上层协议来保证。

在传送数据较少、较小的情况下,UDP比TCP更加高效。

相对于TCP报文,UDP报文只有少量的字段:

源端口号、目的端口号、长度、校验和等,各个字段功能和TCP报文相应字段一样。

UDP报文没有可靠性保证和顺序保证字段,流量控制字段等,可靠性较差。

当然,使用传输层UDP服务的应用程序也有优势。

正因为UDP协议较少的控制选项,在数据传输过程中,延迟较小,数据传输效率较高,适合于对可

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 党团工作 > 入党转正申请

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1