3.用户数据报(UDP):进程到进程的通信
来源:互联网 发布:森林鸟旗舰店淘宝 编辑:程序博客网 时间:2024/05/16 07:30
UDP首部(8个字节的固定首部):
- 源端口号:2个字节。如果是源主机是客户端,那么大多数情况下,该端口为短暂端口号,它由该主机上的UDP软件进行选择。如果源主机为服务器端,那么大多数情况下,该端口为熟知端口号。
- 目的端口号:2个字节。如果是源主机是客户端,那么大多数情况下,该端口为短暂端口号,它由该主机上的UDP软件进行选择。如果源主机为服务器端,那么大多数情况下,该端口为熟知端口号。
- 长度:2个字节。定义了UDP的整个长度,首部加上数据。数据的长度可以从0到65 507(65 535-8-20)字节(20字节的IP首部和8字节的UDP首部)。因为IP软件将UDP数据报交付给UDP层时已经去掉IP首部,所以这个变量是必须的。虽然IP首部里有整个IP数据报的长度和IP数据报的首部长度,根据这两个可以计算出UDP数据报的长度。
- 检验和:2个字节。检验整个UDP(首部+数据)出现的差错。
- **无连接服务:**UDP每发出的一个用户数据报都是独立的,它们不进行编号。每个用户数据报可以走不同的路径。使用UDP的进程不能向UDP发送数据流。UDP不会将数据流分为许多相关联的用户数据报。数据必须足够小,使其能装入到用户数据报中,只有那些发送短报文的进程才使用UDP。
- 差错控制和流控制:检验和
- 封装和拆装:
(1)封装:进程将数据,数据的长度和插口地址传给UDP—>UDP给数据加上UDP首部,然后将UDP数据报和插口地址传给IP—>IP给UDP数据报加上IP首部,IP首部协议字段设为17,将IP数据报传给链路层,链路层给IP数据报加上帧首部和尾部,成为帧。
(2)拆装:链路层对每一帧进行检验,如果没错,去掉首部和尾部,将IP数据报传给IP层—>IP软件对其进行检查,如果没错,去掉IP首部,将UDP数据报传给UDP—>UDP使用检验和对其进行检验,如果没错,去掉UDP首部,将数据和发送端端口传给接收进程。 - 队列:进程申请端口号成功时,该端口会创建入队列和出队列与该进程绑定,有时只创建入队列。用户数据报到时,如果该数据报的目的端口号没有入队列或入队列发生溢出,则通过ICMP协议向服务器发送不可达报文。
0 0
- 3.用户数据报(UDP):进程到进程的通信
- Linux进程间通信-----使用数据报套接字实现两个进程之间的通信
- 进程间通信--UDP
- UDP进程通信试验
- UDP:用户数据报
- UDP:用户数据报
- linux 内核进程与用户进程的通信 方法一 使用sockopt与内核交换数据
- linux 内核进程与用户进程的通信 方法一 使用sockopt与内核交换数据
- linux 内核进程与用户进程的通信 方法一 使用sockopt与内核交换数据
- udp用户数据报协议的实现
- 4.传输控制协议(TCP):进程到进程的通信
- UDP用户数据报协议
- UDP 用户数据报协议
- UDP:用户数据报协议
- UDP:用户数据报协议
- UDP -- 用户数据报协议
- 用户数据报协议 UDP
- UDP用户数据报协议
- javaScript获取浏览器窗口可视区域大小
- 定时任务调度--时间轮应用
- shiro入门
- Oracle 数据库SQL语句优化方法
- 创建虚拟机并搭建GitLab代码管理环境
- 3.用户数据报(UDP):进程到进程的通信
- AppIcon-APP应用图标 一键生成工具
- ListActivity和SimpleAdapter
- securityManager
- 关于socket的一些疑问
- Jquery判断$("#id")获取的对象是否存在的方法
- Android+ionic +phonegap 调用摄像头 $cordovaCamera
- iphone5s怎么取消iphone系统更新如何关闭系统更新提醒
- 线性规划单纯形模板