TCP 与 UDP 的区别
1、TCP 面向连接(如打电话要先拨号建立连接);UDP 是无连接的,即发送数据之前不需要建立连接 2、TCP 提供可靠的服务。也就是说,通过 TCP 连接传送的数据,无差错,不丢失,不重复,且按序到达;UDP 尽最大努力交付,即不保证可靠交付 3、TCP 面向字节流,实际上是 TCP 把数据看成一连串无结构的字节流;UDP 是面向报文的 UDP 没有拥塞控制,因此网络出现拥塞不会使源主机的发送速率降低(对实时应用很有用,如 IP 电话,实时视频会议等) 4、每一条 TCP 连接只能是点到点的;UDP 支持一对一,一对多,多对一和多对多的交互通信 5、TCP 首部开销 20 字节;UDP 的首部开销小,只有 8 个字节 6、TCP 的逻辑通信信道是全双工的可靠信道,UDP 则是不可靠信道
TCP/IP 协议
TCP/IP 协议是一个协议簇。里面包括很多协议的,UDP 只是其中的一个, 之所以命名为 TCP/IP 协议,因为 TCP、IP 协议是两个很重要的协议,就用他两命名了。
TCP/IP 协议集包括应用层,传输层,网络层,网络
其中应用层包括: 1、超文本传输协议(HTTP):万维网的基本协议; 2、文件传输(TFTP 简单文件传输协议); 3、远程登录(Telnet),提供远程访问其它主机功能, 它允许用户登录 internet 主机,并在这台主机上执行命令; 4、网络管理(SNMP 简单网络管理协议),该协议提供了监控网络设备的方法, 以及配置管理,统计信息收集,性能管理及安全管理等; 5、域名系统(DNS),该系统用于在 internet 中将域名及其公共广播的网络节点转换成 IP 地址。
其次网络层包括: 1、Internet 协议(IP); 2、Internet 控制信息协议(ICMP); 3、地址解析协议(ARP); 4、反向地址解析协议(RARP)。
TCP 与 UDP 连接区别
TCP(或传输控制协议) 和 UDP(或用户数据协议)
TCP 与 UDP 的主要区别在于 UDP 不一定提供可靠的数据传输. 许多程序将使用单独的 TCP 连接和单独的 UDP 连接。重要的状态信息随可靠的 TCP 连接发送,而主数据流通过 UDP 发送。
TCP 在数据包接收无序、丢失或在交付期间被破坏时,负责数据恢复。它通过为其发送的每个数据包提供一个序号来完成此恢复。为确保正确地接收数据,TCP 要求在目标计算机成功收到数据时发回一个确认(即 ACK)。如果在某个时限内未收到相应的 ACK,将重新传送数据包。如果网络拥塞,这种重新传送将导致发送的数据包重复。
TCP 协议和 UDP 协议 TCP (传输控制协议)是面向连接的协议,也就是说,在收发数据前, 必须和对方建立可靠的连接. 一个 TCP 连接必须要经过三次 "对话"才能建立起来,其中的过程非常复杂.
第一次握手:主机 A 通过向主机 B 发送一个含有同步序列号的标志位的数据段给主机 B,向主机 B 请求建立连接,通过这个数据段, 主机 A 告诉主机 B 两件事:我想要和你通信;你可以用哪个序列号作为起始数据段来回应我。
第二次握手:主机 B 收到主机 A 的请求后,用一个带有确认应答(ACK)和同步序列号(SYN)标志位的数据段响应主机 A,也告诉主机 A 两件事:我已经收到你的请求了,你可以传输数据了;你要用那个序列号作为起始数据段来回应我
第三次握手:主机 A 收到这个数据段后,再发送一个确认应答,确认已收到主机 B 的数据段:"我已收到回复,我现在要开始传输实际数据了,这样 3 次握手就完成了,主机 A 和主机 B 就可以传输数据了。
TCP 建立连接要进行 3 次握手,而断开连接要进行 4 次
第一次: 当主机 A 完成数据传输后,将控制位 FIN 置 1,提出停止 TCP 连接的请求 ;
第二次: 主机 B 收到 FIN 后对其作出响应,确认这一方向上的 TCP 连接将关闭,将 ACK 置 1;
第三次: 由 B 端再提出反方向的关闭请求,将 FIN 置 1 ;
第四次: 主机 A 对主机 B 的请求进行确认,将 ACK 置 1,双方向的关闭结束.。
解析名词:
1、ACK 是 TCP 报头的控制位之一,对数据进行确认。确认由目的端发出, 用它来告诉发送端这个序列号之前的数据段都收到了。 比如确认号为 X,则表示前 X-1 个数据段都收到了,只有当 ACK=1 时,确认号才有效,当 ACK=0 时,确认号无效,这时会要求重传数据,保证数据的完整性。
2、SYN 同步序列号,TCP 建立连接时将这个位置 1。
3、FIN 发送端完成发送任务位,当 TCP 完成数据传输需要断开时,,提出断开连接的一方将这位置
TCP 流量控制、拥塞控制
为了避免流量控制引发的死锁,TCP 使用了持续计时器。每当发送者收到一个零窗口的应答后就启动该计时器。时间一到便主动发送报文询问接收者的窗口大小。若接收者仍然返回零窗口,则重置该计时器继续等待;若窗口不为 0,则表示应答报文丢失了,此时重置发送窗口后开始发送,这样就避免了死锁的产生。
拥塞控制和流量控制的区别
拥塞控制:拥塞控制是作用于网络的,它是防止过多的数据注入到网络中,避免出现网络负载过大的情况;常用的方法就是: ( 1 )慢开始、拥塞避免 ( 2 )快重传、快恢复。
流量控制:流量控制是作用于接收者的,它是控制发送者的发送速度从而使接收者来得及接收,防止分组丢失的。
两者的具体应用场景
TCP 应用场景
当对网络通信质量有要求时,比如:整个数据要准确无误的传递给对方,这往往对于一些要求可靠的应用,比如 HTTP,HTTPS,FTP 等传输文件的协议,POP,SMTP 等邮件的传输协议。常见使用 TCP 协议的应用: 1.浏览器使用的:HTTP 2.FlashFXP:FTP 3.Outlook:POP,SMTP 4.QQ 文件传输
UDP 文件传输协议
对当前网络通讯质量要求不高的时候,要求网络通讯速度尽量的快,这时就使用 UDP 日常生活中常见使用 UDP 协议: 1.QQ 语音 2.QQ 视频 3.TFTP
最后更新于
这有帮助吗?