basic concepts in computer networking - faculty of informatics

155
Basic Concepts In Computer Networking Antonio Carzaniga Faculty of Informatics University of Lugano September 26, 2016

Upload: others

Post on 04-Feb-2022

2 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Basic Concepts In Computer Networking - Faculty of Informatics

Basic Concepts

In Computer Networking

Antonio Carzaniga

Faculty of InformaticsUniversity of Lugano

September 26, 2016

Page 2: Basic Concepts In Computer Networking - Faculty of Informatics

Goal of this Lecture

Understand what packet switching is

Understand what circuit switching is

Understand their differences

Understand what a protocol is

Page 3: Basic Concepts In Computer Networking - Faculty of Informatics

Outline

What is the Internet?

Types of network

Types of service

Protocols

The Internet protocol stack

Page 4: Basic Concepts In Computer Networking - Faculty of Informatics

History

Page 5: Basic Concepts In Computer Networking - Faculty of Informatics

History

Page 6: Basic Concepts In Computer Networking - Faculty of Informatics

History

Page 7: Basic Concepts In Computer Networking - Faculty of Informatics

History

Page 8: Basic Concepts In Computer Networking - Faculty of Informatics

What is the Internet?

Internet

Page 9: Basic Concepts In Computer Networking - Faculty of Informatics

What is the Internet?

Internet

Page 10: Basic Concepts In Computer Networking - Faculty of Informatics

What is the Internet?

Internet

Page 11: Basic Concepts In Computer Networking - Faculty of Informatics

What is the Internet?

Internet

Page 12: Basic Concepts In Computer Networking - Faculty of Informatics

What is the Internet?

Internet

end systemor host

Page 13: Basic Concepts In Computer Networking - Faculty of Informatics

End Systems

End system or host ( )

Page 14: Basic Concepts In Computer Networking - Faculty of Informatics

End Systems

End system or host ( )

◮ a computer

Page 15: Basic Concepts In Computer Networking - Faculty of Informatics

End Systems

End system or host ( )

◮ a computer◮ a phone (more or less “smart”)

Page 16: Basic Concepts In Computer Networking - Faculty of Informatics

End Systems

End system or host ( )

◮ a computer◮ a phone (more or less “smart”)◮ a server (well, that would also be a computer)

Page 17: Basic Concepts In Computer Networking - Faculty of Informatics

End Systems

End system or host ( )

◮ a computer◮ a phone (more or less “smart”)◮ a server (well, that would also be a computer)◮ a camera (a.k.a., webcam)

Page 18: Basic Concepts In Computer Networking - Faculty of Informatics

End Systems

End system or host ( )

◮ a computer◮ a phone (more or less “smart”)◮ a server (well, that would also be a computer)◮ a camera (a.k.a., webcam)◮ a temperature sensor

Page 19: Basic Concepts In Computer Networking - Faculty of Informatics

End Systems

End system or host ( )

◮ a computer◮ a phone (more or less “smart”)◮ a server (well, that would also be a computer)◮ a camera (a.k.a., webcam)◮ a temperature sensor◮ a PDA

Page 20: Basic Concepts In Computer Networking - Faculty of Informatics

End Systems

End system or host ( )

◮ a computer◮ a phone (more or less “smart”)◮ a server (well, that would also be a computer)◮ a camera (a.k.a., webcam)◮ a temperature sensor◮ a PDA◮ . . .◮ a car◮ a television set◮ a picture frame◮ a toaster◮ . . .

Page 21: Basic Concepts In Computer Networking - Faculty of Informatics

End Systems

End system or host ( )

◮ a computer◮ a phone (more or less “smart”)◮ a server (well, that would also be a computer)◮ a camera (a.k.a., webcam)◮ a temperature sensor◮ a PDA◮ . . .◮ a car◮ a television set◮ a picture frame◮ a toaster◮ . . .◮ a toilet seat?◮ a toothpick?◮ . . .

Page 22: Basic Concepts In Computer Networking - Faculty of Informatics

What is Inside the Internet?

Page 23: Basic Concepts In Computer Networking - Faculty of Informatics

What is Inside the Internet?

Page 24: Basic Concepts In Computer Networking - Faculty of Informatics

What is Inside the Internet?

local-areanetwork

packet switch

Page 25: Basic Concepts In Computer Networking - Faculty of Informatics

What is Inside the Internet?

local-areanetwork

packet switch

communication link

Page 26: Basic Concepts In Computer Networking - Faculty of Informatics

Basic Concepts

The Internet uses packet switching

Page 27: Basic Concepts In Computer Networking - Faculty of Informatics

Basic Concepts

The Internet uses packet switching

Packet switch: a link-layer switch or a router

Page 28: Basic Concepts In Computer Networking - Faculty of Informatics

Basic Concepts

The Internet uses packet switching

Packet switch: a link-layer switch or a router

Communication link: a connection between packet switchesand/or end systems

Page 29: Basic Concepts In Computer Networking - Faculty of Informatics

Basic Concepts

The Internet uses packet switching

Packet switch: a link-layer switch or a router

Communication link: a connection between packet switchesand/or end systems

Route: sequence of switches that a packet goes through(a.k.a. path)

Page 30: Basic Concepts In Computer Networking - Faculty of Informatics

Basic Concepts

The Internet uses packet switching

Packet switch: a link-layer switch or a router

Communication link: a connection between packet switchesand/or end systems

Route: sequence of switches that a packet goes through(a.k.a. path)

Protocol: control the sending and receiving of information toand from end systems and packet switches

Page 31: Basic Concepts In Computer Networking - Faculty of Informatics

Communication Links

Various types and forms of medium

Page 32: Basic Concepts In Computer Networking - Faculty of Informatics

Communication Links

Various types and forms of medium

◮ Fiber-optic cable

◮ Twisted-pair copper wire

◮ Coaxial cable

◮ Wireless local-area links (e.g., 802.11, Bluetooth)

◮ Satellite channel

◮ . . .

Page 33: Basic Concepts In Computer Networking - Faculty of Informatics

Packet Switching

Page 34: Basic Concepts In Computer Networking - Faculty of Informatics

Packet Switching

Page 35: Basic Concepts In Computer Networking - Faculty of Informatics

Packet Switching

Page 36: Basic Concepts In Computer Networking - Faculty of Informatics

Packet Switching

The Internet is a packet-switched network

Page 37: Basic Concepts In Computer Networking - Faculty of Informatics

Packet Switching

The Internet is a packet-switched network

Information is transmitted in packets

Page 38: Basic Concepts In Computer Networking - Faculty of Informatics

Packet Switching

The Internet is a packet-switched network

Information is transmitted in packets

Switches operate on individual packets

Page 39: Basic Concepts In Computer Networking - Faculty of Informatics

Packet Switching

The Internet is a packet-switched network

Information is transmitted in packets

Switches operate on individual packets

A switch (router) receives packets and forwards them along toother switches or to end systems

Page 40: Basic Concepts In Computer Networking - Faculty of Informatics

Packet Switching

The Internet is a packet-switched network

Information is transmitted in packets

Switches operate on individual packets

A switch (router) receives packets and forwards them along toother switches or to end systems

Every forwarding decision is taken on the basis of theinformation contained in the packet

Page 41: Basic Concepts In Computer Networking - Faculty of Informatics

Circuit Switching

Page 42: Basic Concepts In Computer Networking - Faculty of Informatics

Circuit Switching

Page 43: Basic Concepts In Computer Networking - Faculty of Informatics

Circuit Switching

The telephone network is a typical circuit-switched network

◮ not any more, really, but still. . .

Page 44: Basic Concepts In Computer Networking - Faculty of Informatics

Circuit Switching

The telephone network is a typical circuit-switched network

◮ not any more, really, but still. . .

Communication requires a connection setup phase in whichthe network reserves all the necessary resources for thatconnection (links, buffers, switches, etc.)

Page 45: Basic Concepts In Computer Networking - Faculty of Informatics

Circuit Switching

The telephone network is a typical circuit-switched network

◮ not any more, really, but still. . .

Communication requires a connection setup phase in whichthe network reserves all the necessary resources for thatconnection (links, buffers, switches, etc.)

After a successful setup, the communicating systems areconnected by a set of links dedicated to the connection forthe entire duration of their conversation

Page 46: Basic Concepts In Computer Networking - Faculty of Informatics

Circuit Switching

The telephone network is a typical circuit-switched network

◮ not any more, really, but still. . .

Communication requires a connection setup phase in whichthe network reserves all the necessary resources for thatconnection (links, buffers, switches, etc.)

After a successful setup, the communicating systems areconnected by a set of links dedicated to the connection forthe entire duration of their conversation

When the conversation ends, the network tears down theconnection, freeing the corresponding resources (links,buffers, etc.) for other connections

Page 47: Basic Concepts In Computer Networking - Faculty of Informatics

Circuit vs. Packet Switching

Page 48: Basic Concepts In Computer Networking - Faculty of Informatics

Circuit vs. Packet Switching

Page 49: Basic Concepts In Computer Networking - Faculty of Informatics

Circuit vs. Packet Switching

Page 50: Basic Concepts In Computer Networking - Faculty of Informatics

Circuit vs. Packet Switching

Circuit switching requires an expensive setup phase

◮ however, once the connection is established, little or noprocessing is required

Page 51: Basic Concepts In Computer Networking - Faculty of Informatics

Circuit vs. Packet Switching

Circuit switching requires an expensive setup phase

◮ however, once the connection is established, little or noprocessing is required

Packet switching does not incur any setup cost

◮ however, it always incurs a significant processing and spaceoverhead, on a per-packet basis

◮ processing cost for forwarding

◮ space overhead because every packet must be self-contained

Page 52: Basic Concepts In Computer Networking - Faculty of Informatics

Circuit vs. Packet Switching (2)

Page 53: Basic Concepts In Computer Networking - Faculty of Informatics

Circuit vs. Packet Switching (2)

Circuit switching admits a straightforward implementation ofquality-of-service guarantees

◮ network resources are reserved at connection setup time

Page 54: Basic Concepts In Computer Networking - Faculty of Informatics

Circuit vs. Packet Switching (2)

Circuit switching admits a straightforward implementation ofquality-of-service guarantees

◮ network resources are reserved at connection setup time

Guaranteeing any quality of service with packet switching isvery difficult

◮ no concept of a “connection”

◮ and again, processing, space overhead, etc.

Page 55: Basic Concepts In Computer Networking - Faculty of Informatics

Circuit vs. Packet Switching (3)

Circuit switching allows only a limited sharing ofcommunication resources

◮ once a connection is established, the resources are blockedeven though there might be long silence periods

◮ i.e., circuit switching is an inefficient way to use the network

Page 56: Basic Concepts In Computer Networking - Faculty of Informatics

Circuit vs. Packet Switching (3)

Circuit switching allows only a limited sharing ofcommunication resources

◮ once a connection is established, the resources are blockedeven though there might be long silence periods

◮ i.e., circuit switching is an inefficient way to use the network

Packet switching achieves a much better utilization ofnetwork resources

◮ it is designed specifically to share links

Page 57: Basic Concepts In Computer Networking - Faculty of Informatics

Virtual Circuits

Idea: combine the advantages of circuit switching and packetswitching

Page 58: Basic Concepts In Computer Networking - Faculty of Informatics

Virtual Circuits

Idea: combine the advantages of circuit switching and packetswitching

There is a connection setup phase

Page 59: Basic Concepts In Computer Networking - Faculty of Informatics

Virtual Circuits

Idea: combine the advantages of circuit switching and packetswitching

There is a connection setup phase

The connection does not create a physical circuit, but rather a“virtual circuit”

Page 60: Basic Concepts In Computer Networking - Faculty of Informatics

Virtual Circuits

Idea: combine the advantages of circuit switching and packetswitching

There is a connection setup phase

The connection does not create a physical circuit, but rather a“virtual circuit”

Information is sent in packets, so links can be shared moreeffectively

Page 61: Basic Concepts In Computer Networking - Faculty of Informatics

Virtual Circuits

Idea: combine the advantages of circuit switching and packetswitching

There is a connection setup phase

The connection does not create a physical circuit, but rather a“virtual circuit”

Information is sent in packets, so links can be shared moreeffectively

Packets carry a virtual circuit identifier instead of thedestination address

Page 62: Basic Concepts In Computer Networking - Faculty of Informatics

Virtual Circuits

Idea: combine the advantages of circuit switching and packetswitching

There is a connection setup phase

The connection does not create a physical circuit, but rather a“virtual circuit”

Information is sent in packets, so links can be shared moreeffectively

Packets carry a virtual circuit identifier instead of thedestination address

◮ Important observation: at any given time there are much fewerconnections than destinations

◮ much faster per-packet processing (forwarding)

◮ lower per-packet space overhead

Page 63: Basic Concepts In Computer Networking - Faculty of Informatics

Virtual Circuit

Page 64: Basic Concepts In Computer Networking - Faculty of Informatics

Virtual Circuit

Page 65: Basic Concepts In Computer Networking - Faculty of Informatics

Virtual Circuit

Page 66: Basic Concepts In Computer Networking - Faculty of Informatics

Taxonomy of Networks

communicationnetwork

Page 67: Basic Concepts In Computer Networking - Faculty of Informatics

Taxonomy of Networks

communicationnetwork

circuitswitching

packetswitching

Page 68: Basic Concepts In Computer Networking - Faculty of Informatics

Taxonomy of Networks

communicationnetwork

circuitswitching

packetswitching

timedivision

multiplexing

frequencydivision

multiplexing

Page 69: Basic Concepts In Computer Networking - Faculty of Informatics

Taxonomy of Networks

communicationnetwork

circuitswitching

packetswitching

timedivision

multiplexing

frequencydivision

multiplexing

datagramnetwork

virtualcircuit

Page 70: Basic Concepts In Computer Networking - Faculty of Informatics

Taxonomy of Networks

communicationnetwork

circuitswitching

packetswitching

timedivision

multiplexing

frequencydivision

multiplexing

datagramnetwork

virtualcircuit

Page 71: Basic Concepts In Computer Networking - Faculty of Informatics

Service Perspective

local-areanetwork

packet switch

Page 72: Basic Concepts In Computer Networking - Faculty of Informatics

Service Perspective

local-areanetwork

packet switch

What kind of service does the Internet offer to end systems?

Page 73: Basic Concepts In Computer Networking - Faculty of Informatics

Type of Service

Two end systems can communicate through the Internet, butexactly what kind of communication service is that of theInternet?

Page 74: Basic Concepts In Computer Networking - Faculty of Informatics

Type of Service

Two end systems can communicate through the Internet, butexactly what kind of communication service is that of theInternet?

Connectionless, “best effort”◮ the network accepts “datagrams” for delivery—this isconceptually similar to the postal service

◮ “best effort” really means unreliable though not malicious

Page 75: Basic Concepts In Computer Networking - Faculty of Informatics

Type of Service

Two end systems can communicate through the Internet, butexactly what kind of communication service is that of theInternet?

Connectionless, “best effort”◮ the network accepts “datagrams” for delivery—this isconceptually similar to the postal service

◮ “best effort” really means unreliable though not malicious

Connection-oriented, reliable◮ virtual duplex communication channel (A↔ B)—conceptuallysimilar to a telephone service

◮ information is transmitted “reliably” and in order

Page 76: Basic Concepts In Computer Networking - Faculty of Informatics

Type of Service (2)

How reliable is a “reliable” service?

Page 77: Basic Concepts In Computer Networking - Faculty of Informatics

Type of Service (2)

How reliable is a “reliable” service?

The term “reliable”means that information will eventuallyreach its destination if a route is viable within a certainamount of time

Page 78: Basic Concepts In Computer Networking - Faculty of Informatics

Type of Service (2)

How reliable is a “reliable” service?

The term “reliable”means that information will eventuallyreach its destination if a route is viable within a certainamount of time

The network makes absolutely no guarantees on latency (i.e.,the time it takes to transmit some information from a sourceto a destination)

Page 79: Basic Concepts In Computer Networking - Faculty of Informatics

Communication Protocols

End systems as well as packet switches run protocols. What isa protocol?

Page 80: Basic Concepts In Computer Networking - Faculty of Informatics

Communication Protocols

End systems as well as packet switches run protocols. What isa protocol?

E.g., let’s consider a phone call: Alice calls Bob

Alice Bob

hello

Page 81: Basic Concepts In Computer Networking - Faculty of Informatics

Communication Protocols

End systems as well as packet switches run protocols. What isa protocol?

E.g., let’s consider a phone call: Alice calls Bob

Alice Bob

hello

hello, this is Alice

Page 82: Basic Concepts In Computer Networking - Faculty of Informatics

Communication Protocols

End systems as well as packet switches run protocols. What isa protocol?

E.g., let’s consider a phone call: Alice calls Bob

Alice Bob

hello

hello, this is Alice

Alice, what’s up?

Page 83: Basic Concepts In Computer Networking - Faculty of Informatics

Communication Protocols

End systems as well as packet switches run protocols. What isa protocol?

E.g., let’s consider a phone call: Alice calls Bob

Alice Bob

hello

hello, this is Alice

Alice, what’s up?

bla, bla. . .

Page 84: Basic Concepts In Computer Networking - Faculty of Informatics

Communication Protocols

End systems as well as packet switches run protocols. What isa protocol?

E.g., let’s consider a phone call: Alice calls Bob

Alice Bob

hello

hello, this is Alice

Alice, what’s up?

bla, bla. . .

okay, bye

Page 85: Basic Concepts In Computer Networking - Faculty of Informatics

Communication Protocols

End systems as well as packet switches run protocols. What isa protocol?

E.g., let’s consider a phone call: Alice calls Bob

Alice Bob

hello

hello, this is Alice

Alice, what’s up?

bla, bla. . .

okay, bye

bye

Page 86: Basic Concepts In Computer Networking - Faculty of Informatics

Communication Protocols

Phases of the protocol

◮ handshake: establishes the identities and/or the context

◮ conversation: free-form exchange

◮ closing: terminates the conversation

Page 87: Basic Concepts In Computer Networking - Faculty of Informatics

Communication Protocols

Phases of the protocol

◮ handshake: establishes the identities and/or the context

◮ conversation: free-form exchange

◮ closing: terminates the conversation

This protocol assumes a connection-oriented medium

The protocol involves two parties (Alice and Bob)

. . .

Page 88: Basic Concepts In Computer Networking - Faculty of Informatics

Communication Protocols (2)

Another example: air traffic control

Page 89: Basic Concepts In Computer Networking - Faculty of Informatics

Communication Protocols (2)

Another example: air traffic control

◮ . . . United 971, turn left heading 2-7-0

Page 90: Basic Concepts In Computer Networking - Faculty of Informatics

Communication Protocols (2)

Another example: air traffic control

◮ . . . United 971, turn left heading 2-7-0

◮ left to 2-7-0, United 971

Page 91: Basic Concepts In Computer Networking - Faculty of Informatics

Communication Protocols (2)

Another example: air traffic control

◮ . . . United 971, turn left heading 2-7-0

◮ left to 2-7-0, United 971

◮ . . . Alitalia 631, contact Malpensa approach at 119.20

Page 92: Basic Concepts In Computer Networking - Faculty of Informatics

Communication Protocols (2)

Another example: air traffic control

◮ . . . United 971, turn left heading 2-7-0

◮ left to 2-7-0, United 971

◮ . . . Alitalia 631, contact Malpensa approach at 119.20

◮ . . .

Page 93: Basic Concepts In Computer Networking - Faculty of Informatics

Communication Protocols (2)

Another example: air traffic control

◮ . . . United 971, turn left heading 2-7-0

◮ left to 2-7-0, United 971

◮ . . . Alitalia 631, contact Malpensa approach at 119.20

◮ . . .

◮ . . . Alitalia 631, contact Malpensa approach at 119.20

Page 94: Basic Concepts In Computer Networking - Faculty of Informatics

Communication Protocols (2)

Another example: air traffic control

◮ . . . United 971, turn left heading 2-7-0

◮ left to 2-7-0, United 971

◮ . . . Alitalia 631, contact Malpensa approach at 119.20

◮ . . .

◮ . . . Alitalia 631, contact Malpensa approach at 119.20

◮ 1-1-9 point 2-0, Alitalia 631, ciao

Page 95: Basic Concepts In Computer Networking - Faculty of Informatics

Communication Protocols (2)

Another example: air traffic control

◮ . . . United 971, turn left heading 2-7-0

◮ left to 2-7-0, United 971

◮ . . . Alitalia 631, contact Malpensa approach at 119.20

◮ . . .

◮ . . . Alitalia 631, contact Malpensa approach at 119.20

◮ 1-1-9 point 2-0, Alitalia 631, ciao

◮ . . . Center, request, Delta 800

Page 96: Basic Concepts In Computer Networking - Faculty of Informatics

Communication Protocols (2)

Another example: air traffic control

◮ . . . United 971, turn left heading 2-7-0

◮ left to 2-7-0, United 971

◮ . . . Alitalia 631, contact Malpensa approach at 119.20

◮ . . .

◮ . . . Alitalia 631, contact Malpensa approach at 119.20

◮ 1-1-9 point 2-0, Alitalia 631, ciao

◮ . . . Center, request, Delta 800

◮ . . . United 971, climb and maintain flight level 3-7-0

Page 97: Basic Concepts In Computer Networking - Faculty of Informatics

Communication Protocols (2)

Another example: air traffic control

◮ . . . United 971, turn left heading 2-7-0

◮ left to 2-7-0, United 971

◮ . . . Alitalia 631, contact Malpensa approach at 119.20

◮ . . .

◮ . . . Alitalia 631, contact Malpensa approach at 119.20

◮ 1-1-9 point 2-0, Alitalia 631, ciao

◮ . . . Center, request, Delta 800

◮ . . . United 971, climb and maintain flight level 3-7-0

◮ flight level 3-7-0, United 971

Page 98: Basic Concepts In Computer Networking - Faculty of Informatics

Communication Protocols (2)

Another example: air traffic control

◮ . . . United 971, turn left heading 2-7-0

◮ left to 2-7-0, United 971

◮ . . . Alitalia 631, contact Malpensa approach at 119.20

◮ . . .

◮ . . . Alitalia 631, contact Malpensa approach at 119.20

◮ 1-1-9 point 2-0, Alitalia 631, ciao

◮ . . . Center, request, Delta 800

◮ . . . United 971, climb and maintain flight level 3-7-0

◮ flight level 3-7-0, United 971

◮ . . . Delta 800, go ahead

Page 99: Basic Concepts In Computer Networking - Faculty of Informatics

Communication Protocols (2)

Another example: air traffic control

◮ . . . United 971, turn left heading 2-7-0

◮ left to 2-7-0, United 971

◮ . . . Alitalia 631, contact Malpensa approach at 119.20

◮ . . .

◮ . . . Alitalia 631, contact Malpensa approach at 119.20

◮ 1-1-9 point 2-0, Alitalia 631, ciao

◮ . . . Center, request, Delta 800

◮ . . . United 971, climb and maintain flight level 3-7-0

◮ flight level 3-7-0, United 971

◮ . . . Delta 800, go ahead

◮ requesting flight level 3-5-0, Delta 800

Page 100: Basic Concepts In Computer Networking - Faculty of Informatics

Communication Protocols (2)

Another example: air traffic control

◮ . . . United 971, turn left heading 2-7-0

◮ left to 2-7-0, United 971

◮ . . . Alitalia 631, contact Malpensa approach at 119.20

◮ . . .

◮ . . . Alitalia 631, contact Malpensa approach at 119.20

◮ 1-1-9 point 2-0, Alitalia 631, ciao

◮ . . . Center, request, Delta 800

◮ . . . United 971, climb and maintain flight level 3-7-0

◮ flight level 3-7-0, United 971

◮ . . . Delta 800, go ahead

◮ requesting flight level 3-5-0, Delta 800

◮ Delta 800, unable at the moment

Page 101: Basic Concepts In Computer Networking - Faculty of Informatics

Communication Protocols (2)

Page 102: Basic Concepts In Computer Networking - Faculty of Informatics

Communication Protocols (2)

A connectionless protocol

Page 103: Basic Concepts In Computer Networking - Faculty of Informatics

Communication Protocols (2)

A connectionless protocol

Multi-party communication

Page 104: Basic Concepts In Computer Networking - Faculty of Informatics

Communication Protocols (2)

A connectionless protocol

Multi-party communication

Medium access control (MAC) protocol

Page 105: Basic Concepts In Computer Networking - Faculty of Informatics

Communication Protocols (2)

A connectionless protocol

Multi-party communication

Medium access control (MAC) protocol

Interleaved communication

Page 106: Basic Concepts In Computer Networking - Faculty of Informatics

Communication Protocols (2)

A connectionless protocol

Multi-party communication

Medium access control (MAC) protocol

Interleaved communication

Acknowledgements

Page 107: Basic Concepts In Computer Networking - Faculty of Informatics

Communication Protocols (2)

A connectionless protocol

Multi-party communication

Medium access control (MAC) protocol

Interleaved communication

Acknowledgements

Timeout and retransmission

Page 108: Basic Concepts In Computer Networking - Faculty of Informatics

Communication Protocols (2)

A connectionless protocol

Multi-party communication

Medium access control (MAC) protocol

Interleaved communication

Acknowledgements

Timeout and retransmission

“Master” role

Page 109: Basic Concepts In Computer Networking - Faculty of Informatics

Communication Protocols (3)

Let’s revisit the phone-call protocol

Alice Bob

Page 110: Basic Concepts In Computer Networking - Faculty of Informatics

Communication Protocols (3)

Let’s revisit the phone-call protocol

Alice Bob

hello

Page 111: Basic Concepts In Computer Networking - Faculty of Informatics

Communication Protocols (3)

Let’s revisit the phone-call protocol

Alice Bob

hello

hello, this is Alice

Page 112: Basic Concepts In Computer Networking - Faculty of Informatics

Communication Protocols (3)

Let’s revisit the phone-call protocol

Alice Bob

hello

hello, this is Alice

Alice who?

Page 113: Basic Concepts In Computer Networking - Faculty of Informatics

Communication Protocols (3)

Let’s revisit the phone-call protocol

Alice Bob

hello

hello, this is Alice

Alice who?

sorry, wrong number

Page 114: Basic Concepts In Computer Networking - Faculty of Informatics

Communication Protocols (4)

Another run of the phone-call protocol

Alice Bob

Page 115: Basic Concepts In Computer Networking - Faculty of Informatics

Communication Protocols (4)

Another run of the phone-call protocol

Alice Bob

hello

Page 116: Basic Concepts In Computer Networking - Faculty of Informatics

Communication Protocols (4)

Another run of the phone-call protocol

Alice Bob

hello

hello?

Page 117: Basic Concepts In Computer Networking - Faculty of Informatics

Communication Protocols (4)

Another run of the phone-call protocol

Alice Bob

hello

hello?

anybody there?

Page 118: Basic Concepts In Computer Networking - Faculty of Informatics

Communication Protocols: Principles

A protocol is a lot like a program

◮ in fact, it is a distributed program, where different processescan send messages to each other

Page 119: Basic Concepts In Computer Networking - Faculty of Informatics

Communication Protocols: Principles

A protocol is a lot like a program

◮ in fact, it is a distributed program, where different processescan send messages to each other

It is an executable specification

Page 120: Basic Concepts In Computer Networking - Faculty of Informatics

Communication Protocols: Principles

A protocol is a lot like a program

◮ in fact, it is a distributed program, where different processescan send messages to each other

It is an executable specification

It must be unambiguous

Page 121: Basic Concepts In Computer Networking - Faculty of Informatics

Communication Protocols: Principles

A protocol is a lot like a program

◮ in fact, it is a distributed program, where different processescan send messages to each other

It is an executable specification

It must be unambiguous

It must be complete

◮ i.e., it must include actions and/or responses for all possiblesituations and all possible messages

Page 122: Basic Concepts In Computer Networking - Faculty of Informatics

Communication Protocols: Principles

A protocol is a lot like a program

◮ in fact, it is a distributed program, where different processescan send messages to each other

It is an executable specification

It must be unambiguous

It must be complete

◮ i.e., it must include actions and/or responses for all possiblesituations and all possible messages

A network protocol must also define all the necessarymessage formats

Page 123: Basic Concepts In Computer Networking - Faculty of Informatics

Communication Protocols (5)

Another protocol: deciding where to go for dinner

Page 124: Basic Concepts In Computer Networking - Faculty of Informatics

Communication Protocols (5)

Another protocol: deciding where to go for dinner

Alice Bob

how about pizza?

Page 125: Basic Concepts In Computer Networking - Faculty of Informatics

Communication Protocols (5)

Another protocol: deciding where to go for dinner

Alice Bob

how about pizza?

we did that already

Page 126: Basic Concepts In Computer Networking - Faculty of Informatics

Communication Protocols (5)

Another protocol: deciding where to go for dinner

Alice Bob

how about pizza?

we did that already

okay, youdecide

Page 127: Basic Concepts In Computer Networking - Faculty of Informatics

Communication Protocols (5)

Another protocol: deciding where to go for dinner

Alice Bob

how about pizza?

we did that already

okay, youdecide

uhm. . . er. . .

Page 128: Basic Concepts In Computer Networking - Faculty of Informatics

Communication Protocols (5)

Another protocol: deciding where to go for dinner

Alice Bob

how about pizza?

we did that already

okay, youdecide

uhm. . . er. . .

so?

Page 129: Basic Concepts In Computer Networking - Faculty of Informatics

Communication Protocols (5)

Another protocol: deciding where to go for dinner

Alice Bob

how about pizza?

we did that already

okay, youdecide

uhm. . . er. . .

so?

let’s just do pizza

Page 130: Basic Concepts In Computer Networking - Faculty of Informatics

Protocol Layering

Alice calls Bob to decide where to go for dinner

Page 131: Basic Concepts In Computer Networking - Faculty of Informatics

Protocol Layering

Alice calls Bob to decide where to go for dinner

Alice Bob

Page 132: Basic Concepts In Computer Networking - Faculty of Informatics

Protocol Layering

Alice calls Bob to decide where to go for dinner

Alice Bob

hello

Page 133: Basic Concepts In Computer Networking - Faculty of Informatics

Protocol Layering

Alice calls Bob to decide where to go for dinner

Alice Bob

hello

hello, this is Alice

Page 134: Basic Concepts In Computer Networking - Faculty of Informatics

Protocol Layering

Alice calls Bob to decide where to go for dinner

Alice Bob

hello

hello, this is Alice

Alice, what’s up?

Page 135: Basic Concepts In Computer Networking - Faculty of Informatics

Protocol Layering

Alice calls Bob to decide where to go for dinner

Alice Bob

hello

hello, this is Alice

Alice, what’s up?

let’s go out to dinner

Page 136: Basic Concepts In Computer Networking - Faculty of Informatics

Protocol Layering

Alice calls Bob to decide where to go for dinner

Alice Bob

hello

hello, this is Alice

Alice, what’s up?

let’s go out to dinner

“where to go for dinner” protocol. . .

Page 137: Basic Concepts In Computer Networking - Faculty of Informatics

Protocol Layering

Alice calls Bob to decide where to go for dinner

Alice Bob

hello

hello, this is Alice

Alice, what’s up?

let’s go out to dinner

“where to go for dinner” protocol. . .

okay, bye

Page 138: Basic Concepts In Computer Networking - Faculty of Informatics

Protocol Layering

Alice calls Bob to decide where to go for dinner

Alice Bob

hello

hello, this is Alice

Alice, what’s up?

let’s go out to dinner

“where to go for dinner” protocol. . .

okay, bye

bye

Page 139: Basic Concepts In Computer Networking - Faculty of Informatics

Protocol Layering

Alice calls Bob to decide where to go for dinner

Page 140: Basic Concepts In Computer Networking - Faculty of Informatics

Protocol Layering

Alice calls Bob to decide where to go for dinner

phone call protocol

Page 141: Basic Concepts In Computer Networking - Faculty of Informatics

Protocol Layering

Alice calls Bob to decide where to go for dinner

phone call protocol

“where to go for dinner” protocol

Page 142: Basic Concepts In Computer Networking - Faculty of Informatics

Protocol Layering

Alice calls Bob to decide where to go for dinner

phone call protocol

“where to go for dinner” protocol

call setup

Page 143: Basic Concepts In Computer Networking - Faculty of Informatics

Protocol Layering

Alice calls Bob to decide where to go for dinner

phone call protocol

“where to go for dinner” protocol

call setup

voice over IP

Page 144: Basic Concepts In Computer Networking - Faculty of Informatics

Protocol Layering

Alice calls Bob to decide where to go for dinner

phone call protocol

“where to go for dinner” protocol

call setup

voice over IP

. . .

Page 145: Basic Concepts In Computer Networking - Faculty of Informatics

Internet Protocol Stack

Page 146: Basic Concepts In Computer Networking - Faculty of Informatics

Internet Protocol Stack

application

Page 147: Basic Concepts In Computer Networking - Faculty of Informatics

Internet Protocol Stack

application

transport

Page 148: Basic Concepts In Computer Networking - Faculty of Informatics

Internet Protocol Stack

application

transport

network

Page 149: Basic Concepts In Computer Networking - Faculty of Informatics

Internet Protocol Stack

application

transport

network

link

Page 150: Basic Concepts In Computer Networking - Faculty of Informatics

Internet Protocol Stack

application

transport

network

link

physical

Page 151: Basic Concepts In Computer Networking - Faculty of Informatics

Internet Protocol Stack (2)

Application (e.g., HTTP, SMTP, and DNS)◮ application functionalities◮ application messages

Page 152: Basic Concepts In Computer Networking - Faculty of Informatics

Internet Protocol Stack (2)

Application (e.g., HTTP, SMTP, and DNS)◮ application functionalities◮ application messages

Transport (e.g., TCP and UDP)◮ application multiplexing, reliable transfer (TCP), congestioncontrol (TCP)

◮ datagrams (UDP) or segments (TCP)

Page 153: Basic Concepts In Computer Networking - Faculty of Informatics

Internet Protocol Stack (2)

Application (e.g., HTTP, SMTP, and DNS)◮ application functionalities◮ application messages

Transport (e.g., TCP and UDP)◮ application multiplexing, reliable transfer (TCP), congestioncontrol (TCP)

◮ datagrams (UDP) or segments (TCP)

Network (IP)◮ end to end datagram, best-effort service, routing,fragmentation

◮ packets (IP)

Page 154: Basic Concepts In Computer Networking - Faculty of Informatics

Internet Protocol Stack (2)

Application (e.g., HTTP, SMTP, and DNS)◮ application functionalities◮ application messages

Transport (e.g., TCP and UDP)◮ application multiplexing, reliable transfer (TCP), congestioncontrol (TCP)

◮ datagrams (UDP) or segments (TCP)

Network (IP)◮ end to end datagram, best-effort service, routing,fragmentation

◮ packets (IP)

Link (e.g., Ethernet and PPP)◮ point-to-point or local broadcast communication◮ frames (or packets)

Page 155: Basic Concepts In Computer Networking - Faculty of Informatics

Internet Protocol Stack (2)

Application (e.g., HTTP, SMTP, and DNS)◮ application functionalities◮ application messages

Transport (e.g., TCP and UDP)◮ application multiplexing, reliable transfer (TCP), congestioncontrol (TCP)

◮ datagrams (UDP) or segments (TCP)

Network (IP)◮ end to end datagram, best-effort service, routing,fragmentation

◮ packets (IP)

Link (e.g., Ethernet and PPP)◮ point-to-point or local broadcast communication◮ frames (or packets)

Physical