这是我参与「第三届青训营 -后端场」笔记创作活动的第2篇笔记
网络接入-互联网
网络接入-路由
- 同网段
- 在网段通信时,数据包中的地址就是源IP,目标IP,源MAC,目标MAC
- 同网段不一定接入了一个同物理逻辑交换机,有可能接入了软件定义网络的虚拟同网段
- SDN(软件定义网络) 其核心技术OpenFlow通过将网络设备的控制面与数据面分离开来,从而实现了网络流量的灵活控制,使网络作为管道变得更加智能,为核心网络及应用的创新提供了良好的平台。
- 跨网段
- 在局域网内部,首先将目标MAC设置为网关MAC,当网关MAC收到后,将目标MAC地址改成下一跳的MAC地址,不断跳跃,直到达到目标ip。
- ARP协议
- 同网段才能发送ARP,广播不能跨网段
- 主机发送信息时将包含目标IP地址的ARP请求广播到局域网络上的所有主机,并接收返回消息,以此确定目标的物理地址
- 请求时是广播,应答时是单播
- 免费ARP
- Gratuitous ARP,也称为“无故ARP”,在没有人问自己的情况下,无缘无故自问自答
- 免费ARP本质上是ARP报文
- 免费ARP数据链路层destinationMAC为广播地址
- 免费ARP的senderIP和targetIP一致,都是自己的IP地址
- 免费ARP响应也是可能有回复的
- ARP Probe可以看成免费ARP,虽然senderIP全0
- ARP代理
- 出现跨网段的ARP请求时,路由器将自己的MAC返回给发送ARP广播请求发送者,实现MAC地址代理(善意的欺骗),最终使得主机能够通信。
- 路由一定是对称的吗?
路由不一定是对称的,在网络中有多条路径可以选择
- 路由工作在哪一层协议?
- 网络层
- 路由是改的IP地址吗?
- 不是,是改mac地址,源IP地址和⽬标IP地址在传输过程中是不会变化的,只有源MAC和⽬标 MAC ⼀直在变化。 动态路由BGP/OSPF
IP协议
唯一标识,互联网通用。
- Mac地址为什么不能代替IP地址?
- 向下兼容的问题,通过ip地址统一了二层协议
- IP 地址是和地域相关,可以简化路由过程
- IP地址为什么不能代替MAC地址
- 因为 IP 地址是要设备上线以后,才能根据他进入了哪个子网来分配的,在设备还没有 IP 地址的时候(或者分配 IP 地址的过程中),我们还需要用 MAC 地址来区分不同的设备。
- ipv4不够用,一般怎么解决?
- NAT
- 多个内网客户端访问一个目标地址+端口,源端口恰好冲突了?
- ip+端口一起修改
- NAT
DNS
- 递归解析\
- 客户端发送www.douyin.com的解析请求
- 递归解析器去问“.”,com.去哪解析
- 递归解析器去问“com.”,douyin.com在哪 4. douyin.com告诉递归解,www.douyin.com解析到xxx
- 传输协议
- UDP协议
TCP协议
- 拔掉网线,连接会断吗
- 当在发送数据过程中拔掉网线,长时间未得到回应,会引发超时重传,当重传到一定次数后,连接就会中断。当不发送数据时,如果不触发keepalive retry timeout,连接一直存在。
- 三次握手
- 经典八股
- TCP传输
- 经典八股
- TIME_WAIT有啥用
当客户端收到服务器端的结束报文后,并没有直接进入CLOSED状态,而是进入TIME_WAIT状态。客户端连接要等待2MSL(Maximum Segment Life, 报文段最大生存时间)的时间,才能完全关闭,MSL是TCP报文段在网络中的最大生存时间,标准文档RFC 1122的建议值是2min。- 可靠的终止
TCP连接 - 保证让迟来的
TCP报文段有足够的时间被识别并丢弃
- 可靠的终止
- 丢包怎么办?
- 重传,经典八股
- 滑动窗口?
- 流量控制?
HTTP/HTTP1.1
- 为什么不直接用TCP通信?
HTTP依然时TCP,只是做了一层封装,使网络模型分层,有利于开发和实际使用。 - HTTP1.1做了哪些优化?
- 长连接
- 部分传输
- HOST
- 缓存
HTTPS
- 对称加密和非对称加密
对称加密和解密过程使用同一个密钥;
非对称加密中加密和解密采用公钥和私钥两个密钥,一般使用公钥进行加密,使用私钥进行解密。 - 密钥的合法性认真
通过第三方CA实现认证,实现非对称加密 - SSL/TLS握手