夜光:计算机网络笔记(十九)

夜光序言:

 

脆弱的人才会四处游说自己的不幸,坚强的人只会不动声色的愈加强大。

 

 

 

 

 

 

正文:

 

无连接传输:UDP


UDP 只是做了传输协议能够做的最少工作。除了多路复用/多路分解功能及少量的差错检测外,它几乎没有对 IP 增加别的东西。 

 

UDP 从应用进程得到数据,附加上多路复用/多路分解服务所需的源端口号和目的端口号字段,及两个其他的小字段,然后将形成的报文段交给网络层。


网络层将该传输层报文段封装到一个 IP 数据报中,然后尽力而为地将此数据报交付给接收主机。

如果该报文段到达接收主机,则 UDP 使用目的端口号来将报文段中的数据交付给正确的应用进程。

 

使用 UDP 时,在发送报文段之前,发送方和接收方的传输层实体之间没有进行握手。


因此,UDP 被称为无连接的。


DNS 是一个通常使用 UDP 的应用层协议的例子。


当主机中的 DNS客户端要进行一次查询时,它构造了一个 DNS查询消息并将其交给 UDP。

无须与目的端系统握手,主机端的 UDP 为此报文添加首部字段,然后将形成的报文段交给网络层。网络层将此 UDP 报文段封装进一个 IP 数据报中,然后将其发送给一个 DNS 服务器。

查询主机中的 DNS 客户端便等待对该查询的响应。

如果它没有收到响应,则要么试着向另一个名字服务器发送该查询,要么通知调用的应用程序它不能获得响应。


 

使用 UDP 主要有以下原因:

 
.应用层能更好地技制要发送的数据和发送时间。实时应用通常要求最快的发送速率,不想过分地延迟报文段的传送,且能容忍一些数据丢失,而 TCP 服务模型并不是特别适合这些应用的需求。

.无需连接建立。TCP 在开始数据传输之前要经过三次握手。UDP 却不需要任何淮备即可进行数据传输。因此 UDP 不会引入建立连接的时延。

.无连接状态。TCP 需要在端系统中维护连接状态。此连接状态包括接收和发送缓存、拥塞控制参数、序号与确认号的参数。UDP 不维护连接状态,也不跟踪这些参数。

.分组首部开梢小。每个 TCP 报文段都有 20 字节的首部开销,而 UDP 仅有 8 字节的开销。


 

因此电子邮件、远程终端访问、Web 及文件传输都是运行在 TCP 之上。因为所有这些应用都需要 TCP 的可靠数据传输服务。然而,有很多重要的应用是运行在 UDP 上而不是 TCP上。UDP 被用于 RIP 选路表的更新,因为 RIP 更新被周期性地发送(通常每 5 分钟一次),以便丢失的更新能被最近的更新所替代,因此更新丢失或过时的 RIP 是毫无意义的。

 

UDP 也用于承载网络管理数据(SNMP)。DNS 运行在 UDP 之上,避免了 TCP 的连接创建时延。
 

但是可通过在应用程序自身中建立可靠性机制来完成 UDP 的可靠数据传输,例如一些音视频客户端程序。


 

1 UDP 报文段结构

 


UDP 首部只有 4 个字段,源和目的端口号、长度和校验和,每个字段由两个字节组成。 
通过目的端口号可以使目的主机将应用数据交给运行在目的端系统中的相应进程(即执行多路分解功能)。而在返回消息时使用源端口号。
接收主机使用校验和来检查报文段中是否存在差错。
长度字段指明了包括首部在内的 UDP 报文段长度(以字节为单位)。



2 校验和

 


校验和提供了差错检测功能,即当 UDP 报文段从源到达目的时,校验和用于确定其中的比特是否发生了改变(例如,由千链路中或者路由器中存储数据时的噪声干扰)。

校验和的计算:发送方的 UDP 对报文段中的所有 16 比特字的和进行反码运算,求和时遇到的任何溢出都被回卷。得到的结果放在 UDP 报文段中的校验和字段。

下面是简单例子。

假定我们有下面 2 个 16 比特字:

 

 

在接收方,全部的 3 个 16 比特字(包括校验和)一起相加。如果分组中无差错,则显然在接收方这个和将是 1111 1111 1111 1111。如果有 1 个比特是 0,那么我们就知道分组中出现了差错。

 

 

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
VIIRS夜光数据是指由卫星上的可见及红外成像辐射计(Visible Infrared Imaging Radiometer Suite,VIIRS)获得的地球夜间灯光数据。该数据被广泛用于研究城市化进程、气候变化、能源利用以及自然环境变化等诸多领域。 要下载VIIRS夜光数据,首先需要访问美国国家海洋和大气管理局(NOAA)的VIIRS数据中心网站,该网站提供了一系列下载途径,包括FTP下载、Web下载和程序接口下载等。 FTP下载是最简单的下载方式,如果您选择使用FTP下载,您需要安装FTP客户端,输入FTP地址和用户名密码后进行文件下载。由于VIIRS数据相对较大,所以FTP下载需要相应的存储空间和下载速度。 Web下载则是另一种常用的下载方式,您只需要在VIIRS数据中心的网站上输入需要下载的区域和时间范围,以及下载格式等信息,即可通过Web页面下载相应的数据。 如果您是程序员,并且需要批量自动下载VIIRS夜光数据,可以使用程序接口下载。VIIRS数据中心提供了RESTful API接口,您可以通过编写Python程序或其他编程语言,调用接口实现自动化下载。 无论您选择哪种下载方式,都需要注意数据的正确性和完整性。VIIRS夜光数据是大量的卫星影像数据,因此在下载数据时,要注意文件的编号、格式和时间等信息。同时,在数据处理时,也需要注意消除椒盐噪声、衰减因素和误差等问题。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值