Question: ( 4 ) ( 4 pts ) How to enable two machines located behind symmetric NATs to communicate with each other is a difficult problem.
pts How to enable two machines located behind symmetric NATs to communicate with
each other is a difficult problem. One way to tackle this problem is to exploit a behavior of
NATs: they often assign ports in a predicable way by just incrementing the port number when a
new entry is added to their translation tables.
We first deploy a server which has a public IP address, to help computers locating behind
symmetric NATs communicate with each other. Any computer which wants to use the service
will periodically open up a TCP connection with and send in a packet to This allows to
know the current IP addresses and port numbers they are using. Assume their current translated
IP addresses and ports recorded in S are IPa Porta and IPb Portb
Two computers A and B are located behind a symmetric NAT and A likes to set up a TCP
connection with computer B It can use the following steps to do it
i A sends a request to with both A and s name identities note: Since A and B do not have
permanent identities at the network layer, we assume computers A and B have other identities at
the application layer, such as DNS names, they can use to identify themselves when they send
requests to
ii S sends a packet to A and B simultaneously to inform each other's current translated IP
address and port number: IPa Porta and IPb Portb
iii Once A and B receive the message from S they immediately send out a packet to each other.
Based on the port incrementing behavior of their NATs, Machine A should send its packet to
IPb Portb and machine B should send its packet to IPa Porta
Step iii will open up an entry in As and Bs NAT translation tables. The hope is that when the
packet from the other party arrives, the corresponding entry in their NATs' translated tables have
been opened up If so the arriving packet will be accepted by the NATs.
But if As packet or Bs packet arrive before the corresponding entry in the destination NAT's
entry is opened up the packet will be dropped and the connection fails.
a Suppose we have the following delay information:
Delay between A and fixed
Delay between and fixed
Delay between and fixed
Can the connection between A and be set up successfully?
b Assume the delay between A and B is a random variable and uniformly distributed within the
range What is the probability the above TCP setup is successful?
Step by Step Solution
There are 3 Steps involved in it
1 Expert Approved Answer
Step: 1 Unlock
Question Has Been Solved by an Expert!
Get step-by-step solutions from verified subject matter experts
Step: 2 Unlock
Step: 3 Unlock
