1、一个线程不能被多个线程等待,也就是说对一个线程只能调用一次pthread_join,否则只有一个能正确返回,其他的将返回ESRCH 错误。
2、c语言中#、##作为连接符只能在宏中使用
3、strerror(errno)发生错误时可以使用这个打印错误信息,以%s打印
4、iptables 命令有时候可能会执行不成功,最好添加-w参数。但是,加-w锁也不安全,所有地方加-w锁可能破坏调用顺序,调用顺序可能会随进程的唤醒时间变更,最好还是搞个iptables/ip6tables规则的线性FIFO调度器。
5、策略路由比所有路由的级别都高,其中包括直连路由。策略路由一般针对的是接口入(in)方向的数据包,但也可在启用相关配置的情况下对本地所发出的数据包也进行策略路由。
6、ip包头大小为20字节。mtu = DMAC(6bytes)+SMAC(6bytes)+Type(1bytes)+mss+CRC(或fcs)(4bytes)
7、PPPOE协议学习笔记
PADI
PADO
PADR
PADS
下面几个Configuration交互实现MRU和密码校验模式的协商
LCP(Configuration Request)
LCP(Configuration Ack)
服务器端发出配置请求(协商密码校验方式,CHAP还是PAP)
LCP(Configuration Request)
LCP(Configuration Ack)
如果是CHAP,服务器要发一个Challenge过来,然后客户这边用这个Challenge来加密密码,发给服务器进行校验;
CHAP Challenge
CHAP Response
如果是PAP,客户端直接发送账号和密码给服务器进行校验。
PAP(Authenticate-Request)
PAP(Authenticate-Ack)
客户端、服务器互相发
Echo Request
Echo Reply
8、在linux中,在内存映射时,物理地址页被标记为“保留的(reserved)”,表示内存管理对其不起作用。
9、