目录
- 前言
- 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指定为特殊服务使用 。
经验总结扩展阅读
- 财随风滚滚来 未来33天这4大星座横财不断
- 未来2年4大星座取得一些巨大的成就 金钱会暴涨生活喜事不断
- 健康吃雪糕的3个技巧 吃雪糕要注意些什么
- 属虎跟属牛的相配吗 做夫妻好不好
- 属鸡人和属鸡人合不合 争论无休应该多多谦让
- 今年小暑是几月几日几点2023
- 2023年小暑时间几点几分几秒
- 戊午日柱配偶 粗中有细相辅相成
- 属猴男和属牛女适合结婚吗 五行相生财运亨通
- 魔力宝贝:旅人声望怎么获取