DHCP协议
- 主机如何获得IP地址
- 静态配置
- 默认网关:这个子网的数据报要离开这个子网的时候,应该把它送到路由器哪个接口进行转发。
- 这个路由器的这个接口的ip就成了这个子网的所有的主机的默认网关。如果有其他的路由器也可以连接到外部网络那么可以有多个默认网关可选。
- 默认域名服务器:应该把域名解析发送给哪个服务器
- 动态地址配置:动态主机配置协议:dynamic host configuration protocal :DHCP协议
- 从DHCP服务器动态获取ip
- 子网掩码,默认网关都动态分配
- 即插即用的协议
- 允许地址重用
- 租用地址,当我们关机的时候就会把这个地址还回去,服务器会把这个地址在租用给别的用户。
- 支持移动用户加入网络
- 主机广播 DHCP发现报文 找这个DHCP服务器
- DHCP服务器 广播DHCP offer 进行响应
- 主机请求ip地址:向这个DHCP服务器发送DHCP请求报文
- DHCP服务器分配IP地址:发送DHCP ack 确认报文
- DHCP服务器的端口号是67
- DHCP协议的实现是在应用层实现的
- 请求报文封装在UDP数据报当中
- IP广播
- 链路层广播
- ipv4地址空间 不够
- 网络地址转换 使得私有地址可以连接外网
- 使用私有地址 必须要进行地址转换
- 路由器必须至少有一个合法ip
- 内网的主机使用私有ip进行通信是没有问题的!
- 如果数据报想要发送到外网或者想要从外网接收数据报这个时候必须地址转换
- 所有离开本地网络的数据报源ip需要替换成相同的NATip地址 以及不同的端口号!
- 一个网络只需要申请一个ip地址
- 本地网络设备的ip地址变化无需通知外界网络
- 变更ISP无需修改内部网络设备ip地址
- 内部设备对于外部网络不可见,不可直接寻址 是安全的。
- 实现:
- 替换:替换每个外出IP数据报的ip地址和源端口号为NAT的IP地址新端口号
- 记录:将每对NAT IP地址新端口号与源IP地址源端口号的替换信息存储到NAT转换表当中。
- 替换:利用NAT转换表替换回来的数据报的IP和端口号
所以我使用校园网搭载的服务器 主机的ip其实是内网的私有ip,外部是不可见的,内网是可见的。因为这个ip不是一个有效ip所以外网是没办法通过这个ip找到我的主机上的服务器。解决办法就是买一个域名然后将这个域名与校园网的网关的有效ip地址的某个端口号进行映射,这样通过这个有效的ip和设定的端口号与我本地主机的私有ip进行关联。
- 怎么查看本机是和内网网关的哪个端口号进行了映射?
- 是不是只要知道内网的网关地址和端口号就可以访问我的主机服务器?
- 问题:
- 16bit端口号的字段 0-65535 可以区分的端口号个数
- NAT是嵌入到路由器上实现的,路由器应该只处理第3层功能
- 违背端到端的通信原则 p2p
- 地址短缺ipv6解决而不是NAT
- NAT穿透问题
- 内部主机搭载服务器 外部用户要访问服务器
- 对外唯一可见的是NAT地址
- 静态配置:静态配置NAT转换表 将特定端口的连接请求转发给服务器
- 利用IGD互联网网关设备协议 自动配置。学习到NAT公共IP地址 在NAT转换表当中增删端口映射
- 中继:NAT内部客户与中继服务器建立连接,外部客户也与中继服务器连接,中继服务器桥接两个连接