TCP 建立连接 三次握手 ,断开连接四次握手
ack 每次+1& ack = (上个)seq+1
seq 第三次=seq第一次+1&seq第二次是新值
seq是序列号,这是为了连接以后传送数据用的,ack是对收到的数据包的确认,值是等待接收的数据包的序列号
第一次(A--->B),SYN=1,seq=x
第二次(B--->A),SYN=1,ACK=1,seq=y,ack=x+1 //
第三次(A--->B),ACK=1,seq=x+1,ack=y+1 //
在第一次消息发送中,A随机选取一个序列号作为自己的初始序号发送给B; 第二次消息B使用ack对A的数据包进行确认,因为已经收到了序列号为x的数据包,准备接收序列号为x+1的包,所以ack=x+1,同时B告诉A自己的初始序列号,就是seq=y; 第三条消息A告诉B收到了B的确认消息并准备建立连接,A自己此条消息的序列号是x+1,所以seq=x+1,而ack=y+1是表示A正准备接收B序列号为y+1的数据包。 seq是数据包本身的序列号;ack是期望对方继续发送的那个数据包的序列号。
建立连接 seq/ACK
第一次 X=0/确认序号
第二次 Y=0/(x+1=1)
第三次(x+1=1)/(y+1=1)
如下图:
断开连接 seq/ACK
第一次x=1/z=1
第二次 z=1/(X+1=2)
第三次Y=1/(x+1=2)
第四次(x+1=2)/(y+1=2)
网络三层: 表示层(usl)业务逻辑层(BLL)数据访问层(dal)
七层协议
应用层 smtp http | FTP Telent
表示层
会话层
传输层 TCP UDP
网络层 IP
链路层 arp 网卡 rarp
物理层 网线