计算机网络自学笔记:无连接传输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 报文段中的校验和字段。

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

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 205,033评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 87,725评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 151,473评论 0 338
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,846评论 1 277
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,848评论 5 368
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,691评论 1 282
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,053评论 3 399
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,700评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 42,856评论 1 300
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,676评论 2 323
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,787评论 1 333
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,430评论 4 321
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,034评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,990评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,218评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,174评论 2 352
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,526评论 2 343

推荐阅读更多精彩内容

  • 1、TCP为什么需要3次握手,4次断开? “三次握手”的目的是“为了防止已失效的连接请求报文段突然又传送到了服务端...
    杰伦哎呦哎呦阅读 3,472评论 0 6
  • 本书结构是自顶向下的,所以请按下列顺序阅读: 1.计算机网络自顶向下--应用层2.计算机网络自顶向下--运输层3....
    牛富贵儿阅读 2,712评论 0 3
  • 运输层协议概述 从通信和信息处理的角度看,运输层向它上面的应用层提供通信服务,它属于面向通信部分的最高层,同时也是...
    srtianxia阅读 2,388评论 0 2
  • 个人认为,Goodboy1881先生的TCP /IP 协议详解学习博客系列博客是一部非常精彩的学习笔记,这虽然只是...
    贰零壹柒_fc10阅读 5,051评论 0 8
  • 1.TCP报头格式 UDP报头格式 TCP报头格式 UDP报头格式 具体的各部分解释看 TCP报文格式详解 - ...
    杰伦哎呦哎呦阅读 2,431评论 0 5