Lectu re 1 Recap: “Operational” view of Internet r Internet: “network of networks” m...

Preview:

Citation preview

Lecture 1

Recap: “Operational” view of Internet Internet: “network of

networks” Requires sending,

receiving of messages

protocols control sending, receiving of messages e.g., TCP, IP, HTTP, Skype,

Ethernet etc.

Design of protocols is the key for Internet

Home network

Institutional network

Mobile network

Global ISP

Regional ISP

1-1

application support host/network applications Email, FTP, HTTP (HTML)

transport process-process data transfer TCP, UDP

network routing of datagrams from src. to destn. IP address, routing protocols

link data transfer between neighboring network

elements Ethernet, PPP

physical bits “on the wire”

1-2

Internet protocol stack

application

transport

network

link

physical

Lecture 3

Network Layer 4-3

Network layer

Network layer protocols in every host, router

Router examines header fields in all IP datagrams passing through it

application

transportnetworkdata linkphysical

application

transportnetworkdata linkphysical

networkdata linkphysical network

data linkphysical

networkdata linkphysical

networkdata linkphysical

networkdata linkphysical

networkdata linkphysical

networkdata linkphysical

networkdata linkphysical

networkdata linkphysical

networkdata linkphysicalnetwork

data linkphysical

Network Layer 4-4

Key Network-Layer Functions

Forwarding: move packets from router’s input to appropriate router output

Routing: determine route taken by packets from source to dest.

analogy:

forwarding: process of getting through single interchange

routing: process of planning trip from source to dest

Network Layer 4-5

Key Network-Layer Function

requirement:

Need to know the addresses Zip codes ~ e.g., 10019

What is the address for computers / routers?

IP Address

Network Layer 4-6

7

IP Address

An IP address is a 32-bit sequence of 1s and 0s. To make the IP address easier to use, the address is

usually written as four decimal numbers separated by periods.

This way of writing the address is called the dotted decimal format.

11011111 00000001 00000001 00000001

223 1 11

Network Layer 4-8

IP Addressing example network IP address: 32-bit

identifier for host, router interface

interface: connection between host/router and physical link router’s typically have

multiple interfaces host typically has one

interface IP addresses

associated with each interface

223.1.1.1

223.1.1.2

223.1.1.3

223.1.1.4 223.1.2.9

223.1.2.2

223.1.2.1

223.1.3.2223.1.3.1

223.1.3.27

223.1.1.1 = 11011111 00000001 00000001 00000001

223 1 11

9

A quick look at Binary and Decimal Number format

Decimal (base 10)

Uses positional representation Each digit corresponds to a power of 10

based on its position in the number The powers of 10 increment from 0, 1,

2, etc. as you move right to left

1,234 = 1 * 103 + 2 * 102 + 3 * 101 + 4 * 100

Binary (base 2) Two digits: 0, 1 To make the binary numbers more

readable, the digits are often put in groups of 4 or 8

1010 = 1 * 23 + 0 * 22 + 1 * 21 + 0 * 20

= 8 + 2 = 10

1100 1001 = 1 * 27 + 1 * 26 + 1 * 23 + 1 * 20

= 128 + 64 + 8 + 1 = 201

Conversion From binary to decimal

Use positional representation as shown in last slide

From decimal to binary (tricky!) Keep dividing by 2 Remainders give the digits, starting from

lowest power

Let’s look at some examples… Now we are ready for IP addressing

IP address Class Handouts…

(provided in class)

Network Layer 4-13

Every IP address has two parts: 1. Network part2. Host part

IP addresses are divided into classes A,B and C to define -- large, -- medium, and -- small networks.

The Class D address class was created to enable multicasting.

Class E addresses reserved for future and research.

IP Address

IP Address classes

Some special IP addresses

Network Layer 4-16

Network Layer 4-17

DHCP: Dynamic Host Configuration Protocol

Goal: allow host to dynamically obtain its IP address from network server when it joins networkCan renew its lease on address in useAllows reuse of addresses (only hold address while connected an “on”)Support for mobile users who want to join network (more shortly)

DHCP overview: host broadcasts “DHCP discover” msg [optional] DHCP server responds with “DHCP offer” msg [optional] host requests IP address: “DHCP request” msg DHCP server sends address: “DHCP ack” msg

Network Layer 4-18

DHCP client-server scenario

223.1.1.1

223.1.1.2

223.1.1.3

223.1.1.4 223.1.2.9

223.1.2.2

223.1.2.1

223.1.3.2223.1.3.1

223.1.3.27

A

BE

DHCP server

arriving DHCP client needsaddress in thisnetwork

Network Layer 4-19

DHCP client-server scenarioDHCP server: 223.1.2.5 arriving

client

time

DHCP discover

src : 0.0.0.0, 68 dest.: 255.255.255.255,67yiaddr: 0.0.0.0transaction ID: 654

DHCP offer

src: 223.1.2.5, 67 dest: 255.255.255.255, 68yiaddrr: 223.1.2.4transaction ID: 654Lifetime: 3600 secs

DHCP request

src: 0.0.0.0, 68 dest:: 255.255.255.255, 67yiaddrr: 223.1.2.4transaction ID: 655Lifetime: 3600 secs

DHCP ACK

src: 223.1.2.5, 67 dest: 255.255.255.255, 68yiaddrr: 223.1.2.4transaction ID: 655Lifetime: 3600 secs IP: 223.1.2.4

Numerical example

A software company has 100 employees. What would be the ideal class from which the company would

choose its network IP to prevent wastage of IP addresses? How many bits would be assigned for network part and how many bits would be assigned for host part?

The company suddenly goes through increase in number of employees from 100 to 2040.

What would be the ideal class from which the company would choose its network IP to prevent wastage of IP addresses?

How many bits would be assigned for network part and how many bits would be assigned for host part?

Solve!

Network Layer 4-20

Network Layer 4-21

IP addressing: CIDR

CIDR: Classless InterDomain Routing subnet portion of address of arbitrary length address format: a.b.c.d/x, where x is # bits in

subnet portion of address

Back to the previous numerical example? How many address wastage?

11001000 00010111 00010000 00000000

subnetpart

hostpart

200.23.16.0/21

Network Address Translation (NAT)

Network Layer 4-22

Home network

local network(e.g., home network)

rest ofInternet

NAT: Network Address Translation

10.0.0.1

10.0.0.2

10.0.0.3

10.0.0.4

138.76.29.7

local network(e.g., home network)

10.0.0/24

rest ofInternet

Datagrams with source or destination in this networkhave 10.0.0/24 address for

source, destination (as usual)

All datagrams leaving localnetwork have same single source

NAT IP address: 138.76.29.7,different source port numbers

NAT: Network Address Translation

Advantages:

local network uses just one IP address as far as outside world is concerned: min. IP address wastage

can change addresses of devices in local network without notifying outside world: flexibility

devices inside local net not explicitly addressable, visible by outside world (a security plus).

NAT: Network Address Translation

10.0.0.1

10.0.0.2

10.0.0.3

S: 10.0.0.1, 3345D: 128.119.40.186, 80

1

10.0.0.4

138.76.29.7

1: host 10.0.0.1 sends datagram to 128.119.40.186, 80

NAT translation tableWAN side addr LAN side addr

138.76.29.7, 5001 10.0.0.1, 3345…… ……

S: 128.119.40.186, 80 D: 10.0.0.1, 3345

4

S: 138.76.29.7, 5001D: 128.119.40.186, 80

2

2: NAT routerchanges datagramsource addr from10.0.0.1, 3345 to138.76.29.7, 5001,updates table

S: 128.119.40.186, 80 D: 138.76.29.7, 5001

3

3: Reply arrives dest. address: 138.76.29.7, 5001

4: NAT routerchanges datagramdest addr from138.76.29.7, 5001 to 10.0.0.1, 3345

NAT: Network Address Translation

16-bit port-number field: 60,000 simultaneous connections with a

single LAN-side address!

NAT traversal problem client wants to connect to

server with address 10.0.0.1 server address 10.0.0.1

local to LAN (client can’t use it as destination addr)

only one externally visible NATted address: 138.76.29.7

solution 1: statically configure NAT to forward incoming connection requests at given port to server

10.0.0.1

10.0.0.4

NAT router

138.76.29.7

Client?

NAT traversal problem solution 2: relaying (used in Skype)

NATed client establishes connection to relay

External client connects to relay relay bridges packets between connections

138.76.29.7

Client

10.0.0.1

NAT router

1. connection torelay initiatedby NATted host

2. connection torelay initiatedby client

3. relaying established

Recommended