网络协议补完计划--UDP协议

目录

  • 前言
  • UDP协议概述
  • 套接字
  • 多路复用
  • 多路分解
  • UDP数据包格式
  • UDP校验和的计算
  • UDP工作流程
  • 标准UDP端口

前言

参照清华大学出版社-罗军周主编的《TCP/IP协议及网络编程技术》进行学习。
本篇主要参考第八章:《UDP协议》


UDP协议概述

  • 传输层协议

    • 位于应用层之下、为不同设备上的应用提供逻辑通讯的功能。进程之间使用该逻辑彼此发送报文、而不需要考虑物理层的差异。
    • 网络层只负责主机与主机之间的传输、而传输层则将网络层(IP协议)接收/发送的数据、正确定向到相应的应用层。
  • UDP协议为应用程序提供不可靠的无连接的服务

即UDP协议数据包可能会出现丢包、失序等、且不处理重发。这一点和IP协议一样、所以需要使用UDP协议的程序自己处理重发、顺序重组等。
但这种模式相比可靠的传输服务、效率更高、没有拥塞控制、首部更简洁、对应用负担也更小。

  • 常见的应用
    流式多媒体、DNS等。

套接字

从网络向某进程传递数据、或者从进程向网络传递数据的门户。
传输层和应用进程通过套接字来传递数据。
主机上的套接字可以有很多个、每个套接字都有唯一的标识符。

应用层通过传输层进行数据通信时、传输层会遇到同时为多个应用程序进程提供并发服务的问题。
多个TCP连接或多个应用程序进程可能需要 通过同一个TCP协议端口传输数据。
为了区别不同的应用程序进程和连接、许多计算机操作系统为应用程序与TCP/IP协议交互提供了称为套接字 (Socket)的接口、区分不同应用程序进程间的网络通信和连接。

主要有3个参数:
  • 通信的目的IP地址
  • 使用的传输 层协议(TCP或UDP)
  • 使用的端口号(像房间号一样对应到每一个程序)。

Socket原意是“插座”。通过将这3个参数结合起来,与一个“插座”Socket绑定,应用层就可以和传输 层通过套接字接口,区分来自不同应用程序进程或网络连接的通信,实现数据传输的并发服务。

工作原理

报文到达目标主机时、传输层会检查报文中的目的端口号、并且发送到相应含有套接字的软件中。报文端的数据将通过套接字进入到应用层对应的进程。

一个简单的例子:

百度在同一个IP地址(域名)下、可能有多种应用。比如APP(baidu:80)、百度贴吧(baidu:81)、百度金融(baidu:82)。80、81、82代表端口号。
这个时候、我想要访问百度金融。就需要将对应的套接字(端口号为82)交给百度的主网、再由其根据百度金融的端口号、交给百度金融的应用服务器(监听这baidu:82)。


多路复用

针对发送主机

离散状态信息的汇聚

同时给多目标发送数据。不同的进程有不同的套接字、从不同的软件中收集数据、再给每一个数据块加上头部、生成报文交给网络层发送。


多路分解

针对接收主机

汇聚状态信息的拆分

同时接收到多来源发送的数据。将报文段中的数据交付到正确的套接字(将报文定向到正确的进程)。


UDP数据包格式

UDP数据包格式

每行4字节、每个字节8位。

  • 源端口
    可选

  • 目的端口
    目标主机端口

  • UDP包长
    整个UDP包长度、包括头部和数据。
    最小值为8(不包含数据的情况下其余共4*2字节)。IP数据包为20字节

  • UDP校验和
    可选


UDP校验和的计算

UDP校验和的计算不仅包括数据包中所有的数据、还包含一个成为伪头部的结构和、会用通过补0的方式来将UDP数据包补足16位的整数倍。
计算校验和时、UDP协议会先构造该数据包的伪头部结构、然后将UDP数据包的校验和字段设置为0、并将其追加到伪头部末尾。

UDP伪头部格式

UDP伪头部格式

UDP的协议代码为17

UDP伪头部的意义

包含了源端口和目的端口
原始的UDP数据包中没有包含源IP地址和目的IP地址、以便让数据包的接收者确定数据包是来自正确的源地址以及确实是发送给目的主机。


UDP工作流程

  • 接收方主机
    程序A需要申请一个UDP端口号、例如P
  • 发送方主机
    应用程序准备好数据后、会交给UDP协议进行数据封装、目标端口号字段置位P后交给IP协议在此封装发送。
  • 接收方主机
    IP协议发现协议字段为17、就将IP数据包的数据区交给UDP协议处理。UDP协议发现端口号为P、就将UDP数据包的数据区放置在端口P的队列中。程序A从该队列中将数据依次取出进行处理。


标准UDP端口

标准UDP端口-1

标准UDP端口-2

一个应用程序如何才能知道该将数据发往那个目标端口?

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

推荐阅读更多精彩内容

  • 11.1 引言 UDP是一个简单的面向数据报的运输层协议:进程的每个输出操作都正好产生一个UDP数据报,并组装成一...
    张芳涛阅读 2,813评论 1 6
  • 1.这篇文章不是本人原创的,只是个人为了对这部分知识做一个整理和系统的输出而编辑成的,在此郑重地向本文所引用文章的...
    SOMCENT阅读 13,063评论 6 174
  • 个人认为,Goodboy1881先生的TCP /IP 协议详解学习博客系列博客是一部非常精彩的学习笔记,这虽然只是...
    贰零壹柒_fc10阅读 5,054评论 0 8
  • 网络概念第一天 两台电脑怎么通过网络传输数据?怎样才能知道传输的是数据?谁摸过网线? 看电影,怎么看的?通过电流,...
    小吖朱阅读 1,555评论 0 1
  • 2017年8月28日 江西信丰曾冬姣 身修家和,美丽中国! 服务众生:今天和几位朋友分享艺博家庭教育,有一个朋友说...
    江西信丰33组阅读 163评论 0 0