UN1L5-3——TCP和UDP
UN1L5-3——TCP和UDP
TCP/IP协议中的重要协议
-
应用层协议
- HTTP协议:超文本传输协议
- HTTPS协议:加密的超文本传输协议
- FTP协议:文件传输协议
- DNS:域名系统
-
传输层协议
- TCP协议:传输控制协议
- UDP协议:用户数据报协议
-
网络层协议
- IP协议

TCP:传输控制协议、UDP:用户数据报协议,他们的区别:

- TCP: 更可靠,保证数据的正确性和有序性(三次握手四次挥手) 适合对信息准确性要求高,效率要求较低的使用场景
比如:游戏开发,文件传输,远程登录等等 - UDP: 更效率,传输更快,资源消耗更少 适合对实时性要求高的使用场景
比如:直播,即时通讯,游戏开发等等
TCP协议
TCP(Transmission Control Protocol,传输控制协议)是面向连接的协议,也就是说,在收发数据前,必须和对方建立可靠的连接
并且在消息传送过程中是有顺序的,并且是不会丢包(丢弃消息)的,如果某一条消息在传送过程中失败了,会重新发送消息,直到成功
它的特点是:
- 面向连接 —— 两者之间必须建立可靠的连接
- 一对一 —— 只能是1对1的建立连接
- 可靠性高 —— 消息传送失败会重新发送,不允许丢包
- 有序的 —— 是按照顺序进行消息发送
TCP协议中有一个重要概念:三次握手,四次挥手
-
三次握手建立连接
-
第一次握手(C—>S)
TCP连接请求,告诉服务器我要和你建立连接
-
第二次握手(S—>C)
TCP授予连接,告诉客户端准了,来吧
-
第三次握手(C—>S)
TCP确认连接,告诉服务器,来就来

-
-
四次挥手断开连接
-
第一次挥手(C—>S)
告诉服务器我数据发完了,你如果还有消息就快发完
-
第二次挥手(S—>C)
告诉客户端我知道了,请继续等待我的消息
-
第三次挥手(S—>C)
告诉客户端消息发完了,你可以正式断开连接了
-
第四次挥手(C—>S)
告诉服务器我等一会如果没有收到你回复我就断开了

-
TCP有了这三次握手,四次挥手的规则,可以提供可靠的服务,通过TCP连接传送的数据,可以做到无差错、不丢失、不重复、且按顺序到达
它让服务器和客户端之间的数据传递变得更加的可靠
UDP协议
UDP(User Datagram Protocol,用户数据报协议),是一种无需建立连接就可以发送封装的IP数据包的方法,提供面向事务的简单不可靠信息传送服务
它的特点是:
- 无连接 —— 两者之间无需建立连接
- 可靠性低 —— 消息可能在传送过程中丢失,丢失后不会重发
- 传输效率高 —— 由于它的可靠性低并且也无需建立连接,所以传输效率上更高一些
- n对n —— TCP只能1对1连接进行消息传递,而UDP由于无连接所以可以n对n
UDP协议不像TCP协议需要建立连接有三次握手和四次挥手,当使用UDP协议发送信息时,会直接把信息数据扔到网络上,
所以也就造成了UDP的不可靠性,信息在这个传递过程中是有可能丢失的
虽然UDP是一个不靠谱的协议,但是由于它不需要建立连接,也不会像TCP协议那样携带更多的信息,
所以它具有更好的传输效率,它具有资源消耗小,处理速度快的特点

