Changes between Version 15 and Version 16 of GENIExperimenter/Tutorials/OpenFlowNFVNAT


Ignore:
Timestamp:
11/20/15 15:27:27 (8 years ago)
Author:
nriga@bbn.com
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • GENIExperimenter/Tutorials/OpenFlowNFVNAT

    v15 v16  
    115115=== 3.2 Test reachability ===
    116116
    117 a. First we start a ping from `inside1` to `inside2`, which should work since they are both inside the same LAN.
     117a. First we start a ping from `ihost1` to `host2`, which should work since they are both inside the same LAN.
    118118{{{
    119119host1:~$ ping 10.10.1.2 -c 10
    120120}}}
    121121
    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.
     122b. 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.
    123123{{{
    124124host3:~$ ping 10.10.1.2 -c 10
    125125}}}
    126126
    127 c. Similarly, we cannot ping from `insideX` to `outside`.
     127c. Similarly, we cannot ping from `host1` to `host3`.
    128128
    129129d. You can also use Netcat (`nc`) to test reachability of TCP and UDP. The behavior should be the same.
     
    157157}}}
    158158
    159 c. On `outside`, we start a nc server:
     159c. On `host3`, we start a nc server:
    160160{{{
    161161host3:~$ nc -l 6666
     
    198198}}}
    199199
    200 d. `outside` and `inside2` should be able to send messages to each other.
     200d. `host3` and `host2` should be able to send messages to each other.
    201201
    202202e. 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.
     
    212212Handling 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.
    213213
    214 a. On `inside1`, start a ping to `outside`.
     214a. On `host1`, start a ping to `host3`.
    215215{{{
    216216host1:~$ ping 128.128.128.128