operating systems and computer networks...faculty of engineering institute of computer engineering...

47
Operating Systems and Computer Networks TCP/IP

Upload: others

Post on 28-Mar-2020

1 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Operating Systems and Computer Networks...Faculty of Engineering Institute of Computer Engineering Prof. Dr.-Ing. Axel Hunger Operating Systems and Computer Networks Exercises Pascal

Faculty of Engineering

Institute of Computer Engineering

Prof. Dr.-Ing. Axel Hunger

Operating Systems and

Computer Networks Exercises

Pascal A. Klein & Alexander Maxeinerti.uni-due.de

Operating Systems and

Computer NetworksTCP/IP

Page 2: Operating Systems and Computer Networks...Faculty of Engineering Institute of Computer Engineering Prof. Dr.-Ing. Axel Hunger Operating Systems and Computer Networks Exercises Pascal

Faculty of Engineering

Institute of Computer Engineering

Prof. Dr.-Ing. Axel Hunger

Operating Systems and

Computer Networks Exercises

Pascal A. Klein & Alexander Maxeinerti.uni-due.de

Linux System Structure

Corbet et al, Linux Device Drivers, O‘Reilly , 2005

Page 3: Operating Systems and Computer Networks...Faculty of Engineering Institute of Computer Engineering Prof. Dr.-Ing. Axel Hunger Operating Systems and Computer Networks Exercises Pascal

Faculty of Engineering

Institute of Computer Engineering

Prof. Dr.-Ing. Axel Hunger

Operating Systems and

Computer Networks Exercises

Pascal A. Klein & Alexander Maxeinerti.uni-due.de

Process Control

– load, execute, end, abort, create process (fork),

terminate process,…

File management

– create file, delete file, open, close, read, write,...

Device Management

– request device, release device, read, write,…

Information Maintenance

– get/set time or date, get/set system data,…

Communication

– create, delete communication connection, send,

receive messages, transfer status information,…

Categories of System Calls

Page 4: Operating Systems and Computer Networks...Faculty of Engineering Institute of Computer Engineering Prof. Dr.-Ing. Axel Hunger Operating Systems and Computer Networks Exercises Pascal

Faculty of Engineering

Institute of Computer Engineering

Prof. Dr.-Ing. Axel Hunger

Operating Systems and

Computer Networks Exercises

Pascal A. Klein & Alexander Maxeinerti.uni-due.de

Network Fundamentals

Page 5: Operating Systems and Computer Networks...Faculty of Engineering Institute of Computer Engineering Prof. Dr.-Ing. Axel Hunger Operating Systems and Computer Networks Exercises Pascal

Faculty of Engineering

Institute of Computer Engineering

Prof. Dr.-Ing. Axel Hunger

Operating Systems and

Computer Networks Exercises

Pascal A. Klein & Alexander Maxeinerti.uni-due.de

Types of transmission techniques

Broadcast LinksMulticastingWLANBus-/Ring-System

Point to Point LinksUnicastingLink between Pairs of Computers

Page 6: Operating Systems and Computer Networks...Faculty of Engineering Institute of Computer Engineering Prof. Dr.-Ing. Axel Hunger Operating Systems and Computer Networks Exercises Pascal

Faculty of Engineering

Institute of Computer Engineering

Prof. Dr.-Ing. Axel Hunger

Operating Systems and

Computer Networks Exercises

Pascal A. Klein & Alexander Maxeinerti.uni-due.de

Connection oriented vs. connectionless oriented

Connection orientedTelephoneByte stream

Connectionless orientedPostal systemDatagram

Page 7: Operating Systems and Computer Networks...Faculty of Engineering Institute of Computer Engineering Prof. Dr.-Ing. Axel Hunger Operating Systems and Computer Networks Exercises Pascal

Faculty of Engineering

Institute of Computer Engineering

Prof. Dr.-Ing. Axel Hunger

Operating Systems and

Computer Networks Exercises

Pascal A. Klein & Alexander Maxeinerti.uni-due.de

Unacknowledged vs. Acknowledged Connection

Unacknowledged connectionless service.

– No attempt to recover lost frame

Acknowledged connectionless service.

– Sender receives an acknowledgement for each and every successfully received frame

Acknowledged connection-oriented service.

– A connection is established prior to sending frames

– Sender receives an acknowledgement for each and every successfully received frame

– Sequenced delivery of frames

Page 8: Operating Systems and Computer Networks...Faculty of Engineering Institute of Computer Engineering Prof. Dr.-Ing. Axel Hunger Operating Systems and Computer Networks Exercises Pascal

Faculty of Engineering

Institute of Computer Engineering

Prof. Dr.-Ing. Axel Hunger

Operating Systems and

Computer Networks Exercises

Pascal A. Klein & Alexander Maxeinerti.uni-due.de

Example

Service Primitives:-Listen-Connect-Receive-Send-Disconnect

Connection oriented Service

Page 9: Operating Systems and Computer Networks...Faculty of Engineering Institute of Computer Engineering Prof. Dr.-Ing. Axel Hunger Operating Systems and Computer Networks Exercises Pascal

Faculty of Engineering

Institute of Computer Engineering

Prof. Dr.-Ing. Axel Hunger

Operating Systems and

Computer Networks Exercises

Pascal A. Klein & Alexander Maxeinerti.uni-due.de

Data Transmission in OSI

ApplicationLayer

PresentationLayer

Session Layer

Transport Layer

Network Layer

Data Link Layer

PhysicalLayer

ApplicationLayer

PresentationLayer

Session Layer

Transport Layer

Network Layer

Data Link Layer

PhysicalLayer

BitsDH DT

DataNH

TH DataNetwork

protocol

DataSHTransport

protocol

PH DataSession

protocol

AH DataPresentation

protocol

DataApplication

protocol

Page 10: Operating Systems and Computer Networks...Faculty of Engineering Institute of Computer Engineering Prof. Dr.-Ing. Axel Hunger Operating Systems and Computer Networks Exercises Pascal

Faculty of Engineering

Institute of Computer Engineering

Prof. Dr.-Ing. Axel Hunger

Operating Systems and

Computer Networks Exercises

Pascal A. Klein & Alexander Maxeinerti.uni-due.de

TCP/IP Model vs OSI Model

Application Layer

Presentation Layer

Session Layer

Transport Layer

Network Layer

Data Link Layer

Physical Layer1

2

3

4

5

6

7 Application Layer

Transport Layer

Internet Layer

Network Layer

OSI TCP/IP

Page 11: Operating Systems and Computer Networks...Faculty of Engineering Institute of Computer Engineering Prof. Dr.-Ing. Axel Hunger Operating Systems and Computer Networks Exercises Pascal

Faculty of Engineering

Institute of Computer Engineering

Prof. Dr.-Ing. Axel Hunger

Operating Systems and

Computer Networks Exercises

Pascal A. Klein & Alexander Maxeinerti.uni-due.de

The End-to-End Principle

Ford, A., Raiciu, C., Handley, M. & Bonaventure, O., 2013. RFC 6824: TCP Extensions for Multipath Operation with Multiple

Addresses, Internet Engineering Task Force.

Page 12: Operating Systems and Computer Networks...Faculty of Engineering Institute of Computer Engineering Prof. Dr.-Ing. Axel Hunger Operating Systems and Computer Networks Exercises Pascal

Faculty of Engineering

Institute of Computer Engineering

Prof. Dr.-Ing. Axel Hunger

Operating Systems and

Computer Networks Exercises

Pascal A. Klein & Alexander Maxeinerti.uni-due.de

Leon-Garcia, A. & Widjaja, I., 2004. Communiation Networks – Fundamental Concepts and Key Architectures, 2. Ausg., McGraw-Hill.

Page 13: Operating Systems and Computer Networks...Faculty of Engineering Institute of Computer Engineering Prof. Dr.-Ing. Axel Hunger Operating Systems and Computer Networks Exercises Pascal

Faculty of Engineering

Institute of Computer Engineering

Prof. Dr.-Ing. Axel Hunger

Operating Systems and

Computer Networks Exercises

Pascal A. Klein & Alexander Maxeinerti.uni-due.de

Transport Control Protocol - TCP

Page 14: Operating Systems and Computer Networks...Faculty of Engineering Institute of Computer Engineering Prof. Dr.-Ing. Axel Hunger Operating Systems and Computer Networks Exercises Pascal

Faculty of Engineering

Institute of Computer Engineering

Prof. Dr.-Ing. Axel Hunger

Operating Systems and

Computer Networks Exercises

Pascal A. Klein & Alexander Maxeinerti.uni-due.de

Tasks and functions of TCP/IP

Logical addressing: IPv4- (32 Bit) / IPv6-Adressing (128 Bit)

Routing: Next lecture

Error and Flow control: ACK-/NAK-Transmissions

Application support: Software abstraction

Name Resolution: DNS (Domain Name System), works as a translator for Internet Domains to IP-addresses.

TCP IP Overview

Page 15: Operating Systems and Computer Networks...Faculty of Engineering Institute of Computer Engineering Prof. Dr.-Ing. Axel Hunger Operating Systems and Computer Networks Exercises Pascal

Faculty of Engineering

Institute of Computer Engineering

Prof. Dr.-Ing. Axel Hunger

Operating Systems and

Computer Networks Exercises

Pascal A. Klein & Alexander Maxeinerti.uni-due.de

Webserver Listening

Client Server

Page 16: Operating Systems and Computer Networks...Faculty of Engineering Institute of Computer Engineering Prof. Dr.-Ing. Axel Hunger Operating Systems and Computer Networks Exercises Pascal

Faculty of Engineering

Institute of Computer Engineering

Prof. Dr.-Ing. Axel Hunger

Operating Systems and

Computer Networks Exercises

Pascal A. Klein & Alexander Maxeinerti.uni-due.de

Client sends Request

SYN

Client Server

Page 17: Operating Systems and Computer Networks...Faculty of Engineering Institute of Computer Engineering Prof. Dr.-Ing. Axel Hunger Operating Systems and Computer Networks Exercises Pascal

Faculty of Engineering

Institute of Computer Engineering

Prof. Dr.-Ing. Axel Hunger

Operating Systems and

Computer Networks Exercises

Pascal A. Klein & Alexander Maxeinerti.uni-due.de

Server sends Acknowledgment

SYN/ACK

Client Server

Page 18: Operating Systems and Computer Networks...Faculty of Engineering Institute of Computer Engineering Prof. Dr.-Ing. Axel Hunger Operating Systems and Computer Networks Exercises Pascal

Faculty of Engineering

Institute of Computer Engineering

Prof. Dr.-Ing. Axel Hunger

Operating Systems and

Computer Networks Exercises

Pascal A. Klein & Alexander Maxeinerti.uni-due.de

Client sends Acknowledgment

ACK

Client Server

Page 19: Operating Systems and Computer Networks...Faculty of Engineering Institute of Computer Engineering Prof. Dr.-Ing. Axel Hunger Operating Systems and Computer Networks Exercises Pascal

Faculty of Engineering

Institute of Computer Engineering

Prof. Dr.-Ing. Axel Hunger

Operating Systems and

Computer Networks Exercises

Pascal A. Klein & Alexander Maxeinerti.uni-due.de

Connection established

Client Server

Page 20: Operating Systems and Computer Networks...Faculty of Engineering Institute of Computer Engineering Prof. Dr.-Ing. Axel Hunger Operating Systems and Computer Networks Exercises Pascal

Faculty of Engineering

Institute of Computer Engineering

Prof. Dr.-Ing. Axel Hunger

Operating Systems and

Computer Networks Exercises

Pascal A. Klein & Alexander Maxeinerti.uni-due.de

Server reads Request

Client Server

Data 01

Page 21: Operating Systems and Computer Networks...Faculty of Engineering Institute of Computer Engineering Prof. Dr.-Ing. Axel Hunger Operating Systems and Computer Networks Exercises Pascal

Faculty of Engineering

Institute of Computer Engineering

Prof. Dr.-Ing. Axel Hunger

Operating Systems and

Computer Networks Exercises

Pascal A. Klein & Alexander Maxeinerti.uni-due.de

Server reads Request

Client Server

Data 02 Data 01

Page 22: Operating Systems and Computer Networks...Faculty of Engineering Institute of Computer Engineering Prof. Dr.-Ing. Axel Hunger Operating Systems and Computer Networks Exercises Pascal

Faculty of Engineering

Institute of Computer Engineering

Prof. Dr.-Ing. Axel Hunger

Operating Systems and

Computer Networks Exercises

Pascal A. Klein & Alexander Maxeinerti.uni-due.de

Server reads Request

Data 03

Client Server

Data 02 Data 01

Page 23: Operating Systems and Computer Networks...Faculty of Engineering Institute of Computer Engineering Prof. Dr.-Ing. Axel Hunger Operating Systems and Computer Networks Exercises Pascal

Faculty of Engineering

Institute of Computer Engineering

Prof. Dr.-Ing. Axel Hunger

Operating Systems and

Computer Networks Exercises

Pascal A. Klein & Alexander Maxeinerti.uni-due.de

Server send Acknowledgments

Client Server

Data 03 Data 02

ACK 01

Page 24: Operating Systems and Computer Networks...Faculty of Engineering Institute of Computer Engineering Prof. Dr.-Ing. Axel Hunger Operating Systems and Computer Networks Exercises Pascal

Faculty of Engineering

Institute of Computer Engineering

Prof. Dr.-Ing. Axel Hunger

Operating Systems and

Computer Networks Exercises

Pascal A. Klein & Alexander Maxeinerti.uni-due.de

Server send Acknowledgments

Client Server

Data 03

ACK 02ACK 01

Page 25: Operating Systems and Computer Networks...Faculty of Engineering Institute of Computer Engineering Prof. Dr.-Ing. Axel Hunger Operating Systems and Computer Networks Exercises Pascal

Faculty of Engineering

Institute of Computer Engineering

Prof. Dr.-Ing. Axel Hunger

Operating Systems and

Computer Networks Exercises

Pascal A. Klein & Alexander Maxeinerti.uni-due.de

Server send Acknowledgments

Client ServerACK 03ACK 02ACK 01

Page 26: Operating Systems and Computer Networks...Faculty of Engineering Institute of Computer Engineering Prof. Dr.-Ing. Axel Hunger Operating Systems and Computer Networks Exercises Pascal

Faculty of Engineering

Institute of Computer Engineering

Prof. Dr.-Ing. Axel Hunger

Operating Systems and

Computer Networks Exercises

Pascal A. Klein & Alexander Maxeinerti.uni-due.de

Lost Packet

Data 03

Client Server

Data 01Data 02

Page 27: Operating Systems and Computer Networks...Faculty of Engineering Institute of Computer Engineering Prof. Dr.-Ing. Axel Hunger Operating Systems and Computer Networks Exercises Pascal

Faculty of Engineering

Institute of Computer Engineering

Prof. Dr.-Ing. Axel Hunger

Operating Systems and

Computer Networks Exercises

Pascal A. Klein & Alexander Maxeinerti.uni-due.de

Server send Acknowledgments

Client ServerACK 03ACK 01

Page 28: Operating Systems and Computer Networks...Faculty of Engineering Institute of Computer Engineering Prof. Dr.-Ing. Axel Hunger Operating Systems and Computer Networks Exercises Pascal

Faculty of Engineering

Institute of Computer Engineering

Prof. Dr.-Ing. Axel Hunger

Operating Systems and

Computer Networks Exercises

Pascal A. Klein & Alexander Maxeinerti.uni-due.de

TCP State Machine: Open and Closing

Page 29: Operating Systems and Computer Networks...Faculty of Engineering Institute of Computer Engineering Prof. Dr.-Ing. Axel Hunger Operating Systems and Computer Networks Exercises Pascal

Faculty of Engineering

Institute of Computer Engineering

Prof. Dr.-Ing. Axel Hunger

Operating Systems and

Computer Networks Exercises

Pascal A. Klein & Alexander Maxeinerti.uni-due.de

Most important Transport Layer Protocol on theInternet (developed 1974 by Cerf&Kahn)

Reliable and Connection oriented

Connection between two endpoints

Connection endpoint 5-Tupel<local IP address, local port number, protocol no, remote IP address, remote port number>

Byte stream bidirectional data communication

Connection in TCP

Page 30: Operating Systems and Computer Networks...Faculty of Engineering Institute of Computer Engineering Prof. Dr.-Ing. Axel Hunger Operating Systems and Computer Networks Exercises Pascal

Faculty of Engineering

Institute of Computer Engineering

Prof. Dr.-Ing. Axel Hunger

Operating Systems and

Computer Networks Exercises

Pascal A. Klein & Alexander Maxeinerti.uni-due.de

Sending a file

ApplicationLayer

File

Divide in Segements

Socket

Transport Layer

Send tonext Layer

Network Layer

Page 31: Operating Systems and Computer Networks...Faculty of Engineering Institute of Computer Engineering Prof. Dr.-Ing. Axel Hunger Operating Systems and Computer Networks Exercises Pascal

Faculty of Engineering

Institute of Computer Engineering

Prof. Dr.-Ing. Axel Hunger

Operating Systems and

Computer Networks Exercises

Pascal A. Klein & Alexander Maxeinerti.uni-due.de

In-order delivery via sequence numbers

Automatic Repeat Request (ARQ) via Acknowledgements of each received packet (ACK)

Checksums for reliable data delivery(Sum of 16-bit words in Ones-complement)

Flow Control to not flood receiver

Congestion Control to not flood the network

Reliability of TCP

Page 32: Operating Systems and Computer Networks...Faculty of Engineering Institute of Computer Engineering Prof. Dr.-Ing. Axel Hunger Operating Systems and Computer Networks Exercises Pascal

Faculty of Engineering

Institute of Computer Engineering

Prof. Dr.-Ing. Axel Hunger

Operating Systems and

Computer Networks Exercises

Pascal A. Klein & Alexander Maxeinerti.uni-due.de

Synchronization of Data between Sender & Receiver

Payload (Byte) increasingly numbered (use first Databyte)

e.g.: DS0: 0, DS1: 1059, DS2: 2118, ......

32-Bit-Sequence Number

Receiver is able to :

reassemble Data in right order

identify gaps or duplicates

TCP Sequencing

Data 03 Data 02 Data 01

Page 33: Operating Systems and Computer Networks...Faculty of Engineering Institute of Computer Engineering Prof. Dr.-Ing. Axel Hunger Operating Systems and Computer Networks Exercises Pascal

Faculty of Engineering

Institute of Computer Engineering

Prof. Dr.-Ing. Axel Hunger

Operating Systems and

Computer Networks Exercises

Pascal A. Klein & Alexander Maxeinerti.uni-due.de

Three Way Handshake

:Host A :Host B

Page 34: Operating Systems and Computer Networks...Faculty of Engineering Institute of Computer Engineering Prof. Dr.-Ing. Axel Hunger Operating Systems and Computer Networks Exercises Pascal

Faculty of Engineering

Institute of Computer Engineering

Prof. Dr.-Ing. Axel Hunger

Operating Systems and

Computer Networks Exercises

Pascal A. Klein & Alexander Maxeinerti.uni-due.de

Sequencing

:Host A :Host BSEQ=0

SEQ=1059

SEQ=2118

Page 35: Operating Systems and Computer Networks...Faculty of Engineering Institute of Computer Engineering Prof. Dr.-Ing. Axel Hunger Operating Systems and Computer Networks Exercises Pascal

Faculty of Engineering

Institute of Computer Engineering

Prof. Dr.-Ing. Axel Hunger

Operating Systems and

Computer Networks Exercises

Pascal A. Klein & Alexander Maxeinerti.uni-due.de

Duplicate ACK & Resending

:Host A :Host B

Tim

er

SEQ=1059

SEQ=0

SEQ=1059

SEQ=2118

Page 36: Operating Systems and Computer Networks...Faculty of Engineering Institute of Computer Engineering Prof. Dr.-Ing. Axel Hunger Operating Systems and Computer Networks Exercises Pascal

Faculty of Engineering

Institute of Computer Engineering

Prof. Dr.-Ing. Axel Hunger

Operating Systems and

Computer Networks Exercises

Pascal A. Klein & Alexander Maxeinerti.uni-due.de

Sending of a Datasegment Start Timer

Timeout of Timer: Datasegment loss Resending of Datasegment

Timeout Calculation:

Timeout = SRTT + 4 RTTVAR

where SRTT = α SRTT + (1 - α) RTT

RTTVAR = β RTTVAR + (1 – β) |SRTT - RTT|

α = 7/8, β = 3/4

Timeout

Page 37: Operating Systems and Computer Networks...Faculty of Engineering Institute of Computer Engineering Prof. Dr.-Ing. Axel Hunger Operating Systems and Computer Networks Exercises Pascal

Faculty of Engineering

Institute of Computer Engineering

Prof. Dr.-Ing. Axel Hunger

Operating Systems and

Computer Networks Exercises

Pascal A. Klein & Alexander Maxeinerti.uni-due.de

Server send Acknowledgments

Client ServerACK 03ACK 01

Timer runs at Client site if no ACK – resending data

Client must buffer packets until ACKed

If packet is lost (or coming late) Server must buffer all incoming packets until problem is solved

Page 38: Operating Systems and Computer Networks...Faculty of Engineering Institute of Computer Engineering Prof. Dr.-Ing. Axel Hunger Operating Systems and Computer Networks Exercises Pascal

Faculty of Engineering

Institute of Computer Engineering

Prof. Dr.-Ing. Axel Hunger

Operating Systems and

Computer Networks Exercises

Pascal A. Klein & Alexander Maxeinerti.uni-due.de

Flow Control

– Sender only sends as much data the receiver can take

– Packet size depends on receiver’s buffer/window(MSS – Maximum Segment Size)

MSS calculated with Maximum Transmission Unit (MTU)

– Value between 64 .. 1460 Byte

Calculation of Receiver Window:

Receiv_wnd = 2 BDP

where BDP = Bandwidth One-Way-Delay

Current Window Size sent by each ACK-Segment

Sliding Window

Page 39: Operating Systems and Computer Networks...Faculty of Engineering Institute of Computer Engineering Prof. Dr.-Ing. Axel Hunger Operating Systems and Computer Networks Exercises Pascal

Faculty of Engineering

Institute of Computer Engineering

Prof. Dr.-Ing. Axel Hunger

Operating Systems and

Computer Networks Exercises

Pascal A. Klein & Alexander Maxeinerti.uni-due.de

TCP Frame Structure

Page 40: Operating Systems and Computer Networks...Faculty of Engineering Institute of Computer Engineering Prof. Dr.-Ing. Axel Hunger Operating Systems and Computer Networks Exercises Pascal

Faculty of Engineering

Institute of Computer Engineering

Prof. Dr.-Ing. Axel Hunger

Operating Systems and

Computer Networks Exercises

Pascal A. Klein & Alexander Maxeinerti.uni-due.de

Data Transmission – if possible: Maximum Utilization

Prevention of Network Congestion by

– Limiting data flow in the network

– Adjusting the sending buffer/window

Option: Measuring of Segment losses

The more segments error free, the less congestion

Size of Congestion Window correspond to number of possibleBytes the Network can admit

Congestion Control

Page 41: Operating Systems and Computer Networks...Faculty of Engineering Institute of Computer Engineering Prof. Dr.-Ing. Axel Hunger Operating Systems and Computer Networks Exercises Pascal

Faculty of Engineering

Institute of Computer Engineering

Prof. Dr.-Ing. Axel Hunger

Operating Systems and

Computer Networks Exercises

Pascal A. Klein & Alexander Maxeinerti.uni-due.de

Four Algorithms:

1. Slow Start

2. Congestion Avoidance (Additive Increase)

3. Fast Retransmit

4. Fast Recovery

Slow Start-Algorithm: Datasegments sent slowly

Finding out available capacity of network

Not to flood network

Slow Start Threshold = MAX (Flight Size/2 , 2 MSS)

where Flight Size = Size of all unacknowledged Segments onthe Network

Congestion Control

Page 42: Operating Systems and Computer Networks...Faculty of Engineering Institute of Computer Engineering Prof. Dr.-Ing. Axel Hunger Operating Systems and Computer Networks Exercises Pascal

Faculty of Engineering

Institute of Computer Engineering

Prof. Dr.-Ing. Axel Hunger

Operating Systems and

Computer Networks Exercises

Pascal A. Klein & Alexander Maxeinerti.uni-due.de

Congestion Window ≥ Threshold Congestion AvoidanceAlgorithmus

Congestion Avoidance Algorithm: Congestion Windowincreased linearly with one Segment size per RTT

if Packet loss: Slow Start starts again

Congestion Control

Page 43: Operating Systems and Computer Networks...Faculty of Engineering Institute of Computer Engineering Prof. Dr.-Ing. Axel Hunger Operating Systems and Computer Networks Exercises Pascal

Faculty of Engineering

Institute of Computer Engineering

Prof. Dr.-Ing. Axel Hunger

Operating Systems and

Computer Networks Exercises

Pascal A. Klein & Alexander Maxeinerti.uni-due.de

Algorithms Fast Retransmit & Fast Recovery:

decrease Error Detection time

Sender assumes at a timeout that subsequent

packages are lost as well and retransmits them.

Duplicate ACK

ACK with same Sequence Number

Sequence number indicates the package the

receiver is waiting for

Duplicate ACK indicates loss of frames during

transmissions

Congestion Control I

Page 44: Operating Systems and Computer Networks...Faculty of Engineering Institute of Computer Engineering Prof. Dr.-Ing. Axel Hunger Operating Systems and Computer Networks Exercises Pascal

Faculty of Engineering

Institute of Computer Engineering

Prof. Dr.-Ing. Axel Hunger

Operating Systems and

Computer Networks Exercises

Pascal A. Klein & Alexander Maxeinerti.uni-due.de

If 3 Dup-ACKs then:

Multiple frames lost during transmission

Slow Start Threshold = Congestion Window / 2

Congestion Window = Slow Start Threshold + 3 MSS

Congestion Avoidance Algorithmus continues...

Congestion Control II

Page 45: Operating Systems and Computer Networks...Faculty of Engineering Institute of Computer Engineering Prof. Dr.-Ing. Axel Hunger Operating Systems and Computer Networks Exercises Pascal

Faculty of Engineering

Institute of Computer Engineering

Prof. Dr.-Ing. Axel Hunger

Operating Systems and

Computer Networks Exercises

Pascal A. Klein & Alexander Maxeinerti.uni-due.de

Tanenbaum, A.S. & Wetherall, D.J., 2012. Computernetzwerke, 5. Ausg., München, BRD, Pearson Deutschland GmbH.

Page 46: Operating Systems and Computer Networks...Faculty of Engineering Institute of Computer Engineering Prof. Dr.-Ing. Axel Hunger Operating Systems and Computer Networks Exercises Pascal

Faculty of Engineering

Institute of Computer Engineering

Prof. Dr.-Ing. Axel Hunger

Operating Systems and

Computer Networks Exercises

Pascal A. Klein & Alexander Maxeinerti.uni-due.de

Page 47: Operating Systems and Computer Networks...Faculty of Engineering Institute of Computer Engineering Prof. Dr.-Ing. Axel Hunger Operating Systems and Computer Networks Exercises Pascal

Faculty of Engineering

Institute of Computer Engineering

Prof. Dr.-Ing. Axel Hunger

Operating Systems and

Computer Networks Exercises

Pascal A. Klein & Alexander Maxeinerti.uni-due.de

Sameer Seth, M. Ajaykumar Venkatesulu, TCP/IP Architecture, Design andImplementation in Linux, IEEE Computer Society, 2008

Andrew S. Tanenbaum, Computernetworks, 5th Edition, Pearson, 2012

Cerf, V., & Kahn, R. (5 1974). A Protocol for Packet Network Intercommunication. IEEE Transactions on Communications, 22(5), S. 637-648.

Postel, J. (09/1981). RFC 793, Transmission Control Protocol. Internet Engineering Task Force.

Jacobson, V. (1988). Congestion Avoidance and Control. SIGCOMM '88 Symposium proceedings on Communications architectures and protocols Aug 16-18, 18(4), S. 314–329.

Fall, K., & Stevens, W. (2012). TCP/IP Illustrated, Volume 1, The Protocols (2 Ausg.). Michigan, USA: Pearson Education Inc.

Wireshark, Protocol Analyzer, [Online], 2017, https://www.wireshark.org/.

References