• tcp 建立连接三次握手


    众所周知,tcp是安全的,可靠的,但是为什么呢。要理解这一点,首先先了解tcp的建立连接的原理。

    三次握手


    1. 第一次握手:由客户端向服务器发送请求,SYN 表示请求连接,seq是序列号(随机选取)。
    2. 第二次握手:由服务器对数据包进行确认,因为已经收到了A发过来的请求序列号,所以确认ack=x+1,同时客户端告诉B自己的序列号也就是seq=y。
    3. 第三次握手:由客户端告诉服务器准备建立连接,A此条消息的序列号是x+1,所以seq=x+1,而ack=y+1是表示准备客户端准备接受服务器序列号为y+1的数据包

              到这一步数据就建立连接完成。

    1. seq是数据包本身的序列号
    2. SYN表示建立连接
    3. ACK是期望对方继续发送的那个包的系列号
    4. PSH表示有数据传输
    5. RST表示连接重置
    6. FIN表示关闭连接

      环冗余校验(CRC):首先把检验和字段置为0。然后,对首部中每个16bit 进行二进制反码求和(整个首部看成是由一串16bit的字组成),结果存在检验和字段中。当收到一份IP数据报后,同样对首部中每个16bit进行二进制反码的 求和 , 那么如果说在传输过程中出现任何错误,接收方在计算发送方的校验和时所得到的结果为1,同上,如果长度超出,那就是出现错误了,同样为1 。

          所以,说tcp安全是有这么几次的累加和校验,和循环冗余校验(CRC),可靠表现在ACK确认机制。


  • 相关阅读:
    (转)HTTP、TCP和HTTPS
    使用覆盖索引优化like查询
    Laravel 源码解析(一)
    redis 缓存策略注意的问题总结
    laravel 监听mysql操作 生成时间
    CommonJS, AMD, CMD 笔记
    php json_encode小数精度丢失的问题
    Python通过pandas操作excel常用功能
    Vmware 虚拟化技术
    磁盘中的esp分区与msr分区
  • 原文地址:https://www.cnblogs.com/lwqstyle/p/8352763.html
Copyright © 2020-2023  润新知