summaryrefslogtreecommitdiff
path: root/README.md
blob: ff0fccf3b76c052f6b1e96297a82500d6281a66a (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
# PacketAdapter -- Packet Filtering & Adaptation tools

## 简介

- PacketAdapter 是一个数据包过滤/转换/适配工具。
- PacketAdapter 并不会凭空产生数据包,而是将 MRZCPD 上送的数据包重新转换/适配后通过 RAW Socket 回注到管理口。
- 可用于 Overlay networks 中 Packet encapsulation and decapsulation,屏蔽端到端协议层之间的差异。

## 应用 -- 实现 GTP Overlay 数据包的解封装

PacketAdapter 通过 iptables 将 Firewall 发送的 GTP RST 包进行过滤,然后将 GTP 数据解封装后回注到网络中。

例如:将 “MAC/IPv4 or IPv6/UDP/GTP1/IPv4 or IPv6/TCP or UDP“ 中的 "/IPv4 or IPv6/UDP/GTP1" 协议层剥离。

```
+-----------+     +-----------+
| ********* |     | ********* |
+-----------+     +-----------+
| IPv4/IPv6 |     | IPv4/IPv6 |
+-----------+     +-----------+
| GTP1      |     |           |
+-----------+     |           |
| UDP       | ==> |           |
+-----------+     |           |
| IPv4/IPv6 |     |           |
+-----------+     | Replace   |
| MAC       |     | MAC       |
+-----------+     +-----------+
```

注意:
* /MAC/IPv6 的 first next header 必须为 UDP。
* 目前不支持 GTP 扩展头。

## 应用 -- 实现 VLAN Overlay 数据包的解封装

```
+-----------+     +-----------+
| ********* |     | ********* |
+-----------+     +-----------+
| IPv4/IPv6 |     | IPv4/IPv6 |
+-----------+     +-----------+
| VLAN      | ==> |           |
+-----------+     |           |
| VLAN      |     |           |
+-----------+     | Replace   |
| MAC       |     | MAC       |
+-----------+     +-----------+
```

## 应用 -- 实现 MPLS Overlay 数据包的解封装

```
+-----------+     +-----------+
| ********* |     | ********* |
+-----------+     +-----------+
| IPv4/IPv6 |     | IPv4/IPv6 |
+-----------+     +-----------+
| MPLS      | ==> |           |
+-----------+     |           |
| MPLS      |     |           |
+-----------+     | Replace   |
| MAC       |     | MAC       |
+-----------+     +-----------+
```

## 应用 -- 实现 PPPOE Overlay 数据包的解封装

```
+-----------+     +-----------+
| ********* |     | ********* |
+-----------+     +-----------+
| IPv4/IPv6 |     | IPv4/IPv6 |
+-----------+     +-----------+
| PPPOE     | ==> |           |
+-----------+     | Replace   |
| MAC       |     | MAC       |
+-----------+     +-----------+
```

```
+-----------+     +-----------+
| ********* |     | ********* |
+-----------+     +-----------+
| IPv4/IPv6 |     | IPv4/IPv6 |
+-----------+     +-----------+
| PPPOE     | ==> |           |
+-----------+     |           |
| VLAN      |     |           |
+-----------+     | Replace   |
| MAC       |     | MAC       |
+-----------+     +-----------+
```