美文网首页
MoocFirstDay

MoocFirstDay

作者: WirdomK | 来源:发表于2019-03-16 22:12 被阅读0次

1、扯淡

2、网络知识

OSI七层协议:

物理层:数据是bite流

数据链路层:将bite数据组成帧

网络层:(路由器)IP协议

传输层:传输协议、流量控制    TCP协议、UDP协议

会话层:建立和管理应用程序之间的通信

表示层:

应用层:HTTP协议

TCP/IP是OSI的实现

概念模型(4层):应用层(1、2、3),传输层、网络层、链路层(6、7)

3、TCP三次握手

TCP(传输控制协议)

IP是无连接的协议

TCP Flags:

URG:紧急指针标志(为1表示紧急指针有效)

ACK:确认序号标志(为1表示有效,为0表示报文中不含确认信息)

PSH:push标志

RST:重置连接标志

SYN:同步序号、用于建立连接过程(在连接过程中SYN=1和ACK=0表示数据段没有使用捎带的确认域)

FIN:finish标志,用于释放连接(为1表示没有数据再发送关闭连接)

4、TCP三次握手建立一个连接

(抓包软件Wireshark)

第一次握手:建立连接时,客户端发送SYN包[SYN=k]到服务器,并进入SYN_SEND状态,等待服务器确认

第二次握手:服务器收到SYN包,必须确认客户的SYN[ack=j+1],同时自己也发送一个SYN包[syn=k],即SYN+ACK包,此时服务器进入SYN_RECV状态

第三次握手:客户端收到服务器的SYN+ACK包,向服务器发送确认包ACK[ack=k+1],此包发送完毕,客户端和服务器进入ESTABLISHED状态,完成三次握手

为什么需要三次握手?

为了初始化Sequence Number的初始值

5、TCP的四次挥手即终止连接

有客户端主动关闭,发送关闭报文

第一次挥手:客户端A发送一个FIN,用来关闭客户A到服务器B的数据传送。

第二次挥手:服务器B收到这个FIN,它发回一个ACK,确认序号为收到的序号加1。和SYN一样,一个FIN将占用一个序号。

第三次挥手:服务器B关闭与客户端A的连接,发送一个FIN给客户端A。

第四次挥手:客户端A发回ACK报文确认,并将确认序号设置为收到序号加1。

为什么会有TIME_WAIT(Client中的状态)状态?

确保有足够的时间让对方收到ACK包

避免新旧连接混淆

为什么许哟啊四次挥手此案端口连接?

因为全双工,发送方和接收方都需要FIN报文和ACK报文(双方各挥手两次)

相关文章

  • MoocFirstDay

    1、扯淡 2、网络知识 OSI七层协议: 物理层:数据是bite流 数据链路层:将bite数据组成帧 网络层:(路...

网友评论

      本文标题:MoocFirstDay

      本文链接:https://www.haomeiwen.com/subject/gouemqtx.html