建立连接(三次握手)

TCP传输
第一步,A端的TCP首先向B端的TCP发送一个特殊的TCP报文段SYN(SYN置1,ACK置0),此报文段中的SYN标志被置为1,同时初始化一个起始序号0;
第二步,B端收到A端发送的SYN报文段,会为该TCP连接分配TCP缓存和变量,并向A端回复一个允许连接的报文段SYN、ACK(SYN、ACK段都置1),B也初始化一个序号0,ACKnumber=A的起始序号+1(即0+1);(注意ACK和ACKnumber不同)
第三步,A端在收到允许连接的报文段之后,A端也要给该连接分配缓存和变量,然后向B端发送另一个报文段(只有ACK段置1,SYN是0),此时序号是1,ACKnumber=B的序号+1(即0+1),用于对B端允许连接的SYN ACK报文段进行确认。
TCP连接成功。

断开连接(四次断开)

TCP传输
第一步,断开方(设为A)发送一个FIN报文(FIN位置1,***位P)给另一方(设为B);
第二步,B收到A发送的ACK报文,将ACKnumber置为P+1;
第三步,依旧是B发送给A,发送一个FIN报文,***置为Q;
第四步,A收到之后,发送一个ACK报文给B,其中ACKnumber置为Q+1。
TCP连接拆除。

可以看成A和B之间的连接是双向的,
第一步其实就是A跟B说,我要和你断开连接,
第二步是B说“好的,我收到了”,然后A——>B的连接断开了,
第三步B跟A说,我要和你断开连接,
第四步A说“好的,我收到了”,然后B——>A的连接断开了。

TCP特点:

1、面向连接的传输;
2、端到端的通信,每一条TCP连接只能有两个端点;
3、高可靠性,确保传输数据的正确性,不出现丢失or乱序;
4、全双工方式传输;
5、面向字节流,采用字节流方式,即以字节为单位传输字节序列;
6、紧急数据传送功能。
注意:TCP是一条虚连接而不是一条实际存在的物理链路。

TCP和UDP的区别:

1、TCP面向连接,UDP面向非连接;
2、TCP传输速度慢,UDP传输速度快;
3、TCP保证数据顺序,UDP不保证;
4、TCP保证数据正确性,UDP可能丢包;
5、TCP对系统资源要求多,UDP要求少。

TCP拓展:

TCP有种机制是慢联结机制,发现带宽链路比较拥挤时,TCP就会启动这种机制,在带宽比较低是,会将自己的连接往下调。所以在同一带宽中同时又UDP、TCP的话,TCP会比较吃亏。

相关文章:

  • 2021-05-11
  • 2021-04-09
  • 2021-08-14
  • 2021-12-21
  • 2021-10-30
  • 2021-08-23
猜你喜欢
  • 2021-08-17
  • 2021-09-01
  • 2022-02-23
  • 2022-12-23
相关资源
相似解决方案