获得徽章 1
#青训营 x 字节后端训练营# 关于tcp性能优化,从三点入手,第一是优化三次握手,策略为调整syn重传次数,对半连接优化,加大连接队列长度,设置syncookie,对全连接优化,调整长度,设置重传,设置cookie绕过握手,第二是优化四次挥手,调整fin重传,调整fin2状态时,调整孤儿连接和timewait上限,复用c端timewait,第三是优化数据传输,调整滑动窗口和缓存大小,接受缓冲区动态调节,调整内存。
系统内核架构,四种基本能力?linux内核和win内核?
#青训营 x 字节后端训练营# 全连接可以通过设置backlog修改默认连接大小,半连接则要根据具体linux版本,修改参数,回顾,半连接中的syn攻击,Ddos攻击可以通过设置半连接大小,设置syncookie为1,以及减小sun ack重传次数防范。
系统中补码和浮点数原理?
#青训营 x 字节后端训练营# 对tcp包进行抓包分析后,发现一次简单的http连接,在挥手时,因为没有数据交互,所以第二次ack和第三次fin合并,所以可以三次挥手,为了保证请求包数据量过小就发送,会有一个nagle算法进行控制,其中有两个条件,而接收方响应包会有一个tcp延迟确认控制,即延长时间等待响应数据满足条件。
多核cpu缓存会有一个伪共享的性能问题,即变量在同一cache line内,有两种处理,一是对齐空间换性能,二是填充,中断有上下两个部分。
#青训营 x 字节后端训练营# tcp协议在传输机制上从四个点入手,一是重传机制,可能是syn丢,也可以是ack丢,都会触发,分别有超时,快速,SACK,D-SACK,超时机制要大于ttl,避免资源浪费,但效率不高,快速是多长发包可以确定哪个包丢,SACK可以判断ack包丢情况,D-sack则是网络延迟,判断重复包,二是滑动窗口,根据接收方指定,限制每次发送包大小,三是流量控制,由缓存控制,其中也有超时等处理,最后是拥塞控制cwnd,有四个阶段,慢启动,指数增长,拥塞避免,线性,拥塞发生,这里有两种,快速恢复。
系统缓存一致靠总线嗅探EMSI协议保证,这里也有四个状态互相转换。
#青训营 x 字节后端训练营# 再次加深tcp三次握手和四次挥手的理解,记录syn攻击,即持续发送syn请求给s端,撑满s端半连接队列,断开后续syn请求,预防手段?加大时间和连接,设置cookie,挥手期间,主动断开端有2个msl时间time wait,处理完后续请求,防止影响,被断开端有close wait。
#青训营 x 字节后端训练营# tcp三次握手,最主要是为了防止重复历史连接的初始化,然后是同步cs序列号,以及避免资源浪费,握手失败情况,第一次,c端收不到ack,会起重传,第二次,c端收不到ack发起重传,同时s端也收不到ack也会重传,第三次,c端已经建立连接,s端收不到ack,触发重传。
#青训营 x 字节后端训练营# websocket与socket是两个概念,websocket在经过tcp三次握手建立http连接后,向服务器发出更换websocket协议的请求头并传入一个随机串,服务器收到后会更换为websocket协议建立双全工通道,返回一个处理后的随机串,响应101状态码表示更换协议,客户端根据响应处理随机串对比,最后建立起websocket通信。
操作系统图灵机模型与冯诺依曼模型。
#青训营 x 字节后端训练营# 分布式锁有几种实现,一种是基于go的互斥锁(对性能影响很大),一种基于mysql本身的悲观锁(索引行锁串行化)和乐观锁(标识),一种是基于redis的分布式锁原子性操作setnx集群下宏锁的实现
#青训营 x 字节后端训练营# https协议在经过tcp三次握手之后,会建立四次ssl/tls握手,建立会话密钥,加密算法有两种rsa协商和ecdhe椭圆曲线加密,其中ecdhe加密具有前向加密,安全性更高,而且在第二次握手后,服务端会发送exchange进行加密通信,减少了一个rtt
#青训营 x 字节后端训练营# 今天使用了gin框架集成阿里的oss存储服务,配的很辛苦,知道了内网穿透这项技术。
下一页