why an ip layer? rocky k. c. chang 20 september 2010 1

Post on 19-Jan-2016

216 Views

Category:

Documents

2 Downloads

Preview:

Click to see full reader

TRANSCRIPT

1

WHY AN IP LAYER?

Rocky K. C. Chang 20 September 2010

2

The internetworking problem Problem: How to interconnect heterogeneous

networks “effectively”? Interconnect homogeneous networks directly,

e.g., Multiple Ethernet LAN segments Multiple Fibre Channels Multiple Token Rings Two wireless LANs …

Switching / bridging LAN switches Transparent bridging, spanning tree algorithm and

source routing

3

The internetworking problem Interconnect heterogeneous networks

directly, e.g., DIX Ethernet with IEEE Ethernet Ethernet with Token Ring Wired LAN with wireless LAN

Three problems with interconnection at data-link layer: Do not scale to the number of data-link

technologies. Do not scale to the number of hosts

(networks). Do not have a common addressing space.

4

The internetworking problem

S2

S1

H4

H5

H3H2H1

Network 2 (Ethernet)

Network 1 (Ethernet)

H6

Network 3 (FDDI)

Network 4(point-to-point)

H7 S3 H8

5

Scaling to data-link technologies Conversion between frame structures. Scalability problem as the number of

data-link technologies supported increases, e.g., Ethernet

FDDI

PPPToken ring

Frame conversion

6

Scaling to network size

A switched LAN is a “flat” network---A single broadcast frame reaches every LAN. Virtual LAN (VLAN) can relieve this problem

at the expense of managing VLAN membership.

Spanning tree protocol does not scale well to network size. Take a longer time for the protocol to

converge. Take a longer time to respond to network

state changes.

7

Uncommon MAC address spaces Different structures and number of bits

used in MAC address space Ethernet: 48/64 bits FDDI: 48 bits ATM: 160 bits

Each address in a data-link technology must be universally unique.

8

A layer-3 solution to internetworking

R2

R1

H4

H5

H3H2H1

Network 2 (Ethernet)

Network 1 (Ethernet)

H6

Network 3 (FDDI)

Network 4(point-to-point)

H7 R3 H8

9

IP: Scaling to data-link technologies

Ethernet

FDDI

PPPToken ring IP

Encapsulation and demultiplexing

10

IP: Scaling to network size

IP network uses hierarchies to achieve scalability.

There are at least three levels: A single IP host

(csultra6.comp.polyu.edu.hk) A IP subnet (four subnets in

comp.polyu.edu.hk) An autonomous system (polyu.edu.hk)

11

IP: Uncommon MAC address spaces

Create a logical (unicast) address space to identify network interfaces.

Classes A-C for unicast and class D for multicast: Network Host

7 24

0(a)

Network Host

14 16

1 0(b)

Network Host

21 8

1 1 0(c)

28

1 1 0(d) 1

12

Directly connected IP hosts

IP

ETH

TCP

H1

IP

ETH

TCP

H2

FTP FTPFTP

TCP

IP

Ethernet protocol

13

Indirectly connected IP hosts

R1

ETH FDDI

IPIP

ETH

TCP

R2

FDDI ETH

IP

H1

IP

ETH

TCP

H2

FTP FTPFTP

TCP

IP

FDDI protocol

14

Encapsulation

Data is processed at each layer through the protocol stack, until it is sent as a stream of bits across the network.

Each layer adds information to the data by prepending headers (and sometimes trailers) to the data that it receives.

A lower-level protocol does not interpret the message it is given by some higher-level protocol.

15

Encapsulation

IP

ETH

TCP

FTP

Appl. data

Appl. dataTCP hdr

Appl. dataTCP hdrIP hdr

Appl. dataTCP hdrIP hdrEth. hdr

user input

Send out to the network interface

16

Demultiplexing

Appl. data

Appl. dataTCP hdr

Appl. dataTCP hdrIP hdr

Appl. dataTCP hdrIP hdrEth. hdr

Received from the network interface

Other nonIP network protocols

UDP-based applications

Other TCP-based application processes

17

Internet addresses and port numbers

Each network interface has at least one IP address.

Both TCP and UDP use 16-bit port numbers to identify applications.

Servers are normally known by their well-known port numbers, usually between 1 and 1023.

Client ports are referred to ephemeral ports, i.e., short lived, which use port numbers above 1023.

18

IP software at end hosts

The IP software mainly consists of modules for Application layer, such as DNS Transport layer: TCP, UDP Routing layer: IP, ICMP, and others. Data-link layer: MAC-IP-addresses binding

IP addresses MAC addresessHost namesDNS ARP

RARP

19

An example

A HTTP client is running in m1.sun.com to connect to a HTTP server at www.sun.com.

The DNS client at m1.sun.com first obtains the IP address of www.sun.com.

The application data (HTTP+TCP) will then be encapsulated by an IP datagram with

www.sun.com m1.sun.com

140.20.1.1 140.20.1.2

20

An example

IP source address = 140.20.1.2 IP destination address = 140.20.1.1

Now m1.sun.com needs to run ARP to obtain the MAC address of www.sun.com’s network interface to the LAN.

The IP datagram is then encapsulated in an Ethernet frame with MAC source address = that of m1.sun.com MAC destination address = that of

www.sun.com

21

IP Software at routers

The software at routers is mainly used for routing and datagram forwarding.

Each router is running at least a “routing protocol” to construct a routing (or forwarding) table. Each entry in a routing table consists of IP

destination address and the next-hop’s IP address.

Upon receiving a datagram, a router forwards it based on a set of forwarding rules and the routing table.

22

Network programming

Two most common network APIs: Sockets and X/Open Transport Interface (XTI), a slight modification of AT&T’s Transport Layer Interface (TLI).

The APIs allows programmers to easily make “connections” with another application process, without knowing how the underlying network operates.

23

Basic socket calls for a client

socket

connect

recvsend

peer

sockaddr_in{}

obtain a socket

establish a connection to the peer

receive and send data

24

Basic socket calls for a server

socket

listen

recvsend

peer

sockaddr_in{}

obtain a socket

mark the socket as a listening socket

receive and send data

bind

accept

local

sockaddr_in{}bind the server’s IP address and port to the socket

accept new connections

2510 choices that were critical to the Internet’s success

26

10 right choices (by Scott Bradner)

1. Make it all work on top of existing networks (about networks, not a network).

2. Use packets, not circuits.3. Create a routing function.4. Split TCP and IP.5. The NSF funded the UC/Berkeley to put

TCP/IP into the Unix OS.6. CSNET connected with ARPANET (email

only).

27

10 right choices (by Scott Bradner)

7. The NSF required users of the NSFNET to use TCP/IP.

8. Intl. telecomm standard bodies rejected TCP/IP, then created OSI.

9. The NSF created an “Acceptable Use Policy” restricting NSFNET use to noncommercial activities.

10. Once things started to build, government stayed mostly out of the way.

28

Summary

Explained the need for an IP layer. Discussed the additional requirements

for running an IP layer. Discussed the factors responsible for IP’s

success in solving the internetworking problem.

29

Exercises this week

Try out the following commands (with various options) and network diagnosis tools: ipconfig netstat arp ping (ICMP, UDP, TCP, HTTP) traceroute (tracert, pathping,

ICMP/TCP/UDP, etc) wireshark

30

Acknowledgments

Thanks to all the sources where the diagrams were extracted from.

URL for the 10 choices http://www.interesting-people.org/archives/

interesting-people/200209/msg00018.html

top related