TCP类型与UDP类型是什么意思?有什么不同?

 我来答
thracla776
2008-05-13 · TA获得超过454个赞
知道小有建树答主
回答量:419
采纳率:0%
帮助的人:265万
展开全部
一、TCP协议
TCP是传输层协议,实现端到端(peer-to-peer)通信;在端主机上实现;屏蔽下层网络提供的服务质量的差别,为应用程序提供稳定可靠的服务。但不能实现组播功能。TCP对上层提供面向连接可靠的通信服务。

1.TCP连接管理
TCP是面向连接的协议;采用“三次握手”(three-way handshake) 方式来建立连接。工作过程用下图表示:

在TCP协议中用一个发送方的序号和一个接收方的序号合起来唯一地标识一条连接。

2.TCP报文格式

源端口和目的端口:都是16个比特,分别表示发送方和接收方的端口号。端口号和IP地址构成套接字(socket)地址的主要内容。源端和目的端的套接字合起来唯一地表示一条连接。网络应用程序在通信时直接向套接字发送和接收数据。
序列号和确认号:都是32位的无符号整数,可以表示0-4G(232)字节的范围。其中,序列号表示数据部分第一个字节的序列号,而确认号表示该数据报的接收者希望对方发送的下一个字节的序号(即序号小于确认号的数据都已正确地被接收)。
头长度(HLEN):表示TCP报文头的长度。长度以32-bit为单位来计算。所以如果选项部分的长度不是4个字节的整数倍,则要加上填充(padding)。
保留域:紧接在头长度字段后有6个比特,应该把它设置为0。

再后则是6个标志位。标志位特定的含义:
URG(urgent)为紧急数据标志。如果它为1,则表示本数据报中包含紧急数据。此时紧急数据指
针表示的值有效。它表示在紧急数据之后的第一个字节的偏侈值(即紧急数据的总长度)。
ACK(acknowledge)为确认标志位。如果ACK为1,则表示报文中的确认号是有效的。否则,报文
中的确认号无效,接收端可以忽略它。
PSH(push)标志位。被置位后,要求发送方的TCP协议软件马上发送该数据报,接收方在收到数据后也应该立即上交给应用程序,即使其接收缓冲区尚未填满。
RST(reset)标志位。用来复位一条连接。RST标志置位的报文称为复位报文。一般情况下,如果TCP收到的一个报文明显不是属于该主机上的任何个连接,则向远端发送一个复位报文。
SYN(synchronous)标志位。用来建立连接,让连接双方同步序列号。如果SYN=1而ACK=0,则表示该数据报为连接请求,如SYN=1而ACK=1则表示是接受连接。
FIN(finish)标志位。表示发送方已经没有数据要传输了,希望释放连接。
窗口(window)字段。窗口表示的是从被确认的字节开始,发送方最多可以连续发送的字节的个数。接收方通过设置该窗口值的大小,可以调节源端发送数据的速度,从而实现流控。
校验和(checksum)域。是TCP协议提供的一种检错机制。与我们在前面的章节中学过的UDP协议类似,在计算校验和时不仅要计算TCP报文自身(报文头和数据),还要增加一些额外的信息内容 – 12个字节的“伪包头”。

二、UDP协议
用户数据报协议UDP(User Datagram Protocol)是无连接传输层协议,提供应用程序之间传送数据报的基本机制。

1.UDP报文的格式
每个UDP报文称为一个用户数据报:它分为两部分:头部和数据区。如图6-14是一个UDP报文的格式,报文头中包含有源端口和目的端口、报文长度以及UDP检验和。

源端口(Source Port)和目的端口(Destination Port)字段包含了16比特的UDP协议端口号,它使得多个应用程序可以多路复用同一个传输层协议 – UDP协议,仅通过不同的端口号来区分不同的应用程序。
长度(Length)字段记录了该UDP数据包的总长度(以字节为单位),包括8字节的UDP头和其后的数据部分。最小值是8(即报文头的长度),最大值为65,535字节。
UDP检验和(Checksum)的内容超出了UDP数据报文本身的范围,实际上,它的值是通过计算UDP数据报及一个伪包头而得到的。但校验和的计算方法与通用的一样,都是累加求和。
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式