目录
- 前言
- 11.1 传输层说明
- 11.2 UDP协议简介
- 11.3 UDP特点
- 11.4 UDP端口号
- 11.5 UDP报文
- 11.6 UDP伪首部和校验和
- 11.7 wireshark报文分析
- 11.8 UDP数据结构
- 11.8.1 UDP首部
- 11.9 UDP控制块
- 11.10 端口号相关
- 11.10.1 端口号范围
- 11.10.2 端口号初始值
- 11.10.3 udp_new_port()端口号申请
- 11.11 UDP控制块操作函数
- 11.11.1 udp_new():新建UDP控制块
- 11.11.2 udp_remove():删除UDP控制块
- 11.11.3 udp_bind():绑定控制块
- 11.11.4 udp_bind_netif():绑定网卡
- 11.11.5 udp_connect():连接控制
- 11.11.6 udp_disconnect():断开连接
- 11.11.7 udp_recv():控制块注册接收函数
- 11.11.8 udp_netif_ip_addr_changed():更新UDP控制块本地IP
- 11.12 UDP发送数据
- 11.12.1 udp_sendto_if_src():UDP发送数据基函数
- 11.12.2 udp_send():UDP发送数据函数
- 11.13 UDP接收数据
- 11.14 UDP RAW接口编程
- 11.15 个人博客
源码部分,本章节也只分析协议实现部分和最原始的南北接口 。
北向协议栈接口和套接字接口的封装后面有独立章节分析 。
即是UDP RAW接口 。
友链:
- 李柱明博客园https://www.cnblogs.com/lizhuming/p/16880148.html
而传输层主要负责向两个主机中进程之间的通信提供服务 。
传输层的几个重要的任务:
- 为两个通信的进程提供连接机制 。即是传输层需要识别两个正在通信的进程 。
- 传输层应该提供数据传输服务 。在数据发送端,传输层将用户数据进行组装递交给IP层发送出去 。在接收端,等待属于同一应用程序的所有数据单元到达,然后解析转交给用户 。
- 为了提供可靠的传输服务,传输层还可以提供流量控制、数据确认等,保证两个主机的应用程序之间数据的有效性 。
11.3 UDP特点UDP特点:
- 无连接、不可靠 。
- 尽可能提供交付数据服务,出现差错直接丢弃,无反馈 。
- 面向报文 , 发送方的 UDP 拿到上层数据直接添加个 UDP 首部,然后进行校验后就递交给IP 层 , 而接收的一方在接收到 UDP 报文后简单进行校验,然后直接去除数据递交给上层应用 。
- 支持一对一,一对多,多对一,多对多的交互通信 。
- 速度快 , UDP 没有 TCP 的握手、确认、窗口、重传、拥塞控制等机制,UDP 是一个无状态的传输协议,所以它在传递数据时非常快,即使在网络拥塞的时候 UDP 也不会降低发送的数据 。
传输层到应用层的唯一标识是通过端口号决定的,两个线程之间进行通信必须用端口号进行识别 。
使用“IP 地址 + 端口号”来区分主机不同的线程 。
范围:[0,65535],因为只有2字节:
- 端口号小于256的定义为常用端口 , 服务器一般都是通过常用端口号来识别的 。任何TCP/IP实现所提供的服务都用[1 , 1023]之间的端口号,是由ICANN来管理的;
- 端口号从[1024, 49151]是被注册的端口,也成为“用户端口”,被IANA指定为特殊服务使用 。
- 大多数TCP/IP实现给临时端口号分配[1024, 5000]之间的端口号 。
- 大于5000的端口号是为其他服务器预留的 。
- 客户端只需保证该端口号在本机上是唯一的就可以了 。客户端端口号因存在时间很短暂又称临时端口号 。
端口号协议说明0保留7echo报文回送服务器端口53DNS域名服务器端口69TFT中小型文件传输协议端口123NTP网络时问协议端口是用来同步网络中各个计算机时问的协议161SNMP简单网络管理协议端口11.5 UDP报文UDP 报文也被称为用户数据报 。
UDP报文封装:
- UDP的数据区就是用户程序的数据了 。
文章插图
文章插图
源端口号:用户发送数据的进程锁绑定的本地端口号 。
- 用户进程调用UDP相关业务时,可以不配置源端口号 。若不配置 , 内部会自动适配一个临时端口号 。
- 【什么是妖股】妖股是什么意思
- .net 温故知新:【9】.NET日志记录 ILogger使用和原理
- 【k8s连载系列】2. k8s整体架构
- 安卓手机截屏模式怎么设置(手机截屏模式怎么设置)
- ubantu18.04@Intel 82545EM 【安装文档】TRex流量分析仪保姆级安装指南--基于VMware虚拟机
- 星之彼端丹铜事件该如何选择
- iphone怎么刷机(iphone刷机教程)
- 《正义联盟》中超人是怎么死的
- 王者荣耀娜可露露前尘镜中文语音包怎么设置
- 《三国演义》中曹操的大将许褚是怎么死的(三国许褚做了哪些大事)