udp通信:TCP和UDP通信的方式有何不同。分别用在什

 2021-07-14 4:15    77  

TCP的可靠保证,是它的三次握手机制,这一机制保证校验了数据,保证了可靠性udp通信。而UDP就没有了,所以不可靠。不过UDP的因此传输速率高了,而且UDP的反应速度更快。

TCP在数据传输之前必须首先建立一条链路,这样保证数据包一定可以收到,但是建立链路需要一定的时间udp通信。

UDP则不需要首先建立链路,将数据放到UDP数据包后就不管了,他根据ip地址自行寻找路径到目的地,这个过程中如果出现问题,那么数据就会被丢掉,这样数据就是不可靠的,如果要数据可靠则需要在软件上增加检测udp通信。重传功能。

TCP主要使用在数据比较重要的场合。

UDP数据则使用在数据不太重要的场合,或者底层链路比较安全的场合

电脑上一般用的是TCP/IP,UDP容易受到病毒和黑客的攻击

对GPRS DTU的参数配置问题

如果比较UDP包和TCP包的结构,很明显UDP包不具备TCP包复杂的可靠性与控制机制。与TCP协议相同,UDP的源端口数和目的端口数也都支持一台主机上的多个应用。一个16位的UDP包包含了一个字节长的头部和数据的长度,校验码域使其可以进行整体校验。(许多应用只支持UDP,如:多媒体数据流,不产生任何额外的数据,即使知道有破坏的包也不进行重发。)

很明显,当数据传输的性能必须让位于数据传输的完整性、可控制性和可靠性时,TCP协议是当然的选择。当强调传输性能而不是传输的完整性时,如:音频和多媒体应用,UDP是最好的选择。在数据传输时间很短,以至于此前的连接过程成为整个流量主体的情况下,UDP也是一个好的选择,如:DNS交换。把SNMP建立在UDP上的部分原因是设计者认为当发生网络阻塞时,UDP较低的开销使其有更好的机会去传送管理数据。

楼主说的是TCP和UDP吧,TCP是面向连接的一个可靠的传输协议,由于传输需要握手协议所以产生的流量稍微多些,UDP是不连接的不可靠传输协议,他的传输方式是广播形式,只管发,不管对方收不收得到。产生的数据流量小些,楼主可以根据需求进行选择。请访问北京东方讯公司网站获取资料了解更多详情,-h

秒懂系列!图解TCP/UDP原理

udp通信:TCP和UDP通信的方式有何不同。分别用在什么地方?

udp通信:TCP和UDP通信的方式有何不同。分别用在什么地方?

引言:TCP UDP在OSI的七层模型,属于传输层,在通信行业,在软件开发行业,都是必须熟知的,那我们怎么去了解这两个呢。TCP和UDPTCP和UDP是传输层的两个重要的协议

udp通信:TCP和UDP通信的方式有何不同。分别用在什么地方?

TCP(Transmission Control Protocol) 传输控制协议

udp通信:TCP和UDP通信的方式有何不同。分别用在什么地方?

UDP(User Datagram Protocol)用户数据报协议

udp通信:TCP和UDP通信的方式有何不同。分别用在什么地方?

TCP的主要特点:

udp通信:TCP和UDP通信的方式有何不同。分别用在什么地方?

面向连接每一条TCP连接只能是点对点的(一对一)提供可靠交付的服务提供全双工通信面向字节流UDP的主要特点:

udp通信:TCP和UDP通信的方式有何不同。分别用在什么地方?

无连接尽最大努力交付面向报文无拥塞控制支持一对一、一对多、多对一和多对多的交互通信首部开销小(只有4个字段:源端口、目的端口、长度、检验和)TCP进行拥塞控制的算法有4种:

慢开始(slow-start)、拥塞避免(congestion avoidance)、快重传(fast retransmit)、快恢复(fast recovery)

TCP 传送的数据单位协议是 TCP 报文段(segment)。

UDP 传送的数据单位协议是 UDP 报文或用户数据报。

TCP 不提供广播或多播服务。

UDP的首部格式:

源端口:2个字节目的端口:2个字节长度:2个字节检验和:2个字节

什么是端口硬件端口与软件端口

在协议栈层间的抽象的协议端口是软件端口。

路由器或交换机上的端口是硬件端口。

硬件端口是不同硬件设备进行交互的接口,

而软件端口是应用层的各种协议进程与运输实体进行层间交互的一种地址。

两个计算机中的进程要互相通信,不仅必须知道对方的 IP 地址(为了找到对方的计算机),

而且还要知道对方的端口号(为了找到对方计算机中的应用进程)。

服务器端使用的端口号

熟知端口,数值一般为 0~1023。

登记端口号,数值为 1024~49151,为没有熟知端口号的应用程序使用的。使用这个范围的端口号必须在 IANA 登记,以防止重复。

客户端使用的端口号

又称为短暂端口号,数值为 49152~65535,留给客户进程选择暂时使用。

常见熟知端口:

FTP(File Transfer Protocol)文件传输协议 :21

TELNET远程终端协议:23

SMTP(Simple Mail Transfer Protocol)简单邮件传送协议:25

DNS(Domain Name System)域名系统:53

TFTP(Trivial File Transfer Protocol)简单文件传送协议:69

Transfer Protocol)超文本传送协议:80

SNMP(Simple Network Management)简单网络管理协议:161

SNMP(trap):162

TCP UDP的通信方式虽然在 UDP 之间的通信要用到其端口号,但由于 UDP 的通信是无连接的,因此不需要使用套接字。

TCP 连接的端点不是主机,不是主机的IP 地址,不是应用进程,也不是运输层的协议端口。TCP 连接的端点叫做套接字 (socket) 或插口。

每一条 TCP 连接唯一地被通信两端的两个端点(即两个套接字)所确定。

TCP 连接 ::= {socket1, socket2} = {(IP1: port1),(IP2: port2)}

可靠传输的工作原理:停止等待协议连续ARQ协议1)“停止等待”

就是每发送完一个分组就停止发送,等待对方的确认。在收到确认后再发送下一个分组。

出现差错的情况:

在接收方 B 会出现两种情况:

B 接收 M1 时检测出了差错,就丢弃 M1,其他什么也不做(不通知 A 收到有差错的分组)。M1 在传输过程中丢失了,这时 B 当然什么都不知道,也什么都不做。在这两种情况下,B 都不会发送任何信息。如何保证 B 正确收到了 M1 呢?

解决方法:超时重传

A 为每一个已发送的分组都设置了一个超时计时器。

A 只要在超时计时器到期之前收到了相应的确认,就撤销该超时计时器,继续发送下一个分组 M2 。

自动重传请求 ARQ (Automatic Repeat reQuest)。意思是重传的请求是自动进行的,接收方不需要请求发送方重传某个出错的分组。

2) 连续ARQ协议:

发送方维持的发送窗口,它的意义是:位于发送窗口内的分组都可连续发送出去,而不需要等待对方的确认。这样,信道利用率就提高了。

连续 ARQ 协议规定,发送方每收到一个确认,就把发送窗口向前滑动一个分组的位置。

TCP运输连接建立:

TCP 是面向连接的协议。

运输连接有三个阶段:

连接建立数据传送连接释放TCP 建立连接的过程叫做三报文握手

A 的 TCP 向 B 发出连接请求报文段,其首部中的同步位 SYN = 1,并选择序号 seq = x,表明传送数据时的第一个数据字节的序号是 x。B 的 TCP 收到连接请求报文段后,如同意,则 发回确认。B 在确认报文段中应使 SYN = 1,使 ACK = 1,其确认号ack = x + 1,自己选择的序号 seq = y。A 收到此报文段后向 B 给出确认,其 ACK = 1, 确认号 ack = y +1。A 的 TCP 通知上层应用进程,连接已经建立。B 的 TCP 收到主机 A 的确认后,也通知其上层应用进程:TCP 连接已经建立。数据传输结束后,通信的双方都可释放连接。

TCP 连接释放过程是四报文握手。

数据传输结束后,通信的双方都可释放连接。 现在 A 的应用进程先向其 TCP 发出连接释放报文段,并停止再发送数据,主动关闭 TCP 连接。 A 把连接释放报文段首部的 FIN = 1,其序号 seq = u,等待 B 的确认。B 发出确认,确认号 ack = u +1,而这个报文段自己的序号 seq = v。TCP 服务器进程通知高层应用进程。从 A 到 B 这个方向的连接就释放了,TCP 连接处于半关闭状态。B 若发送数据,A 仍要接收。若 B 已经没有要向 A 发送的数据, 其应用进程就通知 TCP 释放连接。

本文标签:原理图解系列

原文链接:https://www.xgfox.com/kfbc/880.html

本文版权:如无特别标注,本站文章均为原创。