Linux网络编程(一)—— TCP/UDP的区别与联系以及各自的使用场景

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


TCP向应用层提供可靠面向连接字节流传输服务。它能提供高可靠性能通信(即数据无误、数据无丢失、数据无失序、数据无重复到达)。

TCP特点

  • 面向连接
    使用TCP必须要先建立连接,建立连接之后双方的系统内核会为它们分配必要的资源,用来管理练连接的状态和传输的数据。在数据传输完成之后,涮坊需要关闭连接释放系统资源。
    TCP是全双工的(双方的读写操作可以在一条连接线上进行),并且是一对一的连接,所以需要广播或多播(目标是多个主机)的应用程序不能使用TCP服务,而是使用无连接的UDP服务。

  • 可靠地

    • TCP采用发送应答机制,即发送端发送的TCP报文段都必须得到接收方得回应才算发送成功;
    • TCP采用超时重传机制,即在发送端发送一段报文之后会启动定时器,在一段时间之后还没有得到接收端的回应,发送端会重新发送该段报文;
    • TCP报文最终都是以IP数据的形式发送的,IP数据到达的时候很有可能是重复或者乱序的,所以TCP模块还会对接收到的TCP报文段进行重排和整理,再交给应用程序。
  • 字节流
    TCP是字节流服务,对使用字节流服务的TCP的接收端和发送端都有缓冲区(内核空间中),当发送端 / 接收端,发送 / 接受一段数据,发送端 / 接收端可以将数据分为一段或几段,一次或者多次发出 / 读出。
    由此可以看出,TCP模块发出的TCP报文段的个

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值