网络知识总结

作者: ropon 分类: 经验分享 发布时间: 2020-05-27 13:55

OSI七层模型


  • 应用层 (具体应用 http ftp等协议)
  • 表示层 (相互转换编码 高级语言<=>机器码)
  • 会话层 (分流 是否通过网络转发出去)
  • 传输层 (端口PORT(0-65535 16位2进制 0-1023 系统占用) 协议TCP(慢可靠性高) UDP(简单快可靠性差))
  • 网络层 (网络地址 IP IP数据包 最大65535字节)
  • 数据链路层 (mac地址 48位二进制 12位16进制 解读电信号0 1 同一局域网 广播方式 发送)
  • 物理层 (传送0和1的电信号)

TCP建立链接


  • A向B发送SYN(i)同步包
  • B向A回复ACK(i+1)确认包并发送SYN(k)同步包
  • A向B回复ACK(k+1)确认包
    链接建立成功 三次握手

TCP断开链接


  • A向B发送FIN(i)释放包
  • B向A回复ACK(i+1)确认包
    A不再向B发送数据 若B也不再向A发送数据
  • B向A发送FIN(k)释放包
  • A向B回复ACK(k+1)确认包
    链接断开成功 四次挥手

TCP 11种状态


  • CLOSED 初始状态 表示tcp连接关注着或未打开
  • LISTEN 服务端启动socket处于监听状态 等待客户端连接
  • SYN_RCVD 服务器接收客户端请求发来SYN报文
  • SYN-SENT 客户端已发送SYN报文
  • ESTABLISHED TCP连接已成功建立
  • FIN_WAIT_1 等待对方发来FIN报文
  • FIN_WAIT_2 等待对方发来FIN报文
  • TIME_WAIT 收到了对方的FIN报文并发送ACK报文
  • CLOSING 一方发送FIN报文后,并没有收到对方的ACK报文,反而却也收到了对方的FIN报文
  • CLOSE_WAIT 发送FIN报文给自己 应该回应一个ACK报文给对方
  • LAST_ACK 当被动关闭的一方在发送FIN报文后,等待对方的ACK报文的时候

如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!