Basics of communication and Internet
Basics of communication and Internet
Basics of communication and Internet
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
<strong>Basics</strong> <strong>of</strong> Communication<br />
<strong>and</strong> the <strong>Internet</strong><br />
Circle Lecture Communication Systems<br />
Winter Term 2004/2005<br />
Outline<br />
Communication trends <strong>and</strong> scalability<br />
<strong>Basics</strong> <strong>of</strong> data <strong>communication</strong><br />
How the <strong>Internet</strong> works<br />
Pr<strong>of</strong>. Dr. M. Zitterbart<br />
Institute <strong>of</strong> Telematics<br />
Dr.-Ing. Rol<strong>and</strong> Bless<br />
Design Principles <strong>and</strong> threats for the <strong>Internet</strong> architecture<br />
Communication Systems – <strong>Basics</strong> <strong>of</strong> <strong>communication</strong> <strong>and</strong> <strong>Internet</strong> – 1.1 04/05 www.tm.uka.de<br />
Mobile Communications<br />
<br />
<br />
Communication Trends<br />
Paradigm: anybody, anytime, anywhere<br />
Expected: more mobile phone subscribers than POTS subscribers<br />
(Germany: already 48 Mio. at the end <strong>of</strong> 2000)<br />
Technical Communications<br />
<br />
<br />
Today: <strong>communication</strong> between users<br />
Tomorrow: <strong>communication</strong> between machines, e.g.<br />
Production infrastructure: tele-metrics, tele-diagnosis, tele-operations<br />
Communications between vehicles:<br />
Home networks: sensors, security, appliances<br />
IP-based Communications<br />
<br />
<br />
<br />
<strong>Internet</strong> Protocol IP as media independent access<br />
Voice-Over-IP technology is rolling out<br />
“All-IP” networks: Telcos will switch to IP for voice calls<br />
Communication Systems – <strong>Basics</strong> <strong>of</strong> <strong>communication</strong> <strong>and</strong> <strong>Internet</strong> – 1.2 04/05 www.tm.uka.de
„Everything goes IP”<br />
IP<br />
IP<br />
IP<br />
Communication Systems – <strong>Basics</strong> <strong>of</strong> <strong>communication</strong> <strong>and</strong> <strong>Internet</strong> – 1.3 04/05 www.tm.uka.de<br />
<strong>Internet</strong> Growth<br />
Survey based on #hosts registered in DNS<br />
#Hosts worldwide (Mio.)<br />
300<br />
250<br />
200<br />
150<br />
100<br />
50<br />
0<br />
91 92 93 94 95 96 97 98 99 00 01 02 03 04<br />
Year<br />
Communication Systems – <strong>Basics</strong> <strong>of</strong> <strong>communication</strong> <strong>and</strong> <strong>Internet</strong> – 1.4 04/05 www.tm.uka.de
Growth <strong>and</strong> Scalability<br />
Constant change is presumably the only constant in the <strong>Internet</strong><br />
<strong>Internet</strong> survived the tremendous growth: it still works!<br />
One says: it is “scalable”<br />
What means scalability?<br />
Scalability<br />
A scalable system works even when there is tremendous growth (e.g., by<br />
several orders <strong>of</strong> magnitude, i.e., over several scales) <strong>of</strong> certain system<br />
parameters<br />
Why important? Technological development shows <strong>of</strong>ten leaps in order <strong>of</strong> a<br />
magnitude (c.f. Moore‘s Law, CPU, b<strong>and</strong>width, memory)<br />
Example for no or bad scalability:<br />
X(t)<br />
System<br />
performance<br />
t<br />
Performance <strong>of</strong> a non-scalable system decreases (strongly) as certain<br />
parameter values increase, possibly until the whole system fails<br />
Communication Systems – <strong>Basics</strong> <strong>of</strong> <strong>communication</strong> <strong>and</strong> <strong>Internet</strong> – 1.5 04/05 www.tm.uka.de<br />
X(t)<br />
Evolving <strong>Internet</strong> – important aspects<br />
Past<br />
Data <strong>communication</strong> between research institutions<br />
Common goals<br />
Trust relationships between users<br />
Technically skilled users<br />
Consistent <strong>and</strong> coherent architecture<br />
Presence<br />
Global infrastructure <strong>of</strong> the information society<br />
New interest groups <strong>and</strong> commercialization (ISPs, service providers)<br />
Loss <strong>of</strong> trust relationships<br />
Average consumers, technically unskilled<br />
Out <strong>of</strong> own interests, technologies <strong>and</strong> extensions are realized, which<br />
• are used for short-time fulfillment <strong>of</strong> dem<strong>and</strong><br />
• are largely done without architectural thinking<br />
• are not consistent with the <strong>Internet</strong> architecture<br />
• endanger the coherence <strong>of</strong> the internet<br />
Communication Systems – <strong>Basics</strong> <strong>of</strong> <strong>communication</strong> <strong>and</strong> <strong>Internet</strong> – 1.6 04/05 www.tm.uka.de
Data Communications<br />
Communication (original meaning):<br />
„Exchange <strong>of</strong> data between human <strong>communication</strong> partners.“<br />
Every concrete <strong>communication</strong> is data <strong>communication</strong><br />
N.B.: Information is extracted from data by the process <strong>of</strong> interpretation<br />
Data <strong>communication</strong><br />
(more narrow definition in literature <strong>and</strong> habitual language use):<br />
„Transmission <strong>of</strong> digital data between tele<strong>communication</strong> devices“<br />
Communication (Usage <strong>of</strong> the term in this lecture):<br />
„Data (tele)<strong>communication</strong> is is the the generic term term for for each data data<br />
exchange using immaterial media <strong>and</strong> <strong>and</strong> greater distances<br />
between men men <strong>and</strong>/or machines<br />
(abbreviated: Data <strong>communication</strong> = <strong>communication</strong>).“<br />
immaterial media:<br />
• Energy flows, usually electric currents, electromagnetic waves<br />
• Opposite: material data transport (e.g. letters, shipping <strong>of</strong> disks)<br />
Communication Systems – <strong>Basics</strong> <strong>of</strong> <strong>communication</strong> <strong>and</strong> <strong>Internet</strong> – 1.7 04/05 www.tm.uka.de<br />
Basic model <strong>of</strong> tele<strong>communication</strong><br />
sender<br />
service interface<br />
service<br />
access point<br />
receiver<br />
message<br />
medium<br />
spatial distance<br />
Participants act as senders or receivers<br />
The service usage by participants occurs at a special service interface, using<br />
a service access point<br />
Different service primitive types: Request, Indication, Response, Confirmation<br />
The Medium bridges the spatial distance<br />
Communication Systems – <strong>Basics</strong> <strong>of</strong> <strong>communication</strong> <strong>and</strong> <strong>Internet</strong> – 1.8 04/05 www.tm.uka.de
What is a protocol?<br />
A <strong>communication</strong> protocol describes a set <strong>of</strong> rules, according to which the<br />
<strong>communication</strong> between two or more parties must be performed.<br />
Communication protocols<br />
e.g. discussion, conversation<br />
Computer <strong>communication</strong> protocols<br />
e.g. file transfer, electronic mail<br />
ISO/OSI protocols<br />
IPX<br />
TCP/IP protocols<br />
Ethernet AppleTalk<br />
WLAN<br />
DECnet<br />
Communication Systems – <strong>Basics</strong> <strong>of</strong> <strong>communication</strong> <strong>and</strong> <strong>Internet</strong> – 1.9 04/05 www.tm.uka.de<br />
Service <strong>and</strong> Protocol<br />
Service User 1 Service User 2<br />
Service<br />
Service<br />
Service<br />
Provider 1<br />
Protocol<br />
Service<br />
Provider 2<br />
Communication Systems – <strong>Basics</strong> <strong>of</strong> <strong>communication</strong> <strong>and</strong> <strong>Internet</strong> – 1.10 04/05 www.tm.uka.de
A Model for Tele<strong>communication</strong> Systems<br />
Sender<br />
Receiver<br />
tele<strong>communication</strong> system<br />
entity n<br />
layer n<br />
entity n<br />
entity n-1<br />
layer n-1<br />
entity n-1<br />
. . .<br />
. . .<br />
entity 1<br />
layer 1<br />
Physical medium<br />
entity 1<br />
A layer <strong>of</strong>fers a service to its upper layer<br />
The service is provided by the cooperation <strong>of</strong> the layer entities<br />
according to a specified protocol<br />
Communication Systems – <strong>Basics</strong> <strong>of</strong> <strong>communication</strong> <strong>and</strong> <strong>Internet</strong> – 1.11 04/05 www.tm.uka.de<br />
ISO/OSI <strong>and</strong> <strong>Internet</strong> Model<br />
7<br />
6<br />
5<br />
4<br />
3<br />
2<br />
1<br />
ISO/OSI Basic<br />
Reference Model<br />
Application<br />
Presentation<br />
Session<br />
Transport<br />
Network<br />
Data Link<br />
Physical<br />
<strong>Internet</strong><br />
Reference Model<br />
Application<br />
Transport<br />
<strong>Internet</strong><br />
Media Access<br />
<br />
ISO/OSI too complex, but OK as logical model<br />
Too restrictive (no cross-layer information exchange)<br />
Redundant functionality in different layers<br />
Too heavy-weight for simple network devices like printers, etc.<br />
<br />
<strong>Internet</strong> model similar, but simplified (esp. Application layer)<br />
Communication Systems – <strong>Basics</strong> <strong>of</strong> <strong>communication</strong> <strong>and</strong> <strong>Internet</strong> – 1.12 04/05 www.tm.uka.de
Physical Layer<br />
Tasks<br />
Accesses the physical medium directly (e.g. cable)<br />
Unsecured connection between systems<br />
Transport <strong>of</strong> unstructured bit sequences via a physical medium<br />
Comprises (among other things) physical link, conversion data ⇔ signals<br />
Signal Transmission Modes<br />
Baseb<strong>and</strong> Transmission<br />
t<br />
Native <strong>and</strong> fully digital:<br />
discrete signal levels, periodic <strong>and</strong> discrete transition intervals<br />
Maximum data rate for channel with b<strong>and</strong>width B according to<br />
• Nyquist: r max [bit/s] =2 B log 2 n, (n=number <strong>of</strong> discrete levels, noise-less channel)<br />
• Shannon: r max [bit/s] = B log 2 (1 + S/N) (noisy channel, S/N=Signal-to-noise ratio)<br />
Broadb<strong>and</strong> Transmission<br />
Modulation (amplitude, frequency, phase or combination there<strong>of</strong>)<br />
Modem (modulator/demodulator) required<br />
S(t)<br />
S(t)<br />
Communication Systems – <strong>Basics</strong> <strong>of</strong> <strong>communication</strong> <strong>and</strong> <strong>Internet</strong> – 1.13 04/05 www.tm.uka.de<br />
t<br />
Tasks<br />
<br />
<br />
Medium-Access/Data Link Layer<br />
Structuring the data stream<br />
Synchronization, Framing, Code Transparency<br />
Protection against errors <strong>and</strong> loss<br />
Use <strong>of</strong> checksum to detect bit errors (e.g., CRC: Cyclic Redundancy Check)<br />
Reliable link layers use sequence numbers, timers <strong>and</strong> acknowledgments to<br />
detect loss <strong>of</strong> data packets <strong>and</strong> to recover by automatic retransmission<br />
Flow control<br />
Media access control in case <strong>of</strong> shared media<br />
Network Access<br />
Local Area Networks, e.g., Ethernet, Token-Ring, Token-Bus, Wireless<br />
LANs, ....<br />
Ethernet-Frame<br />
Preambel<br />
StartDel StartDel DestAddr<br />
SrcAddr<br />
Length Length Data Data PAD PAD FCS FCS<br />
56 56 bit bit (8 (8 bit) bit) (16/48 (16/48 bit) bit) (16/48 (16/48 bit) bit) (16 (16 bit) bit) (≤12.000 bit) bit) (0-368 (0-368 bit) bit) (32 (32 bit) bit)<br />
Metropolitan Area <strong>and</strong> Wide-Area Networks: Modems, Fiber, DSL, ...<br />
Communication Systems – <strong>Basics</strong> <strong>of</strong> <strong>communication</strong> <strong>and</strong> <strong>Internet</strong> – 1.14 04/05 www.tm.uka.de
Tasks<br />
<br />
<br />
<br />
<br />
<br />
<br />
Network Layer<br />
Concatenation <strong>of</strong> point-to-point<br />
connections to end-system connections<br />
Uniform addressing <strong>of</strong> nodes<br />
Address mapping to<br />
data link layer addresses<br />
Transmission quality possibly<br />
selectable<br />
Routing<br />
Flow control, congestion control<br />
Applicationoriented<br />
Layers<br />
Transport<br />
Layer<br />
Network<br />
Layer<br />
Media Access<br />
End-system A<br />
TCP<br />
IP<br />
IP<br />
IEEE 802.3<br />
Intermediate System<br />
IEEE 802.3<br />
IP<br />
IP<br />
End-system B<br />
TCP<br />
IP<br />
IP<br />
IEEE 802.5 IEEE 802.5<br />
Switching concepts<br />
<br />
<br />
<br />
<br />
Physical Medium<br />
Circuit Switching (Classical telephony, e.g. ISDN)<br />
Packet Switching (<strong>Internet</strong>)<br />
Virtual Connections (ATM: Asynchronous Transfer Mode)<br />
Message Relaying<br />
Physical Medium<br />
Communication Systems – <strong>Basics</strong> <strong>of</strong> <strong>communication</strong> <strong>and</strong> <strong>Internet</strong> – 1.15 04/05 www.tm.uka.de<br />
Network Layer: <strong>Internet</strong> Protocol<br />
<br />
<br />
<br />
<br />
IP layer enables<br />
Bigger network<br />
Global addressing<br />
Hide network details <strong>and</strong> changes<br />
from end-to-end protocols<br />
A single protocol (Hourglass Model)<br />
maximizes interoperability<br />
minimizes the number <strong>of</strong> service interfaces<br />
Lean protocol<br />
Requires minimal common network functionality<br />
in order to maximize the number<br />
<strong>of</strong> usable networks<br />
End-to-End principle<br />
Robustness by stateless operation<br />
See also:<br />
http://www.iab.org/Documents/hourglass-london-ietf.pdf<br />
E-Mail, WWW, Telephony ....<br />
SMTP, HTTP, RTP, BEEP, ...<br />
UDP, TCP,<br />
SCTP, ...<br />
IP<br />
Ethernet,<br />
PPP, ...<br />
CSMA, CDMA, Asynch., SDH, ...<br />
Copper, Glass Fibre, Radio, ...<br />
Communication Systems – <strong>Basics</strong> <strong>of</strong> <strong>communication</strong> <strong>and</strong> <strong>Internet</strong> – 1.16 04/05 www.tm.uka.de
Problem<br />
Routing in the <strong>Internet</strong><br />
How are data packets forwarded in the <strong>Internet</strong>?<br />
Method<br />
Routing table gives information about the next hop<br />
The protocol IP<br />
(<strong>Internet</strong> Protocol) conducts the<br />
forwarding <strong>of</strong> data<br />
Routing<br />
Routing<br />
protocols<br />
protocols<br />
•<br />
•<br />
RIP,<br />
RIP,<br />
OSPF,<br />
OSPF,<br />
BGP<br />
BGP<br />
Datagram protocol<br />
• connectionless<br />
Address<br />
Address<br />
resolution<br />
resolution<br />
• unreliable<br />
• ARP, RARP<br />
• ARP, RARP<br />
• segmentation <strong>and</strong><br />
reassembly<br />
Uses <strong>Internet</strong> addressing<br />
Uses further protocols like<br />
• ICMP (<strong>Internet</strong> Control Message Protocol)<br />
• ARP (Address Resolution Protocol)<br />
• IGMP (<strong>Internet</strong> Group Management Protocol)<br />
Transport layer: UDP, TCP<br />
Protocol<br />
Protocol<br />
IP<br />
IP<br />
•<br />
•<br />
Addressing<br />
Addressing<br />
•<br />
•<br />
Datagram<br />
Datagram<br />
format<br />
format<br />
•„Packet<br />
•„Packet<br />
h<strong>and</strong>ling“<br />
h<strong>and</strong>ling“<br />
Protocol<br />
Protocol<br />
ICMP<br />
ICMP<br />
•<br />
•<br />
error<br />
error<br />
reports<br />
reports<br />
Routing •<br />
•<br />
Signalling<br />
Signalling<br />
between<br />
between<br />
table routers<br />
routers<br />
Data link layer<br />
Physical layer<br />
Communication Systems – <strong>Basics</strong> <strong>of</strong> <strong>communication</strong> <strong>and</strong> <strong>Internet</strong> – 1.17 04/05 www.tm.uka.de<br />
Format <strong>of</strong> an IPv4 data unit<br />
Version (4) Header Length (4)<br />
Type <strong>of</strong> Service (8)<br />
Total Length (16)<br />
Identifier (16)<br />
Flags (3) Fragment Offset (13)<br />
Time to Live (8)<br />
Protocol (8)<br />
Header Checksum (16)<br />
Source Address (32)<br />
Destination Address (32)<br />
Options <strong>and</strong> Padding (variable)<br />
Data (variable)<br />
According to<br />
RFC 791<br />
(obsolete)<br />
0 1 2 3 4 5 6 7<br />
P P P D T R 0 0<br />
Precedence<br />
111 Network Control<br />
110 <strong>Internet</strong>work Control<br />
101 CRITIC/ECP<br />
100 Flash Override<br />
011 Flash<br />
Delay:<br />
010 Immediate<br />
001 Priority<br />
000 Routine<br />
Reliability:<br />
NEW:<br />
0 1 2 3 4 5<br />
reserved<br />
0 normal<br />
1 low<br />
Throughput: 0 normal<br />
DS Field<br />
Differentiated Services<br />
1 high<br />
0 normal<br />
1 high<br />
6 7<br />
R<br />
ECN<br />
Explicit<br />
Congestion<br />
Notification<br />
Communication Systems – <strong>Basics</strong> <strong>of</strong> <strong>communication</strong> <strong>and</strong> <strong>Internet</strong> – 1.18 04/05 www.tm.uka.de
IP addresses<br />
Structure <strong>of</strong> IPv4 addresses<br />
network part part<br />
local localpart<br />
network part part<br />
subnet subnetpart<br />
end end system system<br />
Subnet masks mark the area <strong>of</strong> the IP address describing the network <strong>and</strong> the subnetwork.<br />
This area is marked as ones („1“) in the binary form <strong>of</strong> the subnet mask.<br />
Example<br />
IP address: 129. 13. 3. 64<br />
Subnet mask: 255. 255. 255. 0 =<br />
1111 1111 1111 1111 1111 1111 0000 0000<br />
<br />
<br />
Network written in prefix notation: 129.13.3.0/24<br />
Globally visible network is only 129.13.0.0/16 (formerly Class B network)<br />
Network: 129. 13.<br />
Subnet: 3.<br />
End system: 64<br />
If the subnet mask only covers the network part, there is no subnet part<br />
(e.g. subnet mask 255.255.0.0 in case <strong>of</strong> class B)<br />
Note: Systems attached to several networks (e.g. routers), have several, network-specific<br />
IP addresses!<br />
Communication Systems – <strong>Basics</strong> <strong>of</strong> <strong>communication</strong> <strong>and</strong> <strong>Internet</strong> – 1.19 04/05 www.tm.uka.de<br />
Mapping <strong>of</strong> IP <strong>and</strong> MAC addresses<br />
If (Destination IP address AND Subnet mask)<br />
= (Own IP address AND Subnet mask)<br />
Receiver is in the same IP subnet! So I can use a link layer connection...<br />
Problem:<br />
Which MAC address does the next system on the route to the target have?<br />
Scheme<br />
Application<br />
Application<br />
TCP<br />
Connect with<br />
12 . 0 . 0 . 21<br />
TCP<br />
TCP<br />
IP<br />
12 . 0 . 0 . 34<br />
12 . 0 . 0 . 21<br />
IP<br />
MAC<br />
08002B90102456<br />
????????????????<br />
MAC<br />
<strong>Internet</strong><br />
Communication Systems – <strong>Basics</strong> <strong>of</strong> <strong>communication</strong> <strong>and</strong> <strong>Internet</strong> – 1.20 04/05 www.tm.uka.de
Forwarding in an IP router<br />
End system A<br />
129.13.3.108<br />
MAC-A<br />
IP-Router 1<br />
129.<br />
13.<br />
3.<br />
60<br />
132.<br />
2.<br />
2.<br />
3<br />
132.<br />
2.<br />
2.<br />
7<br />
145.<br />
5.<br />
9.<br />
19<br />
End system B<br />
145.5.9.27<br />
MAC-B<br />
Routing table (Routing Information Base) IP-Router 2<br />
Constructed by routing protocols: contains several alternative routes to the destination<br />
Forwarding table (Forwarding Information Base)<br />
Only selected/active routes: IP address <strong>of</strong> next hop <strong>and</strong> identification <strong>of</strong> the interface used<br />
Address resolution table<br />
Built by ARP: MAC address <strong>of</strong> the next system for the IP address <strong>of</strong> the end system<br />
Example<br />
Destination: end system B; Source: end system A<br />
Data packet on the way from router 1 to router 2:<br />
• MAC addresses: MAC address IP-Router 2 (dest) <strong>and</strong> MAC address IP-Router 1<br />
(source)<br />
• IP addresses: end system B (destination), end system A (source)<br />
Communication Systems – <strong>Basics</strong> <strong>of</strong> <strong>communication</strong> <strong>and</strong> <strong>Internet</strong> – 1.21 04/05 www.tm.uka.de<br />
Forwarding in an IP router<br />
Network scenario with router<br />
End system A<br />
129.13.3.108<br />
End system B<br />
145.5.9.27<br />
MAC-A<br />
Router 1<br />
Router 2<br />
129.13.3.60 132.2.2.7<br />
132.2.2.3 145.5.9.19<br />
If A If B If A If B<br />
MAC-B<br />
...<br />
129.13. 145.5.<br />
3.108 9.27<br />
...<br />
MAC-<br />
R1-B<br />
MAC-<br />
R2-A<br />
Router functions<br />
IP addresses MAC addresses<br />
Determine the IP address <strong>of</strong> the subsequent system (Next Hop)<br />
Simple routers have <strong>of</strong>ten only a routing table for their subnets <strong>and</strong> a default route for all<br />
other destinations<br />
Mapping <strong>of</strong> this IP address to the connection point address (MAC address)<br />
Sending the IP data unit to the next hop on the corresponding interface via layer 2<br />
IP addresses (Source/Destination) in the IP packet remain unchanged!<br />
Communication Systems – <strong>Basics</strong> <strong>of</strong> <strong>communication</strong> <strong>and</strong> <strong>Internet</strong> – 1.22 04/05 www.tm.uka.de
Routing in the <strong>Internet</strong><br />
Network layer protocols<br />
IP (<strong>Internet</strong> Protocol)<br />
ARP (Address Resolution Protocol)<br />
RARP (Reverse ARP)<br />
ICMP (<strong>Internet</strong> Control Message Protocol)<br />
IGMP (<strong>Internet</strong> Group Management<br />
Protocol)<br />
SNAP (Subnetwork Access Protocol)<br />
Routing protocols<br />
RIP (Routing Information Protocol)<br />
BGP (Border Gateway Protocol)<br />
EGP (External Gateway Protocol)<br />
OSPF (Open Shortest Path First)<br />
Network management<br />
SNMP (Systems Network Management<br />
Protocol)<br />
Transport protocols:<br />
UDP (Universal Datagram Protocol)<br />
TCP (Transmission Control Protocol)<br />
Protocols in an IP router<br />
ICMP IGMP<br />
BGP RIP SNMP<br />
TCP<br />
<strong>Internet</strong> Protokoll<br />
ARP RARP<br />
SNAP<br />
LLC-1<br />
UDP<br />
EGP /<br />
IGP<br />
OSPF<br />
Communication Systems – <strong>Basics</strong> <strong>of</strong> <strong>communication</strong> <strong>and</strong> <strong>Internet</strong> – 1.23 04/05 www.tm.uka.de<br />
Routing Hierarchy: View from 10,000m<br />
AS 100<br />
AS 111<br />
AS 112<br />
AS 120<br />
AS 110<br />
AS 114<br />
AS 121<br />
AS 101 AS 113<br />
AS 122<br />
Splitting networks into „Autonomous Systems“ (AS)<br />
Otherwise entries in routing tables <strong>and</strong> amount <strong>of</strong> exchanged routing<br />
information not scalable<br />
Routers within AS have usually only detailed routing information about own AS<br />
There is at least one designated router that acts as interface to other ASes<br />
Advantages<br />
• Scalability<br />
– Internal routing table size depends on size <strong>of</strong> AS<br />
– Changes within AS are usually only propagated within the AS if external connectivity is not<br />
affected<br />
• Autonomy<br />
– <strong>Internet</strong> = Network <strong>of</strong> networks<br />
– Routing is controlled by own organization<br />
» Unique routing strategy within own system<br />
» Internal routing protocols can vary between ASes<br />
Communication Systems – <strong>Basics</strong> <strong>of</strong> <strong>communication</strong> <strong>and</strong> <strong>Internet</strong> – 1.24 04/05 www.tm.uka.de
AS <strong>and</strong> prefix number growth<br />
<br />
<br />
Each AS has a unique number<br />
(currently 16 bit, extension to 32 bit<br />
planned)<br />
Currently (Oct. 2004) ~18,000 ASes<br />
<br />
Currently (Oct. 2004) ~180,000 different<br />
IPv4 network prefixes (= best routes)<br />
Source: http://bgp.potaroo.net<br />
Communication Systems – <strong>Basics</strong> <strong>of</strong> <strong>communication</strong> <strong>and</strong> <strong>Internet</strong> – 1.25 04/05 www.tm.uka.de<br />
Routing und Autonomous Systems<br />
Autonomous Systems are interconnected<br />
Stub-AS<br />
• Small companies<br />
• Connection to exactly one provider<br />
Multihomed Stub-AS<br />
• Big companies<br />
• Connection to several providers (resilience)<br />
• No transit traffic<br />
Transit-AS<br />
Transit AS<br />
• Provider<br />
ISP ISP A<br />
ISP ISP B<br />
ISP ISP A<br />
ISP ISP<br />
Stub-AS<br />
Stub-AS<br />
ISP ISP B<br />
Two different levels <strong>of</strong> routing<br />
Intra-AS<br />
• Administrator is responsible for selecting a routing protocol<br />
Inter-AS<br />
• Uniform st<strong>and</strong>ards (BGP)<br />
• AS announces which networks (prefixes) can be reached through it<br />
– Own networks located/homed in this AS (Origin AS)<br />
– Networks in other foreign ASes (then the AS is willing to be transit AS for these destinations)<br />
Communication Systems – <strong>Basics</strong> <strong>of</strong> <strong>communication</strong> <strong>and</strong> <strong>Internet</strong> – 1.26 04/05 www.tm.uka.de
Why Intra- <strong>and</strong> Inter-AS routing protocols?<br />
Policy<br />
Political question: which transit traffic is allowed to traverse the AS?<br />
Inter-AS: policies are selected by the provider<br />
Intra-AS: one organization, few policies necessary<br />
Scalability<br />
Inter-AS: further abstraction level;<br />
Size <strong>of</strong> routing tables <strong>and</strong> number <strong>of</strong> updates can be reduced, as failures within<br />
one AS can mostly remain hidden<br />
Intra-AS: higher stability<br />
Performance<br />
Inter-AS: Policies are necessary <strong>and</strong> more important than performance metrics<br />
Intra-AS: Concentration on performance metrics<br />
Communication Systems – <strong>Basics</strong> <strong>of</strong> <strong>communication</strong> <strong>and</strong> <strong>Internet</strong> – 1.27 04/05 www.tm.uka.de<br />
Intra-AS Routing<br />
Well-known protocols for Intra-AS routing are<br />
RIP (Routing Information Protocol) Distance Vector Protocol<br />
OSPF (Open Shortest Path First) Link State Protocol<br />
IS-IS (Intra-Domain Intermediate System to Intermediate System Routing<br />
Protocol) Link State Protocol<br />
• originally ISO/OSI routing protocol<br />
• used for IP by big providers<br />
EIGRP (Enhanced Interior Gateway Routing Protocol)<br />
• CISCO proprietary<br />
Intra-AS routing protocols are <strong>of</strong>ten called Interior Gateway Protocols (IGP)<br />
OSPF:<br />
Connectivity <strong>and</strong> link states are flooded through the network<br />
Every router has the same view <strong>of</strong> the network<br />
Network is mapped to Graph (V,E)<br />
Calculates shortest paths<br />
with Dijkstra’s algorithm<br />
Edge=Link<br />
Vertex=Node<br />
(router/<br />
subnet)<br />
Communication Systems – <strong>Basics</strong> <strong>of</strong> <strong>communication</strong> <strong>and</strong> <strong>Internet</strong> – 1.28 04/05 www.tm.uka.de
OSPF hierarchy in an Autonomous System<br />
N1<br />
interior Router<br />
N2<br />
R1<br />
R2<br />
R4<br />
(ABR)<br />
R3<br />
(ABR)<br />
R13<br />
(ASBR)<br />
R12<br />
(BBR)<br />
border router<br />
virtual<br />
connection<br />
Routing Area<br />
(OSPF Area)<br />
N: Network<br />
Autonomous System<br />
R: Router<br />
N3<br />
R5<br />
R6<br />
R7<br />
(ABR)<br />
ASBR/<br />
ABR<br />
R9<br />
R8<br />
ASBR/<br />
ABR<br />
R11<br />
ABR: Area Border Router<br />
ASBR: AS Boundary Router<br />
BBR: Backbone Router<br />
N4<br />
R10<br />
ASBR/<br />
ABR<br />
Communication Systems – <strong>Basics</strong> <strong>of</strong> <strong>communication</strong> <strong>and</strong> <strong>Internet</strong> – 1.29 04/05 www.tm.uka.de<br />
Inter-AS Routing: Exterior BGP (EBGP)<br />
Exterior BGP is used between the BGP routers (also called BGP<br />
speakers) connecting two ASes<br />
Path Vector protocol (AS path)<br />
Learn all destination prefixes that can be reached through the other AS<br />
An AS can prevent to receive traffic for certain destination by not<br />
announcing any route to it (i.e., policy by route filtering)<br />
These BGP routers should be directly connected<br />
Internal information will NEVER be forwarded directly to other BGP<br />
speakers<br />
AS 1 AS 2<br />
BGP Speaker<br />
Communication Systems – <strong>Basics</strong> <strong>of</strong> <strong>communication</strong> <strong>and</strong> <strong>Internet</strong> – 1.30 04/05 www.tm.uka.de
Example for BGP topology<br />
I want to send data to AS122!<br />
Which route should I use?<br />
AS 112<br />
AS 120<br />
100.0.0.0/8<br />
111.0.0.0/8<br />
112.0.0.0/8<br />
120.0.0.0/8<br />
AS 121<br />
AS 100<br />
AS 111<br />
AS 101<br />
110.0.0.0/8<br />
114.0.0.0/8<br />
121.0.0.0/8<br />
AS 110<br />
101.0.0.0/8 AS 113<br />
113.0.0.0/8<br />
AS 114<br />
AS 122<br />
122.0.0.0/8<br />
Routing table AS100<br />
Routing table AS110<br />
Network Next Hop Metric LocPrf Weight Path<br />
…<br />
Network Next Hop Metric LocPrf Weight Path<br />
*> 121.0.0.0 10.1.1.110 0 110 114 121 i<br />
*<br />
Routing<br />
121.0.0.0<br />
table AS114<br />
10.1.1.111 0 111 112 114 121 i<br />
*> 122.0.0.0 10.1.1.110 0 110 114 122 i<br />
*<br />
Network Next<br />
10.1.1.113<br />
Hop Metric LocPrf Weight<br />
0<br />
Path<br />
113 114 121 i<br />
*><br />
*> 112.0.0.0<br />
10.1.1.114<br />
10.1.1.112 0<br />
0<br />
0<br />
114<br />
112<br />
121<br />
i<br />
i<br />
*><br />
*<br />
122.0.0.0 10.1.1.114<br />
10.1.1.110<br />
0<br />
0<br />
114<br />
110<br />
122<br />
111<br />
i<br />
112 i<br />
*<br />
…<br />
10.1.1.111 0 111 112 114 122 i<br />
*<br />
*> 122.0.0.0<br />
10.1.1.113<br />
10.1.1.122 0<br />
0<br />
0<br />
113<br />
122<br />
114<br />
i<br />
122 i<br />
Communication Systems – <strong>Basics</strong> <strong>of</strong> <strong>communication</strong> <strong>and</strong> <strong>Internet</strong> – 1.31 04/05 www.tm.uka.de<br />
Routing in "Default-Free-Zones"<br />
Two modes <strong>of</strong> operation <strong>of</strong> BGP (same protocol,<br />
but different rules) for the distribution<br />
<strong>of</strong> routing information<br />
Between two AS: with EBGP (External BGP)<br />
Within one AS: with IBGP (Internal BGP)<br />
Internal full mesh <strong>of</strong><br />
TCP connections necessary<br />
No distribution <strong>of</strong> routes learnt with<br />
IBGP to IBGP neighbors<br />
IBGP<br />
EBGP<br />
IBGP<br />
EBGP<br />
AS Y<br />
EBGP<br />
AS X<br />
IBGP<br />
EBGP<br />
EBGP<br />
EBGP<br />
Full mesh unsuitable for big AS,<br />
possible solution lies in the implementation <strong>of</strong><br />
Route reflectors (dedicated routers as<br />
peering points)<br />
Confederations (private sub-AS)<br />
Communication Systems – <strong>Basics</strong> <strong>of</strong> <strong>communication</strong> <strong>and</strong> <strong>Internet</strong> – 1.32 04/05 www.tm.uka.de
Interior BGP (IBGP)<br />
BGP routers within one AS are connected with IBGP<br />
IBGP routers have to be fully meshed<br />
• To learn routes for all external prefixes<br />
• They inform about new networks (e.g. LANs)<br />
• They do not propagate internal prefixes outwards<br />
No direct physical connections (but logical connections) between routers<br />
necessary<br />
Each IBGP router must be able to communicate with each other IBGP<br />
router<br />
IBGP messages are never forwarded to other BGP routers (to prevent<br />
loops)<br />
Communication Systems – <strong>Basics</strong> <strong>of</strong> <strong>communication</strong> <strong>and</strong> <strong>Internet</strong> – 1.33 04/05 www.tm.uka.de<br />
Tasks<br />
<br />
<br />
Transport Layer<br />
End-to-end service<br />
application-based addressing (Ports)<br />
reliable/unreliable<br />
Reliable protocol<br />
Error <strong>and</strong> loss detection<br />
Retransmission<br />
Segmentation/Reassembly<br />
Flow control<br />
Congestion control<br />
Examples<br />
<br />
<br />
<br />
<br />
TCP (Transmission Control Protocol)<br />
UDP (User Datagram Protocol)<br />
SCTP (Stream Control Transmission Protocol)<br />
DCCP (Datagram Congestion Control Protocol)<br />
Communication Systems – <strong>Basics</strong> <strong>of</strong> <strong>communication</strong> <strong>and</strong> <strong>Internet</strong> – 1.34 04/05 www.tm.uka.de
Application Layer<br />
Protocols depend on the particular application<br />
This is also end-to-end<br />
Examples <strong>of</strong> protocols above the transport layer:<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
telnet (Remote Login)<br />
SSH (Secure Shell, secure replacement for telnet)<br />
FTP (File Transfer Protocol)<br />
HTTP (Hypertext Transfer Protocol, HTML/Web Content Transport,<br />
Server/Client)<br />
BEEP (Blocks Extensible Exchange Protocol, Peer-to-Peer, many features)<br />
SSL/TLS (Transport Layer Security)<br />
SMTP (Mail Transport)<br />
DNS (Domain Name System)<br />
RTP (Streaming)<br />
Routing Protocols (OSPF, BGP, ...)<br />
<br />
...many more...<br />
Communication Systems – <strong>Basics</strong> <strong>of</strong> <strong>communication</strong> <strong>and</strong> <strong>Internet</strong> – 1.35 04/05 www.tm.uka.de<br />
<strong>Internet</strong> architecture: Design goals<br />
Paper by D. Clark “The Design Philosophy <strong>of</strong> the DARPA <strong>Internet</strong> Protocols”<br />
(SIGCOMM '88) names:<br />
Fundamental goal: <strong>Internet</strong>working (Connection <strong>of</strong> existing networks)<br />
<br />
<br />
Further goals (ordered by their importance):<br />
Robustness: sustain internet <strong>communication</strong> despite failure <strong>of</strong> networks <strong>and</strong><br />
routers<br />
Support <strong>of</strong> multiple types <strong>of</strong> <strong>communication</strong> services<br />
Heterogeneity: Accommodation <strong>of</strong> a variety <strong>of</strong> networks<br />
Distributed resource management<br />
Cost effectiveness<br />
Host attachment with a low level <strong>of</strong> effort<br />
Resources used must be accountable<br />
Robustness against failures<br />
„Fate-Sharing“: acceptable to loose the state information associated with an<br />
entity if, at the same time, the entity itself is lost<br />
Do not store state in the network, but in the end systems instead<br />
Datagram concept as a consequence<br />
Communication Systems – <strong>Basics</strong> <strong>of</strong> <strong>communication</strong> <strong>and</strong> <strong>Internet</strong> – 1.36 04/05 www.tm.uka.de
Design principles: End-to-End Argument<br />
Decisions necessary in system design<br />
Which functionality is needed?<br />
Where should certain functions be placed?<br />
In the end systems or applications?<br />
In the network?<br />
Important design principle<br />
(explicitly expressed as recently as 1981 by Saltzer, Reed <strong>and</strong> Clark)<br />
The End-to-End-Argument (E2E argument):<br />
„The function in question can completely <strong>and</strong> correctly be<br />
implemented only with the knowledge <strong>and</strong> help <strong>of</strong> the application st<strong>and</strong>ing<br />
at the end points <strong>of</strong> the <strong>communication</strong> system. Therefore, providing that<br />
questioned function as a feature <strong>of</strong> the <strong>communication</strong> system itself is not<br />
possible. (Sometimes an incomplete version <strong>of</strong> the function provided by the<br />
<strong>communication</strong> system may be useful as a performance enhancement.)“<br />
Communication Systems – <strong>Basics</strong> <strong>of</strong> <strong>communication</strong> <strong>and</strong> <strong>Internet</strong> – 1.37 04/05 www.tm.uka.de<br />
Discussion End-to-End-Argument<br />
<br />
<br />
<br />
This means especially:<br />
specific functionality <strong>of</strong> the application layer usually can <strong>and</strong> should<br />
preferably not be placed in the network itself<br />
Minimality principle:<br />
Avoid integrating more than the essential <strong>and</strong> necessary functionality into the<br />
network<br />
Keep unnecessary functionality out <strong>of</strong> the network Keep it simple<br />
Not a strict law, rather a guideline<br />
Further goals <strong>and</strong> consequences <strong>of</strong> the E2E argument:<br />
Protection <strong>of</strong> innovation<br />
Simple to add new services<br />
Hard to change the infrastructure (see introduction <strong>of</strong> Multicast, IPv6, ECN, etc.)<br />
<br />
Reliability <strong>and</strong> robustness<br />
against failure <strong>and</strong> malfunction <strong>of</strong> end systems <strong>and</strong> network components<br />
If network components have to store state, the probability <strong>of</strong> connection failures<br />
grows with increasing network size<br />
Communication Systems – <strong>Basics</strong> <strong>of</strong> <strong>communication</strong> <strong>and</strong> <strong>Internet</strong> – 1.38 04/05 www.tm.uka.de
Consequences End-to-End-Argument<br />
Examples:<br />
<br />
Reliable file transfer<br />
Possible sources <strong>of</strong> error:<br />
Read errors in the end system<br />
S<strong>of</strong>tware errors during copying or buffering <strong>of</strong> data by the file system or file<br />
transfer program<br />
Hardware errors during these processes in CPU, memory, bus, etc.<br />
Loss, bit errors or duplicates in the <strong>communication</strong> system<br />
Crash/Failure <strong>of</strong> end systems (sender or receiver) during or after transfer<br />
Reliability <strong>of</strong> the <strong>communication</strong> system does not eliminate all errors<br />
Division <strong>of</strong> TCP/IP into TCP <strong>and</strong> IP in the late 70’s<br />
End-to-End security<br />
Suppression <strong>of</strong> duplicates (e.g. caused by the application itself)<br />
Communication Systems – <strong>Basics</strong> <strong>of</strong> <strong>communication</strong> <strong>and</strong> <strong>Internet</strong> – 1.39 04/05 www.tm.uka.de<br />
<strong>Internet</strong> Architecture: Principles<br />
RFC 1958: „Architectural Principles <strong>of</strong> the <strong>Internet</strong>“<br />
<br />
<br />
Independence <strong>of</strong> the <strong>Internet</strong> Protocol <strong>of</strong> the medium <strong>and</strong> <strong>of</strong> hardware<br />
addressing<br />
If states have to be stored (e.g. routes, QoS-guarantees, Header<br />
Compression, ...), they should be “self-healing”<br />
Adaptive procedures <strong>and</strong> protocols for deriving <strong>and</strong> maintaining states<br />
„S<strong>of</strong>t-State“ concept: State is periodically renewed („refreshed“)<br />
Reduction <strong>of</strong> state information to a minimum<br />
Manually configured states should be reduced to an absolute minimum<br />
Communication Systems – <strong>Basics</strong> <strong>of</strong> <strong>communication</strong> <strong>and</strong> <strong>Internet</strong> – 1.40 04/05 www.tm.uka.de
Further design aspects<br />
RFC 3426 „General Architectural <strong>and</strong> Policy Considerations“<br />
(<strong>Internet</strong> Architecture Board)<br />
basic issues concerning protocol <strong>and</strong> system design<br />
<br />
<br />
no guidelines, no checklist<br />
Discussion <strong>and</strong> explanation on the basis <strong>of</strong> numerous<br />
case studies (e.g. ECN)<br />
RFC 1122 „Requirements for <strong>Internet</strong> Hosts -- Communication Layers“<br />
<br />
<br />
Good documentation <strong>and</strong> discussion <strong>of</strong> design decisions<br />
Robustness principle (Jon Postel, see also http://www.postel.org):<br />
“Be liberal in what you accept, <strong>and</strong> conservative in what you send”<br />
S<strong>of</strong>tware should be able to react appropriately to every error – even if it<br />
is highly unlikely<br />
Incoming packet can contain any combination <strong>of</strong> faults <strong>and</strong> attributes<br />
Assumption <strong>of</strong> intended/malicious generation <strong>of</strong> such packets<br />
Communication Systems – <strong>Basics</strong> <strong>of</strong> <strong>communication</strong> <strong>and</strong> <strong>Internet</strong> – 1.41 04/05 www.tm.uka.de<br />
Many aspects have changed since the outset <strong>of</strong> the internet<br />
„Threats“ to the End-to-End-Argument? [RFC 3724]<br />
Loss <strong>of</strong> trust between end systems<br />
Introduction <strong>of</strong> security technologies<br />
<br />
<br />
<br />
<br />
Trends opposed to the E2E principle (1)<br />
Middlebox<br />
Middleboxes (Proxies/NATs/Firewalls/Caches/...)<br />
Break <strong>of</strong> the End-to-End Principle (esp. security mechanisms)<br />
New service models: Quality <strong>of</strong> service becomes part <strong>of</strong> the service<br />
(Streaming A/V) Servers are distributed <strong>and</strong> placed closer to the user<br />
(e.g. Akamai, Realnetworks...)<br />
New parties involved: <strong>Internet</strong> Service Provider, Administrators <strong>of</strong> company<br />
networks, governments<br />
Restriction <strong>of</strong> services, interest <strong>of</strong> interposing (e.g. as a Trusted Third<br />
Party or for eavesdropping/taxation/censorship...)<br />
Technically uninterested users<br />
Context <strong>and</strong> configuration information is placed in the network in order to<br />
disburden the user<br />
Communication Systems – <strong>Basics</strong> <strong>of</strong> <strong>communication</strong> <strong>and</strong> <strong>Internet</strong> – 1.42 04/05 www.tm.uka.de
Trends opposed to the E2E principle (2)<br />
<br />
Example: negative effects by security technologies<br />
Elimination <strong>of</strong> PATH-MTU-Discovery mechanisms by rigorous filtering<br />
<strong>of</strong> ICMP packets<br />
Filtering <strong>of</strong> packets with their ToS-Bits set prevents the usage <strong>of</strong> Explicit<br />
Congestion Notification<br />
Limitation <strong>of</strong> accessibility <strong>and</strong> available services by private addressing<br />
in “Intranets”<br />
<br />
Possible procedure for future mechanisms which seem to infringe upon the<br />
End-to-End principle:<br />
Split E2E-Argument into the components<br />
Protection <strong>of</strong> innovation<br />
• Introduction <strong>of</strong> new mechanisms is easier in end systems<br />
Reliability/Robustness <strong>and</strong> trust<br />
• add security, where necessary<br />
Communication Systems – <strong>Basics</strong> <strong>of</strong> <strong>communication</strong> <strong>and</strong> <strong>Internet</strong> – 1.43 04/05 www.tm.uka.de<br />
Loss <strong>of</strong> internet transparency<br />
<strong>Internet</strong> Transparency [RFC 2775]:<br />
<br />
original concept <strong>of</strong> a single universal logical addressing scheme<br />
Mechanisms which allow packets to flow essentially unchanged from<br />
source to destination<br />
Loss <strong>of</strong> transparency by:<br />
Intranets („Security“, Restriction <strong>of</strong> applications <strong>and</strong> address transparency,<br />
network administrator has control)<br />
Dynamic addresses (SLIP/PPP, DHCP)<br />
Firewalls (Restriction <strong>of</strong> services <strong>and</strong> accessibility)<br />
SOCKS/Application Level Gateways<br />
Private addresses (not unique, restriction <strong>of</strong> accessibility <strong>and</strong> global<br />
<strong>communication</strong>)<br />
Network Address Translators (NATs)<br />
Application Level Gateways, Proxies, Caches<br />
Voluntary isolation (e.g. WAP-Proxies) <strong>and</strong> partner networks<br />
Split-DNS<br />
Tricks for load balancing<br />
Communication Systems – <strong>Basics</strong> <strong>of</strong> <strong>communication</strong> <strong>and</strong> <strong>Internet</strong> – 1.44 04/05 www.tm.uka.de
Conclusions<br />
Today we have networks everywhere, <strong>and</strong>, they are a critical part <strong>of</strong> the IT<br />
infrastructure<br />
Most network systems <strong>and</strong> architectures use <strong>Internet</strong> protocols<br />
The <strong>Internet</strong> is a very scalable system<br />
Accommodated the tremendous growth in the past<br />
Thanks to the wise design decisions <strong>and</strong> architectural principles<br />
<br />
<br />
<br />
<br />
But for how long will its success continue?<br />
Requirements for more connectivity, machine-to-machine <strong>communication</strong><br />
etc. lead to the use <strong>of</strong> IPv6<br />
Current Inter-Domain routing scheme will probably fail to cope with growth<br />
<strong>of</strong> the next two decades...<br />
Tussle <strong>and</strong> conflicts in the <strong>Internet</strong> caused by parties with different interests<br />
Communication Systems – <strong>Basics</strong> <strong>of</strong> <strong>communication</strong> <strong>and</strong> <strong>Internet</strong> – 1.45 04/05 www.tm.uka.de