计算机网络笔记No.18

DHCP协议与网络地址转换

    • DHCP协议
    • 网络地址转换——NAT

DHCP协议

一台主机如何获得IP地址呢?一般有两种方法:

1、 硬编码——静态配置
2、 动态主机配置协议-DHCP

静态配置一般是在自己主机的网络属性页下配置,设置自己的网络以及子网掩码和默认网关

计算机网络笔记No.18_第1张图片

DHCP协议特点:

  • 从服务器动态获取:IP地址、子网掩码、默认网关地址、DNS服务器名称与IP地址
  • “即插即用”
  • 允许地址重用
  • 支持在用地址续租
  • 支持移动用户加入网络

DHCP协议流程:
主机广播 “DHCP discover” (发现报文)
DHCP服务器利用 “DHCP offer”进行响应 (提供报文)
主机请求IP地址: “DHCP request”(请求报文)
DHCP服务器分配IP地址: “DHCP ack” (确认报文)

DHCP工作过程示例:
在请求阶段客户机仍然是广播发送,因为可能有不止一个服务器会响应,这样做可以通知其他服务器收回分配的IP提供给其他客户
计算机网络笔记No.18_第2张图片

网络地址转换——NAT

  • 产生的 动机
    只需/能从ISP申请一个IP地址——IPv4地址耗尽
    本地网络设备IP地址的变更,无需通告外界网络
    变更ISP时,无需修改内部网络设备IP地址
    内部网络设备对外界网络不可见,即不可直接寻址(安全)

  • 如何实现?
    替换——记录——替换

  1. 替换:利用(NAT IP地址,新端口号)替换每个外出IP数据报的(源IP地址,源端口号)
  2. 记录:将每对(NAT IP地址, 新端口号) 与(源IP地址, 源端口号)的替换信息存储到NAT转换表中
  3. 替换:根据NAT转换表,利用(源IP地址, 源端口号)替换每个进入内网IP数据报的(目的IP地址,目的端口号), 即(NAT IP地址, 新端口号)

例程:
计算机网络笔记No.18_第3张图片

  • NAT 采用16位端口号字段,可支持将一个IP转换为60000多个并行连接

  • NAT的主要争议
    路由器应该只处理第3层功能——突破了层次结构的限制
    违背端到端通信原则——应用开发者必须考虑到NAT的存在,e.g., P2P应用
    地址短缺问题应该由IPv6来解决

  • NAT穿透问题
    客户期望连接内网地址为10.0.0.1的服务器

    • 然而客户不能直接利用地址10.0.0.1直接访问服务器
    • 对外唯一可见的地址是NAT地址: 138.76.29.7

解决方案1: 静态配置NAT,将特定端口的连接请求转发给服务器
e.g., (138.76.29.7, 2500) 总是转发给(10.0.0.1, 25000)

解决方案2: 利用UPnP(Universal Plug and Play) 互联网网关设备协议 (IGD-Internet Gateway Device )
自动配置:
学习到NAT公共IP地址(138.76.29.7)
在NAT转换表中,增删端口映射

解决方案3: 中继(如Skype)
NAT内部的客户与中继服务器建立连接
外部客户也与中继服务器建立连接
中继服务器桥接两个连接的分组

计算机网络笔记No.18_第4张图片

————————————————————————————————————————————————————————

由于水平有限及时间仓促或疏忽大意以及其他的一些原因,文中难免会存在一些错误,如若有发现不正确的地方,还请大佬们评论或私信告之于我,以便及时纠错

你可能感兴趣的:(计算机网络学习笔记)