Lecture 21

advertisement

CS 453

Computer Networks

Lecture 21

Layer 3 Network Layer

Network Layer of the Internet

IP Network Address Translation

NAT

NAT

Remember that IP addresses should be unique – Globally, Universally

There are not really enough IP addresses to go around

Many situations where you have a single

“legitimate” IP address

So, how do you expand your local area network with that single address

Network Address Translation - NAT

IP Network Address Translation

NAT

Common scenario —

NAT

You buy a cheap ethernet switch/router from Nerd-R-

Us to install at home

Your connect it to your Cable modem

Your router acts like a single DHCP client – gets a single IP address from the ISP

So, you hook up your mother-inlaw’s computer,

Uncle Fred’s computer, and you throw a Cat5 cable out the window to your neighbor and connect his computer to your router

Ok, but…

IP Network Address Translation

NAT

NAT

Common scenario —

… you can’t all use the same ISP assigned IP address…

How would packets know which host they are going to, coming from

Network Address Translation

IP Network Address Translation

NAT

NAT

There are three special IP address ranges

Non-routable

Non-unique

These are

10.x.x.x

192.168.x.x

???

So the “backside” of the router issues DHCP addresses too,…

…but these addresses are from the non-routable families

IP Network Address Translation

NAT

NAT

Recall that the IP packet header contains the

IP address of the host, .

… but also the socket that the transport layer is using

From the outside all hosts in our little LAN look like they have the same IP address

IP Network Address Translation

NAT

NAT

The router creates a table…

The router assigns each internal host a port number, along with the

The table maps the external IP+port to the internal IP in the local LAN

External IP/Port

157.182.99.99/5050

157.182.99.99/5051

….

Internal IP

10.0.0.15

10.0.0.16

….

IP Network Address Translation

NAT

NAT

From: Tanenbaum, 2003, 446

IP Network Address Translation

NAT

NAT

NAT really irks a lot in the IP community

Violates the IP unique address rule

IP is connectionless, NAT creates a connection

Must track state

Violates protocol layer convention

Dips into IP header (port address)

Breaks on some protocols (payload imbedded addresses

Might not be able to scale to large subnet

ICMP

Internet Control Message Protocol

In addition to all the user, host to host message traffic using IP protocol in the network…

Routers, switches and other devices need to talk to each other

…to keep the network running

They have their own protocol for doing this

ICMP

Message

Destination Unreachable

Time Exceeded

Parameter Problem

Source quench

Redirect

Echo

Echo reply

Timestamp request

Timestamp reply

ICMP

Meaning

Packet could not be delivered

Timer/counter hit 0

Invalid header info

Source swamping network

Suggests new routing

Asks a destination to reply

Reply from echo request

Asks for a reply with a timestamp

Reply from a timestamp request

Finding Etherland

At Layer 3 we are dealing with, routing by, etc.

IP and IP addresses

But within a LAN we are using the local Layer

2/1 technology

…for example, ethernet

Within an Ethernet LAN, it sends, receives, routes ethernet frames, not IP packets

So, when a packet containing an IP address hits an ethernet LAN,…

How does it know where to go?

ARP-Address Resolution Protocol

Once on the LAN the frames address destination address must be set to the

MAC address of the destination host interface

To do this---

ARP-Address Resolution Protocol

The sending machine

Reads the IP address from the message

Transmits an ARP request – “Who does this belong to”

The IP address owner replies “Me” by returning its MAC address

The sender assigns the received MAC to the destination field in the frame header…

…and send the frame on its way

RARP

Reverse Address Resolution Protocol

What happens when you know the MAC address but you need to know the IP address?

Download