linux网络编程-网络编程基础知识
1. 网络分层模型
2. 以太网帧格式(链路层)
3.IP数据报格式
4. UDP数据报格式
5.TCP数据报格式
注意点:
1>TCP/IP五层协议通常数据链路层+物理层也被合称为链路层/网络接口层
2>应用层数据传输过程中传输层、网络层、链路层对数据的封装不是在应用程序中完成,而是由操作系统完成的
3>ARP、RARP协议主要用于在链路层获取下一跳(下一个路由)mac地址
4>NAT映射:公网IP根据端口号不同映射多个内网IP
5>打洞机制主要用于私网IP对私网IP通信(p2p),因为路由本身为防止网络肆意攻击,对陌生IP访问有保护机制;所谓打洞就是打破这种保护机制
6>以太网最大传输协议单元1500(MTU)