cs 3505 the internet and the info highway ip : internet protocol
TRANSCRIPT
CS 3505CS 3505 the internet and the info the internet and the info
highwayhighwayIP : internet protocolIP : internet protocol
IP topicsIP topics brief history
basic function
names and addresses
packet format
packet routing, routing tables
IPv6 : the IP of the future
Internet : historyInternet : history ARPAnet - 1st packet switched network,
1969 Larry Roberts - packet switching, ARPAnet BBN - built first IMPs 1970s - ARPAnet grew rapidly ethernet - PARC, Robert Metcalf 1970s token ring, IBM - 1970s TCP/IP - Vint Cerf - about 1980
IP : basic functionIP : basic function
provides connectionless, best-effort data delivery service to TCP/UDP/apps. Packet delivery not guaranteed.
Makes use of underlying networks (LANs/ WANs)
interface between transport layer (TCP,UDP) and the network interface (ethernet, token ring, FDDI, WAN)--> “workhorse” of Internet; “glue” that connects many networks
IP : basicsIP : basics
runs in routers (gateways, layer 3 switches) and hosts (end systems; computers).
routers are network switches which connect networks to other networks (and other routers). Mostly software. [AKA gateways]
transport layer (TCP,UDP) - run in hosts only, not in routers. Interface to IP.
TCP/IP internet TCP/IP internet
WAN
IP
WAN
IP
IP
IP ...TCP/IP
TCP/IP
TCP/IP
TCP/IP protocol suiteTCP/IP protocol suite
IP
TCP UDP
LAN/WAN
media
IGMPICMP
RARPARP
telnet, FTP, etc. TFTP, other apps.apps
IP : names and addressesIP : names and addresses
need unique name for every host
hierarchical naming structure
top level names assigned by InterNIC registration service
lower level names assigned by organization
ex: cs.nps.navy.mil
mil is the top level domain ; navy next level, nps next, etc.
IP : names and addressesIP : names and addresses
some top level domains --edu - colleges & universitiesgov - US fed. gov’t agenciescom - commercial organizations in USnet - internet service organizationsorg - non profit institutionsmil - U S militarycountries --> jp, uk,fr, mx, de, etc.
IP : names and addressesIP : names and addresses
name - series of labels, dots --bellcore.comwww.apple.comcs.nps.navy.mil
label can have up to 63 characters, and up to 255 characters in a name
worldwide naming tree -- root is top; domain is a node of the tree and its subtree
IP addressIP address
IP address : 32 bit number, assigned to each “host” (computer) on an IP internet.
switching nodes in the internet - routers - also must have IP addresses.
the IP address actually is assigned to interface point on the network, not the node itself .... analogous to street and house number for a home address
IP : names and addressesIP : names and addresses
IP address - 2 main parts, netid and hostid
each part can be 1,2 or 3 bytes (class) first few bits indicate which class applies
Class A : netid 1 byte, host id 3 bytes Class B : 2 and 2 Class C : 1 and 3
netid hostid
IP : names and addressesIP : names and addresses
dotted decimal notation --> 131.120.1.60 formats -> 0 (A), 10 (B), 11(C) ... in
decimal, if 1st byte : 0-127 --> A, 128-191 --> B, 192-223 --> C.
additional classes :D, 224-239, for multicastingE, 240-255, reserved.
some address blocks reserved for networks not connected to the Internet
IP : names and addressesIP : names and addresses
how many possible IP addresses, total?
how many class A addresses exist? B? C?
how many hosts are possible for each class A? B? C?
is this an efficient method of assigning address classes in the Internet?
IP : names and addressesIP : names and addresses
suppose your organization (eg, NPS) has a class B address; you don’t have 1 big network of 64K hosts; you have numerous smaller networks, mostly LANs.
further -- 64K is far too many hosts for a LAN or even a LAN internet, anyway....
how these be separated into smaller, more manageable networks?
IP addresses - subnetsIP addresses - subnets
the host space can be divided further into a subnet part and a host part (or system part).
example: NPS is 131.120.X.Y.... we can make X (3rd byte) the subnet id, and the rest (4th byte) the host id.
This gives room for ~255 subnets of up to 255 hosts each.... “131.120.1” is one of the CS dept subnets...
names and addresses : subnetsnames and addresses : subnets
131.120.1 131.120.10
131.120.5
131.120.20
NPS: 131.120
names and addresses : subnetsnames and addresses : subnets
these different networks are connected by routers, and the NPS network is connected to the “outside” by a router.
how do the routers “know” which part is the subnet and hostid part?
--> subnet mask - a 32 bit string of bits; 1s correspond to the netid part (network and subnet), 0s to the system (host) part
names and addresses : subnetsnames and addresses : subnets
some bit patterns are reserved for special purposes (e.g. broadcasting) , so ---
netid, hostid(subnetid) -- should not be all 0s or all 1s
netid, hostid(subnetid) -- must be at least 2 bits
IP addresses : multihomingIP addresses : multihoming
recall that IP address has 2 parts, the netid and hostid
routers, and sometimes hosts, may be connected to more than one network; which netid is the correct one?
--> both; the IP address corresponds to the network interface, not simply to the host itself. (think of a house on a corner....)
similarly, a host connected to 2 networks may be structured as a router
names and addressesnames and addresses
IP runs on top of ethernet LANs, TR LANs, etc. These rout packets according to a different address, the MAC address (not the IP address). How can IP rout packets on these networks?
--> must determine the MAC address which corresponds to a given IP address
ARP address resolution protocol
ARP :address resolution protocolARP :address resolution protocol
purpose : obtain MAC (hardware) address of a machine, given its IP address.
which MAC address has IP address 127.54.3.4?
IPMAC
ARP :address resolution protocolARP :address resolution protocol
IP frame “fits” into the frame of the underlying network... (“wrapper”)
IP frame
CSMA/CD frame
INFO
MAC DA,SA
ARP :address resolution protocolARP :address resolution protocol
input : IP address, i ;output : MAC address, m; data structure : ARP table: list of (i,m) pairs;
begin 1. search ARP table for i ;
if found, return (m) else broadcast ARP request (i );
2. wait for ARP reply (m); 3. when reply received, update ARP table (i,m)
& return (m). end
ARP :address resolution protocolARP :address resolution protocol
“broadcast request” - a LAN broadcast packet, contains the ARP packet (below)
2 2 1 1 2 6* 4 6* 4
src/dest MAC address
src/dest IP address
MAC hardware type
IP/upper layer type
lengthsARP msg type(request,reply)
(field lengths shown in bytes)
** ethernet length, may vary with
other protocols
ARP :address resolution protocolARP :address resolution protocol
receiver part of ARP : upon receipt of an ARP request,
if the destination IP address is MA (my address), then
1. update my ARP table, as appropriate, and
2. send ARP reply.
IP packet formatIP packet format
source IP address
destination IP address
options, (if any)
DATA
0 15 16 31
total length
identification
protocol header checksumTTL
fragment offset
vers. HLEN
flags
3 4 7 8 10
pre. TOS
IP packet - explanationIP packet - explanation
version -- currently 4; next - 6. HLEN - header length; 20 to 60 bytes. total length - packet length in bytes. precedence (3 bits) - designed for
priority, but no standard procedure for this; little used.
TOS - type of service TTL - time to live (die). Standard
specified seconds, but in practice - router hops.
IP packet - explanationIP packet - explanation
ID - numbers each datagram sent by a host. ( fragmentation/reassembly)
flags - 3 bits. DF, don’t fragment; MF, more fragments. (1st bit unused=0).
frag offset - ( fragmentation/reassembly)
protocol - indicates TCP, UDP, etc.
header checksum - done on header only; recomputed at each hop.
IP routing IP routing
routing mechanism - the mechanics of routing; simply, IP routs packets according to a routing table, in memory.
routing policy - how the paths in the networking are calculated- i.e., how the entries in the table are determined. Two separate procedures.
mechanism - differs slightly, depending on whether in a host or a router; simpler for hosts.
IP routingIP routing
basic IP routing mechanism:
given an IP DA (destination IP address),
1. search table for complete IP DA; if found, send to next hop indicated.
2. search table for network ID; if found, send to next hop indicated.
3. search for default entry; if found, send to next hop indicated.
4. discard the packet.
IP routing : in a host IP routing : in a host
IP (in host) receives packets to send from TCP, UDP, ICMP, IGMP.
upon receipt of a packet to send, IP will 1. check mask (determine net/host parts).
2. if destination directly connected (point-to-point link/ same subnet), then send packet to it.
3. otherwise, send packet to the default router (routing table).
IP routing : in a hostIP routing : in a host
fundamental difference : a host never forwards a packet; IP packets received not for this host are discarded.
note : if sending to a host on same subnet (e.g.
ethernet), the MAC address corresponds to the IP DA;
if sending to default router, the MAC/hardware DA is the router’s, while the IP DA is that of the final destination.
IP routing : in a hostIP routing : in a host
routing table
IP (host)
TCP, UDP, etc.
get next hop
NW interface
input queue
this IP DA or
broadcast packet?
yes
nobit bucket
IP routing : in routersIP routing : in routers
Same basic algorithm as stated, but :
routing tables bigger, generally ;
more overhead in maintaining routing tables, exchanging information with other routers;
more network interfaces, generally ; usually at least 2 (hosts may have only 1)
forward packets received onto other routers. (fundamental difference)
IP routing : in routersIP routing : in routers
routing table
IP (router)
TCP, UDP, etc.
get next hop
NW interfaces
input queue
this IP DA or
broadcast packet?
yes
no
IP routing tables IP routing tables
series of entries which contain
destination - IP address of distant location (either network or host)
gateway(router) - IP address of router to send the packet to
flags - 5 of these which give additional info
refcnt - number of active uses
use - number of packets sent this route
interface - the outgoing interface for this route; (e.g., ethernet, a direct link, etc. )
IP routing IP routing
routing mechanism - the mechanics of routing -- discussed previously
routing policy - how the paths in the network are calculated-- there is no single required routing policy on the Internet-- DV and LS routing already discussed
-- some specific IP policies to follow
IP routing mechanism (review)IP routing mechanism (review)
given an IP DA (destination IP address),
1. search table for complete IP DA; if found, send to next hop indicated.
2. search table for network ID; if found, send to next hop indicated.
3. search for default entry; if found, send to next hop indicated.
4. discard the packet.
autonomous systemsautonomous systems
a piece of the Internet unified by a routing policy
“somebody’s network” early def: a collection of subnetworks and
hosts, interconnected by routes
new def: a connected group of 1 or more IP prefixes ... which has a SINGLE and CLEARLY DEFINED routing policy
autonomous systemsautonomous systems
routing within ASs is done by IGPs, or interior gateway protocols; chosen by the controlling organization
routing between ASs is done by EGPs, or exterior gateway protocols
AS
AS
ASRIPIGRP
EIGRP
EGP
OSPF : open shortest path firstOSPF : open shortest path first
link state protocol, developed by IETF; non proprietary
low overhead; updates report changes rather than everything
quick detection of topology changes, rapid updating after changes
traffic splitting over multiple paths subnet masks supported authentication supported widely used, refinements will continue