四.DHCP协议
1. 如何获得IP地址
(1)静态配置:硬编码
·手动配置IP地址、子网掩码、默认网关
·手动配置DNS服务器名称及IP地址
(2)动态配置:动态主机配置协议(DHCP)
·从服务器动态获取参数,即插即用
·允许地址重用、在用地址续租
·支持移动用户加入网络
2. DHCP协议
(1)主机广播DHCP discover(发现报文)
(2)DHCP服务器利用DHCP offer(提供报文)进行响应
(3)主机请求IP地址:DHCP request(请求报文)
(4)DHCP服务器分配IP地址:DHCP ack(确认报文)
(5)工作过程示例
(6)在应用层的实现
·请求报文封装到UDP数据包中
·IP广播 -> 链路层广播(如以太网)
·DHCP服务器构造ACK报文:包括分配给客户的IP地址、子网掩码、默认网关、DNS服务器地址
五.NAT
1. 网络地址转换场景
2. 动机
(1)只需/只能从ISP申请一个IP地址(IPv4地址耗尽)
(2)本地网络设备IP地址的变更,无需通告外界网络
(3)变更ISP时无需修改内部网络设备IP地址
(4)内部网络设备对外界网络不可见,即不可直接寻址,保证安全
3. 实现(16-bit端口号字段可以同时支持60000+并行连接)
(1)替换:利用NAT IP地址和新端口号替换外出IP数据报的源IP地址和源端口号
(2)记录:将替换信息存储到NAT转换表中
(3)替换:根据NAT转换表,将进入内网的IP数据报替换回源IP地址和源端口号
4. 争议
(1)路由器应该只处理第三层功能
(2)违背端到端通信原则,应用开发者必须考虑到NAT的存在(如P2P)
(3)地址短缺问题应该由IPv6来解决
5. NAT穿透问题:客户不能直接利用内网地址访问服务器,NAT是唯一对外可见的地址
(1)静态配置NAT,将特定端口的连接请求转发给服务器
(2)利用UPnP互联网网关设备协议自动配置
·学习到NAT公共IP地址
·在NAT转换表中,增删端口映射
(3)中继(如Skype):NAT内/外部的客户与中继服务器建立连接,中继服务器桥接两个连接的分组
原文地址:https://www.cnblogs.com/zhangyushuqing/p/9827598.html