首页 > 其他分享 >总结UDP协议各类知识点

总结UDP协议各类知识点

时间:2024-03-30 16:31:12浏览次数:11  
标签:总结 知识点 UDP Socket 文件 网卡 API 应用层

前言

本篇博客博主将详细地介绍UDP有关知识点,坐好板凳发车啦~

一.UDP特点

1.无连接

UDP传输的过程类似于发短信,知道对端的IP和端口号就直接进行传输,不需要建立连接;

2.不可靠传输

没有任何的安全机制,发送端发送数据报以后,如果因为网络故障该段无法发送到对方,UDP协议层也不会给应用层返回任何错误信息;

3.面向数据报

应用层交给UDP多长的报文,UDP原样发送,既不会拆分,也不会合并

4.缓存区

UDP只有接收缓冲区,没有发送缓冲区。

UDP的socket既能读,又能写,这个概念叫全双工。

5.大小受限

UDP协议首部有一个16位的最大长度。也就是说一个UDP能传输的数据最大长度是64k(包含UDP首部)。

二.UDP格式

UDP最长是16个字节,对应无符号整形范围是0-65535,也就是0-64Kb左右

检验和

 把内容中的每个字节做累加操作,在累加的过程中溢出就溢出了,最后得到一个值,把这个值记录到校验和这个位置,CRC循环冗余校验,接收方也是接收到的数据内容按同样的算法做累加,最后把计算得到的数据与校验和位的值作比较,相同则认为数据是正确的。

三.UDP套接字

针对网络编程,操作系统提供了用于网络编程的技术,称为Socket套接字,是系统提供的专门用来实现网络编程的一套API应用程序在应用层,操作系统工作在传输层,Socket套接字就是传输层对应用层提供的API支持。

3.1类和方法

1)DatagramSocket API

DatagramSocket 是UDP Socket,用于发送和接收UDP数据报。

Socket的本质也是文件,狭义上的文件是指硬盘上的文件,广义上的文件是计算机上的各种硬盘设备

Socket对应到网卡这个硬件设备,操作系统把网卡也当做一个文件来管理

通过网卡发数据就是写文件,通过网卡接收数据就是读文件。 

2)DatagramPacket API

DatagramPacket是UDP Socket发送和接收的数据报

1.DatagramPacket构造方法

 构造UDP发送的数据报时,需要传入SocketAddress,该对象可以使用InetSocketAddress来创建。

3)InetSocketAddress API

尾语

这篇博客到这里就结束啦,希望可以给大家带来帮助~

标签:总结,知识点,UDP,Socket,文件,网卡,API,应用层
From: https://blog.csdn.net/weixin_66046886/article/details/137145071

相关文章

  • 以太网:UDP包结构
    参考:UDP协议报文结构_udp报文结构-CSDN博客千兆以太网(3):接收——包校验和数据筛选-咸鱼IC-博客园(cnblogs.com)计算机网络·啥玩意是源MAC地址,目标MAC地址,源ip地址,目标ip地址_目的mac地址和源mac地址-CSDN博客数据的校验和筛选仅供参考帧首部:7个h55+hd5MAC首部:目的MA......
  • Array方法总结(三)
    Array.prototype.slice()返回一个新的数组对象。从原数组的start和end(不包括end)索引范围内浅拷贝。slice(start,end)constfruits=["Banana","Orange","Lemon","Apple","Mango"];constcitrus=fruits.slice(1,3);//fruits包含['......
  • Array方法总结(一)
    Array.prototype.at()at(index) 传入一个整数值参数,返回该索引对应的元素。传入负整数从数组最后一个元素开始倒数。constarray=[10,8,2];console.log(array.at(-2));//8Array.prototype.concat()合并两个或多个数组。返回一个新数组。constarray1=[7,[1,......
  • 代码随想录算法训练营总结
    刷题收获:    通过算法训练营一刷,熟悉并上手实现了一些算法,代码能力得到了很大的提升,也对提高了Java的熟练度,为研究生阶段参加算法竞赛打下了不错的基础。    并且这种每日打卡的形式,能够强制性让自己每天看算法题,收获自然颇丰,也会有助手大佬帮我解决盯了四个......
  • 计算机填空知识点(3)完
    41.在Excel中,如果要对B1到B6的单元数据求平均值,可在B7单元格键入AVERAGE(B1:B6) 命令;如果是求和呢?SUM(B1:B6)。42.在Excel中,如果要对B1到B6的单元数据求最大值,可在B7单元格键入MAX(B1:B6) 命令;如果是求最小值呢?MIN(B1:B6) 。43.如果要对Excel中某一工作表中的数据进行分类......
  • 2024.3.29 模拟赛总结
    贤者之石T435273思路:一维线性DP,dp[i]表示以i结尾的最大值,dp[i]=max(1,dp[sqrt(i)]+1);琪露诺的位运算教室T435274思路:数论题,尝试打表,a[i][j]为i&j是否大于等于i^j。1000000000001100000000011000000000001111000000......
  • 5.Android(RecyclerView控件总结)
    先说很重要很重要的问题就是在使用RecyclerView控件的时候根据课本我们需要导入recyclerview-v7库但是会出现一堆问题因为使用的是androidstudio是最新版需要手动更改很多东西而最新整合的Androidx解决了这个问题参考https://blog.csdn.net/weixin_43977534/article/de......
  • 京东一面挂在了CAS算法的三大问题上,痛定思痛不做同一个知识点的小丑
    写在开头在介绍synchronized关键字时,我们提到了锁升级时所用到的CAS算法,那么今天我们就来好好学一学这个CAS算法。CAS算法对build哥来说,可谓是刻骨铭心,记得是研二去找实习的时候,当时对很多八股文的内容浅尝辄止,很多深奥的知识点只是知道个概念,源码看的也不深,代码量也不够,京东一......
  • Linux中远程连接Windows远程桌面(3389)相关命令总结
    在做Windows靶机时,一般靶机开放着3389端口,Linux中有很多工具,这里总结一下经常使用的,这里会使用到三个工具rdesktopxfreerdpremminardekstop在kali中自带这个命令,如果没有可以使用aptinstallrdesktop安装。常用的连接命令如下rdesktop-uhacker-p123456-rclipboar......
  • CTF题型 nodejs(2) Js沙盒vm&vm2逃逸原理总结&典型例题
    CTF题型nodejs(2)Js沙盒逃逸原理&典型例题文章目录CTF题型nodejs(2)Js沙盒逃逸原理&典型例题一.vm原理以及逃逸1.基本用法2.如何逃逸汇总1)this为对象2)this为null(Object.create(null))a.可用输出直接触发toString方法b.调用属性触发3)Object.create(null)+沙箱......