您的位置:首页 > 理论基础 > 计算机网络

《TCP/IP详解》学习笔记-第11章 UDP

2016-05-12 15:53 1106 查看

1、运输层概述

运输层的任务主要是负责主机中两个进程之间的通信。

1、运输层的基本功能:

(1)复用与分用
分用(Demultiplexing):将运输层的报文段中的数据交付到正确的套接字的工作。
复用(Multiplexing):在源主机的不同套接字中收集数据块,并为每个数据块封装上首
部信息(将在分用的时候使用),从而生成报文段/数据报,然后将报文段/数据报传递到网络
层工作。
为了进行分用和复用,需要给应用层的每个进程赋予一个明确标志,在协议层就采用了协
议端口号,简称端口。
(2)差错控制(完整性控制)
(3)可靠传输(按序交付,无丢失,不重复)
(4)拥塞控制(收发双方的协调一致)
(5)流量控制(全局上的通信流量调节)


2、与网络层的区别:

(1)运输层为应用进程之间提供端到端的逻辑通信。网络层为主机之间提供端到端的逻辑通信。

(2)运输层对收到的报文进行差错检测,包括首部和数据部分。网络层IP数据报首部中的检验和字段,只检验首部是否出现差错而不检验数据部分。

(3)运输层有两种不同的运输协议,即面向链接的TCP(传输控制协议)和无连接的UDP(用户数据报协议)。

2、UDP:用户数据报协议

1、UDP概述

U D P是一个简单的面向数据报的运输层协议:进程的每个输出操作都正好产生一个 U D P数据报,并组装成一份待发送的 I P 数据报。



UDP特点:

UDP是一种无连接的,即发送数据前不需要建立连接,因此减小的开销和发送数据的延迟。
UDP使用尽最大努力交付,即不保证可靠交付,因此主机不需要维持复杂的连接状态表。
UDP是面向报文的,
UDP没有拥塞控制,因此网络出现的拥塞不会使主机的发送率降低。
UDP支持一对一,一对多,多对一和多对多的交互通信。
UDP首部开销小,只有8字节,比TCP的20个字节的首部要短。


2、UDP 首部



(1)源端口号:该项是任选项,默认值是0,可以被指定。

(2)目的端口号:该项必须指定,因为这个作为接收主机内特定应用进程相关联的地址。

(3)UDP长度:指的是 U D P首部和U D P数据的字节长度。该字段的最小值为 8字节(发送一份0字节的 U D P数据报是 O K) 。

(4)检验和:覆盖U D P首部和U D P数据。该字段用于防止UDP用户数据报在传输中出错。当进行检验和计算时,要在UDP数据报之前增加临时的12个字节伪首部。如下图。伪首部包含 I P 首部一些字段,其目的是让 U D P 两次检查数据是否已经正确到达目的地。



如果发送端没有打开检验和选项,而接收端计算检验和有差错,那么UDP数据将会被悄悄的丢掉(不保证送达),而不产生任何差错报文。

3、IP 分片

物理网络层一般要限制每次发送数据帧的最大长度。

(1)任何时候I P层接收到一份要发送的 I P 数据报时,它要判断向本地哪个接口发送数据(选路) ,并查询该接口获得其 M T U。

(2)I P把M T U与数据报长度进行比较,如果需要则进行分片。分片可以发生在原始发送端主机上,也可以发生在中间路由器上。

(3)把一份 I P数据报分片以后,只有到达目的地才进行重新组装 。重新组装由目的端的 I P 层来完成。已经分片过的数据报有可能会再次进行分片(可能不止一次) 。

4、ICMP 不可达差错(需要分片)

当路由器收到一份需要分片的数据报,而在IP首部又设置了不分片(DF)的标志比特,就会长生ICMP不可达差错报文。



5、ICMP源站抑制差错

当一个系统(路由器或主机)接收数据报的速度比其处理速度快时,可能产生这个差错。使用 U D P时很容易产生这样的 I C M P 差错。

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: