DJ4-4 NAT、ICMP、IPv6

目录

一、NAT:网络地址转换

1、工作原理

2、NAT 的限制

二、ICMP

1、ICMP 协议

2、ICMP 类型和代码

3、Traceroute 命令

三、IPv6 地址

1、IPv6 的引入

2、IPv6 的表示


一、NAT:网络地址转换

动机:对外部网络来讲,本地网络只用一个 IP 地址。

  • 不需要从 ISP 分配一系列地址,只需要一个 IP 地址用于所有的设备
  • 在本地网络,改变设备的 IP 地址不用通知外部世界
  • 可以变更 ISP,同时又不用改变本地网络的设备地址
  • 本地网络内部设备不能被外部世界明确寻址或不可见

增加了安全性

1、工作原理

① 外出的分组

  1. 在 NAT 转换表中记录每个 (源 IP 地址,端口号) 到 (NAT IP 地址,新端口号) 转换配对
  2. 替换每个外出的分组的 (源 IP 地址,端口号) 为 (NAT IP 地址,新端口号)
  3. 远程客户/服务器用 (NAT IP 地址,新端口号) 作为目的地来响应

② 进来的分组

  • 替换每个进来的分组的 (NAT IP 地址,新端口号) 为 (源 IP 地址,端口号)

采用 16 位端口号:一个局域网地址可以同时支持 60,000 个并发连接!

2、NAT 的限制

NAT 存在争议:路由器只应该处理到第三层,违反了端到端主张,应用程序设计者在设计时不得不将 NAT 加以考虑,如:P2P 应用程序。

应使用 IPv6 来解决地址短缺问题。

二、ICMP

1、ICMP 协议

Internet Control Message Protocol,因特网控制报文协议

功能:用于主机路由器之间彼此交流网络层信息。

  • 差错报告:不可到达的主机、网络、端口、协议
  • 请求和应答(用 于 ping、traceroute)

位于 IP 之上:因为 ICMP 消息是装载在 IP 分组里的。

可见,同一层的协议可以相互封装

2、ICMP 类型和代码

主打一个:探测网络连通性

3、Traceroute 命令

源端发送一系列的 UDP 分组给目的端:

  • 第一个分组的 TTL=1
  • 第二个分组的 TTL=2,等等

考虑第 n 个分组到达第 n 个路由器时,

  • 由于 TTL=0 ,因此路由器丢弃该分组
  • 并给源端发送一个 ICMP 报文 (type 11,code 0)
  • 该报文包含了路由器的名称和 IP 地址

当源端收到 ICMP 报文时,计算传输 RTT 往返时间。

事实上,对应每个 TTL 都发送了三次分组

回顾:路由器每次将 TTL-1 后,都要重新计算校验和。

源端停止发送的依据:

  1. UDP 报文最终到达目的端
  2. 目的端返回应答的 ICMP 报文 (type 3, code 3)
  3. 源端收到应答 ICMP 报文后停止发送

三、IPv6 地址

1、IPv6 的引入

引入的原因:

  • (初始动机) 32位的 IPv4 地址空间即将用尽。
  • 首部格式可帮助加速处理和转发
  • 改变首部利于 QoS 要求

IPv6 数据报格式:

  • 固定长度的 40 字节首部
  • 不允许分片

2、IPv6 的表示

① 冒号十六进制表示法

例如:104.220.136.100.254.254.254.255.0.0.18.128.140.10.254.255

用冒号十六进制表示为:69DC:8864:FFFF:FFFF:0:1280:8C0A:FFFF

② 零压缩表示法

例如:FF0C:0:0:0:0:0:B1

零压缩表示为:FF0C::B1

即使有两段可以进行压缩,也只能选择其中一个进行压缩。

猜你喜欢

转载自blog.csdn.net/m0_64140451/article/details/131272322
今日推荐