TCP/IP协议群做了哪些事情?
报文拆分、增加协议头、数据传输、路由和寻址、数据重组
IPv4和Ipv6的区别:
地址不同(Ipv4 32位、Ipv6 128位)-> 地址空间、数目不同
地址分配不同(IPv4资源是稀缺的,分配需要竞争;IPv6可以给每个人分配很多地址)
寻址方式不同:IPv4通过子网掩码计算网络地址;IPv6有固定的计算方式划分网络。
地址解析策略不同(IPv4需要ARP,IPv6通过无状态的邻居发现)
DNS不同(IPv4是A记录,IPv6是AAAA记录)
TCP和UDP的区别:
面向流 vs 面向报文
会话 vs 无会话
头(大 vs 小)
TCP保证正确性(可靠性),UDP不保证
UDP实现广播成本低
为什么需要保证:TCP拆分封包的时候是顺序拆分的,但是包会无序的到达目的地。
方法:利用(SEQ, ACK)编号确定封包的唯一性 。利用滑动窗口存放没有排好序的封包,直到窗口中完全有序才发送ACK。如果有包丢失,就会一直不发ACK。
LRU是什么?
缓存置换:缓存满了后,每次创建新的缓存条目,就会删除旧的缓存条目。
NIO有什么优势?
Reactive模型+非阻塞(减少线程切换)
内核级别拷贝内存到JVM(减少系统调用)
缓冲区增加数据处理的灵活性(clear/flip等操作)
处理I/O场景有明显性能优势
一次DNS查询最快和最慢差距有多大?
最快命中本地浏览器缓存
最慢需要到服务商(ISP)-> Root服务器 -> 顶级域名服务器 -> 权威服务器 链路很长
DNS是分级缓存策略,每级缓存都非常强大
HTTP keep-alive和http2.0的多路复用有什么区别?
keep-alive : 复用TCP连接发送请求,节省了握手时间,本质还是串行。
http2.0 多路复用: 数据被打散成为小块,本质是并行。
强制缓存和协商缓存的区别:
强制缓存强制执行,强制缓存不需要再发送请求给服务端。
协商缓存需要发送请求给服务端验数据版本,如果有新版本的数据就需要重新下发数据,如果没有就返回304 Not Modified。
网络题目练习
最新推荐文章于 2024-07-31 19:30:44 发布