TCP/IP协议

TCP/IP协议层(分为四层):

  应用层

  传输层

    TCP传输:需要双方都建立连接;

    UDP传输:无需建立连接,例如在线视频/DNS等;

  网络层:IP

  链路层:例如路由器等;

 

TCP三次握手:

  第一次握手:客户端发送请求建立连接(客户端将标志位 SYN 置为 1,随机产生一个值 seq=J,并将该数据包发送给服务器端,客户端进入 SYN_SENT 状态,等待服务器端确认)

  第二次握手:服务端确认应答,并请求建立连接(服务器端收到数据包后由标志位 SYN=1 知道客户端请求建立连接,服务器端将标志位 SYN 和 ACK 都置为 1,ack=J+1,随机产生一个值 seq=K,并将该数据包发送给客户端以确认连接请求,服务器端进入 SYN_RCVD状态)

  第三次握手:客户端针对服务端的连接确认应答(客户端收到确认后,检查 ack 是否为 J+1,ACK 是否为 1,如果正确则将标志位 ACK 置为 1,ack=K+1,并将该数据包发送给服务器端,服务器端检查 ack 是否为 K+1,ACK 是否为 1,如果正确则连接建立成功,客户端和服务器端进入 ESTABLISHED 状态,完成三次握手)

  三次握手漏洞(SYN宏范攻击):客户端发送不存在的IP,同时服务端会保存半连接队列(小于10个)过多会导致服务端卡死
  处理方案:1:无效链接监控释放。2:延缓TCB分配方法,3:开启防火墙

 

TCP四次挥手:

  第一次:客户端发送关闭请求

  第二次:服务端响应客户端关闭请求

  第三次:服务端发送关闭请求

  第四次:客户端发送确认关闭请求

  TCP为什么要四次挥手?:TCP是双全工(客户端和服务端可以相互发送和接受请求)所以需要双方都确认关闭连接

 

TCP/IP中的数据包(在各层中的描述)
  :全能性术语
  :数据在链路层中包的单位(链路层)
  :IP中数据的单位(网络层)
  :TCP数据流中的信息(传输层)
  消息:用户发送的消息信息(应用层)

 

TCP通信原理:
  Socket套接字(计算机网络通信约定):主机的IP地址加上主机端口号套接
  TCP连接:请求主机IP端口和客户机IP端口 两个套接字对组成TCP连接
  TCP缓冲区:每个TPC的Socket的内核中都有一个发送缓冲区和一个接受缓冲区

 

TCP的可靠性和高效性:
  可靠性:TCPZ中通过序列号和确认应答提高可靠性(请求发送的序列号和应答序列号需要相同,如果丢失则请求重发)
  高效性:TPC协议中的滑动窗口机制:(TCP内部确认,内部调整大小)
  滑动窗口:发送方和接收方都会维护一个数据帧的序列,这个序列称之为窗口。窗口大小由接收方确认保证数据不会丢失(如果丢失可以重发)控制发送速度(避免接收方缓存不够导致溢出,同时控制流量也可以避免网络拥塞)

 

TCP连接是  无状态 单向性的  是一种虚拟连接

 

posted @ 2020-05-26 15:22  明有  阅读(156)  评论(0)    收藏  举报