UDP和TCP(传输层)

来源:互联网 发布:手机lol视频软件 编辑:程序博客网 时间:2024/06/04 20:04

UDP协议

UDP用户数据报的首部格式

这里写图片描述
Source port:源端口号
Destination port:目的端口号
Length:长度
Checksum:校验和
Data:数据
UDP头格式增加的头部长度很少,结构相对简单。

UDP概述:

UDP只在IP的数据报服务商增加了很少一点的功能,即端口的功能和差错检测端点功能。
虽然UDP只能提供不可靠的交付,但是UDP在某些方面有特殊的优点。在选择使用的协议的时候,如果选择UDP必须谨慎。在网络质量令人十分不满意的环境下,UDP协议的数据包丢失会比较严重。但是由于UDP的特性:不属于连接型协议,因而具有资源消耗小,处理速度块的优点,在同城音频、视频、普通数据传送时使用较多,因为它们即使偶尔丢失一两个数据包,也不会对接受结果产生太大影响。比如我们聊天时用的ICQ和QQ。

UDP特点:

1、无连接协议(即在发送数据之前,不和对端建立连接,只管将数据发送到网络中)。就像写完信,只管将信放进邮筒中,不管如何传送以及是否送达。
2、吞吐量不收拥挤控制算法的调节,只受应用程序成数据的速率、传输带宽、源端和终端主机性能的限制。(在发送端,UDP传送数据的速度仅仅是受应用程序生成数据的速度、计算机的能力和传输带宽的限制;在接收端,UDP把每个消息段放在队列中,应用程序每次从队列中读一个消息段。)
3、由于传输数据不建立连接,因此不需要维护连接状态,包括收发状态等,因此一台服务机可同时向多个客户机传输相同的消息。

4、UDP信息包的首部很短只有8个字节,相对于TCP的20个字节信息包的额外开销很小。

5、UDP尽最大努力交付,但不保证可靠交付,因此主机不需要维持复杂的链接状态表(这里面有许多参数)。

6、UDP是面向报文的。发送方的UDP对应用程序交下来的报文,在添加首部后就向下交付给IP层。既不拆分,也不合并,而是保留这些报文的边界,因此,应用程序需要选择合适的报文大小。

小结:

UDP是分发信息的一个理想协议,在传输音频、在屏幕上报告股票市场、在屏幕上显示航空信息等方面应用。

TCP协议

TCP的数据报结构:

这里写图片描述
序号字段:TCP传输中给传送的数据流中的每一个字节都编上一个序号。将数据包排序,方便接收端“组装”起来。
确认字段:它的值是:序号字段+1(握手中讲解为何是这个值)。
数据偏移:指出TCP报文段数据起始处距离TCP报文段的起始处有多远。(它的计算单位是4字节)例如:将123456789从A端传到B端,依次传“123”、“456”、“789”,到达B端的先后顺序不同,可能是“345”、“789”、“123”的顺序到达,这是依靠序列号将他们重新组装,但是必须有个偏移量,“123”就是偏移0,“456”就是偏移3。
URG:紧急指针有效标志位,当它被设置位1时,紧急指针才有效。
ACK:确认序号有效,当它被设置为1时,确认序号有效。
PSH:接收方应该尽快将这个报文交给应用层。
RST:重建连接。(重传)
SYN:同步序号用来发起一个新连接。(握手信号)
FIN:发端完成发送任务。(断开信号)
窗口字段:确定自己的收发端口。
检验和:检验和字段检验的范围包括首部和数据两部分。
紧急指针字段:指出在本报文段中的紧急数据的最后一个字节的序号。
选项字段:长度可变。
填充字段:使整个首部长度是4字节的整数倍。

TCP概述:

TCP是面向连接的、可靠的、基于字节流的传输层通信协议。TCP在IP报文的协议号是6。

原创粉丝点击