2021/8/18
两道困难
亿联一面+复盘
学习了下dhcp协议的工作原理和动态库静态库的原理制作优劣。
-
静态库是预先加载到可执行文件去的,所以执行起来快、发布程序无需提供静态库,移植方便;
-
但是也因为如此,所以他耗费内存资源、更新、部署比较麻烦。
-
动态库,可以实现进程间资源共享(共享库):只加载一次到内存中;
-
更新、部署、发布简单
-
可以控制何时加载动态库
-
加载速度相比较而言较慢,发布程序时需要依赖的动态库。
-
可执行文件大小不一样;
-
动态库需要动态库的绝对路径,需要设置环境变量或者配置文件。通过动态载入器进行:先后搜索elf文件的 DT_RPATH段 ——> 环境变量
LD_LIBRARY_PATH ——> /etc/ld.so.cache文件列表 ——> /lib/,/usr/lib
目录找到库文件后将其载入内存。
-
DHCP协议会为主机配置主机ip、网关、DNS服务器地址、子网掩码、NAT地址等。
-
c/s模式,采用udp协议
-
为一台新加入网络的主机分配步骤:
-
主要涉及到4个dhcp请求报文类型:DHCP发现报文、DHCP响应报文、DHCP请求报文、DHCP ACK报文;报文结构如下,除部分字段取值不同。
-
-
租约更新时间:0.5(1/2)和0.875(7/8);默认租约长为8天。在0.5的时候会向给他分配的DHCP服务器发送一个DHCP Request数据包以请求更新租约;但有可能因为网络或者其他原因,导致未能重新更新,那么在7/8的时候又会发送一次。
做了小米测评