grundlagen der rechnernetze - userpages.uni-koblenz.deunikorn/lehre/gdrn/ws17/01...

159
Grundlagen der Rechnernetze Introduction

Upload: lyxuyen

Post on 12-Aug-2019

217 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Grundlagen der Rechnernetze - userpages.uni-koblenz.deunikorn/lehre/gdrn/ws17/01 Introduction.pdf · Grundlagen der Rechnernetze - Introduction 2. Building blocks and terms Grundlagen

Grundlagen der RechnernetzeIntroduction

Page 2: Grundlagen der Rechnernetze - userpages.uni-koblenz.deunikorn/lehre/gdrn/ws17/01 Introduction.pdf · Grundlagen der Rechnernetze - Introduction 2. Building blocks and terms Grundlagen

Overview

• Building blocks and terms• Basics of communication• Addressing• Protocols and Layers• Performance• Historical development

Grundlagen der Rechnernetze - Introduction 2

Page 3: Grundlagen der Rechnernetze - userpages.uni-koblenz.deunikorn/lehre/gdrn/ws17/01 Introduction.pdf · Grundlagen der Rechnernetze - Introduction 2. Building blocks and terms Grundlagen

Building blocks and terms

Grundlagen der Rechnernetze - Introduction 3

Page 4: Grundlagen der Rechnernetze - userpages.uni-koblenz.deunikorn/lehre/gdrn/ws17/01 Introduction.pdf · Grundlagen der Rechnernetze - Introduction 2. Building blocks and terms Grundlagen

Hosts and links

Grundlagen der Rechnernetze - Introduction 4

H1 H2

Host

Link

Page 5: Grundlagen der Rechnernetze - userpages.uni-koblenz.deunikorn/lehre/gdrn/ws17/01 Introduction.pdf · Grundlagen der Rechnernetze - Introduction 2. Building blocks and terms Grundlagen

Hosts and links

Grundlagen der Rechnernetze - Introduction 5

H1 H2

Host

Link

Host is a computer or more general a device that communicates with the other host on a network

Link is (in the context of computer networks) connection between two hosts

Point to point connection designates communication connection between two hosts (nodes) or endpoints

Page 6: Grundlagen der Rechnernetze - userpages.uni-koblenz.deunikorn/lehre/gdrn/ws17/01 Introduction.pdf · Grundlagen der Rechnernetze - Introduction 2. Building blocks and terms Grundlagen

Types of communication

• Simplex• Half-duplex• Duplex (full duplex)

Grundlagen der Rechnernetze - Introduction 6

Source: http://mikrotik.tips/simplex-half-duplex-full-duplex/

Page 7: Grundlagen der Rechnernetze - userpages.uni-koblenz.deunikorn/lehre/gdrn/ws17/01 Introduction.pdf · Grundlagen der Rechnernetze - Introduction 2. Building blocks and terms Grundlagen

Medium

• Wired communication• Wireless communication• Light(?)• Sound (ultrasound)

Grundlagen der Rechnernetze - Introduction 7

Page 8: Grundlagen der Rechnernetze - userpages.uni-koblenz.deunikorn/lehre/gdrn/ws17/01 Introduction.pdf · Grundlagen der Rechnernetze - Introduction 2. Building blocks and terms Grundlagen

Communication channel between the nodes

• Communication channel – refers to a physical transmission medium (wired or wireless) but it also covers logical connection over multiplexed medium

Grundlagen der Rechnernetze - Introduction 8

Page 9: Grundlagen der Rechnernetze - userpages.uni-koblenz.deunikorn/lehre/gdrn/ws17/01 Introduction.pdf · Grundlagen der Rechnernetze - Introduction 2. Building blocks and terms Grundlagen

Message, stream, packet [1]

Grundlagen der Rechnernetze - Introduction 9

SH1 H2 H3 H4M

P1 P2 Pn…

PayloadHeader Trailer

First Bit Last Bit

Bytes

Page 10: Grundlagen der Rechnernetze - userpages.uni-koblenz.deunikorn/lehre/gdrn/ws17/01 Introduction.pdf · Grundlagen der Rechnernetze - Introduction 2. Building blocks and terms Grundlagen

Message, stream, packet

Grundlagen der Rechnernetze - Introduction 10

Message Communication primitive, usually consists of multiple packets; usually used in the higher layers of communication

StreamA sequence of signals that we use to transmit data

PacketFormatted unit of data consisting of user data and control data (header and trailer). Essentially a part of a message; several packets together form a message

Page 11: Grundlagen der Rechnernetze - userpages.uni-koblenz.deunikorn/lehre/gdrn/ws17/01 Introduction.pdf · Grundlagen der Rechnernetze - Introduction 2. Building blocks and terms Grundlagen

Multiple access

Grundlagen der Rechnernetze - Introduction 11

H1 H2 H3 Hn…

Collision domain A network connected by a shared medium; in this network packets may collide with one another when they are sent. A term coming from early versions of Ethernet and wireless networks

Single hop communicationBasically communication within one collision domain; packet reaches destination within one hop

Page 12: Grundlagen der Rechnernetze - userpages.uni-koblenz.deunikorn/lehre/gdrn/ws17/01 Introduction.pdf · Grundlagen der Rechnernetze - Introduction 2. Building blocks and terms Grundlagen

Multiplexing [1]

Grundlagen der Rechnernetze - Introduction 12

H1

H2

H3

H4

H5

H6

H1

H2

H3

H4

H5

H6

Page 13: Grundlagen der Rechnernetze - userpages.uni-koblenz.deunikorn/lehre/gdrn/ws17/01 Introduction.pdf · Grundlagen der Rechnernetze - Introduction 2. Building blocks and terms Grundlagen

Multiplexing [2]

• Static multiplexing (predefined)• Statistical multiplexing (can adapt over time)• Queueing• Packet scheduling – the way of controlling packet transmission

Grundlagen der Rechnernetze - Introduction 13

Page 14: Grundlagen der Rechnernetze - userpages.uni-koblenz.deunikorn/lehre/gdrn/ws17/01 Introduction.pdf · Grundlagen der Rechnernetze - Introduction 2. Building blocks and terms Grundlagen

Scalability of computer networks

• Scalability• how networks adapt to the grow of load?• how networks adapt to the increase of hosts?• how networks adapt to the increase of links?

Grundlagen der Rechnernetze - Introduction 14

Page 15: Grundlagen der Rechnernetze - userpages.uni-koblenz.deunikorn/lehre/gdrn/ws17/01 Introduction.pdf · Grundlagen der Rechnernetze - Introduction 2. Building blocks and terms Grundlagen

Scalability of multiple access networks

Grundlagen der Rechnernetze - Introduction 15

H1 H2 H3 Hn…

Assuming that all node pairs communicate the same number of times. What is the share s of the medium per node pair?

Page 16: Grundlagen der Rechnernetze - userpages.uni-koblenz.deunikorn/lehre/gdrn/ws17/01 Introduction.pdf · Grundlagen der Rechnernetze - Introduction 2. Building blocks and terms Grundlagen

Scalability of multiple access networks

Grundlagen der Rechnernetze - Introduction 16

H1 H2 H3 Hn…

Assuming that all node pairs communicate the same number of times. What is the share s of the medium per node pair?

𝑠𝑠 = [𝑛𝑛 ∗ (𝑛𝑛 − 1)/2]−1= 𝑂𝑂(1𝑛𝑛2

)

Page 17: Grundlagen der Rechnernetze - userpages.uni-koblenz.deunikorn/lehre/gdrn/ws17/01 Introduction.pdf · Grundlagen der Rechnernetze - Introduction 2. Building blocks and terms Grundlagen

Scalability of fully connected network

Grundlagen der Rechnernetze - Introduction 17

H1H2

H3

H5

H4H9

H8H6H7

H10

H11What is the number of links k per node and total number of links l?

Page 18: Grundlagen der Rechnernetze - userpages.uni-koblenz.deunikorn/lehre/gdrn/ws17/01 Introduction.pdf · Grundlagen der Rechnernetze - Introduction 2. Building blocks and terms Grundlagen

Scalability of fully connected network

Grundlagen der Rechnernetze - Introduction 18

H1H2

H3

H5

H4H9

H8H6H7

H10

H11What is the number of links k per node and total number of links l?

𝑘𝑘 = 𝑛𝑛 − 1 𝑙𝑙 = 𝑛𝑛 ∗ (𝑛𝑛 − 1)/2

Page 19: Grundlagen der Rechnernetze - userpages.uni-koblenz.deunikorn/lehre/gdrn/ws17/01 Introduction.pdf · Grundlagen der Rechnernetze - Introduction 2. Building blocks and terms Grundlagen

Switched network

Grundlagen der Rechnernetze - Introduction 19

H1 H2 H3

H8

H7

H6 H5

H4

S1

S2 S4S3

S5

Switch – a network device that provides dedicated communication between the hosts

Switched network – computer network that uses network switches

Page 20: Grundlagen der Rechnernetze - userpages.uni-koblenz.deunikorn/lehre/gdrn/ws17/01 Introduction.pdf · Grundlagen der Rechnernetze - Introduction 2. Building blocks and terms Grundlagen

Switched network

Grundlagen der Rechnernetze - Introduction 20

H1 H2 H3

H8

H7

H6 H5

H4

S1

S2 S4S3

S5

Packet switched network – a type of network that uses packets for communication; packet switching is a form of grouping of the data sent over the network; in here network links can be shared

Circuit switched network – a dedicated communication channel (circuit) is established between two hosts; in here network links are dedicated to one specific communication between the hosts

Page 21: Grundlagen der Rechnernetze - userpages.uni-koblenz.deunikorn/lehre/gdrn/ws17/01 Introduction.pdf · Grundlagen der Rechnernetze - Introduction 2. Building blocks and terms Grundlagen

Switched network

Grundlagen der Rechnernetze - Introduction 21

H1 H2 H3

H8

H7

H6 H5

H4

S1

S2 S4S3

S5

Store and forward – a packet is sent to an intermediate station where it can be either kept or forwarded

Cut through switching – a bigger chunk of the data (frame) is forwarded in smaller pieces even before the whole chunk is received

Multi-hop communication – using multiple stations to transmit data between two hosts

Page 22: Grundlagen der Rechnernetze - userpages.uni-koblenz.deunikorn/lehre/gdrn/ws17/01 Introduction.pdf · Grundlagen der Rechnernetze - Introduction 2. Building blocks and terms Grundlagen

Cloud representation

Grundlagen der Rechnernetze - Introduction 22

Page 23: Grundlagen der Rechnernetze - userpages.uni-koblenz.deunikorn/lehre/gdrn/ws17/01 Introduction.pdf · Grundlagen der Rechnernetze - Introduction 2. Building blocks and terms Grundlagen

Internet [1]

Grundlagen der Rechnernetze - Introduction 23

N1

N3 N2

R1

H1H2

H3

R3

R2H4

H5

H6

H9

H8

H7

Page 24: Grundlagen der Rechnernetze - userpages.uni-koblenz.deunikorn/lehre/gdrn/ws17/01 Introduction.pdf · Grundlagen der Rechnernetze - Introduction 2. Building blocks and terms Grundlagen

Internet [2]

• What is internet?• Router• Network interface• The Internet and a internet• Physical network • Intranet

Grundlagen der Rechnernetze - Introduction 24

Vorführender
Präsentationsnotizen
The Internet is the global system of interconnected computer networks that use the Internet protocol suite (TCP/IP) to link devices worldwide. A router is a networking device that forwards data packets between computer networks. Routers perform the traffic directing functions on the Internet. A data packet is typically forwarded from one router to another router through the networks that constitute an internetwork until it reaches its destination node. In computing, a network interface is a system's (software and/or hardware) interface between two pieces of equipment or protocol layers in a computer network. A network interface will usually have some form of network address. A network interface is the point of interconnection between a computer and a private or public network. A network interface is generally a network interface card (NIC), but does not have to have a physical form. Instead, the network interface can be implemented in software.
Page 25: Grundlagen der Rechnernetze - userpages.uni-koblenz.deunikorn/lehre/gdrn/ws17/01 Introduction.pdf · Grundlagen der Rechnernetze - Introduction 2. Building blocks and terms Grundlagen

Recursive use of cloud representation

Grundlagen der Rechnernetze - Introduction 25

N1

N3 N2

R1

H1H2

H3

R3

R2H4

H5

H6

H9

H8

H7

N

Page 26: Grundlagen der Rechnernetze - userpages.uni-koblenz.deunikorn/lehre/gdrn/ws17/01 Introduction.pdf · Grundlagen der Rechnernetze - Introduction 2. Building blocks and terms Grundlagen

Network sizes

• LAN – local-area network• WAN – wide-area network• MAN – metropolitan area network; larger than local area network (LAN)

but smaller than the area covered by a wide area network (WAN).• SAN – storage area network – is a high-speed network of storage devices

that also connects those storage devices with servers. • CAN – Controller Area Network (also known as CAN bus) is a vehicle bus

standard designed to allow microcontrollers and devices to communicate with each other in applications without a host computer.

• PAN – personal area network; network of localized and personalized devices.

• GAN – global area network; connecting everything.

Grundlagen der Rechnernetze - Introduction 26

Vorführender
Präsentationsnotizen
LAN: A local-area network (LAN) is a computer network that spans a relatively small area. Most often, a LAN is confined to a single room, building or group of buildings, however, one LAN can be connected to other LANs over any distance via telephone lines and radio waves. Local Area Networks cover a small physical area, like a home, office, or a small group of buildings, such as a school or airport. WAN: A computer network that spans a relatively large geographical area, generally having a radius of more than 1 km. . Typically, a WAN consists of two or more local-area networks (LANs). Computers connected to a wide-area network are often connected through public networks, such as the telephone system. They can also be connected through leased lines or satellites. MAN: A metropolitan area network (MAN) is a network that interconnects users with computer resources in a geographic area or region larger than that covered by even a large local area network (LAN) but smaller than the area covered by a wide area network (WAN). SAN: SAN (storage area network) is a high-speed network of storage devices that also connects those storage devices with servers. It provides block-level storage that can be accessed by the applications running on any networked servers. Storage Area Networks help attach remote computer storage devices, such as disk arrays, tape libraries, and optical jukeboxes, to servers in such a manner that that they appear to be locally attached to the operating system. CAN: A Controller Area Network (CAN bus) is a vehicle bus standard designed to allow microcontrollers and devices to communicate with each other in applications without a host computer. PAN: A personal area network (PAN) is a computer network used for data transmission amongst devices such as computers, telephones, tablets, personal digital assistants, fax machines and printers, that are located close to a single user. GAN: A global area network (GAN) is a network used for supporting mobile across an arbitrary number of wireless LANs, satellite coverage areas, etc.
Page 27: Grundlagen der Rechnernetze - userpages.uni-koblenz.deunikorn/lehre/gdrn/ws17/01 Introduction.pdf · Grundlagen der Rechnernetze - Introduction 2. Building blocks and terms Grundlagen

Network sizes

Grundlagen der Rechnernetze - Introduction 27

Source: www.cebylon.com/khi1/141-01-GAN-MAN.html

Page 28: Grundlagen der Rechnernetze - userpages.uni-koblenz.deunikorn/lehre/gdrn/ws17/01 Introduction.pdf · Grundlagen der Rechnernetze - Introduction 2. Building blocks and terms Grundlagen

Networks and graphs [1]

Grundlagen der Rechnernetze - Introduction 28

N1

N3 N2

R1

H1H2

H3

R3

R2H4

H5

H6

H9

H8

H7

H1H2

H3

N1

R2R1

N2

H4

H5

H6H7

H9

H8

N3R3

Page 29: Grundlagen der Rechnernetze - userpages.uni-koblenz.deunikorn/lehre/gdrn/ws17/01 Introduction.pdf · Grundlagen der Rechnernetze - Introduction 2. Building blocks and terms Grundlagen

Networks and graphs [2]

• Nodes • Links• Topology

Grundlagen der Rechnernetze - Introduction 29

Formal definition of a network graph:

𝐺𝐺 = 𝑉𝑉,𝐸𝐸 𝑤𝑤𝑤𝑤𝑤𝑤𝑤 𝐸𝐸 ⊆ 𝑉𝑉 × 𝑉𝑉

Page 30: Grundlagen der Rechnernetze - userpages.uni-koblenz.deunikorn/lehre/gdrn/ws17/01 Introduction.pdf · Grundlagen der Rechnernetze - Introduction 2. Building blocks and terms Grundlagen

Topology examples

Grundlagen der Rechnernetze - Introduction 30

Bus Tree

Star Ring Mesh

Vorführender
Präsentationsnotizen
Examples of topologies: Ethernet – bus topology FDDI – ring topology
Page 31: Grundlagen der Rechnernetze - userpages.uni-koblenz.deunikorn/lehre/gdrn/ws17/01 Introduction.pdf · Grundlagen der Rechnernetze - Introduction 2. Building blocks and terms Grundlagen

Basics of communication

Grundlagen der Rechnernetze - Introduction 31

Page 32: Grundlagen der Rechnernetze - userpages.uni-koblenz.deunikorn/lehre/gdrn/ws17/01 Introduction.pdf · Grundlagen der Rechnernetze - Introduction 2. Building blocks and terms Grundlagen

Types of communication

Grundlagen der Rechnernetze - Introduction 32

N1

N3 N2

R1

H1H2

H3

R3

R2H4

H5

H6

H9

H8

H7

• Unicast – communication where a piece of information is sent from one point to another point. In this case there is just one sender, and one receiver.

• Multicast – describe communication where a piece of information is sent from one or more points to a set of other points. In this case there is may be one or more senders, and the information is distributed to a set of receivers (theermay be no receivers, or any other number of receivers).

• Broadcast – communication where a piece of information is sent from one point to all other points. In this case there is just one sender, but the information is sent to all connected receivers.

Page 33: Grundlagen der Rechnernetze - userpages.uni-koblenz.deunikorn/lehre/gdrn/ws17/01 Introduction.pdf · Grundlagen der Rechnernetze - Introduction 2. Building blocks and terms Grundlagen

Types of communication

Grundlagen der Rechnernetze - Introduction 33

N1

N3 N2

R1

H1H2

H3

R3

R2H4

H5

H6

H9

H8

H7

• Forwarding – Packet (frame…) forwarding is the relaying of packets from one network segment to another by nodes in a computer network. Usually refers to the effective transfer of a packet (frame...)

• Routing – process of selecting a path for traffic in a network, or between or across multiple networks.

• Path – actual path used for transmission between two hosts

Page 34: Grundlagen der Rechnernetze - userpages.uni-koblenz.deunikorn/lehre/gdrn/ws17/01 Introduction.pdf · Grundlagen der Rechnernetze - Introduction 2. Building blocks and terms Grundlagen

Forwarding table

Grundlagen der Rechnernetze - Introduction 34

Destination Next hop4711 37893 23467 52576 2… …

R

1

2

34

5

6

Page 35: Grundlagen der Rechnernetze - userpages.uni-koblenz.deunikorn/lehre/gdrn/ws17/01 Introduction.pdf · Grundlagen der Rechnernetze - Introduction 2. Building blocks and terms Grundlagen

Timeouts and acknowledgements

Grundlagen der Rechnernetze - Introduction 35

N1

N3 N2

R1

H1H2

H3

R3

R2H4

H5

H6

H9

H8

H7

• Timer• Timeout• Acknowledgement ACK

Page 36: Grundlagen der Rechnernetze - userpages.uni-koblenz.deunikorn/lehre/gdrn/ws17/01 Introduction.pdf · Grundlagen der Rechnernetze - Introduction 2. Building blocks and terms Grundlagen

Connection oriented and connectionless communication

Grundlagen der Rechnernetze - Introduction 36

N1

N3 N2

R1

H1H2

H3

R3

R2H4

H5

H6

H9

H8

H7

Connection oriented• Telephone, File transfer

Connectionless• VoIP, Post

Vorführender
Präsentationsnotizen
Connection-oriented communication, Connectionless communication, Datagram, Phone as an example of connection-oriented communication, Post as an example of connectionless communication, Conditional nodes, Stateless nodes, Comparison of properties of connectionless and connection-oriented communication, Voice over IP as an application example of a connectionless communication, Transfer as an application example of a connection-oriented communication
Page 37: Grundlagen der Rechnernetze - userpages.uni-koblenz.deunikorn/lehre/gdrn/ws17/01 Introduction.pdf · Grundlagen der Rechnernetze - Introduction 2. Building blocks and terms Grundlagen

Client-Server principle

Grundlagen der Rechnernetze - Introduction 37

HN S

Client Server

Vorführender
Präsentationsnotizen
Client, server, request, response, stateless server, stateful Sever
Page 38: Grundlagen der Rechnernetze - userpages.uni-koblenz.deunikorn/lehre/gdrn/ws17/01 Introduction.pdf · Grundlagen der Rechnernetze - Introduction 2. Building blocks and terms Grundlagen

Client-Server principle

Grundlagen der Rechnernetze - Introduction 38

HN S

Client ServerRequest

Vorführender
Präsentationsnotizen
Client, server, request, response, stateless server, stateful Sever
Page 39: Grundlagen der Rechnernetze - userpages.uni-koblenz.deunikorn/lehre/gdrn/ws17/01 Introduction.pdf · Grundlagen der Rechnernetze - Introduction 2. Building blocks and terms Grundlagen

Client-Server principle

Grundlagen der Rechnernetze - Introduction 39

HN S

Client Server

Response

Vorführender
Präsentationsnotizen
Client, server, request, response, stateless server, stateful Sever
Page 40: Grundlagen der Rechnernetze - userpages.uni-koblenz.deunikorn/lehre/gdrn/ws17/01 Introduction.pdf · Grundlagen der Rechnernetze - Introduction 2. Building blocks and terms Grundlagen

Client-Server principle

Grundlagen der Rechnernetze - Introduction 40

HN S

Client Server

• stateful server remembers client data (state) from one request to the next.

• stateless server does not keep state information. Using a stateless file server, the client must specify complete file names in each request, specify location for reading or writing.

Vorführender
Präsentationsnotizen
Client, server, request, response, stateless server, stateful Sever
Page 41: Grundlagen der Rechnernetze - userpages.uni-koblenz.deunikorn/lehre/gdrn/ws17/01 Introduction.pdf · Grundlagen der Rechnernetze - Introduction 2. Building blocks and terms Grundlagen

Adressing

Grundlagen der Rechnernetze - Introduction 41

Page 42: Grundlagen der Rechnernetze - userpages.uni-koblenz.deunikorn/lehre/gdrn/ws17/01 Introduction.pdf · Grundlagen der Rechnernetze - Introduction 2. Building blocks and terms Grundlagen

Motivation

Grundlagen der Rechnernetze - Introduction 42

N1

N3 N2

R1

H1H2

H3

R3

R2H4

H5

H6

H9

H8

H7

How do we transfer message from H8 to H4?

Which path do we use?

Can we always reach the destination?

Page 43: Grundlagen der Rechnernetze - userpages.uni-koblenz.deunikorn/lehre/gdrn/ws17/01 Introduction.pdf · Grundlagen der Rechnernetze - Introduction 2. Building blocks and terms Grundlagen

Physical address – Ethernet example

Grundlagen der Rechnernetze - Introduction 43

00001000 00000000 00101011 11100100 10110001 00000010

08 : 00 : 2B : E4 : B1 : 02

Broadcast11111111 11111111 11111111 11111111 11111111 11111111

FF:FF:FF:FF:FF:FF

Multicast1XXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX

{8X,…,FX}:XX:XX:XX:XX:XX

Vorführender
Präsentationsnotizen
Physical address, global uniqueness of physical addresses by fixed manufacturer-specific 24-bit prefixes, physical broadcast address, physical multicast address, physical address is bound to interface
Page 44: Grundlagen der Rechnernetze - userpages.uni-koblenz.deunikorn/lehre/gdrn/ws17/01 Introduction.pdf · Grundlagen der Rechnernetze - Introduction 2. Building blocks and terms Grundlagen

Address space

Grundlagen der Rechnernetze - Introduction 44

R1

H1 H2 H3

R3

R2H4

H5 H6

H9H8H7

1

2

3

4

1.1 1.2 1.7

2.5

1.10

2.7

2.12.4

2.8

3.1

3.2

4.4

4.1 4.2 4.3

Page 45: Grundlagen der Rechnernetze - userpages.uni-koblenz.deunikorn/lehre/gdrn/ws17/01 Introduction.pdf · Grundlagen der Rechnernetze - Introduction 2. Building blocks and terms Grundlagen

Forwarding table and address space

Grundlagen der Rechnernetze - Introduction 45

R1

H1 H2 H3

R3

R2H4

H5 H6

H9H8H7

1

2

3

4

1.1 1.2 1.7

2.5

1.10

2.7

2.12.4

2.8

3.1

3.2

4.4

4.1 4.2 4.3

Dest Next-Hop

H1 After R1

H2 After R1

H3 After R1

H4 Direct

H5 Direct

H6 Direct

H7 After R3

H8 After R3

H9 After R3

Dest Next-Hop

1.X After R1

2.X Direct

4.X After R3

Page 46: Grundlagen der Rechnernetze - userpages.uni-koblenz.deunikorn/lehre/gdrn/ws17/01 Introduction.pdf · Grundlagen der Rechnernetze - Introduction 2. Building blocks and terms Grundlagen

IP addresses

• 32 bits – approximately 4 billion addresses• Binary representation 4 groups of 8 bits• Dot notation – 4 decimal numbers representing 4 groups of bits• Example:

10101011 01000101 11010010 11110101

171.69.210.245

Grundlagen der Rechnernetze - Introduction 46

Page 47: Grundlagen der Rechnernetze - userpages.uni-koblenz.deunikorn/lehre/gdrn/ws17/01 Introduction.pdf · Grundlagen der Rechnernetze - Introduction 2. Building blocks and terms Grundlagen

Classful IP addresses

Grundlagen der Rechnernetze - Introduction 47

• What does it mean classful?

• Which are different classes?

• Network address• Host address• Broadcast address

Source: William Stallings – Data and Computer Communications, Eight Edition

Page 48: Grundlagen der Rechnernetze - userpages.uni-koblenz.deunikorn/lehre/gdrn/ws17/01 Introduction.pdf · Grundlagen der Rechnernetze - Introduction 2. Building blocks and terms Grundlagen

Need for additional hierarchical layer

Grundlagen der Rechnernetze - Introduction 48

R1

H1 H2 H3

R3

R2H4

H5 H6

H9H8H7

1

2

3

4

1.1 1.2 1.7

2.5

1.10

2.7

2.12.4

2.8

3.1

3.2

4.4

4.1 4.2 4.3

Entrance to the University network

Page 49: Grundlagen der Rechnernetze - userpages.uni-koblenz.deunikorn/lehre/gdrn/ws17/01 Introduction.pdf · Grundlagen der Rechnernetze - Introduction 2. Building blocks and terms Grundlagen

Subnetworks

Grundlagen der Rechnernetze - Introduction 49

1 Network Host0

14 16For exampleclass B Address

11111111 11111111 11111111(255.255.255.0)Subnet mask 00000000

Network numberSolution HostSubnet

Vorführender
Präsentationsnotizen
Subnetting, Subnetz, Subnetzmaske, Subnetznummer, Subnetze führen eine weitere Hierarchieebene ein
Page 50: Grundlagen der Rechnernetze - userpages.uni-koblenz.deunikorn/lehre/gdrn/ws17/01 Introduction.pdf · Grundlagen der Rechnernetze - Introduction 2. Building blocks and terms Grundlagen

Subnetting example

Grundlagen der Rechnernetze - Introduction 50

R1

H1

H2

Subnet number : 128. 96. 34. 0 = 100000000 01100000 00100010 00000000Subnet mask : 255.255.255.128 = 111111111 11111111 11111111 10000000

Example: Using one class B network:128.96.X.X == 10000000 01100000 XXXXXXXX XXXXXXXX

128. 96. 34. 15 = 100000000 01100000 00100010 00001111

128. 96. 34. 1 = 100000000 01100000 00100010 00000001

128. 96. 34.130 = 100000000 01100000 00100010 10000010

128. 96. 34.128 = 100000000 01100000 00100010 10000000255.255.255.128 = 111111111 11111111 11111111 10000000

128. 96. 34.139 = 100000000 01100000 00100010 10001011

Page 51: Grundlagen der Rechnernetze - userpages.uni-koblenz.deunikorn/lehre/gdrn/ws17/01 Introduction.pdf · Grundlagen der Rechnernetze - Introduction 2. Building blocks and terms Grundlagen

Changes in forwarding tables

Grundlagen der Rechnernetze - Introduction 51

R1

H1

H2

Subnet number : 128. 96. 34. 0Subnet mask : 255.255.255.128

128. 96. 34. 15

128. 96. 34. 1

128. 96. 34.130

128. 96. 34.128255.255.255.128

128. 96. 34.139

Subnet number Subnet mask Next hop

128.96.34.0 255.255.255.128 direct (if 1)

128.96.34.128 255.255.255.128 direct (if 2)

128.96.33.0 255.255.255.0 after R2 (if 2)Interface 1

Interface 2

R2128. 96. 34.129

128. 96. 33. 1 128. 96. 33. 0255.255.255. 0

Network number Next Hop

128.96 …R3

Page 52: Grundlagen der Rechnernetze - userpages.uni-koblenz.deunikorn/lehre/gdrn/ws17/01 Introduction.pdf · Grundlagen der Rechnernetze - Introduction 2. Building blocks and terms Grundlagen

Address resolution

Grundlagen der Rechnernetze - Introduction 52

R1H1 H2

128.96.34.1545:35:FE:36:42:55

128.96.34.1 128.96.34.1657:FF:AA:36:AB:11 85:48:A4:28:AA:18

IP address Physical address

128.96.34.1 57:FF:AA:36:AB:11

128.96.34.16 85:48:A4:28:AA:18

… …

IP address Physical address

128.96.34.15 ???

128.96.34.16 85:48:A4:28:AA:18

… …

Vorführender
Präsentationsnotizen
Address resolution, ARP, ARP cache, determining the physical address
Page 53: Grundlagen der Rechnernetze - userpages.uni-koblenz.deunikorn/lehre/gdrn/ws17/01 Introduction.pdf · Grundlagen der Rechnernetze - Introduction 2. Building blocks and terms Grundlagen

Supernetting – motivation

• Lets assume, for example, the IT department of a university campus, which "autonomously" uses a lot of IP addresses.

• With subnetting, we can efficiently use given set of IP addresses.

• The problem is that the IT department still has to request / manage IP addressing in the granularities Class-A-, -B-, or -C-network.

Grundlagen der Rechnernetze - Introduction 53

Page 54: Grundlagen der Rechnernetze - userpages.uni-koblenz.deunikorn/lehre/gdrn/ws17/01 Introduction.pdf · Grundlagen der Rechnernetze - Introduction 2. Building blocks and terms Grundlagen

Supernetting – motivation

• What happens when for example we need 257 hosts?

1. We can apply for Class B network address. The problem is efficiency

Grundlagen der Rechnernetze - Introduction 54

Page 55: Grundlagen der Rechnernetze - userpages.uni-koblenz.deunikorn/lehre/gdrn/ws17/01 Introduction.pdf · Grundlagen der Rechnernetze - Introduction 2. Building blocks and terms Grundlagen

Supernetting – motivation

• What happens when for example we need 257 hosts?

1. We can apply for Class B network address. The problem is efficiency

257216 − 1

≈ 0,39%

Grundlagen der Rechnernetze - Introduction 55

Page 56: Grundlagen der Rechnernetze - userpages.uni-koblenz.deunikorn/lehre/gdrn/ws17/01 Introduction.pdf · Grundlagen der Rechnernetze - Introduction 2. Building blocks and terms Grundlagen

Supernetting – motivation

• What happens when for example we need 257 hosts?

1. We can apply for Class B network address. The problem is efficiency257

216 − 1≈ 0,39%

2. We can also consider 2 class C networks.

Grundlagen der Rechnernetze - Introduction 56

Page 57: Grundlagen der Rechnernetze - userpages.uni-koblenz.deunikorn/lehre/gdrn/ws17/01 Introduction.pdf · Grundlagen der Rechnernetze - Introduction 2. Building blocks and terms Grundlagen

Supernetting – motivation

• What happens when for example we need 257 hosts?

1. We can apply for Class B network address. The problem is efficiency257

216 − 1≈ 0,39%

2. We can also consider 2 class C networks.

This means that we have 2 routing entries in each internet router

Grundlagen der Rechnernetze - Introduction 57

Page 58: Grundlagen der Rechnernetze - userpages.uni-koblenz.deunikorn/lehre/gdrn/ws17/01 Introduction.pdf · Grundlagen der Rechnernetze - Introduction 2. Building blocks and terms Grundlagen

Solution: Classless Inter-Domain Routing (CIDR)

• We can aggregate network addresses.

• Example: Lets assume that we have 16 * 256 - 1 hosts.

• We use 16 addresses of Class-C networks.Not arbitrary addresses, but consecutive, e.g.:

192.4.16192.4.17...192.4.31

Grundlagen der Rechnernetze - Introduction 58

Page 59: Grundlagen der Rechnernetze - userpages.uni-koblenz.deunikorn/lehre/gdrn/ws17/01 Introduction.pdf · Grundlagen der Rechnernetze - Introduction 2. Building blocks and terms Grundlagen

Solution: Classless Inter-Domain Routing (CIDR)

• We can aggregate network addresses.• Example: Lets assume that we have 16 * 256 - 1 hosts.• We use 16 addresses of Class-C networks.

But not arbitrary addresses, but consecutive, e.g.:

192.4.16192.4.17...192.4.31

• Now we can observe following: all addresses begin with the same 20 bits: 11000000 00000100 0001

Grundlagen der Rechnernetze - Introduction 59

Page 60: Grundlagen der Rechnernetze - userpages.uni-koblenz.deunikorn/lehre/gdrn/ws17/01 Introduction.pdf · Grundlagen der Rechnernetze - Introduction 2. Building blocks and terms Grundlagen

Solution: Classless Inter-Domain Routing (CIDR)

• Observation: all addresses begin with the same 20 bits:11000000 00000100 0001

• That means that we need a 20-bit network address• This is between Class-C (24-bit) and Class-B (16-bit)• Required output of 2 ^ 4 = 16 Class C addresses

• General question: How many class-C networks requires i-bit network address?

Grundlagen der Rechnernetze - Introduction 60

Page 61: Grundlagen der Rechnernetze - userpages.uni-koblenz.deunikorn/lehre/gdrn/ws17/01 Introduction.pdf · Grundlagen der Rechnernetze - Introduction 2. Building blocks and terms Grundlagen

Solution: Classless Inter-Domain Routing (CIDR)

• Observation: all addresses begin with the same 20 bits:11000000 00000100 0001

• That means that we need a 20-bit network address• This is between Class-C (24-bit) and Class-B (16-bit)• Required output of 2 ^ 4 = 16 Class C addresses

• General question: How many class-C networks requires i-bit network address?

224−𝑖𝑖

Grundlagen der Rechnernetze - Introduction 61

Page 62: Grundlagen der Rechnernetze - userpages.uni-koblenz.deunikorn/lehre/gdrn/ws17/01 Introduction.pdf · Grundlagen der Rechnernetze - Introduction 2. Building blocks and terms Grundlagen

Solution: Classless Inter-Domain Routing (CIDR)

• We need a notation for the scheme.• In our example:

192.4.16192.4.17...192.4.31

• Notation can be summarized as: 192.4.16 / 20• So this additional number / 20 means network address consists of first 20

bits and summarizes the 2 ^ 4 = 16 successive class-C networks beginning with 192.4.16.

Grundlagen der Rechnernetze - Introduction 62

Page 63: Grundlagen der Rechnernetze - userpages.uni-koblenz.deunikorn/lehre/gdrn/ws17/01 Introduction.pdf · Grundlagen der Rechnernetze - Introduction 2. Building blocks and terms Grundlagen

Quiz

• How to represent the class-C networks from 192.4.0 to 192.4.31 using / X notation?

Grundlagen der Rechnernetze - Introduction 63

Page 64: Grundlagen der Rechnernetze - userpages.uni-koblenz.deunikorn/lehre/gdrn/ws17/01 Introduction.pdf · Grundlagen der Rechnernetze - Introduction 2. Building blocks and terms Grundlagen

Quiz

• How to represent the class-C networks from 192.4.0 to 192.4.31 using / X notation?

192.4.0 / 19

Grundlagen der Rechnernetze - Introduction 64

Page 65: Grundlagen der Rechnernetze - userpages.uni-koblenz.deunikorn/lehre/gdrn/ws17/01 Introduction.pdf · Grundlagen der Rechnernetze - Introduction 2. Building blocks and terms Grundlagen

Quiz

• How to represent the class-C networks from 192.4.0 to 192.4.31 using / X notation?

192.4.0 / 19

• How to represent the single class-C network 192.4.16 in / X notation?

Grundlagen der Rechnernetze - Introduction 65

Page 66: Grundlagen der Rechnernetze - userpages.uni-koblenz.deunikorn/lehre/gdrn/ws17/01 Introduction.pdf · Grundlagen der Rechnernetze - Introduction 2. Building blocks and terms Grundlagen

Quiz

• How to represent the class-C networks from 192.4.0 to 192.4.31 using / X notation?

192.4.0 / 19

• How to represent the single class-C network 192.4.16 in / X notation?

192.4.0 / 24

Grundlagen der Rechnernetze - Introduction 66

Page 67: Grundlagen der Rechnernetze - userpages.uni-koblenz.deunikorn/lehre/gdrn/ws17/01 Introduction.pdf · Grundlagen der Rechnernetze - Introduction 2. Building blocks and terms Grundlagen

Solution: Classless Inter-Domain Routing (CIDR)

• How are aggregated addresses handled in the router:• Addresses in the routing tables are pair <length, value>• This is comparable to the pair <mask, value> in subnetting if the mask

consists of successive 1-bit values

Grundlagen der Rechnernetze - Introduction 67

Page 68: Grundlagen der Rechnernetze - userpages.uni-koblenz.deunikorn/lehre/gdrn/ws17/01 Introduction.pdf · Grundlagen der Rechnernetze - Introduction 2. Building blocks and terms Grundlagen

Solution: Classless Inter-Domain Routing (CIDR)

• CIDR allows further route aggregation. For example:

Grundlagen der Rechnernetze - Introduction 68

Internet provider

Advertise128.112.128/21

128.112.128/24

128.112.135/24

Client networks

We don’t even need to use 8 consecutive addresses

Page 69: Grundlagen der Rechnernetze - userpages.uni-koblenz.deunikorn/lehre/gdrn/ws17/01 Introduction.pdf · Grundlagen der Rechnernetze - Introduction 2. Building blocks and terms Grundlagen

Solution: Classless Inter-Domain Routing (CIDR)

• What happens with CIDR and routing table entries? Prefixes may overlap.

Lets consider following routing table:

Where do we route the message for171.69.10.5?

Where do we route the message171.69.20.5?

Grundlagen der Rechnernetze - Introduction 69

Network address Next hop

... ...171.69/16 if1171.69.10/24 if2... ...

Page 70: Grundlagen der Rechnernetze - userpages.uni-koblenz.deunikorn/lehre/gdrn/ws17/01 Introduction.pdf · Grundlagen der Rechnernetze - Introduction 2. Building blocks and terms Grundlagen

Solution: Classless Inter-Domain Routing (CIDR)

• What happens with CIDR and routing table entries? Prefixes may overlap.

Lets consider following routing table:

Where do we route the message for171.69.10.5?

if2

Where do we route the message171.69.20.5?

if1

Grundlagen der Rechnernetze - Introduction 70

Network address Next hop

... ...171.69/16 if1171.69.10/24 if2... ...

Page 71: Grundlagen der Rechnernetze - userpages.uni-koblenz.deunikorn/lehre/gdrn/ws17/01 Introduction.pdf · Grundlagen der Rechnernetze - Introduction 2. Building blocks and terms Grundlagen

Solution: Classless Inter-Domain Routing (CIDR)

• What happens with CIDR and routing table entries? Prefixes may overlap.

Lets consider following routing table:

Where do we route the message for171.69.10.5?

if2

Where do we route the message171.69.20.5?

if1

In general: Longest-Prefix-Match(requires efficient algorithms / data structures to find the longest matching prefix.)

Grundlagen der Rechnernetze - Introduction 71

Network address Next hop

... ...171.69/16 if1171.69.10/24 if2... ...

Page 72: Grundlagen der Rechnernetze - userpages.uni-koblenz.deunikorn/lehre/gdrn/ws17/01 Introduction.pdf · Grundlagen der Rechnernetze - Introduction 2. Building blocks and terms Grundlagen

Subnetting vs CIDR

• Subnetting allows splitting a network address into subnets• Distribution almost anywhere; everything that can be expressed with the

subnet mask

• CIDR is used to aggregate network addresses in a single address• Aggregation not arbitrary; network addresses must be consecutive; only 2^i

sized networks can be aggregated• Certain flexibility using "dummy networks"

Grundlagen der Rechnernetze - Introduction 72

Page 73: Grundlagen der Rechnernetze - userpages.uni-koblenz.deunikorn/lehre/gdrn/ws17/01 Introduction.pdf · Grundlagen der Rechnernetze - Introduction 2. Building blocks and terms Grundlagen

Subnetting and addresses revisited

• Smaller networks using one network address• Hierarchy• Better organization • Better use of resources• Addresses (network, host, broadcast)

Grundlagen der Rechnernetze - Introduction 73

Page 74: Grundlagen der Rechnernetze - userpages.uni-koblenz.deunikorn/lehre/gdrn/ws17/01 Introduction.pdf · Grundlagen der Rechnernetze - Introduction 2. Building blocks and terms Grundlagen

Subnetting example [1]

• We have been given one class C network address: 217.110.20.0 thatwe want to divide it into two subnets. The questions are:

• How many hosts can we have in each subnet?• What are the subnet addresses for these two subnets?• What are corresponding subnet masks?• What set of IP addresses cover these subnets?• What are CIDR notations for subnets?

Grundlagen der Rechnernetze - Introduction 74

Page 75: Grundlagen der Rechnernetze - userpages.uni-koblenz.deunikorn/lehre/gdrn/ws17/01 Introduction.pdf · Grundlagen der Rechnernetze - Introduction 2. Building blocks and terms Grundlagen

Subnetting example [1]

• We have been given one class C network address: 217.110.20.0 thatwe want to divide it into two subnets. The questions are:

• How many hosts can we have in each subnet?

2 subnets = address space of 2^7 addressesNumber of hosts = 2^7 – host address – broadcast address = 126

Grundlagen der Rechnernetze - Introduction 75

Page 76: Grundlagen der Rechnernetze - userpages.uni-koblenz.deunikorn/lehre/gdrn/ws17/01 Introduction.pdf · Grundlagen der Rechnernetze - Introduction 2. Building blocks and terms Grundlagen

Subnetting example [1]

• We have been given one class C network address: 217.110.20.0 thatwe want to divide it into two subnets. The questions are:

• What are the subnet addresses for these two subnets?

217.110.20.0217.110.20.128

Grundlagen der Rechnernetze - Introduction 76

Page 77: Grundlagen der Rechnernetze - userpages.uni-koblenz.deunikorn/lehre/gdrn/ws17/01 Introduction.pdf · Grundlagen der Rechnernetze - Introduction 2. Building blocks and terms Grundlagen

Subnetting example [1]

• We have been given one class C network address: 217.110.20.0 thatwe want to divide it into two subnets. The questions are:

• What are corresponding subnet masks?

255.255.255.128255.255.255.128

Grundlagen der Rechnernetze - Introduction 77

Page 78: Grundlagen der Rechnernetze - userpages.uni-koblenz.deunikorn/lehre/gdrn/ws17/01 Introduction.pdf · Grundlagen der Rechnernetze - Introduction 2. Building blocks and terms Grundlagen

Subnetting example [1]

• We have been given one class C network address: 217.110.20.0 thatwe want to divide it into two subnets. The questions are:

• What set of IP addresses cover these subnets?

217.110.20.0 - 217.110.20.127217.110.20.128 - 217.110.20.255

Grundlagen der Rechnernetze - Introduction 78

Page 79: Grundlagen der Rechnernetze - userpages.uni-koblenz.deunikorn/lehre/gdrn/ws17/01 Introduction.pdf · Grundlagen der Rechnernetze - Introduction 2. Building blocks and terms Grundlagen

Subnetting example [1]

• We have been given one class C network address: 217.110.20.0 thatwe want to divide it into two subnets. The questions are:

• What are CIDR notations for subnets?

25 for both networks217.110.20.0 / 25217.110.20.128 / 25

Grundlagen der Rechnernetze - Introduction 79

Page 80: Grundlagen der Rechnernetze - userpages.uni-koblenz.deunikorn/lehre/gdrn/ws17/01 Introduction.pdf · Grundlagen der Rechnernetze - Introduction 2. Building blocks and terms Grundlagen

Subnetting example [2]

• We have been given one class C network address: 217.110.20.0 thatwe want to divide it into three subnets, the first having 101 hosts, second 44 and the third 60. The questions are:

• What are the subnet addresses for these three subnets?• What are corresponding subnet masks?• What set of IP addresses cover these subnets?• What are CIDR notations for subnets?

Grundlagen der Rechnernetze - Introduction 80

Page 81: Grundlagen der Rechnernetze - userpages.uni-koblenz.deunikorn/lehre/gdrn/ws17/01 Introduction.pdf · Grundlagen der Rechnernetze - Introduction 2. Building blocks and terms Grundlagen

Subnetting example [2]

• We have been given one class C network address: 217.110.20.0 thatwe want to divide it into three subnets, the first having 101 hosts, second 44 and the third 60. The questions are:

• Actual first question is what are the sizes of those three subnets• 64 < 101 < 128 => 27 − 1 − 1 = 126• 32 < 44 < 64 => 26 − 1 − 1 = 62• 32 < 60 < 64 => 26 − 1 − 1 = 62

Grundlagen der Rechnernetze - Introduction 81

Page 82: Grundlagen der Rechnernetze - userpages.uni-koblenz.deunikorn/lehre/gdrn/ws17/01 Introduction.pdf · Grundlagen der Rechnernetze - Introduction 2. Building blocks and terms Grundlagen

Subnetting example [2]

• We have been given one class C network address: 217.110.20.0 thatwe want to divide it into three subnets, the first having 101 hosts, second 44 and the third 60. The questions are:

• What are the subnet addresses for these three subnets?217.110.20.0217.110.20.128217.110.20.192

Grundlagen der Rechnernetze - Introduction 82

Page 83: Grundlagen der Rechnernetze - userpages.uni-koblenz.deunikorn/lehre/gdrn/ws17/01 Introduction.pdf · Grundlagen der Rechnernetze - Introduction 2. Building blocks and terms Grundlagen

Subnetting example [2]

• We have been given one class C network address: 217.110.20.0 thatwe want to divide it into three subnets, the first having 101 hosts, second 44 and the third 60. The questions are:

• What are corresponding subnet masks?255.255.255.128255.255.255.192255.255.255.192

Grundlagen der Rechnernetze - Introduction 83

Page 84: Grundlagen der Rechnernetze - userpages.uni-koblenz.deunikorn/lehre/gdrn/ws17/01 Introduction.pdf · Grundlagen der Rechnernetze - Introduction 2. Building blocks and terms Grundlagen

Subnetting example [2]

• We have been given one class C network address: 217.110.20.0 thatwe want to divide it into three subnets, the first having 101 hosts, second 44 and the third 60. The questions are:

• What set of IP addresses cover these subnets?217.110.20.0 - 217.110.20.127217.110.20.128 - 217.110.20.191217.110.20.192 - 217.110.20.255

Grundlagen der Rechnernetze - Introduction 84

Page 85: Grundlagen der Rechnernetze - userpages.uni-koblenz.deunikorn/lehre/gdrn/ws17/01 Introduction.pdf · Grundlagen der Rechnernetze - Introduction 2. Building blocks and terms Grundlagen

Subnetting example [2]

• We have been given one class C network address: 217.110.20.0 thatwe want to divide it into three subnets, the first having 101 hosts, second 44 and the third 60. The questions are:

• What are CIDR notations for subnets?217.110.20.0 / 25217.110.20.128 / 26217.110.20.192 / 26

Grundlagen der Rechnernetze - Introduction 85

Page 86: Grundlagen der Rechnernetze - userpages.uni-koblenz.deunikorn/lehre/gdrn/ws17/01 Introduction.pdf · Grundlagen der Rechnernetze - Introduction 2. Building blocks and terms Grundlagen

Addresses example

• Given are following IP addresses in CIDR notation. Determine whether these addresses are subnet, host or broadcast addresses.

1. 192.168.0.17 / 242. 14.195.1.191 / 263. 112.127.0.0 / 14 4. 112.127.0.0 / 16

Grundlagen der Rechnernetze - Introduction 86

Page 87: Grundlagen der Rechnernetze - userpages.uni-koblenz.deunikorn/lehre/gdrn/ws17/01 Introduction.pdf · Grundlagen der Rechnernetze - Introduction 2. Building blocks and terms Grundlagen

Addresses example

• Given are following IP addresses in CIDR notation. Determine whether these addresses are subnet, host or broadcast addresses.

1. 192.168.0.17 / 24=> Host address, host bits are different from 0

Grundlagen der Rechnernetze - Introduction 87

Page 88: Grundlagen der Rechnernetze - userpages.uni-koblenz.deunikorn/lehre/gdrn/ws17/01 Introduction.pdf · Grundlagen der Rechnernetze - Introduction 2. Building blocks and terms Grundlagen

Addresses example

• Given are following IP addresses in CIDR notation. Determine whether these addresses are subnet, host or broadcast addresses.

2. 14.195.1.191 / 26=> Broadcast address, host bits are all equal to 1

Grundlagen der Rechnernetze - Introduction 88

Page 89: Grundlagen der Rechnernetze - userpages.uni-koblenz.deunikorn/lehre/gdrn/ws17/01 Introduction.pdf · Grundlagen der Rechnernetze - Introduction 2. Building blocks and terms Grundlagen

Addresses example

• Given are following IP addresses in CIDR notation. Determine whether these addresses are subnet, host or broadcast addresses.

3. 112.127.0.0 / 14 => Host address, host bits are different from 0

Grundlagen der Rechnernetze - Introduction 89

Page 90: Grundlagen der Rechnernetze - userpages.uni-koblenz.deunikorn/lehre/gdrn/ws17/01 Introduction.pdf · Grundlagen der Rechnernetze - Introduction 2. Building blocks and terms Grundlagen

Addresses example

• Given are following IP addresses in CIDR notation. Determine whether these addresses are subnet, host or broadcast addresses.

4. 112.127.0.0 / 16=> Network address, host bits are equal to 0

Grundlagen der Rechnernetze - Introduction 90

Page 91: Grundlagen der Rechnernetze - userpages.uni-koblenz.deunikorn/lehre/gdrn/ws17/01 Introduction.pdf · Grundlagen der Rechnernetze - Introduction 2. Building blocks and terms Grundlagen

Protocols and layers

Grundlagen der Rechnernetze - Introduction 91

Page 92: Grundlagen der Rechnernetze - userpages.uni-koblenz.deunikorn/lehre/gdrn/ws17/01 Introduction.pdf · Grundlagen der Rechnernetze - Introduction 2. Building blocks and terms Grundlagen

Protocol and interface

Grundlagen der Rechnernetze - Introduction 92

Host 1

Protocol

High-Level Object

Host 2

Protocol

High-Level Object

Peer-to-peerInterface

ServiceInterface

ServiceInterface

Page 93: Grundlagen der Rechnernetze - userpages.uni-koblenz.deunikorn/lehre/gdrn/ws17/01 Introduction.pdf · Grundlagen der Rechnernetze - Introduction 2. Building blocks and terms Grundlagen

Protocol and interface

Grundlagen der Rechnernetze - Introduction 93

Host 1

Protocol

High-Level Object

Host 2

Protocol

High-Level Object

Peer-to-peerInterface

ServiceInterface

ServiceInterface

Interoperability

Protocol vs algorithm

Page 94: Grundlagen der Rechnernetze - userpages.uni-koblenz.deunikorn/lehre/gdrn/ws17/01 Introduction.pdf · Grundlagen der Rechnernetze - Introduction 2. Building blocks and terms Grundlagen

Message sequence chart (MSC)

Grundlagen der Rechnernetze - Introduction 94

H1 H2

Page 95: Grundlagen der Rechnernetze - userpages.uni-koblenz.deunikorn/lehre/gdrn/ws17/01 Introduction.pdf · Grundlagen der Rechnernetze - Introduction 2. Building blocks and terms Grundlagen

Message sequence chart (MSC)

Grundlagen der Rechnernetze - Introduction 95

H1 H2

RTS

CTS

Data

RTS – request to send

CTS – clear to send

Data – useful data

Page 96: Grundlagen der Rechnernetze - userpages.uni-koblenz.deunikorn/lehre/gdrn/ws17/01 Introduction.pdf · Grundlagen der Rechnernetze - Introduction 2. Building blocks and terms Grundlagen

Protocol state machine

Grundlagen der Rechnernetze - Introduction 96

Wait forconnection

request

Wait for filerequest

connection request/connection response

close request

file request/file response

Page 97: Grundlagen der Rechnernetze - userpages.uni-koblenz.deunikorn/lehre/gdrn/ws17/01 Introduction.pdf · Grundlagen der Rechnernetze - Introduction 2. Building blocks and terms Grundlagen

Example

Grundlagen der Rechnernetze - Introduction 97

HN S

Service primitives:

States:

Timeline:

Message format:

File f GET_FILE(), void ABORT_FILE_RETRIVAL(), ...

CLIENT_IDLE, CLIENT_WAITS_FOR_FILE, ...

if client waits 1000ms then change to state CLIENT_ERROR

FILE_REQUEST_MESSAGE: |CLIENT_ADR|SERVER_ADR|FILE_NAME|

Page 98: Grundlagen der Rechnernetze - userpages.uni-koblenz.deunikorn/lehre/gdrn/ws17/01 Introduction.pdf · Grundlagen der Rechnernetze - Introduction 2. Building blocks and terms Grundlagen

Protocol graph

98

Host 1

Protocol 1

Protocol 3

Protocol 2

Protocol 4

Host 2

Protocol 1

Protocol 3

Protocol 2

Protocol 4

Page 99: Grundlagen der Rechnernetze - userpages.uni-koblenz.deunikorn/lehre/gdrn/ws17/01 Introduction.pdf · Grundlagen der Rechnernetze - Introduction 2. Building blocks and terms Grundlagen

Message encapsulation

99

Host 1

Application 1

Protocol 1

Protocol 2

Protocol 3

Host 2

Data

DataH1

DataH1H2

DataH1H2H3

Application 1

Protocol 1

Protokoll 2

Protocol 3

Data

DataH1

DataH1H2

Vorführender
Präsentationsnotizen
Possible compression or encryption of the data
Page 100: Grundlagen der Rechnernetze - userpages.uni-koblenz.deunikorn/lehre/gdrn/ws17/01 Introduction.pdf · Grundlagen der Rechnernetze - Introduction 2. Building blocks and terms Grundlagen

Multiplexing and demultiplexing

100

Host 1

Protocol 1

Protocol 3

Protocol 2

Protocol 4

Host 2

Protocol 1

Protocol 3

Protocol 2

Protocol 4

Vorführender
Präsentationsnotizen
Protokoll-Multiplexing, Demultiplexing-Key
Page 101: Grundlagen der Rechnernetze - userpages.uni-koblenz.deunikorn/lehre/gdrn/ws17/01 Introduction.pdf · Grundlagen der Rechnernetze - Introduction 2. Building blocks and terms Grundlagen

Protocol stack – practical example

Grundlagen der Rechnernetze - Introduction 101Source: Andrew S. Tanenbaum, „Computer Networks“, Fourth Edition, 2003

Page 102: Grundlagen der Rechnernetze - userpages.uni-koblenz.deunikorn/lehre/gdrn/ws17/01 Introduction.pdf · Grundlagen der Rechnernetze - Introduction 2. Building blocks and terms Grundlagen

OSI model

Grundlagen der Rechnernetze - Introduction 102Source: Andrew S. Tanenbaum, „Computer Networks“, Fourth Edition, 2003

OSI – Open System Interconnection

Communication subnet boundary

Vorführender
Präsentationsnotizen
OSI-Modell, ISO, Referenzmodell eines Protokollgraphen, Communication-Subnet-Boundary, Frame, PDU, Einordnung von Router im OSI-Modell, Einordnung von Switch im OSI-Modell, Local-Layers, End-to-End-Layers, Einordnung von Frame im OSI-Modell, Einordnung von Paket im OSI-Modell, Einordnung von Message im OSI-Modell, Unterschied zwischen Application-Layer-Protokoll und Applikation
Page 103: Grundlagen der Rechnernetze - userpages.uni-koblenz.deunikorn/lehre/gdrn/ws17/01 Introduction.pdf · Grundlagen der Rechnernetze - Introduction 2. Building blocks and terms Grundlagen

OSI model – concepts

Grundlagen der Rechnernetze - Introduction 103

Service – set of operations that layer provides to the layer above it

Protocol – set of rules that determine the format and meaning of the packets (messages) that are exchanged

Analogy with OO programming languages: services – abstract data types; protocols implementationof services

Source: Andrew S. Tanenbaum, „Computer Networks“, Fifth Edition, 2011

Page 104: Grundlagen der Rechnernetze - userpages.uni-koblenz.deunikorn/lehre/gdrn/ws17/01 Introduction.pdf · Grundlagen der Rechnernetze - Introduction 2. Building blocks and terms Grundlagen

OSI model

Grundlagen der Rechnernetze - Introduction 104Source: Andrew S. Tanenbaum, „Computer Networks“, Fourth Edition, 2003

OSI Principles:

1. A layer should be created where a different abstraction is needed.2. Each layer should perform a well-defined function.3. The function of each layer should be chosen with an eye toward defining internationally standardized protocols.4. The layer boundaries should be chosen to minimize the information flow across the interfaces.5. The number of layers should be large enough that distinct functions need not be thrown together in the same layer out of necessity and small enough that the architecture does not become unwieldy.

Vorführender
Präsentationsnotizen
OSI-Modell, ISO, Referenzmodell eines Protokollgraphen, Communication-Subnet-Boundary, Frame, PDU, Einordnung von Router im OSI-Modell, Einordnung von Switch im OSI-Modell, Local-Layers, End-to-End-Layers, Einordnung von Frame im OSI-Modell, Einordnung von Paket im OSI-Modell, Einordnung von Message im OSI-Modell, Unterschied zwischen Application-Layer-Protokoll und Applikation
Page 105: Grundlagen der Rechnernetze - userpages.uni-koblenz.deunikorn/lehre/gdrn/ws17/01 Introduction.pdf · Grundlagen der Rechnernetze - Introduction 2. Building blocks and terms Grundlagen

OSI model

Grundlagen der Rechnernetze - Introduction 105Source: Andrew S. Tanenbaum, „Computer Networks“, Fourth Edition, 2003

Physical layer – transmitting raw bits (or signal in general) over the communication channel

Data link layer – organizes raw data into the data frames (order of 100 – 1000 of bytes) and transmits frames sequentially. Sending back ACK in reliable services. Traffic regulation when we have fast transmitter and slow receiver. Control of access to the shared medium –separate sublayer media access control

Vorführender
Präsentationsnotizen
OSI-Modell, ISO, Referenzmodell eines Protokollgraphen, Communication-Subnet-Boundary, Frame, PDU, Einordnung von Router im OSI-Modell, Einordnung von Switch im OSI-Modell, Local-Layers, End-to-End-Layers, Einordnung von Frame im OSI-Modell, Einordnung von Paket im OSI-Modell, Einordnung von Message im OSI-Modell, Unterschied zwischen Application-Layer-Protokoll und Applikation
Page 106: Grundlagen der Rechnernetze - userpages.uni-koblenz.deunikorn/lehre/gdrn/ws17/01 Introduction.pdf · Grundlagen der Rechnernetze - Introduction 2. Building blocks and terms Grundlagen

OSI model

Grundlagen der Rechnernetze - Introduction 106Source: Andrew S. Tanenbaum, „Computer Networks“, Fourth Edition, 2003

Network layer – controls operation of subnet, determines how packets are routed from source to destination. Possible different types of routes – static tables, routes that can be updated (at the start of each conversation) and highly dynamic routes. Handling congestion (too many packets received).

Transport layer – accepts data above it and splits it in smaller units, passing them to the lower layers. End-to-end layer – carries communication from source to the destination.Delivering in the order in which bytes were sent or delivering isolated messages or broadcast to multiple destinations

Vorführender
Präsentationsnotizen
OSI-Modell, ISO, Referenzmodell eines Protokollgraphen, Communication-Subnet-Boundary, Frame, PDU, Einordnung von Router im OSI-Modell, Einordnung von Switch im OSI-Modell, Local-Layers, End-to-End-Layers, Einordnung von Frame im OSI-Modell, Einordnung von Paket im OSI-Modell, Einordnung von Message im OSI-Modell, Unterschied zwischen Application-Layer-Protokoll und Applikation
Page 107: Grundlagen der Rechnernetze - userpages.uni-koblenz.deunikorn/lehre/gdrn/ws17/01 Introduction.pdf · Grundlagen der Rechnernetze - Introduction 2. Building blocks and terms Grundlagen

OSI model

Grundlagen der Rechnernetze - Introduction 107Source: Andrew S. Tanenbaum, „Computer Networks“, Fourth Edition, 2003

Session layer – allows different machines (users) to establish sessions: dialog control (whose turn is to transmit), token management (preventing two parties to attempt same critical operation) and synchronization.

Presentation layer – syntax and semantics of the information. Manages abstract data structures

Application layer – protocols needed by users

Vorführender
Präsentationsnotizen
OSI-Modell, ISO, Referenzmodell eines Protokollgraphen, Communication-Subnet-Boundary, Frame, PDU, Einordnung von Router im OSI-Modell, Einordnung von Switch im OSI-Modell, Local-Layers, End-to-End-Layers, Einordnung von Frame im OSI-Modell, Einordnung von Paket im OSI-Modell, Einordnung von Message im OSI-Modell, Unterschied zwischen Application-Layer-Protokoll und Applikation
Page 108: Grundlagen der Rechnernetze - userpages.uni-koblenz.deunikorn/lehre/gdrn/ws17/01 Introduction.pdf · Grundlagen der Rechnernetze - Introduction 2. Building blocks and terms Grundlagen

Internet model (TCP/IP reference model)

Grundlagen der Rechnernetze - Introduction 109Source: Andrew S. Tanenbaum, „Computer Networks“, Fifth Edition, 2011

Page 109: Grundlagen der Rechnernetze - userpages.uni-koblenz.deunikorn/lehre/gdrn/ws17/01 Introduction.pdf · Grundlagen der Rechnernetze - Introduction 2. Building blocks and terms Grundlagen

Internet model (TCP/IP reference model)

Grundlagen der Rechnernetze - Introduction 110Source: Andrew S. Tanenbaum, „Computer Networks“, Fifth Edition, 2011

Link layer – interface between hosts and transmission (not a layer in standard sense)

Internet layer – corresponds to network layer. “Internet” –between the networks. Modeled over snail mail, series of packets delivered using one or more gateways. Internet Protocol (IP) and Internet Control Message Protocol (ICMP)

Page 110: Grundlagen der Rechnernetze - userpages.uni-koblenz.deunikorn/lehre/gdrn/ws17/01 Introduction.pdf · Grundlagen der Rechnernetze - Introduction 2. Building blocks and terms Grundlagen

Internet model (TCP/IP reference model)

Grundlagen der Rechnernetze - Introduction 111Source: Andrew S. Tanenbaum, „Computer Networks“, Fifth Edition, 2011

Transport layer – above internet layer, allows conversation between the source and destination. Transport Control Protocol (TCP) – reliable transmission and User Datagram Protocol (UDP) – connectionless protocol

Application layer – high level protocols. Early examples: Telnet (virtual terminal), FTP (file transfer), SMTP (electronic mail)

Page 111: Grundlagen der Rechnernetze - userpages.uni-koblenz.deunikorn/lehre/gdrn/ws17/01 Introduction.pdf · Grundlagen der Rechnernetze - Introduction 2. Building blocks and terms Grundlagen

Internet protocols

Grundlagen der Rechnernetze - Introduction 112Source: Andrew S. Tanenbaum, „Computer Networks“, Fifth Edition, 2011

Vorführender
Präsentationsnotizen
RTP – real time media DNS – domain name system
Page 112: Grundlagen der Rechnernetze - userpages.uni-koblenz.deunikorn/lehre/gdrn/ws17/01 Introduction.pdf · Grundlagen der Rechnernetze - Introduction 2. Building blocks and terms Grundlagen

Comparisons (critique) of OSI and TCP/IP model• OSI model

• Model made before protocols were made (good and bad)• Bad technology and implementations (empty layers, big and slow)

• TCP/IP• Protocols then models• Not general - it cannot describe anything else but TCP/IP• Does not distinguish services, services and protocols• Link layer – not a real layer; no distinction between physical and data layer• In general a lot of ad-hoc solutions

Grundlagen der Rechnernetze - Introduction 113

Page 113: Grundlagen der Rechnernetze - userpages.uni-koblenz.deunikorn/lehre/gdrn/ws17/01 Introduction.pdf · Grundlagen der Rechnernetze - Introduction 2. Building blocks and terms Grundlagen

How do we use TCP (or UDP)

Grundlagen der Rechnernetze - Introduction 114

Creating a socketint socket(int domain, int type, int protocol)

domain : PF_INET, PF_UNIX, PF_PACKET, ...type : SOCK_STREAM, SOCK_DGRAM, ...protocol : UNSPEC, ...

Passive open on the server sideint bind(int socket, struct sockaddr *address, int len)int listen(int socket, int backlog)int accept(int socket, struct sockaddr *address, int *len)

address : enthält IP-Adresse und Portbacklog : Anzahl erlaubter Pending-Connections

Active open on the client sideint connect(int socket, struct sockaddr *address, int len)

Sending and receiving dataint send(int socket, char *message, int len, int flags)int recv(int socket, char *buffer, int len, int flags)

Vorführender
Präsentationsnotizen
A socket is one endpoint of a two-way communication link between two programs running on the network. A socket is bound to a port number so that the TCP layer can identify the application that data is destined to be sent to. An endpoint is a combination of an IP address and a port number.
Page 114: Grundlagen der Rechnernetze - userpages.uni-koblenz.deunikorn/lehre/gdrn/ws17/01 Introduction.pdf · Grundlagen der Rechnernetze - Introduction 2. Building blocks and terms Grundlagen

How do we use TCP (or UDP)

Grundlagen der Rechnernetze - Introduction 115

Server side: Client side:

Page 115: Grundlagen der Rechnernetze - userpages.uni-koblenz.deunikorn/lehre/gdrn/ws17/01 Introduction.pdf · Grundlagen der Rechnernetze - Introduction 2. Building blocks and terms Grundlagen

Addresses in internet model

Grundlagen der Rechnernetze - Introduction 116

Host 2Host 1

TCP

IP IP

LINK LINK

physical

TCPUDPUDP

physical

Application Application Application Application

Physicaladdress

IP address

Port

Demux-Key

Vorführender
Präsentationsnotizen
Port, Zuordnung von Adresstypen im Internet-Modell
Page 116: Grundlagen der Rechnernetze - userpages.uni-koblenz.deunikorn/lehre/gdrn/ws17/01 Introduction.pdf · Grundlagen der Rechnernetze - Introduction 2. Building blocks and terms Grundlagen

Performance

Grundlagen der Rechnernetze - Introduction 117

Page 117: Grundlagen der Rechnernetze - userpages.uni-koblenz.deunikorn/lehre/gdrn/ws17/01 Introduction.pdf · Grundlagen der Rechnernetze - Introduction 2. Building blocks and terms Grundlagen

Bandwidth

Grundlagen der Rechnernetze - Introduction 118

1 µs1 second

0 1 1 0 1 10 …

Bandwidth b in this example:

Page 118: Grundlagen der Rechnernetze - userpages.uni-koblenz.deunikorn/lehre/gdrn/ws17/01 Introduction.pdf · Grundlagen der Rechnernetze - Introduction 2. Building blocks and terms Grundlagen

Bandwidth

Grundlagen der Rechnernetze - Introduction 119

1 µs1 second

0 1 1 0 1 10 …

Bandwidth b in this example:

𝑏𝑏 = 106 𝑏𝑏𝑏𝑏𝑠𝑠 = 1 𝑀𝑀𝑏𝑏𝑏𝑏𝑠𝑠

Page 119: Grundlagen der Rechnernetze - userpages.uni-koblenz.deunikorn/lehre/gdrn/ws17/01 Introduction.pdf · Grundlagen der Rechnernetze - Introduction 2. Building blocks and terms Grundlagen

Bps and bps

Grundlagen der Rechnernetze - Introduction 120

Parameter Order of value ValueKBps 210 Byte/s 1.024MBps 220 Byte/s 1.048.576GBps 230 Byte/s 1.073.741.824TBps 240 Byte/s 1.099.511.627.776Kbps 103 Bits/s 1.000Mbps 106 Bits/s 1.000.000Gbps 109 Bits/s 1.000.000.000Tbps 1012 Bits/s 1.000.000.000.000

Bytes per second vs bits per second

Page 120: Grundlagen der Rechnernetze - userpages.uni-koblenz.deunikorn/lehre/gdrn/ws17/01 Introduction.pdf · Grundlagen der Rechnernetze - Introduction 2. Building blocks and terms Grundlagen

Bps and bps

Grundlagen der Rechnernetze - Introduction 121

Parameter Order of value ValueKBps 210 Byte/s 1.024MBps 220 Byte/s 1.048.576GBps 230 Byte/s 1.073.741.824TBps 240 Byte/s 1.099.511.627.776Kbps 103 Bits/s 1.000Mbps 106 Bits/s 1.000.000Gbps 109 Bits/s 1.000.000.000Tbps 1012 Bits/s 1.000.000.000.000

Simplification of surpluses:

Simplification:

𝑛𝑛 𝑀𝑀𝑀𝑀𝑏𝑏𝑠𝑠 = 𝑛𝑛 � 220𝑀𝑀𝐵𝐵𝑤𝑤𝐵𝐵𝑠𝑠

≈ 𝑛𝑛 � 106𝑀𝑀𝐵𝐵𝑤𝑤𝐵𝐵𝑠𝑠

= 8𝑛𝑛 � 106𝑀𝑀𝑤𝑤𝑤𝑤𝑠𝑠

= 8𝑛𝑛 𝑀𝑀𝑏𝑏𝑏𝑏𝑠𝑠

Page 121: Grundlagen der Rechnernetze - userpages.uni-koblenz.deunikorn/lehre/gdrn/ws17/01 Introduction.pdf · Grundlagen der Rechnernetze - Introduction 2. Building blocks and terms Grundlagen

Propagation delay

Grundlagen der Rechnernetze - Introduction 122

H2

H1

d

Time x needed for transmission of one bit at distance d and with signal propagationspeed l

x

Page 122: Grundlagen der Rechnernetze - userpages.uni-koblenz.deunikorn/lehre/gdrn/ws17/01 Introduction.pdf · Grundlagen der Rechnernetze - Introduction 2. Building blocks and terms Grundlagen

Propagation delay

Grundlagen der Rechnernetze - Introduction 123

H2

H1

d

Time x needed for transmission of one bit at distance d and with signal propagationspeed l

𝒙𝒙 =𝒅𝒅𝒍𝒍

[𝒎𝒎𝒎𝒎𝒔𝒔

= 𝒔𝒔]

x

Page 123: Grundlagen der Rechnernetze - userpages.uni-koblenz.deunikorn/lehre/gdrn/ws17/01 Introduction.pdf · Grundlagen der Rechnernetze - Introduction 2. Building blocks and terms Grundlagen

Delay of one 1-hop transmission

Grundlagen der Rechnernetze - Introduction 124

H2

H1

d

Time x needed for transmission of n bits at distance d and with signal propagationspeed l and bandwidth b:

x

Page 124: Grundlagen der Rechnernetze - userpages.uni-koblenz.deunikorn/lehre/gdrn/ws17/01 Introduction.pdf · Grundlagen der Rechnernetze - Introduction 2. Building blocks and terms Grundlagen

Delay of one 1-hop transmission

Grundlagen der Rechnernetze - Introduction 125

H2

H1

d

Time x needed for transmission of n bits at distance d and with signal propagationspeed l and bandwidth b:

𝒙𝒙 =𝒅𝒅𝒍𝒍

+𝒏𝒏𝒃𝒃

[𝒃𝒃𝒃𝒃𝒃𝒃𝒔𝒔𝒃𝒃𝒃𝒃𝒃𝒃𝒔𝒔𝒔𝒔

= 𝒔𝒔]

x

Page 125: Grundlagen der Rechnernetze - userpages.uni-koblenz.deunikorn/lehre/gdrn/ws17/01 Introduction.pdf · Grundlagen der Rechnernetze - Introduction 2. Building blocks and terms Grundlagen

Delay of one 1-hop transmission

Grundlagen der Rechnernetze - Introduction 126

H2

H1

d

Time x needed for transmission of n bits at distance d and with signal propagationspeed l and bandwidth b:

𝒙𝒙 = 𝑷𝑷𝑷𝑷 + 𝑻𝑻𝑷𝑷

x

Propagation delay:

𝑷𝑷𝑷𝑷 =𝒅𝒅𝒍𝒍

Transmission delay:

𝑻𝑻𝑷𝑷 =𝒏𝒏𝒃𝒃

[𝒃𝒃𝒃𝒃𝒃𝒃𝒔𝒔𝒃𝒃𝒃𝒃𝒃𝒃𝒔𝒔𝒔𝒔

= 𝒔𝒔]

Page 126: Grundlagen der Rechnernetze - userpages.uni-koblenz.deunikorn/lehre/gdrn/ws17/01 Introduction.pdf · Grundlagen der Rechnernetze - Introduction 2. Building blocks and terms Grundlagen

Delay of one multi-hop transmission

Grundlagen der Rechnernetze - Introduction 127

d

Time x needed for transmission of n bits at distance d and with signal propagationspeed l and bandwidth b and queuing time q:

x

H2

H1

Page 127: Grundlagen der Rechnernetze - userpages.uni-koblenz.deunikorn/lehre/gdrn/ws17/01 Introduction.pdf · Grundlagen der Rechnernetze - Introduction 2. Building blocks and terms Grundlagen

Delay of one multi-hop transmission

Grundlagen der Rechnernetze - Introduction 128

d

Time x needed for transmission of n bits at distance d and with signal propagationspeed l and bandwidth b and queuing time q:

𝒙𝒙 =𝒅𝒅𝒍𝒍

+𝒏𝒏𝒃𝒃

+ 𝒒𝒒 [𝒔𝒔]

x

H2

H1

Page 128: Grundlagen der Rechnernetze - userpages.uni-koblenz.deunikorn/lehre/gdrn/ws17/01 Introduction.pdf · Grundlagen der Rechnernetze - Introduction 2. Building blocks and terms Grundlagen

Round-trip time (RTT)

Grundlagen der Rechnernetze - Introduction 129

d

Round-trip time – time needed for the signal to be sent plus time it takes to get theacknowledgment for that signal

𝑹𝑹𝑻𝑻𝑻𝑻 = 𝟐𝟐 � 𝑷𝑷𝑷𝑷

RTT

H2

H1

Page 129: Grundlagen der Rechnernetze - userpages.uni-koblenz.deunikorn/lehre/gdrn/ws17/01 Introduction.pdf · Grundlagen der Rechnernetze - Introduction 2. Building blocks and terms Grundlagen

Bandwidth delay product

Grundlagen der Rechnernetze - Introduction 130

Bandbreite

Delay

Definition: Number of the bits n that are contained in one channelwith latency of l and bandwidth of b

𝑛𝑛 = 𝑙𝑙 � 𝑏𝑏

Page 130: Grundlagen der Rechnernetze - userpages.uni-koblenz.deunikorn/lehre/gdrn/ws17/01 Introduction.pdf · Grundlagen der Rechnernetze - Introduction 2. Building blocks and terms Grundlagen

Bandwidth delay product

Grundlagen der Rechnernetze - Introduction 131

Bandbreite

Delay

Example: Number of the bits n that are contained in one channelwith latency of 100ms and bandwidth of 50Mbps

𝑛𝑛 = 50 � 106𝑏𝑏𝑤𝑤𝑤𝑤𝑠𝑠𝑠𝑠

� 0,1𝑠𝑠 = 5 � 106𝑏𝑏𝑤𝑤𝑤𝑤𝑠𝑠

Page 131: Grundlagen der Rechnernetze - userpages.uni-koblenz.deunikorn/lehre/gdrn/ws17/01 Introduction.pdf · Grundlagen der Rechnernetze - Introduction 2. Building blocks and terms Grundlagen

Transfer time and effective throughput

Grundlagen der Rechnernetze - Introduction 132

l

x

H2

H1

Page 132: Grundlagen der Rechnernetze - userpages.uni-koblenz.deunikorn/lehre/gdrn/ws17/01 Introduction.pdf · Grundlagen der Rechnernetze - Introduction 2. Building blocks and terms Grundlagen

Transfer time and effective throughput

Grundlagen der Rechnernetze - Introduction 133

l

x

H2

H1

Example: Calculation of transfer time z and effective throughput d and when retrieving a 1MB file over a channel with bandwidth of 1Gbps and RTT of 92ms.

𝑧𝑧 =1𝑀𝑀𝑀𝑀1𝐺𝐺𝑏𝑏𝑏𝑏𝑠𝑠

+ 0,092 ≈8𝑀𝑀𝑏𝑏1𝐺𝐺𝑏𝑏𝑏𝑏𝑠𝑠

+ 0,092 =8 � 106𝑏𝑏

1 � 109𝑏𝑏𝑠𝑠

+ 0,092 = 0,092 + 0,008 = 0,1𝑠𝑠

𝑑𝑑 =1𝑀𝑀𝑀𝑀

100 � 10−3𝑠𝑠≈

8𝑀𝑀𝑏𝑏100 � 10−3𝑠𝑠

= 80𝑀𝑀𝑏𝑏𝑏𝑏𝑠𝑠 ≪ 1𝐺𝐺𝑏𝑏𝑏𝑏𝑠𝑠 ‼!

Page 133: Grundlagen der Rechnernetze - userpages.uni-koblenz.deunikorn/lehre/gdrn/ws17/01 Introduction.pdf · Grundlagen der Rechnernetze - Introduction 2. Building blocks and terms Grundlagen

Bit error rate and packet error rate

Grundlagen der Rechnernetze - Introduction 134

010100010111100010011101110010110001101Bit error rate (BER)

Packet error rate (PER)Packet 1 Packet 2 Packet 3 Packet 4

Page 134: Grundlagen der Rechnernetze - userpages.uni-koblenz.deunikorn/lehre/gdrn/ws17/01 Introduction.pdf · Grundlagen der Rechnernetze - Introduction 2. Building blocks and terms Grundlagen

Bit error rate and packet error rate

Grundlagen der Rechnernetze - Introduction 135

010100010111100010011101110010110001101Bit error

Packet errorPacket 1 Packet 2 Packet 3 Packet 4

Connection between BER and PER for n bit message withoutcorrection:

𝑃𝑃𝐸𝐸𝑃𝑃 = 1 − (1 − 𝑀𝑀𝐸𝐸𝑃𝑃)𝑛𝑛

Page 135: Grundlagen der Rechnernetze - userpages.uni-koblenz.deunikorn/lehre/gdrn/ws17/01 Introduction.pdf · Grundlagen der Rechnernetze - Introduction 2. Building blocks and terms Grundlagen

Additive and bottleneck costs

Grundlagen der Rechnernetze - Introduction 136

H1 H2

R1

R2

R3

10ms 5ms 10ms 20ms

1Mbps 1Gbps 1Gbps1Mbps

e1e2 e3 e4

Page 136: Grundlagen der Rechnernetze - userpages.uni-koblenz.deunikorn/lehre/gdrn/ws17/01 Introduction.pdf · Grundlagen der Rechnernetze - Introduction 2. Building blocks and terms Grundlagen

Additive and bottleneck costs

Grundlagen der Rechnernetze - Introduction 137

H1 H2

R1

R2

R3

10ms 5ms 10ms 20ms

1Mbps 1Gbps 1Gbps1Mbps

e1e2 e3 e4

Example: What is delay d und bandwidth b between hosts H1 and H2

𝑑𝑑 = �𝑖𝑖=1

𝑛𝑛

𝐷𝐷𝐵𝐵𝑙𝑙𝐷𝐷𝐵𝐵(𝐵𝐵𝑖𝑖) = 45𝑚𝑚𝑠𝑠

𝑏𝑏 = min1≤𝑖𝑖≤𝑛𝑛

𝑀𝑀𝐷𝐷𝑛𝑛𝑑𝑑𝑤𝑤𝑤𝑤𝑑𝑑𝑤𝑤𝑤(𝐵𝐵𝑖𝑖) = 1𝑀𝑀𝑏𝑏𝑏𝑏𝑠𝑠

Page 137: Grundlagen der Rechnernetze - userpages.uni-koblenz.deunikorn/lehre/gdrn/ws17/01 Introduction.pdf · Grundlagen der Rechnernetze - Introduction 2. Building blocks and terms Grundlagen

Multiplicative costs

Grundlagen der Rechnernetze - Introduction 138

H1 H2

R1

R2

R3

p1=2/3 p2=1/3 p3=1/2 p4=1/2e1

e2 e3 e4

Vorführender
Präsentationsnotizen
Packet success rate
Page 138: Grundlagen der Rechnernetze - userpages.uni-koblenz.deunikorn/lehre/gdrn/ws17/01 Introduction.pdf · Grundlagen der Rechnernetze - Introduction 2. Building blocks and terms Grundlagen

Multiplicative costs

Grundlagen der Rechnernetze - Introduction 139

H1 H2

R1

R2

R3

p1=2/3 p2=1/3 p3=1/2 p4=1/2e1

e2 e3 e4

Example: What is the total packet success rate with given packet error rates per link.

𝑟𝑟 = 1 − �𝑖𝑖=1

𝑛𝑛

(1 − 𝑏𝑏𝑖𝑖)

Vorführender
Präsentationsnotizen
Packet success rate
Page 139: Grundlagen der Rechnernetze - userpages.uni-koblenz.deunikorn/lehre/gdrn/ws17/01 Introduction.pdf · Grundlagen der Rechnernetze - Introduction 2. Building blocks and terms Grundlagen

Performance example of effective throughput with packet switching

Grundlagen der Rechnernetze - Introduction 140

Page 140: Grundlagen der Rechnernetze - userpages.uni-koblenz.deunikorn/lehre/gdrn/ws17/01 Introduction.pdf · Grundlagen der Rechnernetze - Introduction 2. Building blocks and terms Grundlagen

Delay savings

Grundlagen der Rechnernetze - Introduction 141

H1 H2

Circuit switching

R1 R2 H1 H2

Message switching

R1 R2 H1 H2

Packet switching

R1 R2

Page 141: Grundlagen der Rechnernetze - userpages.uni-koblenz.deunikorn/lehre/gdrn/ws17/01 Introduction.pdf · Grundlagen der Rechnernetze - Introduction 2. Building blocks and terms Grundlagen

Delay savings

Grundlagen der Rechnernetze - Introduction 142

H1 H2

Circuit switching

R1 R2 H1 H2

Message switching

R1 R2 H1 H2

Packet switching

R1 R2

Page 142: Grundlagen der Rechnernetze - userpages.uni-koblenz.deunikorn/lehre/gdrn/ws17/01 Introduction.pdf · Grundlagen der Rechnernetze - Introduction 2. Building blocks and terms Grundlagen

Delay savings

Grundlagen der Rechnernetze - Introduction 143

H1 H2

Circuit switching

R1 R2 H1 H2

Message switching

R1 R2 H1 H2

Packet switching

R1 R2

Page 143: Grundlagen der Rechnernetze - userpages.uni-koblenz.deunikorn/lehre/gdrn/ws17/01 Introduction.pdf · Grundlagen der Rechnernetze - Introduction 2. Building blocks and terms Grundlagen

Delay savings

Grundlagen der Rechnernetze - Introduction 144

H1 H2

Circuit switching

R1 R2 H1 H2

Message switching

R1 R2 H1 H2

Packet switching

R1 R2

Page 144: Grundlagen der Rechnernetze - userpages.uni-koblenz.deunikorn/lehre/gdrn/ws17/01 Introduction.pdf · Grundlagen der Rechnernetze - Introduction 2. Building blocks and terms Grundlagen

Influence of the packet size

Grundlagen der Rechnernetze - Introduction 145

H1

H2

R1

R2

Message size n bits

Packet payload k bits

Packet header c bits

Bandwidth b bps

Delay per hop d seconds

Number of hops h

Effective throughput x

𝒙𝒙 =𝒏𝒏𝒃𝒃

; 𝒃𝒃 = 𝑷𝑷𝑷𝑷 + 𝑻𝑻𝑷𝑷

Page 145: Grundlagen der Rechnernetze - userpages.uni-koblenz.deunikorn/lehre/gdrn/ws17/01 Introduction.pdf · Grundlagen der Rechnernetze - Introduction 2. Building blocks and terms Grundlagen

Influence of the packet size

Grundlagen der Rechnernetze - Introduction 146

H1

H2

R1

R2

Message size n bits

Packet payload k bits

Packet header c bits

Bandwidth b bps

Delay per hop d seconds

Number of hops h

Effective throughput x

𝒙𝒙 =𝒏𝒏𝒃𝒃

; 𝒃𝒃 = 𝑷𝑷𝑷𝑷 + 𝑻𝑻𝑷𝑷 = 𝒉𝒉 � 𝒅𝒅 + (𝒏𝒏𝒌𝒌

+ 𝒉𝒉 − 𝟏𝟏) �𝒌𝒌 + 𝒄𝒄𝒃𝒃

Page 146: Grundlagen der Rechnernetze - userpages.uni-koblenz.deunikorn/lehre/gdrn/ws17/01 Introduction.pdf · Grundlagen der Rechnernetze - Introduction 2. Building blocks and terms Grundlagen

Example plot

Grundlagen der Rechnernetze - Introduction 147Packet size in KB

Effe

ctiv

eTh

roug

hput

in G

bps

Message size 1 GB

Bandwidth 1 Gbps

Header size 64 Byte

Number of hops 10

Delay per hop 10 ms

Page 147: Grundlagen der Rechnernetze - userpages.uni-koblenz.deunikorn/lehre/gdrn/ws17/01 Introduction.pdf · Grundlagen der Rechnernetze - Introduction 2. Building blocks and terms Grundlagen

History and present

Grundlagen der Rechnernetze - Introduction 148

Page 148: Grundlagen der Rechnernetze - userpages.uni-koblenz.deunikorn/lehre/gdrn/ws17/01 Introduction.pdf · Grundlagen der Rechnernetze - Introduction 2. Building blocks and terms Grundlagen

Packet switching – the first generation

• The end of 1950s• Cold war at its peak; DoD (USA –

department of defense) looks for command and control center that could survive nuclear attack

• During 1960s• Contract with RAND corporation

(still looking for a solution). Paul Baran develops a distributed and fault tolerant system as a basis for packet switching. AT&T thinks it is not feasible.

Grundlagen der Rechnernetze - Introduction 149

Structure of telephone systems

Baran’s distributed switching system

Source: Andrew S. Tanenbaum, „Computer Networks“, Fourth Edition, 2003

Vorführender
Präsentationsnotizen
The issue of connecting separate physical networks to form one logical network was the first of many problems. Early networks used message switched systems that required rigid routing structures prone to single point of failure. In the 1960s, Paul Baran of the RAND Corporation produced a study of survivable networks for the U.S. military in the event of nuclear war.[13] Information transmitted across Baran's network would be divided into what he called "message blocks".[14] Independently, Donald Davies (National Physical Laboratory, UK), proposed and was the first to put into practice a local area network based on what he called packet switching, the term that would ultimately be adopted. Larry Roberts applied Davies' concepts of packet switching for the ARPANET wide area network,[15][16] and sought input from Paul Baran and Leonard Kleinrock. Kleinrock subsequently developed the mathematical theory behind the performance of this technology building on his earlier work on queueing theory Packet switching is a rapid store and forward networking design that divides messages up into arbitrary packets, with routing decisions made per-packet. It provides better bandwidth utilization and response times than the traditional circuit-switching technology used for telephony, particularly on resource-limited interconnection links.
Page 149: Grundlagen der Rechnernetze - userpages.uni-koblenz.deunikorn/lehre/gdrn/ws17/01 Introduction.pdf · Grundlagen der Rechnernetze - Introduction 2. Building blocks and terms Grundlagen

ARPANET

• 1967• Feasibility of packet switched

networks• Donald Davies (at NPL) independently

developed packet switching system as a campus network. They referenced work from Paul Baran

• 1969• (D)ARPA contracted consulting

company BBN to develop that kind of network and necessary software. Graduate students from the University of Utah developed host software. Result: ARPANET

Grundlagen der Rechnernetze - Introduction 150

Dec 1969 Jul 1970 Mar 1971

Apr 1972 Sep 1972

Development of ARPANET

Structure of packet switched subnet according to Clark

Source: Andrew S. Tanenbaum, „Computer Networks“, Fourth Edition, 2003

Page 150: Grundlagen der Rechnernetze - userpages.uni-koblenz.deunikorn/lehre/gdrn/ws17/01 Introduction.pdf · Grundlagen der Rechnernetze - Introduction 2. Building blocks and terms Grundlagen

ARPANET and NSFNET

• 1974• First ARPANET protocol (Vinton Cerf

and Robert Kahn)• ARPA pushed usage of TCP/IP;

University of California Berkeley integrated these protocols in Berkeley Unix

• Late 1970s – end of 1980s• TCP/IP emerged in its nearly final form• Associated standards were published

in 1981• Form the 1. January 1983 TCP/IP

became the only approved part of ARPANET

Grundlagen der Rechnernetze - Introduction 151

NSF backbone 1988

Source: Andrew S. Tanenbaum, „Computer Networks“, Fourth Edition, 2003

Page 151: Grundlagen der Rechnernetze - userpages.uni-koblenz.deunikorn/lehre/gdrn/ws17/01 Introduction.pdf · Grundlagen der Rechnernetze - Introduction 2. Building blocks and terms Grundlagen

Commercialization of Internet

• During 1980s• IP addresses becoming more expensive (scarce); development of hierarchical name structure

– DNS – domain name system• Further growth of network (universities, research labs, libraries,…); problems with overload;

NSF contract MERIT (consortium from Chicago) to continue operating the network; upgrade of backbone (56kbps -> 448kbps ->1.5Mbps)

• Merger of ARPANET and NSFNET followed by many other regional networks (Canada, Europe, Pacific)

• 1990• First step of commercialization of internet NSFNET donated to nonprofit corporation ANS

(Advanced Networks and Services – MERIT, MCI, IBM); further upgrade of the backbone 1.5 Mbps -> 45Mbps

• NSF ensures fair competition (through the agreements with PacBell, Ameritech, MSF and Sprint)

• 1995• ANSNET sold to American Online. Real commercialization of IP services

Grundlagen der Rechnernetze - Introduction 152

Page 152: Grundlagen der Rechnernetze - userpages.uni-koblenz.deunikorn/lehre/gdrn/ws17/01 Introduction.pdf · Grundlagen der Rechnernetze - Introduction 2. Building blocks and terms Grundlagen

WWW

• During 1990s• Development in other countries EuropaNET and EBONE (started at 2Mbps

then upgraded to 34Mbps)• Until early 1990s Internet was mainly used in academia. • Everything changed with development of world wide web (WWW) – Tim

Berners-Lee (CERN physicist) and Mosaic Browser Marc Andersen (National Center for Supercomputer Applications in Urbana Illinois)

• Rise of Internet Service Providers – increased number of home computers on the internet (dial-up service)

Grundlagen der Rechnernetze - Introduction 153

Page 153: Grundlagen der Rechnernetze - userpages.uni-koblenz.deunikorn/lehre/gdrn/ws17/01 Introduction.pdf · Grundlagen der Rechnernetze - Introduction 2. Building blocks and terms Grundlagen

Simplified overview of Internet today

Grundlagen der Rechnernetze - Introduction 154

Source: Andrew S. Tanenbaum, „Computer Networks“, Fourth Edition, 2003

Vorführender
Präsentationsnotizen
(Client -> ISP &| Telco -> POP (Point-of-Presence) -> ISP-Regional-Network -> ISPs Backbone-Operator (Beispiel für große Backbone-Operator: AT&T oder Sprint)); (Große Server-Farm kann auch direkt am Backbone hängen); NAP (Network-Access-Point: Zentrale Verbindungsstelle zwischen vielen Backbones); Private-Peering (Verbindung zwischen zwei Backbones)
Page 154: Grundlagen der Rechnernetze - userpages.uni-koblenz.deunikorn/lehre/gdrn/ws17/01 Introduction.pdf · Grundlagen der Rechnernetze - Introduction 2. Building blocks and terms Grundlagen

Wide area data networks – evolution

• 1970s• X.25 system – connection-oriented wide area data networks of the first

generation. System was used for a decade.

• 1980s• Frame relay system – mostly used for connections of LANs (even until today)

• 1990s• Development of ATM (asynchronous transfer mode); the main aim was

transfer of speech, data, cable TV, telegraph using one type of data network. ATM did not achieved awaited success but it is used for data transport of Internet traffic

Grundlagen der Rechnernetze - Introduction 155

Vorführender
Präsentationsnotizen
Internet connectionless vs telephone network connection oriented
Page 155: Grundlagen der Rechnernetze - userpages.uni-koblenz.deunikorn/lehre/gdrn/ws17/01 Introduction.pdf · Grundlagen der Rechnernetze - Introduction 2. Building blocks and terms Grundlagen

Local area networks

• Early 1970s• Norman Abrahamson and colleagues from the university of Hawaii developed

wireless (short range radio) ALOHANET. They were using computers from neighboring islands to communicate with main computer in Honolulu

• 1976• Using previous work from Abrahamson, Bob Metcalfe and David Boggs (Xerox

PARC) developed the first LAN, called Ethernet, data rate of 2,94Mbps

• 1978• Xerox Ethernet is standardized by DEC, Intel and Xerox (10 Mbps Ethernet)

Grundlagen der Rechnernetze - Introduction 156

Page 156: Grundlagen der Rechnernetze - userpages.uni-koblenz.deunikorn/lehre/gdrn/ws17/01 Introduction.pdf · Grundlagen der Rechnernetze - Introduction 2. Building blocks and terms Grundlagen

Local area networks

• 1978 onwards• Bob Metcalfe founded company 3Com which sold over 100 Millions of

Ethernet adapters• Development of Ethernet (100 Mbps and 1000 Mbps, switching, cabling)• Token bus and token ring were added

• Middle of 1990s• Standardization of Ethernet compatible wireless communication network WiFi

Grundlagen der Rechnernetze - Introduction 157

Page 157: Grundlagen der Rechnernetze - userpages.uni-koblenz.deunikorn/lehre/gdrn/ws17/01 Introduction.pdf · Grundlagen der Rechnernetze - Introduction 2. Building blocks and terms Grundlagen

Standardization communities

Grundlagen der Rechnernetze - Introduction 158

Telecommunication

ITU International TelecommunicationUnion

International Standards

ISO International Standards Organization

IEEE Institute of Electrical and Electronics Engineering

Internet standards

ISOC Internet Society

IAB Internet Architecture Board

IRTF Internet Research Task Force

IETF Internet Engineering Task Force

IEEE 802 Working-Groups

Source: Andrew S. Tanenbaum, „Computer Networks“, Fourth Edition, 2003

Page 158: Grundlagen der Rechnernetze - userpages.uni-koblenz.deunikorn/lehre/gdrn/ws17/01 Introduction.pdf · Grundlagen der Rechnernetze - Introduction 2. Building blocks and terms Grundlagen

Overview and conclusion

• Definition of a network• Scalability (hierarchical aggregation)• Addressing, routing, forwarding• Multiplexing• Layering and protocols (separation of concerns)• OSI model and Internet (TCP/IP) model• Latency and bandwidth• Standardization

Grundlagen der Rechnernetze - Introduction 159

Page 159: Grundlagen der Rechnernetze - userpages.uni-koblenz.deunikorn/lehre/gdrn/ws17/01 Introduction.pdf · Grundlagen der Rechnernetze - Introduction 2. Building blocks and terms Grundlagen

Literature

[PetersonDavie2007] Larry L. Peterson and Bruce S. Davie, „Computer Networks: A Systems Approach“, Edition 4, 2007.

1.2 Requirements1.3 Network Architecture1.4.1 Application Programming Interface (Sockets)1.5 Performance4.1.1 What is an Internetwork?4.1.3 Global Addresses4.1.4 Datagramm Forwarding in IP4.3.1 Subnetting4.3.2 Classless Routing (CIDR)

[Tanenbaum2003] Andrew S. Tanenbaum, „Computer Networks“, Fourth Edition, 2003.1.5 Example Networks1.6 Network Standardization

Grundlagen der Rechnernetze - Introduction 160