Wednesday, May 9, 2012

Minor progress and address translation research

The past week has been spent mostly ironing whatever bugs we could find with two networks while also testing speed and optimization. Some bugs we had had to do with initial packets being lost along with packets not being formatted correctly.
After fixing this, I have moved on to starting to understand what I need to accomplish and do for address translation. What I will be trying to implement is similar to a full-cone NAT (or as Alex likes to call it, PAT). In full-cone NAT, each device on the interior network is given one port. This association is stored in a table. All packets being sent out to an exterior network will have it's headers edited. The source IP and port will be changed to match the aforementioned table when a packet is outgoing. When a packet is incoming, the router will change the destination IP and port along with then sending the packet to the right interface. If an incoming packet is not destined for a specific port defined in the table, then the packet will be dropped.
At the moment, I have not finished writing this so I have no testing done. I also fear that after implementing this, David's modifications to the packet buffer (along with his slight speed modifications) will break. I will need to dedicate some time to work with David to implement this and then merge back together and help him improve speeds.

No comments:

Post a Comment