TCP/UDP协议

1、UDP协议

(1)UDP 介绍

UDP 协议全称是用户数据报协议,在网络中它与TCP协议一样用于处理数据包,是一种无连接的协议。

选择 UDP 必须要谨慎,在网络质量令人十分不满意的环境下,UDP协议数据包丢失会比较严重。但是由于UDP的特性: 它不属于连接型协议,因而具有资源消耗小,处理速度快的优点。所以通常音频、视频和普通数据在传送时使用 UDP 较多,因为它们即使偶尔丢失一两个数据包,也不会对接收结果产生太大影响。

(2)UDP的特点

1)udp 协议是用户数据报协议
2)udp 发送数据不需要建立连接
3)udp 不能保证数据的准确性和有效性
4)udp 只能发送少量数据,每个数据包最大64kb
5)udp 适合做广播、视频通话,广播地址:255.255.255.255,qq 视频用 udp
6)udp 主要用在广播和视频传输等方面,其他方面多数都是用 tcp 协议

2、TCP协议

(1)TCP介绍

TCP协议,传输控制协议(Transmission Control Protocol,缩写为 TCP)是一种面向连接的、可靠的、基于字节流的传输层通信协议,由IETF的RFC 793定义。
TCP通信需要经过创建连接、数据传送、终止连接三个步骤。
TCP通信模型中,在通信开始之前,一定要先建立相关的链接,才能发送数据,类似于生活中,“打电话”"。

(2)TCP的特点

面向连接

通信双方必须先建立连接才能进行数据的传输,间接验证对方 ip 地址的有效性。双方都必须为该连接分配必要的系统内核资源,以管理连接的状态和连接上的传输。

双方间的数据传输都可以通过这一个连接进行。
完成数据交换后,双方必须断开此连接,以释放系统资源。
这种连接是一对一的,因此TCP不适用于广播的应用程序,基于广播的应用程序请使用UDP协议。

可靠传输

1)TCP采用发送应答机制
TCP发送的每个报文段都必须得到接收方的应答才认为这个TCP报文段传输成功
2)超时重传
发送端发出一个报文段之后就启动定时器,如果在定时时间内没有收到应答就重新发送这个报文段。

TCP为了保证不发生丢包,就给每个包一个序号,同时序号也保证了传送到接收端实体的包的按序接收。然后接收端实体对已成功收到的包发回一个相应的确认(ACK);如果发送端实体在合理的往返时延(RTT)内未收到确认,那么对应的数据包就被假设为已丢失将会被进行重传。
3)错误校验
TCP用一个校验和函数来检验数据是否有错误;在发送和接收时都要计算校验和。

如果接收的数据包序号发送了错乱,tcp会自动进行排序,保证数据的有序性,数据包如果重复会删除重复的数据包。
4)流量控制和阻塞管理
流量控制,数据发送时可能会在网卡缓存区达到一定的上限,对方不会一直发送数据,需要等待接收方开始接收数据的时候,等待没有达到上限的时候再次让对方发送数据,保证数据在网卡缓存区不会超出,用来避免主机发送得过快而使接收方来不及完全收下。

3、TCP相较于UDP的不同点

(1)tcp 是面向连接的,发送之前需要建立连接,间接验证对方 ip 地址的有效性。udp 直接发送数据,不需要建立连接。
(2)tcp 有应答机制,收到数据底层会进行回复,udp 收到数据不会自动回复。
(3)tcp 能够保证数据的准确性和有效性,udp 保证不了。
(4)tcp 有超时重传,udp 没有。
(5)tcp 有错误校验,udp 没有。
(6)tcp 有流量控制和阻塞管理,udp 没有
(7)tcp 需要建立连接、需要额外的系统资源,而udp 不需要建立连接,不需要额外的系统资源,udp 比 tcp 要节省资源。
(8)tcp 的传输速度没有 udp 的传输速度快,因为 udp 不需要建立连接,直接就发送数据。
(9)tcp 不适合做广播,udp 适合做广播。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值