The development of communication without spatial boundaries Carsten Griwodz [email protected].
06. Apr. 20051INF-3190: Internet Internet Foreleser: Carsten Griwodz Email:...
-
Upload
evan-clark -
Category
Documents
-
view
215 -
download
1
Transcript of 06. Apr. 20051INF-3190: Internet Internet Foreleser: Carsten Griwodz Email:...
06. Apr. 2005 2 INF-3190: Internet
Data link andPhysical layer
Networklayer
Transportlayer
Applicationlayer
Internet Protocol Stackand Some Well-known Protocols
WANs
ATM
LLC & MAC
physical
LANs
MANs
IP+ ICMP+ ARP
TCP UDP
SMTP
HTTP
FTP
TELN
ET N
FS RTP
06. Apr. 2005 3 INF-3190: Internet
IP Routing
06. Apr. 2005 4 INF-3190: Internet
IP Routing Routing tables
Routers may have incomplete information Default paths
Network
10.0.0.0
Network
10.0.0.0
F
Network
20.0.0.0
Network
20.0.0.0
Network
30.0.0.0
Network
30.0.0.0
Network
40.0.0.0
Network
40.0.0.0
G H
20.0.0.5
10.0.0.5
30.0.0.6
20.0.0.6
40.0.0.7
30.0.0.7
To reach hoston network
20.0.0.0
30.0.0.0
10.0.0.0
40.0.0.0
Route to thisaddress
Deliver direct
Deliver direct
20.0.0.5
30.0.0.7
Routing table of G
06. Apr. 2005 5 INF-3190: Internet
IP Routing: Historical
Routers: “Core Gateways” Connect LANs to the backbone, know the routes to all
networks Exchange routing information with each other Gateway-to-Gateway Protocol (GGP):
Distance vector routing metric: physical distance
Problems Today several backbones Today not all networks are connected directly to the backbone In GGP all gateways communicate with each other
ARPANET
Local net 1 Local net 2 Local net n
G1 G2Gn
…
Originalimplementation
06. Apr. 2005 6 INF-3190: Internet
IP Routing: Autonomous Systems Hidden networks
Local net 2
Local net 1
Local net 3 Local net 4
G2 G3
G4
Core gateways have to be informed about hidden networks Autonomous systems (AS)
Internet domains
Boundary routers are also called Exterior gateways
Autonomous System
AS boundary router
G1
Core gateways
06. Apr. 2005 7 INF-3190: Internet
IP Routing: Autonomous Systems
Many autonomous systems (~70000) Have different sizes Exchange services with each other as equals or as provider/customer Have different relations to each other
Every AS has a unique number Every AS must know a route to every network
AS
ASAS
AS AS
AS
AS
AS
ASAS
ASAS
AS
ASAS
AS AS
AS
AS
AS
06. Apr. 2005 8 INF-3190: Internet
IP Routing: Autonomous Systems
Stub domain One AS, several networks Networks may have different owners, but in the same AS
Multiconnected domain Like stub domain Connected to more than one other AS No through traffic
AS
ASAS
AS AS
AS
AS
AS
ASAS
ASAS
AS
ASAS
AS AS
AS
AS
AS
06. Apr. 2005 9 INF-3190: Internet
IP Routing: Autonomous Systems
Peering Bi-lateral agreement between two directly connected ASes Exchange routes to all subnetworks Typically don’t offer global routes to each other
Transit domains Offer connection service to customer ASes Offer global routes to customer AS
AS
ASAS
AS AS
AS
AS
AS
ASAS
ASAS
AS
ASAS
AS AS
AS
AS
AS
06. Apr. 2005 10 INF-3190: Internet
IP Routing: Autonomous Systems
Tier-1 domain Top level networks Advertise all global routes Customer to no-one No-pay agreements with their peers
Internet Exchange Point Non-profit organisation Large centers for interconnecting ASes Keeps peering costs low for smaller ASes
AS
ASAS
ASAS
ASAS
ASAS
AS
ASAS
ASAS
AS
AS
ASAS
AS
AS
06. Apr. 2005 11 INF-3190: Internet
IP Routing: Autonomous Systems Every AS has a unique number Every AS must know a route to
every network
AS
ASAS
ASAS
AS
AS
ASAS
AS
ASAS
ASAS
AS
AS
ASAS
AS
AS
Stub domain Multiconnected domain
Peering
Transit domains Tier-1 domains
Internet Exchange Point
06. Apr. 2005 12 INF-3190: Internet
IP Routing: Internal and External Routing
Direct Routing/ Interior Protocols: Both source and destination end
systems are located in the same subnetwork
source end system sends datagram to the destination end system
identification done by the local address mapping
routing is completely defined by the subnetwork routing algorithm
N0N0
N1N1
N3N3 N5N5
N4N4
N2N2
Indirect Routing/Exterior Protocols: Source and destination end system are located on different networks
source end system sends datagram to the next router each router determines the next router on the path to the destination end
system routing decision is based only on
the network and subnetwork part of the Internet address, i.e. host part not used
06. Apr. 2005 13 INF-3190: Internet
IP Routing: Autonomous Systems
ASs are administrative entities Collects routing information on networks in the AS Defines boundary routers that transmit routing information to other ASs
Boundary routers will filter routes Expose information about network reachability to other ASs May transmit information about other reachable ASs (tier-1 domains,
transit domains) ISP will offer customers access to routes its sees via peerings and transits ISP will offer peers routes to customers, no routes from transits or other
peers
AutonomousSystem x
Gx
AutonomousSystem 1
G1
EGP
Place physically close to each other
06. Apr. 2005 14 INF-3190: Internet
Exterior Gateway Protocol Requirements,
basic conditions political economical security-related
Requirement examples to avoid certain autonomous systems to avoid certain countries to stay within one country (before going
via foreign country) data of company A should not to pass
through company B
AS
ASAS
ASAS
AS
AS
ASAS
AS
ASAS
ASAS
AS
AS
ASAS
AS
AS
06. Apr. 2005 15 INF-3190: Internet
Border Gateway Protocol (BGP) Previously: Internet Exterior Gateway Protocol (RFC 1654) Now: Border Gateway Protocol (RFC 1771, 1772, 1773) is de-facto
standard
BGP uses distance path mechanism Related to distance vector routing
But without count-to-infinity problem IS sends periodically a list to its neighbours containing
estimated distance and preferred Path from itself to each destination for a specified block of reachable IP addresses
Receiving IS evaluates path Distance Policy compliance
notion of a path / of how to reach other routers is distributed but, no criteria for selecting a route is distributed
Each BGP router must have its own criteria, i.e. policy
Remarks Big updates But only a limited number of routers
06. Apr. 2005 16 INF-3190: Internet
Interior Gateway Protocol
In general: intradomain routing individual solutions possible
Presently preferred procedures Routing Information Protocol (RIP): old, retiring Intermediate System – Intermediate System (IS-IS): long time favorite Open Shortest Path First (OSPF): scales better than IS-IS Interior Border Gateway Protocol (iBGP): combined with IS-IS and OSPF
AutonomousSystem x
IGPx
IGPx
Gx
AutonomousSystem 1
IGP1
IGP1
G1
EGP
06. Apr. 2005 17 INF-3190: Internet
Routing Information Protocol (RIP)
Background (regarding the originally used protocol) developed as a part of Berkeley UNIX since 1988, RIP Version 1, RFC 1058
Principle Distance Vector Routing Distance in number of hops, 15 is ∞ Periodic updates: 30 sec cycle, 180 sec with update ∞
RIP Version 2 G. Malkin, RFC 1387, 1388 and 1389 (RIP-MIB)
Uses multicast if necessary to distribute data Not broadcast
Networks without broadcast or multicast (ISDN, ATM) “Triggered" updates To be sent only if the routing table changes
06. Apr. 2005 18 INF-3190: Internet
Open Shortest Path First (OSPF) Background: since 1990 Internet Standard, RFCs 1247, 2178
Transition from DVR to LSR Principle
Link State Routing Several possible distance metrics Metric selection per update packet possible (RFC 1349)
Distribute updates using flooding Routing tables created using Dijkstra’s "shortest path first"
algorithm Name "Open Shortest Path First“
0248
16
Normal serviceMinimize financial cost
Maximize reliabilityMaximize throughput
Minimize delay
OSPF no. Meaning
06. Apr. 2005 19 INF-3190: Internet
Open Shortest Path First (OSPF) For large autonomous
systems
AS substructure AS AS backbone area Area
Router classes AS boundary routers Backbone routers Area border routers Internal routers
To other AS
To other AS
06. Apr. 2005 20 INF-3190: Internet
Open Shortest Path First (OSPF) Adjacency
LSR measures distance to all neighbors OSPF measures distance to all adjacent nodes
If several routers are connected by a LAN One is designated router All other routers on the LAN are adjacent only to it It is adjacent to all others
Abstraction leads to point-to-point links Required for Dijkstra’s algorithm
A F
B
C
LAN
D E G
H
Itransform to
graph A
F
B
C
D E G
H
I
06. Apr. 2005 21 INF-3190: Internet
Final remarks IS-IS is similar to OSPF without (working support for) areas
iBGP is often used to distribute tables for routing among ASs inside an AS
Separate the issue from dynamics of IGP
Not all routers inside an AS must carry the full external routing table
Some routers talk iBGP and have the full routing table Called route reflectors All route reflectors of an AS must be connected at all times They have route reflector clients that route all external traffic
through them
Multiconnected ASs want to save resources If two routes to a target AS exist … … and policies allow it Hot potato routing
06. Apr. 2005 22 INF-3190: Internet
Internet Protocol IP
Defined for the first time in 1981 J. Postel RFC 791, September 1981
Connectionless service Provide best-efforts service Without regard to whether
these machines are on the same network there are other networks in between
Packet length In theory: up to 64 kBytes In real life mostly approx. 1500 Bytes
06. Apr. 2005 23 INF-3190: Internet
IPv4 Datagram Format
Version IPv4: dominant version IPv6: upcoming successor to
IPv4
Protocol specific fields
VersionInternet NetworkLayers Headers
0 Not in use12345
Not in use
Not in useNot in use
Internet Protocol, version 4Stream Protocol (ST, ST-II)
6 Internet Protocol, version 67 IPv77, TP/IX, CATNIP8 PIP9 TUBA
10 Not in use1112131415
Not in useNot in useNot in useNot in useNot in use
06. Apr. 2005 24 INF-3190: Internet
Version IHL Type of service
IPv4 Datagram Format
D T R C
Precedence (3 bit) priority 0 (normal) ...7 (network control) influences the queuing scheme (and
not routing)
1 bit unused C (1 bit): low cost R (1 bit): high reliability T (1 bit): high throughput D (1 bit): low delay
OLD definition Was ignored by routers Redefined by DiffServ
06. Apr. 2005 25 INF-3190: Internet
Version IHL DS
IPv4 Datagram Format
0
Class selector codepoints If of the form xxx000
DS Field Differentiated
Services Field New definition
NEW definition DiffServ compliant Not widely deployed
yet
0
Differentiated Services Codepoint xxxxx0 reserved for standardization xxxx11 reserved for local use xxxx01 open for local use, may be
standardized later
06. Apr. 2005 26 INF-3190: Internet
Version IHL DS
IPv4 Datagram Format
IdentificationTotal length
DM Fragment offsetTime to live Protocol
Destination AddressSource address
Header checksum
Protocol type of higher level protocol for transmission
1 – ICMP Internet Control Message Protocol 2 – IGMP Internet Group Management Protocol 3 – GGP Gateway to Gateway Protocol 4 – IP IP in IP tunneling 5 – ST ST–II in IP tunneling 6 – TCP TCP …
06. Apr. 2005 27 INF-3190: Internet
IPv4 Segmentation/Reassembly
Transparent segmentation
Non-transparent segmentation Used in the Internet
IP routers
06. Apr. 2005 28 INF-3190: Internet
IPv4 Segmentation/Reassembly Total length
Length of the unsegmented datagram in bytes ≥576 bytes
≤65535 bytes Identification
Unique for all segments of a datagram with same src/dst pair Flags
DF (1 bit): don’t fragment MF (1 bit): more fragments
Fragment offset Offset of this fragment in the datagram in multiples of 8 bytes
06. Apr. 2005 29 INF-3190: Internet
Options (0 or more)
Destination AddressSource address
Time to live Protocol Header checksumIdentification DM Fragment offset
Version IHL Total length
IPv4 Datagram Format
Data
Padding
DS
06. Apr. 2005 30 INF-3190: Internet
IP Version 6 Objectives To support billions of end systems
longer addresses To reduce routing tables To simplify protocol processing
simplified header
To increase security security means integrated
To support real-time data traffic flow label, traffic class
To provide multicasting To support mobility (roaming)
To be open for change (future) extension headers
To coexist with existing protocols
Scalability
Addressing IPv4limitations
Coexistance
06. Apr. 2005 31 INF-3190: Internet
IPv6 vs. IPv4
VersionPriority Flow labelPayload length Next header Hop Limit
Destination Address(128 bit)
Source address(128 bit)
Options (0 or more)
Destination Address (32 bit)Source address (32 bit)
Time to live Protocol Header checksumIdentification DM Fragment offset
Version IHL Type of service Total lengthPRE ToSIPv4 Header
IPv6 Header
06. Apr. 2005 32 INF-3190: Internet
IPv6 Header Fields
VersionPriority Flow labelPayload length Next header Hop Limit
Destination Address
Source address
IPv6 Header
01234567
89
101112131415
Not characterizedFillerUnattendedReservedAttended bulk transferReservedInteractiveInternet management
Continuous rate traffic
With flow control Without flow control
Priority differentiation of
sources lower number < lower
priority
06. Apr. 2005 33 INF-3190: Internet
Internet Control Message Protocol (ICMP)
History J. Postel RFC 792, Sept. 1981
Purpose to communicate network layer information
mostly error reportinge.g. in ftp, telnet, http appears "destination network unreachable"
ICMP origin, e.g.: a router was unable to find the given destination address router sent back ICMP (Type 3) packet sending host received the packet, returned error code to TCP TCP returned error code to application (e.g. ftp, telnet, http)
between hosts, routers (and gateways)
ICMP messages are sent as IP packets i. e. the first 32 bits of the IP data field are ICMP headers
06. Apr. 2005 34 INF-3190: Internet
Internet Control Message Protocol (ICMP)
Header structure
Type 16 types, a. o.
destination or port or protocol unreachable fragmentation necessary but DF (don’t fragment) DF is set source route failed, redirect (for routing) echo-request and echo-reply (e.g. for "ping" program) source quench (packet for congestion control)
Code states cause if type is "destination unreachable"
e. g. net, host, protocol, port unreachable or fragmentation needed, source route failed
Type Code Checksum
06. Apr. 2005 35 INF-3190: Internet
IPv4 Addresses andInternet Subnetworks
Original global addressing concept for the Internet For addressing end systems and intermediate systems each network interface (not end system) has its own unique address 5 classes
0 Network Host
1
7
0
1 1 0
Network Host
Network Host
1 1 01 Multicast address
1 111 Reserved
24
14 16
21 8
28
28
A
B
C
06. Apr. 2005 36 INF-3190: Internet
IPv4 Address andInternet Subnetworks
Networks grow and should be somehow structured several networks instead of one preferable but getting several address areas is hard
since address space is limited e.g., university may have started with class B address, doesn’t get
second one Problem
class A, B, C refer to one network, not collection of LANs
Allow a network to be split into several parts for internal use still look like single network to outside world
06. Apr. 2005 37 INF-3190: Internet
IPv4 Address andInternet Subnetworks
Idea local decision for subdividing host share
into subnetwork portion and end system portion
1 0 Network Host14 16
Use “subnet mask” to distinguish network and subnet part from host part
Routing with 3 levels of hierarchy Algorithm in router
(by masking bits: AND between address and subnet mask): packet to another network (yes, then to this router) packet to local end system (yes, then deliver packet) packet to other subnetwork (yes, then reroute to appropriate router)
Subnet Host6 10
1 0 0 0 0 0 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 1 1 1 0 0 0 0 0 0 1 0e.g. address
129.8.7.2:
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0Subnet mask:
To write down subnet addresswith subnet mask use either 129.8.4.0/255.255.252.0or 129.8.4.0/221 0 0 0 0 0 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0Subnet address:
& &
06. Apr. 2005 38 INF-3190: Internet
CIDR: Classless InterDomain Routing
Subnetting not good enough Too many organizations require addresses
in principle many addresses due to 32-bit address space but inefficient allocation due to class-based organization
class A network with 16 million addresses too big for most cases class C network with 256 addresses is too small most organizations are interested in class B network, but there are only
16384 (in reality, class B too large for many organizations) Large number of networks leads to large routing tables
Introduction of CIDR (Classless InterDomain Routing) (RFC1519)
CIDR Principle to allocate IP addresses in variable-sized blocks
(without regard to classes) e.g., request for 2000 addresses would lead to
assignment of 2048 address block starting on 2048 byte boundary but, dropping classes makes forwarding more complicated
06. Apr. 2005 39 INF-3190: Internet
CIDR: Classless InterDomain Routing
Search for longest matching prefix if several entries with different subnet mask length may match
then use the one with the longest mask i.e., AND operation for address & mask must be done for each
table entry
Entries may be aggregated to reduce routing tables
Router194.24.0.0/19
Router
Router
Unassigned 194.24.12.0/22
Router
194.24.0.0/21
194.24.8.0/22
194.24.16.0/20
06. Apr. 2005 40 INF-3190: Internet
IPv6 Addresses
0000 00010000 0010000 0100000 0110000 1000100101001110010111011101111 01111 101111 1101111 1110 01111 1110 101111 1110 111111 1111
UnassignedOSI NSAP address
Novell Netware IPX addressesUnassignedUnassignedUnassignedUnassigned
Provider-based addressesUnassigned
Geographic-based addressesUnassignedUnassignedUnassignedUnassignedUnassignedUnassignedUnassigned
Link local use addressesSite local use address
Multicast
0000 0000 Reserved (including IPv4) 1/256
1/128
1/321/161/8
1/16
1/64
1/512
1/1024
1/256
1/256
1/1281/128
1/128
1/32
1/1024
1/81/81/81/81/8
Prefix (binary) Usage Fraction
06. Apr. 2005 41 INF-3190: Internet
IPv6 Addresses and Anycast Provider based: approx. 16 mio. companies allocate addresses Geographically based: allocation as it is today Link, site-used: address has only local importance (security,
Firewall concept) Should make NAT (network address translation) useless
Anycast definition previously
unicast, broadcast and multicast now (new)
anycast send data to one member of a group
for example to the member which is the nearest one geographically i.e. a system within a pre-defined group is to be accessed
Anycast application To search for the nearest web-server To locate the nearest router of a multicast group
in order to participate in group communication