TCP和UDP的区别

目录

一、TCP协议

        特点:

二、UDP

        特点:

三、总结


一、TCP协议

                TCP(Transmission Control Protocol),传输控制协议。是面向连接,可靠的传输层通信协议。

        特点:

  1. 面向连接的协议。在传输数据之前必须先建立发送端和接收端的连接,而且连接只能是一对一的。

  2. 可靠。因为是基于连接的,所以TCP相对来说比较可靠,他确保数据是否完整被接收端收到。

  3. 以报文段为单位进行数据传输。因为基于报文段来传输数据,所以数据大小不受限制。

  4. 面向字节流。TCP把应用层传输过来的报文以字节流来处理,将字节流组织成大小不等的报文段。

  5. 性能差。因为每次传输都需要建立连接,所以消耗的资源多,传输效率低。

  6. TCP首部最少20字节。20字节的固定首部和可变长度的其他选项。

     

  7. TCP的应用场景:
    因为TCP是基于连接的,保证数据的可靠性,所以经常用于:
    1.FTP文件传输。
    2.HTTP/HTTPS
    ...

  8. TCP编程的一般步骤:
    客户端:
      1、创建一个socket,用函数socket(); 
      2、设置socket属性,用函数setsockopt();* 可选 
      3、绑定IP地址、端口等信息到socket上,用函数bind();* 可选 
      4、设置要连接的对方的IP地址和端口等属性; 
      5、连接服务器,用函数connect(); 
      6、收发数据,用函数send()和recv(),或者read()和write(); 
      7、关闭网络连接;
    服务器:
      1、创建一个socket,用函数socket(); 
      2、设置socket属性,用函数setsockopt(); * 可选 
      3、绑定IP地址、端口等信息到socket上,用函数bind(); 
      4、开启监听,用函数listen(); 
      5、接收客户端上来的连接,用函数accept(); 
      6、收发数据,用函数send()和recv(),或者read()和write(); 
      7、关闭网络连接; 
      8、关闭监听;

二、UDP

                UDP(User Datagram Protocol),用户数据包协议。面向无连接的通信协议。

        特点:

  1. 面向无连接的通信协议。接收或者发送数据不需要建立连接,随时可发送,通信模式可以为一对一、一对多或者多对多。

  2. 不可靠。因为UDP传输数据无连接,所以不能保证数据传输的可靠性。

  3. 以数据包为单位进行数据传输。UDP不再是以报文段为单位来传输数据,而是以数据包为单位进行传输,所以传输的数据大小收到包的限制。

  4. 性能高。因为基于无连接且以数据包为单位发送数据,所以消耗的资源少,传输效率高。

  5. UDP首部只有8个字节。(也是性能高的原因之一)

  6. UDP的应用场景
    因为UDP基于无连接,随时发送数据,简单高效,所以经常用于:
    1.包总量较少的通信(DNS、SNMP等)
    2.视频音频等多媒体通信。
    3.被限定于LAN等特定网络中的通信
    4.广播通信
    ...

  7. UDP编程的一般步骤:
    客户端:
      1、创建一个socket,用函数socket(); 
      2、设置socket属性,用函数setsockopt();* 可选 
      3、绑定IP地址、端口等信息到socket上,用函数bind();* 可选 
      4、设置对方的IP地址和端口等属性; 
      5、发送数据,用函数sendto(); 
      6、关闭网络连接;
    服务器:
      1、创建一个socket,用函数socket(); 
      2、设置socket属性,用函数setsockopt();* 可选 
      3、绑定IP地址、端口等信息到socket上,用函数bind(); 
      4、循环接收数据,用函数recvfrom(); 
      5、关闭网络连接;

三、总结

                TCPheUDP的区别总结为以下几点:

TCPUDP
面向有连接面向无连接
一对一传输

一对一

一对多

多对多传输

可靠不可靠
以报文段为单位进行数据传输以数据包为单位进行数据传输
消耗资源多消耗资源少
效率低效率高
首部至少20字节首部只有8个字节

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值