IP in IP报文
IP in IP是指使用IPv4报文封装IPv4报文。IPinIP报文的内、外层IPv4头部格式与普通IPv4头部格式相同。
协议栈结构
IP in IP封装
+-------------------------------------+
| Inner IPv4 payload |
+-------------------------------------+
| Inner IPv4 header |
+-------------------------------------+
| Outer IPv4 header (Protocol = 0x04) |
+-------------------------------------+
| L2 |
+-------------------------------------+
| L1 |
+-------------------------------------+
IP in IP报文格式
IPinIP报文格式
0 3 7 15 23 31
+---------------------------------------------------------------+
|Version| IHL |Type of Service| Total Length |
+---------------------------------------------------------------+
| Identification | Flags | Fragment Offset |
+---------------------------------------------------------------+
| Time to Live | Protocol | Header Checksum |
+---------------------------------------------------------------+
| Source Address |
+---------------------------------------------------------------+
| Destination Address |
+---------------------------------------------------------------+
| Options | Options |
+---------------------------------------------------------------+
IPinIP报文外层IP头的设置规则
| 字段 |
含义 |
| Version |
设置为4。 |
| IHL |
指外层IP头部长度,以32比特为计算单位。 |
| Type of Service |
从内层IP头部复制。 |
| Total Length |
指整个IP负载的长度,包括外层IP头,内层IP头和IP负载。 |
| Identification, Flags, Fragment Offset |
这三个字段的含义与RFC791的定义相同。注意,如果内层IP头部的DF位置位,外层IP头部的DF位也必须置位。如果内层IP头的DF未置位,外层IP头部的DF位可以置位也可以不置位。 |
| Time to Live |
外层IP头部的TTL域设置为发送该数据包到隧道目的端的合适的值。 |
| Protocol |
设置为4。 |
| Header Checksum |
外层IP头部的校验字段。 |
| Source Address |
执行该IPinIP隧道头封装的隧道入口设备的IP地址。 |
| Destination Address |
执行该IPinIP隧道头解封装的隧道出口设备的IP地址。 |
| Options |
内层IP头部的任何选项字段通常不被复制到外层IP头部。隧道路径上的设备可以添加新的选项字字段。内层IP头部的安全选项字段的类型可能影响外层IP头部的安全选项字段的选择。 |
参考标准
| 标准 |
描述 |
| RFC 2003 |
IP Encapsulation within IP |
No comments to display
No comments to display