【网络编程】第八章 传输层-udp(netstat+pidof+upd协议)


文章目录


一、linux常用网络命令

netstat

复制代码
netstat
netstat -l # 只列出listen状态服务
netstat -n # 将显示的信息用数字(id)代替
netstat -p # 显示端口和进程pid的关联
netstat -t # tcp
netstat -u # udp
netstat -a # 显示所有服务

pidof

获取某个进程名的进程 pid

复制代码
pidof 进程名

二、UPD协议

协议格式

  • 16位源端口号:表示数据从哪里来。
  • 16位目的端口号:表示数据要到哪里去。
  • 16位UDP长度:表示整个数据报(UDP首部+UDP数据)的长度。
  • 16位UDP检验和:如果UDP报文的检验和出错,就会直接将报文丢弃。

报头

定长报头

复制代码
struct udp_hdr
{
    unsigned int src_port:16;//源端口号
    unsigned int dst_port:16;//目的端口号
    unsigned int udp_len:16;//UDP长度
    unsigned int udp_check:16;//UDP检验和
}

udp 协议的特点

  • 无连接:知道对端ip:端口就直接进行数据传输,不需要建立连接。
  • 不可靠:没有确认机制,没有重传机制;如果网络故障该段无法发到对方,UDP协议层也不会给应用层返回任何错误信息。
  • 面向数据报:不能够灵活的控制读写数据的次数和数量,必须一次性读完,不会拆分也不会合并。

udp缓冲区

  • UDP没有真正意义上的发送缓冲区。调用sendto会直接交给内核,由内核将数据传给网络层协议进行后续的传输动作。

  • UDP具有接收缓冲区。只是一味地接收,并不能保证报文的顺序;如果缓冲区满了,再到达的UDP数据就会被丢弃。

  • UDP的socket既能读,也能写,因此UDP是全双工的。

udp 使用注意事项

UDP 报文中的 16 位长度字段,限制了 udp 报文的长度为 64KB,有效载荷选用 512 字节


相关推荐
洋不写bug25 分钟前
HTTP(二):万字解析HTTP交互的请求、响应报文格式
网络协议·http·交互·postman·请求格式·响应格式·restful规范
sun00770025 分钟前
ip rule路由
网络·网络协议·tcp/ip
liuhaoodng62641 分钟前
《网络IA项目:单臂路由(vlan间通讯)优化实战版》
运维·网络·网络协议
EasyCVR1 小时前
视频汇聚/视频融合/视频分析EasyCVR平台的三个诊断按钮,到底该点哪一个?一文告诉你
网络·easycvr·国标gb28181
国科安芯1 小时前
星上计算的第一道防线:低轨遥感卫星载荷处理链中的AS32S601型抗辐射MCU—— 面向高分辨率成像与在轨智能处理的场景化综述
大数据·网络·人工智能·单片机·算法·低轨卫星·抗辐射
ITxiaobing20231 小时前
海外广告投放:AdTech 场景下 IP 地址库选型思考
服务器·网络·tcp/ip
QZ166560951592 小时前
高效・AI 优化・多模态:知镜-数据安全检测工具政务数据安全管理方案
网络·安全·网络安全
国科安芯2 小时前
从点火到入轨的毫秒尺度:商业运载火箭飞行时序控制中的抗辐射MCU可靠性边界—— 面向短时高可靠任务的单粒子效应证据与架构分析
网络·人工智能·单片机·嵌入式硬件·架构·火箭·抗辐射
dog2502 小时前
长肥管道下的 CUBIC
网络
呉師傅2 小时前
Win7剪切文件变成复制文件如何修改【资源管理器异常类故障】
运维·网络·windows·电脑