当前位置: 首页 > news >正文

最火的网站开发框架怎样做一个网站平台

最火的网站开发框架,怎样做一个网站平台,想要自己做一个网站怎么做,义乌小商品批发网址个人主页 : 个人主页 个人专栏 : 《数据结构》 《C语言》《C》《Linux》 文章目录 前言UDP协议报头和有效载荷分离的问题有效载荷向上交付的问题,也就是交给哪个进程?怎么确定把报文收全了?UDP报头是如何封装的呢&…

在这里插入图片描述

个人主页 : 个人主页
个人专栏 : 《数据结构》 《C语言》《C++》《Linux》

文章目录

  • 前言
  • UDP协议
      • 报头和有效载荷分离的问题
      • 有效载荷向上交付的问题,也就是交给哪个进程?
      • 怎么确定把报文收全了?
      • UDP报头是如何封装的呢?
    • UDP特点
    • UDP的缓冲区
    • 基于UDP的应用层协议
  • 总结


前言

本文是对UDP协议的知识总结


UDP协议

UDP协议格式如下:
在这里插入图片描述

  • 16位源端口号:标识发送数据报的应用程序所在的端口。
  • 16位目的端口号:标识接收数据报的应用程序所在的端口。
  • 16位UDP长度:表示整个UDP数据报的长度,包括UDP头部和数据部分。
  • 16位UDP检验和:表示整个UDP数据报的长度,包括UDP头部和数据部分。

这里我们有几个问题?

报头和有效载荷分离的问题

UDP协议使用固定报头长度(8字节)的方式,来分离报头和有效载荷。

有效载荷向上交付的问题,也就是交给哪个进程?

UDP报头字段中16位目的端口号就是标识接受数据报的进程。

怎么确定把报文收全了?

UDP协议,对于小于8字节的报文会直接丢弃,毕竟光是UDP报头大小就是8字节;对于大于8字节的报文,会用 16位UDP长度 - 报头大小 = 数据长度 和 16位UDP检验和 的方式来确定报文是否收全。

UDP报头是如何封装的呢?

报头是一个结构化字段,也就是结构体。
在这里插入图片描述
如果我们一次接受大量的UDP报文,那操作系统要不要对这些报文进行管理?要进行管理。如何管理?先描述,在组织。内核中,为了管理报文,定义了sk_buff结构体。
在这里插入图片描述
知道了上面两个结构体,我们就可以以使用 udp 发送 hello 给127.0.0.1:8888为列子,来了解UDP报头是如何封装的。

  1. 定义一个 sk_buff 和 一个缓冲区。刚开始 data 和 tail指向同一个地址。
    在这里插入图片描述
  2. data指针向前移动5个字节(hello 的长度),也就是开辟了5个字节的空间,然后,将 hello 从用户层拷贝到内核层。
    在这里插入图片描述
  3. 定义一个 struct udphdr 结构体,在将16位原端口号,16位目的端口号,16位UDP长度,16位UDP检验和信息填充。然后,data再前移8个字节,再见报头字段拷贝到缓冲区。
    在这里插入图片描述
    到这里,对报文进行UDP封装就完成了。
    以下是 linux-2.6.11.10下的udphdr结构体 和 sk_buff结构体
    在这里插入图片描述

在这里插入图片描述

UDP特点

  • 无连接:知道对端的IP和端口号就直接进行传输,不需要建立链接
  • 不可靠:没有确认应答机制,没有重传机制,如果因为网络故障导致报文无法发到对方,UDP协议也不会给应用层返回任何错误信息
  • 面向数据报:不能够灵活的控制读写数据的次数和数量(应用层交给UDP多长的有效载荷,UDP会加上报头直接发送,不会拆分,也不会合并)

UDP的缓冲区

  • UDP没有真正意义上的发送缓冲区,调用sendto会直接交给内核,由内核将数据传给网络层协议进行后续传输动作
  • UDP具有接收缓冲区,但是这个接收缓冲区不能保证收到的UDP报文的顺序和发送UDP报文顺序的一致;如果缓冲区满了,再到达的接收端主机的UDP报文就会被丢弃

基于UDP的应用层协议

  • NFS:网络文件系统
  • TFTP:简单文件传输协议
  • DHCP:动态主机配置协议
  • BOOTP:启动协议
  • DNS:域名解析协议

总结

以上就是我对于UDP协议的知识总结

在这里插入图片描述

http://www.hrbkazy.com/news/37745.html

相关文章:

  • 做网站如何处理并发问题seo软件开发
  • 吐鲁番网站建设长沙seo结算
  • 合肥比较好的网站建设公司国际新闻最新消息今天
  • 上海门户网站制作seo外包如何
  • 学校网站登录入口西安百度关键词包年
  • 国外买域名的网站seo基础入门视频教程
  • wordpress是英文的怎么办惠州百度seo排名
  • 企业网站如何更新备案信息推广app网站
  • 免费网站源码下载国际最新新闻
  • 深圳网站建设选云聚达百度竞价开户3000
  • 网站外包哪家公司好西安优化seo
  • 做游戏都需要什么网站seo专业论坛
  • wordpress文章定时发布b2b网站推广优化
  • 培训网站排名枫树seo网
  • 广州网站改版 网站建设手机版谷歌浏览器入口
  • 贸易公司做网站西安网站seo服务
  • 免费门户网站建设网站统计分析工具的主要功能
  • 一个服务器可以做多个网站吗广东网约车涨价
  • 做权重网站百度用户客服电话
  • 简单网站制作教程网站托管
  • 梅州专业网站建设教程seo网站推广方式
  • 百度不收录手机网站吗新疆今日头条新闻
  • 手工做耳环银材料哪个网站可以买到长沙网站推广公司
  • 泉州网站建设报价seo兼职招聘
  • 定做网站建设朋友圈广告
  • 石家庄自适应网站建设太原百度seo
  • 辛集网站建设哪家好广州推广seo
  • 东阿企业做网站推广谷歌流量代理代理
  • 公司做网站买域名之后做什么河南最近的热搜事件
  • php 网站 服务器谷歌seo是什么意思