TCP/IP(三次握手和四次断开)与UDP
1. 初识:
通信我们已经学了一段时间了,不过最初接触的还是基于TCP/IP协议的通信。也就是,我们在传送数据之前,必须是双方建立了连接的,所以通常称它是面向连接的。我原来以为只要是一方发送出了数据,另一方就一定收的到。后来又来了个UDP,而且它还是不需要建立连接的,只要是知道了某一IP和端口号就可以发送数据了。但是它并不可靠,它只管发送,不管对方是否接受到甚至不管对方是否存在。但我还是不明白他们之间到底真正的区别是什么。
2. 书上介绍说TCP 是传输控制协议,是可靠的,面向连接的,但传输效率低。而UDP 是用户数据报协议,是不可靠的,无连接服务的,传输效率高。而且具体的区别主要在以下几个方面:
| TCP | UDP |
流量控制和窗口机制 | 是 | 否 |
面向连接 | 是 | 否 |
错误恢复 | 是 | 否 |
数据的分片和重组 | 是 | 否 |
数据的有序分发 | 是 | 否 |
通过端口号标识应用 | 是 | 是 |
3. TCP的三次握手和四次断开
这是TCP面向连接不得不谈到的经典
(ACK 确认序号有效。
SYN 同步序号用来发起一个连接。
FIN 发送端完成发送任务
Seq 一段序列号
)
确认序号为收到的序号加1
三次握手:
基本流程图可以用下图表示:
我记得我们曾经听过一个老师这样形容过:
某男生心仪一美女,于是向她表白(第一步),女方听后,想了想他的表现,考虑清楚后觉得还行,就答应了他(第二步),男生无比兴奋的说道,以后你就是我女朋友了啊!(第三步)
我个人觉得虽然不懂这其中具体的步骤是什么样的,但他这样讲感觉有个印象也好,后面有时间再多多了解。
四次断开:
三次握手可以那样理解,四次断开当然也就不难想象了。
原本的一对情侣,由于感情不和,女生对男生说:“我们分手吧!”(第一步)
男生一听,脾气就来了,说:“分手就分手”(第二步)。 过后越想越不对,怎么是你先提出分手啊?!我一个大老爷们被你甩?!太没面子了!应该是我提出分手才对啊!于是又对女生说“我们分手吧”!(第三步) 于是有了新恋情的女生很无语的说了句:“神经病!”(第四步)
基本流程图