udp只支持点对点通信(springboot udp点对点通信)

      最后更新:2022-11-25 02:20:12 手机定位技术交流文章

      计算机网络-运输层-用户数据报协议UDP

      用户数据报协议UDP只在IP的数据报服务之上增加的功能:复用和分用的功能以及差错检测的功能。 UDP的主要特点是:(1) UDP是无连接的 ,即发送数据之前不需要建立连接(当然,发送数据结束时也没有连接可释放),因此了开销和发送数据之前的时延。(2) UDP使用尽最大努力交付 ,即不保证可靠交付,因此主机不需要维持复杂的连接状态表(这里面有许多参数)。(3) UDP是面向报文的 。发送方的UDP对应用程序交下来的报文,在添加首部后就向下交付IP层。UDP对应用层交下来的报文,既不合并,也不拆分,而是保留这些报文的边界。这就是说,应用层交给UDP多长的报文,UDP就照样发送,即一次发送一个报文,如图5-4所示。在接收方的UDP,对IP层交上来的UDP用户数据报,在去除首部后就原封不动地交付上层的应用进程。也就是说,UDP一次交付一个完整的报文。因此,应用程序必须选择合适大小的报文,若报文太长,UDP把它交给IP层后,IP层在传送时可能要进行分片,这会降低IP层的效率。反之,若报文太短,UDP把它交给IP层后,会使IP数据报的首部的相对长度太大,这也降低了IP层的效率。(4)UDP没有拥塞控制,因此网络出现的拥塞不会使源主机的发送速率降低。这对某些实时应用是很重要的。很多的实时应用(如P电话、实时祝频会议等)要求源主机以恒定的速率发递数据,并且允许在网铬发生拥塞时丢失一些数据,但却不允许数据有太大的时延。UDP正好适合这种要求。(5)UDP支持一对一、一对多、多对一和多对多的交互通信.(6)UDP的首部开销小,只有8个字节,比TCP的20个字节的首部要短。(7)网络环境差的情况下,丢包严重。虽然某些实时应用需要使用没有拥塞控制的UDP,但当很多的源主机同时都向网络发送高速率的实时视领流时,网铬就有可能发生拥塞。结果大家都无法正常接收。因此,不使用拥塞控制功能的UDP有可能会引起网络产生严重的拥塞问题。还有一些使用UDP的实时应用,需要对UDP的不可靠的传输进行适当的改进,以减少数据的丢失。在这种情况下,应用进程本身可以在不影响应用的实时性的前提下,增加一些提高可靠性的措施,如采用前向纠错或重传己丢失的报文。用户数据报UDP有两个字段:数据字段和首部字段。首部字段很简单,只有8个字节(图5-5),由四个字段组成,每个字段的长度都是两个字节。各字段意义如下:(1)源端口   源端口号。在需要对方回信时选用。不需要时可用全0。(2)目的端口   目的端口号。这在终点交付报文时必须使用。(3)长度    UDP用户数据报的长度,其最小值是8(仅有首部)。(4)检验和    检测UDP用户数据报在传输中是否有错。有错就丢弃。伪首部的第3字段是全零;第4字段是P首部中的协议字段的值,对于 UDP协议字段值为17 ;第5字段是UDP用户数据报的长度。当运输层从IP层收到UDP数据报时,就根据首部中的目的端口,把UDP数据报通过相应的端口,上交最后的终点一应用进程。如果接收方UDP发现收到的报文中的目的端口号不正确(即不存在对应于该端口号的应用进程),就丢弃该报文,并由 网际控制报文协议ICMP发送“端口不可达”差错报文 给发送方。“ICMP的应用”中的traceroute时,就是让发送的UDP用户数据报故意使用一个非法的UDP端口,结果ICMP就返回“端口不可达”差错报文,因而达到了测试的目的。请注意,虽然在UDP之间的通信要用到其端口号,但由于UDP的通信是无连接的,因此不需要使用套接字(TCP之间的通信必须要在两个套接字之间建立连接)。UDP用户数据报首部中检验和的计算方法有些特殊。在计算检验和时,要在UDP用户数据报之前增加12个字节的伪首部。所谓“伪首部”是因为这种伪首部并不是UDP用户数据报真正的首部。只是在计算检验和时,临时添加在UDP用户数据报前面,得到一个临时的UDP用户数据报。检验和就是按照这个临时的UDP用户数据报来计算的。伪首部既不向下传送也不向上递交,而仅仅是为了计算检验和。UDP计算检验和的方法 和计算IP数据报首部检验和的方法相似。但不同的是:IP数据报的检验和只检验IP数据报的首部,但UDP的检验和是把首部和数据部分一起都检验。 在发送方 ,首先是先把全零放入检验和字段。再把伪首部以及UDP用户数据报看成是由许多16位的字串接起来的。若UDP用户数据报的数据部分不是偶数个字节,则要填入一个全零字节(但此字节不发送)。然后按二进制反码计算出这些16位字的和。将此和的二进制反码写入检验和字段后,就发送这样的UDP用户数据报。 在接收方 ,把收到的UDP用户数据报连同伪首部(以及可能的填充全零字节)一起,转为8位数二进制,然后按二进制反码求这些16位字的和。当无差错时其结果应为全1。否则就表明有差错出现,接收方就应丢弃这个UDP用户数据报(也可以上交给应用层,但附上出现了差错的警告)。 检验和 ,既检查了UDP用户数据报的源端口号和目的端口号以及UDP用户数据报的数据部分,又检查了IP数据报的源P地址和目的地址。 这里假定用户数据报的长度是15字节,因此要添加一个全0的字节。这种简单的差错检验方法的检错能力并不强,但它的好处是简单,处理起来较快。
      计算机网络-运输层-用户数据报协议UDP

      计算机网络

      应用层(数据):确定进程之间通信的性质以满足用户需要以及提供网络与用户应用表示层(数据):主要解决用户信息的语法表示问题,如加密解密会话层(数据):提供包括访问验证和会话管理在内的建立和维护应用之间通信的机制,如服务器验证用户登录便是由会话层完成的传输层(段):实现网络不同主机上用户进程之间的数据通信,可靠与不可靠的传输,传输层的错误检测,流量控制等网络层(包):提供逻辑地址(IP)、选路,数据从源端到目的端的传输数据链路层(帧):将上层数据封装成帧,用MAC地址访问媒介,错误检测与修正物理层(比特流):设备之间比特流的传输,物理接口,电气特性等IP 地址编址方案将IP地址空间划分为 A、B、C、D、E 五类,其中 A、B、C 是基本类,D、E 类作为多播和保留使用,为特殊地址。A 类地址:以 0 开头,第一个字节范围:0~127 。B 类地址:以 10 开头,第一个字节范围:128~191 。C 类地址:以 110 开头,第一个字节范围:192~223。D 类地址:以 1110 开头,第一个字节范围:224~239 。E 类地址:以 1111 开头,保留地址。物理地址(MAC 地址),是数据链路层和物理层使用的地址。IP 地址是网络层和以上各层使用的地址,是一种逻辑地址。其中 ARP 协议用于 IP 地址与物理地址的对应。网络层的 ARP 协议完成了 IP 地址与物理地址的映射。TCP(Transmission Control Protocol),传输控制协议,是一种面向连接的、可靠的、基于字节流的传输层通信协议。主要特点如下:FTP :定义了文件传输协议Telnet :它是一种用于远程登陆SMTP :定义了简单邮件传送协议POP3 :它是和 SMTP 对应,POP3 用于接收邮件HTTP :从 Web 服务器传输超文本到本地浏览器的传送协议。防止了服务器端的一直等待而浪费资源服务器端准备为每个请求创建一个链接,并向其发送确认报文,然后等待客户端进行确认后创建。如果此时客户端一直不确认,会造成 SYN 攻击,即SYN 攻击,英文为 SYN Flood ,是一种典型的 DoS/DDoS 攻击。TCP 协议是一种面向连接的、可靠的、基于字节流的运输层通信协议。TCP 是全双工模式,这就意味着:TIME_WAIT 表示收到了对方的FIN报文,并发送出了ACK报文,就等 2MSL后即可回到 CLOSED 可用状态了。如果 FIN_WAIT_1 状态下,收到了对方同时带FIN标志和ACK标志的报文时,可以直接进入到 TIME_WAIT 状态,而无须经过 FIN_WAIT_2 状态。如果不等,释放的端口可能会重连刚断开的服务器端口,这样依然存活在网络里的老的 TCP 报文可能与新 TCP 连接报文冲突,造成数据冲突,为避免此种情况,需要耐心等待网络老的 TCP 连接的活跃报文全部死翘翘,2MSL 时间可以满足这个需求(尽管非常保守)!建立连接后,两台主机就可以相互传输数据了。如下图所示:因为各种原因,TCP 数据包可能存在丢失的情况,TCP 会进行数据重传。如下图所示:TCP 协议操作是围绕滑动窗口 + 确认机制来进行的。滑动窗口协议,是传输层进行流控的一种措施,接收方通过通告发送方自己的窗口大小,从而控制发送方的发送速度,从而达到防止发送方发送速度过快而导致自己被淹没的目的。TCP 的滑动窗口解决了端到端的流量控制问题,允许接受方对传输进行限制,直到它拥有足够的缓冲空间来容纳更多的数据。计算机网络中的带宽、交换结点中的缓存及处理机等都是网络的资源。在某段时间,若对网络中某一资源的需求超过了该资源所能提供的可用部分,网络的性能就会变坏,这种情况就叫做拥塞。通过拥塞控制来解决。拥堵控制,就是防止过多的数据注入网络中,这样可以使网络中的路由器或链路不致过载。注意,拥塞控制和流量控制不同,前者是一个全局性的过程,而后者指点对点通信量的控制。拥塞控制的方法主要有以下四种:1)慢开始不要一开始就发送大量的数据,先探测一下网络的拥塞程度,也就是说由小到大逐渐增加拥塞窗口的大小。2)拥塞避免拥塞避免算法,让拥塞窗口缓慢增长,即每经过一个往返时间 RTT 就把发送方的拥塞窗口 cwnd 加 1 ,而不是加倍,这样拥塞窗口按线性规律缓慢增长。3)快重传快重传,要求接收方在收到一个失序的报文段后就立即发出重复确认(为的是使发送方及早知道有报文段没有到达对方),而不要等到自己发送数据时捎带确认。快重传算法规定,发送方只要一连收到三个重复确认,就应当立即重传对方尚未收到的报文段,而不必继续等待设置的重传计时器时间到期。4)快恢复快重传配合使用的还有快恢复算法,当发送方连续收到三个重复确认时,就执行“乘法减小”算法,把 ssthresh 门限减半。UDP(User Data Protocol,用户数据报协议),是与 TCP 相对应的协议。它是面向非连接的协议,它不与对方建立连接,而是直接就把数据包发送过去。主要特点如下:DNS :用于域名解析服务SNMP :简单网络管理协议TFTP:简单文件传输协议TCP 只支持点对点通信;UDP 支持一对一、一对多、多对一、多对多的通信模式。TCP 有拥塞控制机制;UDP 没有拥塞控制,适合媒体通信,对实时应用很有用,如 直播,实时视频会议等既使用 TCP 又使用 UDP 。HTTP 协议,是 Hyper Text Transfer Protocol(超文本传输协议)的缩写,是用于从万维网服务器传输超文本到本地浏览器的传送协议。主要特点如下:请求报文包含三部分:a、请求行:包含请求方法、URI、HTTP版本信息b、请求首部字段c、请求内容实体响应报文包含三部分:a、状态行:包含HTTP版本、状态码、状态码的原因短语b、响应首部字段c、响应内容实体GET: 对服务器资源的简单请求。POST: 用于发送包含用户提交数据的请求。HEAD:类似于 GET 请求,不过返回的响应中没有具体内容,用于获取报头。PUT:传说中请求文档的一个版本。DELETE:发出一个删除指定文档的请求。TRACE:发送一个请求副本,以跟踪其处理进程。OPTIONS:返回所有可用的方法,检查服务器支持哪些方法。CONNECT:用于 SSL 隧道的基于代理的请求。1.明文发送,内容可能被窃听2.不验证通信方的身份,因此可能遭遇伪装3.无法证明报文的完整性,可能被篡改综上所述:需要 IP 协议来连接网络,TCP 是一种允许我们安全传输数据的机制,使用 TCP 协议来传输数据的 HTTP 是 Web 服务器和客户端使用的特殊协议。HTTP 基于 TCP 协议,所以可以使用 Socket 去建立一个 TCP 连接。HTTPS ,实际就是在 TCP 层与 HTTP 层之间加入了 SSL/TLS 来为上层的安全保驾护航,主要用到对称加密、非对称加密、证书,等技术进行客户端与服务器的数据加密传输,最终达到保证整个通信的安全性。端口不同:HTTP 与 HTTPS 使用不同的连接方式,端口不一样,前者是 80,后者是 443。资源消耗:和 HTTP 通信相比,HTTPS 通信会由于加解密处理消耗更多的 CPU 和内存资源。开销:HTTPS 通信需要证书,而证书一般需要向认证机构申请免费或者付费购买。SSL 协议即用到了对称加密也用到了非对称加密1)客户端发起 https 请求(就是用户在浏览器里输入一个 https 网址,然后连接到 server的 443 端口)2)服务端的配置(采用 https 协议的服务器必须要有一套数字证书,可以自己制作,也可以向组织申请,这套证书就是一对公钥和私钥,这是非对称加密)。3)传输证书(这个证书就是公钥,只是包含了很多信息)4)客户端解析证书(由客户端 tls 完成,首先验证公钥是否有效,若发现异常,则弹出一个警示框,提示证书存在问题,若无问题,则生成一个随机值(对称加密的私钥),然后用证书对随机值进行加密)5)传输加密信息(这里传输的是加密后的随机值,目的是让服务端得到这个随机值,以后客户端和服务端的通信就可以通过这个随机值来进行加密了)6)服务端解密信息(服务端用私钥(非对称加密)解密后得到了客户端传来的随机值(对称加密的私钥),然后把通信内容通过该值(对称加密的私钥随机值)进行对称加密。所谓对称加密就是,将信息和私钥(对称加密的私钥)通过某种算法混在一起,这样除非知道私钥(对称加密的私钥),不然无法获取内容,而正好客户端和服务端都知道这个私钥(对称加密的私钥),所以只要加密算法够彪悍,私钥够复杂,数据就够安全)7)传输加密的信息8)客户端解密信息,用随机数(对称加密的私钥)来解。默认情况下建立 TCP 连接不会断开,只有在请求报头中声明 Connection: close 才会在请求完成后关闭连接。在 HTTP/1.0 中,一个服务器在发送完一个 HTTP 响应后,会断开 TCP 链接。但是这样每次请求都会重新建立和断开 TCP 连接,代价过大。所以虽然标准中没有设定,某些服务器对 Connection: keep-alive 的 Header 进行了支持。意思是说,完成这个 HTTP 请求之后,不要断开 HTTP 请求使用的 TCP 连接。这样的好处是连接可以被重新使用,之后发送 HTTP 请求的时候不需要重新建立 TCP 连接,以及如果维持连接,那么 SSL 的开销也可以避免.如果维持持久连接,一个 TCP 连接是可以发送多个 HTTP 请求的。HTTP/1.1 存在一个问题,单个 TCP 连接在同一时刻只能处理一个请求,在 HTTP/1.1 存在 Pipelining 技术可以完成这个多个请求同时发送,但是由于浏览器默认关闭,所以可以认为这是不可行的。在 HTTP2 中由于 Multiplexing 特点的存在,多个 HTTP 请求可以在同一个 TCP 连接中并行进行。TCP 连接有的时候会被浏览器和服务端维持一段时间。TCP 不需要重新建立,SSL 自然也会用之前的。有。Chrome 最多允许对同一个 Host 建立六个 TCP 连接。不同的浏览器有一些区别。如果图片都是 HTTPS 连接并且在同一个域名下,那么浏览器在 SSL 握手之后会和服务器商量能不能用 HTTP2,如果能的话就使用 Multiplexing 功能在这个连接上进行多路传输。不过也未必会所有挂在这个域名的资源都会使用一个 TCP 连接去获取,但是可以确定的是 Multiplexing 很可能会被用到。如果发现用不了 HTTP2 呢?或者用不了 HTTPS(现实中的 HTTP2 都是在 HTTPS 上实现的,所以也就是只能使用 HTTP/1.1)。那浏览器就会在一个 HOST 上建立多个 TCP 连接,连接数量的最大限制取决于浏览器设置,这些连接会在空闲的时候被浏览器用来发送新的请求,如果所有的连接都正在发送请求呢?那其他的请求就只能等等了
      计算机网络

      你觉得TCP协议和UDP协议有什么区别?

      TCP是提供IP环境下的数据可靠传输(一台计算机发出的字节流会无差错的发往网络上的其他计算机,而且计算机A接收数据包的时候,也会向计算机B回发数据包,这也会产生部分通信量),有效流控,全双工操作(数据在两个方向上能同时传递),多路复用服务,是面向连接,端到端的传输;面向连接:正式通信前必须要与对方建立连接。事先为所发送的数据开辟出连接好的通道,然后再进行数据发送,像打电话。TCP是Telnet(远程登录)、FTP(文件传输协议)、SMTP(简单邮件传输协议)。TCP用于传输数据量大,可靠性要求高的应用。UDP:面向非连接的(正式通信前不必与对方建立连接,不管对方状态就直接发送,像短信,QQ),不能提供可靠性、流控、差错恢复功能。UDP用于一次只传送少量数据,可靠性要求低、传输经济等应用。UDP支持的应用协议:NFS(网络文件系统)、SNMP(简单网络管理系统)、DNS(主域名称系统)、TFTP(通用文件传输协议)等。TCP是面向连接、传输可靠(保证数据正确性,保证数据顺序)、用于传输大量数据(流模式)、速度慢,建立连接需要开销较多(时间,系统资源)。UDP是面向非连接、传输不可靠、用于传输少量数据(数据包模式)、速度快。
      个人觉得区别挺大的,TCP面向连接(如打电话要先拨号建立连接);UDP是无连接的,即发送数据之前不需要建立连接。TCP提供可靠的服务。也就是说,通过TCP连接传送的数据,无差错,不丢失,不重复,且按序到达;UDP尽最大努力交付,即不保证可靠交付。
      我觉得TCP/IP偏重的是点对点的通信,使用时服务器和客户端的区别显而易见,而UDP则可以使用组播实现一对多,通信时更像一个群聊系统,几乎没有客户端和服务器的区别,在时间和空间上具有更高的节约性。使用组播时,确定一个D类地址作为组的地址,将本机加入组中,向组内发送消息,从组中接收消息。
      UDP具有较好的实时性,工作效率比TCP高,适用于对高速传输和实时性有较高的通信或广播通信。每一条TCP连接只能是点到点的;UDP支持一对一,一对多,多对一和多对多的交互通信。TCP对系统资源要求较多,UDP对系统资源要求较少。
      TCP/IP 和UDP最大的区别就是:TCP/IP是面向连接的,UDP是非面向连接的。通俗一点说就是:TCP/IP管发管到,UDP管发不管到。因此,在安全性方面来说,TCP/IP更具有优越性。
      你觉得TCP协议和UDP协议有什么区别?

      udp是点对点还是端对端

      udp是点对点还是端对端 UDP是点到点的协议
      udp是点对点还是端对端

      tcp与udp有什么区别?(

      其实你百度下,会将的很详细!
      TCP全称为Transmission Control Protocol,即传输控制协议;UDP全称为User Datagram Protocol,即用户数据报协议。两者区别在于以下几点:1、连接性TCP面向连接,也就是在发送和接收数据之前,必须和对方建立连接,也就是我们常说的用来建立连接的3次握手和负责断开连接的4次挥手;而UDP面向无连接,也就是不需要建立连接即可发送和接收数据。2、可靠性TCP提供可靠的服务,传输过程中可以确保连接可靠稳定,如编号确认、流量控制、计时器等,确保数据不丢失不出错。3、报文首部TCP报文首部有20个字节,额外开销大;UDP报文首部有8个字节,标题短开销小。4、报文结构TCP面向字节流,将应用层报文分解成多个TCP报文段进行传输,到底目的站后重新分配;UDP面向报文,不拆分报文,1次发送1个报文。5、吞吐量控制TCP拥塞控制、流量控制、重传机制、滑动窗口等机制保证传输质量,而UDP却没有。6、双工性TCP只能点对点全双工通信,UDP支持一对一、一对多、多对一、多对多的交互通信。
      tcp与udp有什么区别?(

      本文由 在线网速测试 整理编辑,转载请注明出处,原文链接:https://www.wangsu123.cn/news/46162.html

          热门文章

          文章分类