盘算机网络——传输层(Udp)
udpUDP(User Datagram Protocol,用户数据报协议 )是一种无毗连的传输层协议,它在IP协议(互联网协议)之上工作,为应用步调提供了一种发送和吸取数据报的根本方式。以下是UDP原理的具体表明:
下面对他的报头举行剖析。
报头
https://i-blog.csdnimg.cn/direct/a08d9ecd55484e3b9e3676bb692c8a30.png
端口,表现它从谁人历程来的,到谁人历程去。
16 位UDP 长度, 表现整个数据报(UDP 首部+UDP 数据)的最大长度。
UDP校验值,假如他的校验值堕落,他就会丢失这个数据包。
他的报头协议我们一看,发现比tcp的简朴,它只有一个源端口,目的端口,udp长度,以及udp查验值。他就没有了。我们可以推导出他的特点。
端标语
在网络传输中,我们怎么知道主机中那些历程须要网络传输数据,以是我们就引用了一个端标语,来区别主机上的差别历程。
常见的端标语:
[*]ftp:21
[*]ssh:22
[*]telnet:23
[*]http:80
[*]https:443
1024 - 65535: 使用体系动态分配的端标语. 客户端步调的端标语, 就是由使用体系从这个范围分配的。
端标语上限为什么是65535?
在TCP/UDP传输层协议中,端标语(Port Number)字段被明确规定为 16位无符号二进制整数。这使得端标语的数学最大值被严格限定。
其时主流CPU架构(如Intel 8086)接纳16位寄存器,直接影响了协议计划
udp特点
[*]无毗连:只须要知道对端的一个端标语以及一个ip地点,就可以举行传输数据了,它都没创建毗连,就发送数据了。
[*]不可靠:由于不像tcp有一个确认应答机制,以是当数据丢失时,他不会举行重新发送,只会发送一次。
[*]面向数据报:由于是无毗连的,以是UDP直接复用IP层的数据包通报机制(IP Datagram),而且不可以或许机动控制发送的次数与数目。
eg. 应用层交给UDP 多长的报文, UDP 原样发送, 既不会拆分, 也不会集并;用UDP 传输100 个字节的数据:假如发送端调用一次sendto, 发送100 个字节, 那么吸取端也必须调用对应的一次recvfrom, 吸取100 个字节; 而不能循环调用10 次recvfrom, 每次吸取10 个字节;
udp缓冲区
[*]UDP 没有真正意义上的发送缓冲区. 调用sendto 会直接交给内核, 由内核将数据传给网络层协议举行后续的传输动作;
[*]UDP 具有吸取缓冲区. 但是这个吸取缓冲区不能包管收到的UDP 报的次序和发送UDP 报的次序同等; 假如缓冲区满了, 再到达的UDP 数据就会被抛弃;UDP 的socket 既能读, 也能写;
udp应用
由于其报头简朴,以是他的传输速率相比tcp传输高,以是我们常常用来
须要低延长优先于可靠性(实时游戏/音视频)。
简朴查询-相应模子(如DNS、DHCP)
广播/多播需求
基于udp协议的应用层
[*]NFS:网络文件体系
[*]TFTP:简朴文件传输协议
[*]DHCP:动态主机分配协议
[*]BOOTP:启动协议
[*]DNS:域名剖析体系
[*]HTTP/3.0
udp实现可靠传输
引入序列号,包管数据有序
引入确认应答机制,确保对端收到数据
引入超时重传机制,报这个对端收到数据
流量控制机制,每次传输都是完备的数据
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
页:
[1]