UDP和TCP

在现有的网络中,网络通讯的方式主要有两种:

TCP(传输控制协议)方式

UDP(用户数据报协议)方式

TCP通讯协议

定义:Transmission Control Protocol,即传输控制协议,是一种传输层通信协议

特点:面向连接、面向字节流,全双工通道,可靠

  1).面向连接:指的是要使用TCP传输数据,必须先建立TCP连接,传输完成后释放连接,就像打电话一样必须先拨号建立一条连接,打完后挂机释放连接。

  2).全双工通信:即一旦建立了TCP连接,通信双方可以在任何时候都能发送数据。

  3).可靠的:指的是通过TCP连接传送的数据,无差错,不丢失,不重复,并且按序到达。

  4).面向字节流:流,指的是流入到进程或从进程流出的字符序列。简单来说,虽然有时候要传输数据流太大,TCP报文长度有限制,不能一次传输完,要把它分为好几个数据块,但是由于可靠性保证,接收方可以按顺序接收数据块然后重新组成分块之前的数据流,所以TCP看起来就像直接互相传输字节流一样,面向字节流。

TCP建立连接

必须进行三次握手,断开连接要进行四次挥手。

三次握手是为了防止服务器端因为接收了早已失效的连接请求从而一直等待客户端请求,从而浪费资源

四次挥手为了保证双方都能通知对方“需要释放连接”,即在释放连接后都无法接收或发送消息给对方

UDP通讯协议

UDP(User Data Protocol,用户数据报协议)

1、UDP是一个非连接的协议,传输数据之前源端和终端不建立连接,当它想传送时就简单地去抓取来自应用程序的数据,并尽可能快地把它扔到网络上。在发送端,UDP传送数据的速度仅仅是受应用程序生成数据的速度、计算机的能力和传输带宽的限制;在接收端,UDP把每个消息段放在队列中,应用程序每次从队列中读一个消息段。

2.由于传输数据不建立连接,因此也就不需要维护连接状态,包括收发状态等,因此一台服务机可同时向多个客户机传输相同的消息。

3.UDP信息包的标题很短,只有8个字节,相对于TCP的20个字节信息包的额外开销很小。

4.吞吐量不受拥挤控制算法的调节,只受应用软件生成数据的速率、传输带宽、源端和终端主机性能的限制。

5.UDP使用尽最大努力交付,即不保证可靠交付,因此主机不需要维持复杂的链接状态表(这里面有许多参数)。

6.UDP是面向报文的。发送方的UDP对应用程序交下来的报文,在添加首部后就向下交付给IP层。既不拆分,也不合并,而是保留这些报文的边界,因此,应用程序需要选择合适的报文大小。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 传输层提供的服务 传输层的功能 从通信和信息处理的角度看 ,传输层向它上面的应用层提供通信服务,它属于面向通信部分...
    CodeKing2017阅读 3,703评论 1 9
  • 1.这篇文章不是本人原创的,只是个人为了对这部分知识做一个整理和系统的输出而编辑成的,在此郑重地向本文所引用文章的...
    SOMCENT阅读 13,158评论 6 174
  • 1、TCP为什么需要3次握手,4次断开? “三次握手”的目的是“为了防止已失效的连接请求报文段突然又传送到了服务端...
    杰伦哎呦哎呦阅读 3,551评论 0 6
  • 个人认为,Goodboy1881先生的TCP /IP 协议详解学习博客系列博客是一部非常精彩的学习笔记,这虽然只是...
    贰零壹柒_fc10阅读 5,107评论 0 8
  • 一、概述 TCP(传输控制协议)和UDP(用户数据报协议)是网络体系结构TCP/IP模型中传输层一层中的两个不同的...
    小叶大孟阅读 712评论 0 1