由于最近阅读Stevens的TCP/IP详解卷一,看到了介绍关于TCP同时开启的情况,下面介绍其具体过程。
首先,A向B发送SYN,同时B向A发送SYN报文。A和B收到报文后,向对方发送SYN+ACK,再收到对方发来的SYN+ACK后,将恢复一个ACK,此时连接建立。
实验截图如下:
查看其中Seq和Ack可以发现,每一端发送的SYN与SYN+ACK报文的Seq一样。
实验命令如下:
tc qdisc add dev lo root handle 1:0 netem delay 5ms #设置网卡发包间隔5ms
netcat -p 12345 127.0.0.1 54321 & netcat -p 54321 127.0.0.1 12345 & #建立连接