TCP和UDP

作者: 撑船的摆渡人 | 来源:发表于2019-02-22 18:19 被阅读0次

    什么是TCP
    传输控制协议,提供的是面向连接、可靠的字节流服务。当客户和服务器彼此交换数据前,必须先在双方之间建立一个TCP连接,之后才能传输数据。TCP提供超时重发,丢弃重复数据,检验数据,流量控制等功能,保证数据能从一端传到另一端。
    什么是UDP
    用户数据报协议,是一个简单的面向数据报的运输层协议。UDP不提供可靠性,它只是把应用程序传给IP层的数据报发送出去,但是并不能保证它们能到达目的地。由于UDP在传输数据报前不用在客户和服务器之间建立一个连接,且没有超时重发机制,故而传输速度很快。
    现在在Internet上流行的协议是TCP/IP协议,该协议中对低于1024的端口都有确切的定义,他们对应着Internet上一些常见的服务。这些常见的服务可以分为使用TCP端口(面向连接)和使用UDP端口(面向无连接)两种。
    "连接"和"无连接"的含义
    它们的关系可以形象地比喻成打电话和写信。两个人如果要通话,首先要建立连接——即打电话时的拨号,等待相应后——即接听电话后,才能互相传递信息,最后还要断开连接——即挂断电话。写信就比较简单了,填写好收信人的地址后将将信投入邮筒,收信人就可以收到了。
    从这个分析可以看出,建立连接可以在通信的双方建立一个传递信息的通道,在发送方发送请求连接信息接到方相应后,由于是在接受方响应后才开始传递信息,而且是在一个通道中传送,因此接受方能比较完整地收到发送方发出的信息,即信息传递的可靠性比较高。
    但也正是因为需要建立连接,使资源开销加大(在建立连接前必须等待接受方响应,传输信息过程中必须确认信息是否传到及断开连接时发出响应的信号等),独占一个通道,在断开连接前不能建立另一个连接,即两个人在通话过程中第三方不能打入电话。
    而无连接是一开始就发送信息(严格来说,这是没有开始、结束的),只是一次性的传递,事先不需要接受方的响应,因而在一定程度上也无法保证信息传递的可靠性了,就像写信一样,我们只是寄出去,却不能保证收信人一定可以收到。

    相关文章

      网友评论

          本文标题:TCP和UDP

          本文链接:https://www.haomeiwen.com/subject/ckgeyqtx.html