What we will cover… Home Networking: Network Address Translation (NAT) Mobile Routing
Home network local network (e.g., home network) rest of Internet
NAT: Network Address Translation local network (e.g., home network) /24 rest of Internet Datagrams with source or destination in this network have /24 address for source, destination (as usual) All datagrams leaving local network have same single source NAT IP address: , different source port numbers
NAT: Network Address Translation r Advantages: m local network uses just one IP address as far as outside world is concerned: min. IP address wastage m can change addresses of devices in local network without notifying outside world: flexibility m devices inside local net not explicitly addressable, visible by outside world (a security plus).
NAT: Network Address Translation Implementation: NAT router must: m outgoing datagrams: replace (source IP address, port #) of every outgoing datagram to (NAT IP address, new port #)... remote clients/servers will respond using (NAT IP address, new port #) as destination addr. m remember (in NAT translation table) every (source IP address, port #) to (NAT IP address, new port #) translation pair m incoming datagrams: replace (NAT IP address, new port #) in dest fields of every incoming datagram with corresponding (source IP address, port #) stored in NAT table
NAT: Network Address Translation S: , 3345 D: , : host sends datagram to , 80 NAT translation table WAN side addr LAN side addr , , 3345 …… S: , 80 D: , S: , 5001 D: , : NAT router changes datagram source addr from , 3345 to , 5001, updates table S: , 80 D: , : Reply arrives dest. address: , : NAT router changes datagram dest addr from , 5001 to , 3345
NAT: Network Address Translation r 16-bit port-number field: m 60,000 simultaneous connections with a single LAN-side address!
NAT traversal problem r client wants to connect to server with address m server address local to LAN (client can’t use it as destination addr) m only one externally visible NATted address: r solution 1: statically configure NAT to forward incoming connection requests at given port to server m e.g., ( , port 2500) always forwarded to NAT router Client ?
NAT traversal problem r solution 2: relaying (used in Skype) m NATed client establishes connection to relay m External client connects to relay m relay bridges packets between connections Client NAT router 1. connection to relay initiated by NATted host 2. connection to relay initiated by client 3. relaying established
NAT: Network Address Translation r NAT is controversial: m routers should only process up to layer 3 m NAT breaks that protocol!!!
Mobile Routing
What is mobility? r spectrum of mobility, from the network perspective: no mobility high mobility mobile user, using same access point mobile user, passing through multiple access point while maintaining ongoing connections ( like cell phone) mobile user, connecting/ disconnecting from network using DHCP.
Mobility: Vocabulary home network: permanent “home” of mobile (e.g., /24) Permanent address: address in home network, can always be used to reach mobile e.g., home agent: entity that will perform mobility functions on behalf of mobile, when mobile is remote wide area network correspondent
Mobility: more vocabulary Care-of-address: address in visited network. (e.g., 79, ) wide area network visited network: network in which mobile currently resides (e.g., /24) Permanent address: remains constant ( e.g., ) home agent: entity in visited network that performs mobility functions on behalf of mobile. correspondent: wants to communicate with mobile
Mobility: approaches r Let routing handle it: routers advertise permanent address of mobile-nodes-in-residence via usual routing table exchange. m routing tables indicate where each mobile located m no changes to end-systems r Let end-systems handle it: m indirect routing: communication from correspondent to mobile goes through home agent, then forwarded to remote m direct routing: correspondent gets foreign address of mobile, sends directly to mobile
Mobility: approaches r Let routing handle it: routers advertise permanent address of mobile-nodes-in-residence via usual routing table exchange. m routing tables indicate where each mobile located m no changes to end-systems r let end-systems handle it: m indirect routing: communication from correspondent to mobile goes through home agent, then forwarded to remote m direct routing: correspondent gets foreign address of mobile, sends directly to mobile not scalable to millions of mobiles
Mobility: registration End result: r Foreign agent knows about mobile r Home agent knows location of mobile wide area network home network visited network 1 mobile contacts foreign agent on entering visited network 2 foreign agent contacts home agent home: “this mobile is resident in my network”
Mobility via Indirect Routing wide area network home network visited network correspondent addresses packets using home address of mobile home agent intercepts packets, forwards to foreign agent foreign agent receives packets, forwards to mobile mobile replies directly to correspondent
Forwarding datagrams to remote mobile Permanent address: Care-of address: dest: packet sent by correspondent dest: dest: packet sent by home agent to foreign agent: a packet within a packet dest: foreign-agent-to-mobile packet
Indirect Routing: comments r Mobile uses two addresses: m permanent address: used by correspondent (hence mobile location is transparent to correspondent) m care-of-address: used by home agent to forward datagrams to mobile r foreign agent functions may be done by mobile itself r triangle routing: correspondent-home-network- mobile m inefficient when correspondent, mobile are in same network
Mobility via Direct Routing wide area network home network visited network correspondent requests, receives foreign address of mobile correspondent forwards to foreign agent foreign agent receives packets, forwards to mobile mobile replies directly to correspondent 3
Mobility via Direct Routing: comments r overcome triangle routing problem r non-transparent to correspondent: correspondent must get care-of-address from home agent m What happens if mobile changes networks?