一、网络地址转换NAT
私有IP 地址(内网IP):
10.0.0.0~10.255.255.255
172.16.0.0~172.31.255.255
192.168.0.0~192.168.255.255
- 只允许分配给局域网内部的节点,不允许分配给互联网上的节点
- 每个局域网内部都可以自行分配这些私有 IP 地址
- 私有 IP 地址是可复用的,只要求局域网内唯一,不要求全球唯一
全球IP 地址(外网IP):
通常由 ISP 提供,全球唯一
外网 IP 是一个局域网与外界通信时所需使用的 IP 地址
NAT路由器与普通路由器有何区别?
普通路由器:
普通路由器转发 IP 数据报时,不会改变源 IP、目的 IP 地址
普通路由器仅包含网络层及以下的功能
NAT 路由器:
作用: 转发 IP 数据报时,进行内网 IP、外网 IP 的相互转换 NAT 表,记录地址转换关系 < 内网 IP:端口号 外网 IP:端口号>
一个IP 数据报:
① 从内网转发到外网,会更改源 IP 地址、源端口号
② 从外网转发到内网,会更改目的IP 地址、目的端口号
NAT 路由器包含传输层的功能(因为端口号是传输层的概念)
网络层实现了“主机到主机”的通信。网络层在IP 数据报的首部,指明源 IP 地址、目的 IP 地址传输层实现了“端到端”(进程到进程)的通信。
传输层在 TCP(或 UDP)报文段的首部,指明源端口、目的端口
H3 包含:源IP 地址、目的 IP 地址
H4 包含:源端口号、目的端口号
IP 地址 32bit,232≈42 亿,如果每台主机都要消耗一个全球唯一的IP 地址,显然不够用,那要如何解决呢?
可以让一个局域网内部的设备共享全球唯一的IP 地址(外网 IP)
用 NAT路由器改造王五家的网络
二、地址解析协议ARP
ARP:
作用:在一个局域网内部,可以通过 ARP 协议查询到一个IP 地址对应的 MAC 地址
ARP 表(ARP 缓存):
- 记录(IP 地址 MAC 地址)之间的映射关系
- 一个数据结构(每台主机、每台路由器都有自己的 ARP 表)
- 需要定期更新 ARP 表项
实现过程:
①ARP 请求分组
我是谁?我的 IP 地址是 X,我的 MAC 地址是 Y
我想找谁?我想找的这个家伙,IP地址是Z
ARP 请求分组封装进 MAC 帧(帧目的地址=全1,源地址=Y) 广播帧
②ARP 响应分组
你好,我就是你要找的那个靓仔,我的IP地址是Z,我的 MAC 地址是 V
ARP 响应分组封装进 MAC 帧((帧目的地址=Y,源地址=V) 单播帧
以太网 MAC 帧
记忆口诀:6 6 2 N 4,收发协数验
IP 数据报是 IPv4 协议定义的数据结构(PDU)
类型=0x0800,表示 MAC 帧数据部分是IPv4的PDU
<