26.01.2014 Views

Basics of communication and Internet

Basics of communication and Internet

Basics of communication and Internet

SHOW MORE
SHOW LESS

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

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!