Changes between Version 15 and Version 16 of GENIExperimenter/Tutorials/OpenFlowNFVNAT
- Timestamp:
- 11/20/15 15:27:27 (8 years ago)
Legend:
- Unmodified
- Added
- Removed
- Modified
-
GENIExperimenter/Tutorials/OpenFlowNFVNAT
v15 v16 115 115 === 3.2 Test reachability === 116 116 117 a. First we start a ping from `i nside1` to `inside2`, which should work since they are both inside the same LAN.117 a. First we start a ping from `ihost1` to `host2`, which should work since they are both inside the same LAN. 118 118 {{{ 119 119 host1:~$ ping 10.10.1.2 -c 10 120 120 }}} 121 121 122 b. Then we start a ping from ` outside` to `inside1`, which should timeout as there is no routing information in its routing table. You can use `route -n` to verify that.122 b. Then we start a ping from `host3` to `host1`, which should timeout as there is no routing information in its routing table. You can use `route -n` to verify that. 123 123 {{{ 124 124 host3:~$ ping 10.10.1.2 -c 10 125 125 }}} 126 126 127 c. Similarly, we cannot ping from ` insideX` to `outside`.127 c. Similarly, we cannot ping from `host1` to `host3`. 128 128 129 129 d. You can also use Netcat (`nc`) to test reachability of TCP and UDP. The behavior should be the same. … … 157 157 }}} 158 158 159 c. On ` outside`, we start a nc server:159 c. On `host3`, we start a nc server: 160 160 {{{ 161 161 host3:~$ nc -l 6666 … … 198 198 }}} 199 199 200 d. ` outside` and `inside2` should be able to send messages to each other.200 d. `host3` and `host2` should be able to send messages to each other. 201 201 202 202 e. Common solution of handling outside source is providing some way to manually create mapping in advance. We will leave it as an exercise for you to implement it. … … 212 212 Handling ARP is trivial as NAT does not involve ARP. However, it's not the case for ICMP. If you only process translation for TCP/UDP, you will find you cannot ping between `outside` and `insideX` while nc is working properly. Handling ICMP is even not as straightforward as for TCP/UDP. Because for ICMP, you cannot get port information to bind with. Our provided solution makes use of ICMP echo identifier. You may come up with different approach involves ICMP sequence number or others. 213 213 214 a. On ` inside1`, start a ping to `outside`.214 a. On `host1`, start a ping to `host3`. 215 215 {{{ 216 216 host1:~$ ping 128.128.128.128