TCP、UDP提供的运输服务


当软件开发者在因特网上开发一个应用时,首先要决定的是,选择UDP还是TCP。

1.TCP提供的服务

TCP提供的服务包括面向连接服务和可靠数据传输服务。当某个应用程序调用TCP作为其运输协议时,该应用程序就能获得TCP提供的这两种服务。

  • 面向连接的服务: 再应用层数据报文开始流动之前,TCP让客户和服务器互相交换运输层控制信息。这个所谓的握手过程提醒客户和服务器,让它们为大量分组的到来做准备。在握手阶段之后,一个TCP连接就在两个进程的套接字之间建立了。这条连接是全双工的,即连接双方的进程可以在此连接上同时收发报文。当应用程序结束报文发送时,必须拆除该连接。

  • 可靠的数据传输服务: 通信进程能够依靠TCP,无差错、按适当顺序交付所有发送的数据。当应用程序的一端将字节传进套接字时,它能够依靠TCP将相同的字节流交付给接收方的套接字,而没有字节的丢失和冗余。

  • TCP协议还具有拥塞控制机制,这种服务不一定通信进程带来直接好处,但能为因特网带来整体好处。当接收方和发送方之间的网络出现拥塞时,TCP拥塞控制会抑制发送进程。

2.UDP提供的服务

UDP是一种不提供不必要服务的轻量级运输协议,它仅能提供最小服务。UDP是无连接的,因此在两个进程通信之前没有握手阶段。UDP协议提供一种不可靠的数据传输服务,也就是说,当进程将一个报文发送进UDP套接字时,UDP协议并不保证该报文将到达接收进程。不仅如此,到达接收进程的报文也可能是乱序的。
UDP没有包括拥塞控制机制,所以UDP的发送端可以用它选定的任何速率向其下层注入数据。(然而,值得注意的是实际端到端的吞吐量可能小于该速率,这可能是因为中间的链路宽带受限或是因为拥塞而造成的)

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值