TCP协议和UDP协议基础介绍

TCP协议和UDP协议区别

标签(空格分隔): TCP,udp服务器


TCP的三次握手

TCP被称为可靠的数据传输协议,主要是经过许多机制来实现的其中最主要的就是三次握手的功能,固然,TCP传送数据的机制很是复杂,有兴趣的朋友请自行参考相关的网络书籍,那么如何利用TCP的包头来确认这个数据包已经被对方接收,并进一步对方的主机实现链接?咱们以图说明:网络

image.png-318.4kB

在上边的数据包链接的过程当中,必须通过三次确认的动做,因此这种链接方式也被称为三次握手(Tree-way handshake)那么咱们将上边的步骤分为:A,B,C,D四个阶段来讲明;tcp

  • A:数据包发起:
  • B:数据包接受也确认数据包传输:
  • C:回送确认数据包:
  • D:取得最后的确认:
    若一切顺利,就能创建真正的链接了;
    也就是说你必须了解“网络是双向的”这个事实,因此不管是客户端仍是服务端都必须经过一次SYN和ACK来创建链接,因此总共进行三次交谈!在设定的防火墙或者是追踪网络链接的问题时,这个“双向”的概念是最容易忽略的,并且经常致使没法成功链接的问题;
  • 以下例子模拟三次握手:
    有人问:***你在吗?
    回答:在的,你在吗?
    对方回答:在的
    此时两我的确认彼此均可以听到对方的时候,就能够创建可靠的链接了;

无链接的UDP的协议:

UDP的全称是即:用户数据报协议,UDP和TCP不同,UDP不提供可靠的传输模式,由于它不是面向链接的机制,这是由于在UDP的传送过程当中,接收端在接收导数据包以后,不会回复响应数据包(ACK)给发送端,因此数据包并不像TCP有较为严密的检查机制;blog

TCP的数据包确实是比较可靠的,由于经过三次握手,不过,也因为三次握手的缘故,TCP数据包的传输速度会很是的慢,至于UDP数据包因为不须要确认对方是否正确的收到数据,故报头数据较少,因此UDP就能够在data 处填充更多的数据,同时UDP比较适合须要实施反映一些数据流,例如影向实时传输软件等等,就能够实用这类的数据包传输,也就是UDP的传输并不考虑链接要求,链接终止与流量控制等特性,因此适合的场景是:当数据的正确性要求不是很重要的时候,例如:网络摄影机;cli

另外的不少的软件提供了TCP和UDP的传输协议的,举例来讲,查看主机的名字DNS服务就同时提供了TCP和UDP协议,因为UDP较为快速,因此咱们的client端能够先使用UDP来与服务器链接,可是当使用UDP链接却仍是没法取得正确的数据时,便转换为较为可靠的TCP协议来传输了,这样能够同时兼顾快速和可靠的传输;软件

  • :例子:上课的时候老师一直讲不少的东西,无论同窗听不听他都一直讲,也不须要学生的响应,就一直讲,这就是UDP协议
相关文章
相关标签/搜索