Introduction to Networking. Operating Systems In Depth XXVII 1 Copyright 2017 Thomas W. Doeppner. All rights reserved.

Similar documents
TCP/IP. Chapter 5: Transport Layer TCP/IP Protocols

TSIN02 - Internetworking

Networking Technologies and Applications

05 Transmission Control Protocol (TCP)

Interconnecting Networks with TCP/IP. 2000, Cisco Systems, Inc. 8-1

Connection-oriented (virtual circuit) Reliable Transfer Buffered Transfer Unstructured Stream Full Duplex Point-to-point Connection End-to-end service

7. TCP 최양희서울대학교컴퓨터공학부

TSIN02 - Internetworking

Transport Layer Marcos Vieira

Information Network 1 TCP 1/2. Youki Kadobayashi NAIST

TSIN02 - Internetworking

Guide To TCP/IP, Second Edition UDP Header Source Port Number (16 bits) IP HEADER Protocol Field = 17 Destination Port Number (16 bit) 15 16

TCP/IP Protocol Suite 1

TCP/IP Networking. Part 4: Network and Transport Layer Protocols

UDP, TCP, IP multicast

Chapter 2 - Part 1. The TCP/IP Protocol: The Language of the Internet

Interconnecting Networks with TCP/IP

TSIN02 - Internetworking

NT1210 Introduction to Networking. Unit 10

CS4700/CS5700 Fundamentals of Computer Networks

Stream Control Transmission Protocol

Transport Layer Review

Transport layer. UDP: User Datagram Protocol [RFC 768] Review principles: Instantiation in the Internet UDP TCP

Transport layer. Review principles: Instantiation in the Internet UDP TCP. Reliable data transfer Flow control Congestion control

EE 610 Part 2: Encapsulation and network utilities

Sequence Number. Acknowledgment Number. Data

Introduction to Networks and the Internet

Transport Layer. Gursharan Singh Tatla. Upendra Sharma. 1

User Datagram Protocol

6.1 Internet Transport Layer Architecture 6.2 UDP (User Datagram Protocol) 6.3 TCP (Transmission Control Protocol) 6. Transport Layer 6-1

Transport Layer. <protocol, local-addr,local-port,foreign-addr,foreign-port> ϒ Client uses ephemeral ports /10 Joseph Cordina 2005

CMSC 417. Computer Networks Prof. Ashok K Agrawala Ashok Agrawala. October 25, 2018

ECE 650 Systems Programming & Engineering. Spring 2018

UDP and TCP. Introduction. So far we have studied some data link layer protocols such as PPP which are responsible for getting data

OSI Transport Layer. objectives

NWEN 243. Networked Applications. Layer 4 TCP and UDP

Position of IP and other network-layer protocols in TCP/IP protocol suite

Introduction to TCP/IP networking

Chapter 7. The Transport Layer

CSCI-GA Operating Systems. Networking. Hubertus Franke

COMP/ELEC 429/556 Introduction to Computer Networks

Transport Layer. -UDP (User Datagram Protocol) -TCP (Transport Control Protocol)

Information Network 1 TCP 1/2

Chapter 6. What happens at the Transport Layer? Services provided Transport protocols UDP TCP Flow control Congestion control

CS118 Discussion 1A, Week 4. Zengwen Yuan Dodd Hall 78, Friday 10:00 11:50 a.m.

CSC 401 Data and Computer Communications Networks

Transport: How Applications Communicate

Chapter 24. Transport-Layer Protocols

UNIT IV -- TRANSPORT LAYER

Suprakash Datta. Office: CSEB 3043 Phone: ext Course page:

Transport Protocols. Raj Jain. Washington University in St. Louis

Two approaches to Flow Control. Cranking up to speed. Sliding windows in action

Concept Questions Demonstrate your knowledge of these concepts by answering the following questions in the space that is provided.

Lecture 20 Overview. Last Lecture. This Lecture. Next Lecture. Transport Control Protocol (1) Transport Control Protocol (2) Source: chapters 23, 24

User Datagram Protocol (UDP):

Kent State University

CS Lecture 1 Review of Basic Protocols

The Transport Layer: TCP & Reliable Data Transfer

Transport Protocols & TCP TCP

TCP and Congestion Control (Day 1) Yoshifumi Nishida Sony Computer Science Labs, Inc. Today's Lecture

6. The Transport Layer and protocols

Transport Over IP. CSCI 690 Michael Hutt New York Institute of Technology

CCNA R&S: Introduction to Networks. Chapter 7: The Transport Layer

Intro to LAN/WAN. Transport Layer

EITF25 Internet Techniques and Applications L7: Internet. Stefan Höst

EE 122: Transport Protocols. Kevin Lai October 16, 2002

Transport Layer: outline

Sirindhorn International Institute of Technology Thammasat University

TCP = Transmission Control Protocol Connection-oriented protocol Provides a reliable unicast end-to-end byte stream over an unreliable internetwork.

CSE/EE 461 Lecture 13 Connections and Fragmentation. TCP Connection Management

ETSF05/ETSF10 Internet Protocols Transport Layer Protocols

Network and Security: Introduction

CS 455: INTRODUCTION TO DISTRIBUTED SYSTEMS [NETWORKING] Frequently asked questions from the previous class surveys

Lecture 3: The Transport Layer: UDP and TCP

CCNA 1 Chapter 7 v5.0 Exam Answers 2013

Chapter 3 outline. 3.5 connection-oriented transport: TCP segment structure reliable data transfer flow control connection management

The aim of this unit is to review the main concepts related to TCP and UDP transport protocols, as well as application protocols. These concepts are

CSCI-1680 Transport Layer I Rodrigo Fonseca

IS370 Data Communications and Computer Networks. Chapter 5 : Transport Layer

Transport Layer. Application / Transport Interface. Transport Layer Services. Transport Layer Connections

Different Layers Lecture 20

OSI Transport Layer. Network Fundamentals Chapter 4. Version Cisco Systems, Inc. All rights reserved. Cisco Public 1

Transmission Control Protocol. ITS 413 Internet Technologies and Applications

Computer Networking Introduction

Overview. Internetworking and Reliable Transmission. CSE 561 Lecture 3, Spring David Wetherall. Internetworking. Reliable Transmission

CSE 4213: Computer Networks II

ECE 435 Network Engineering Lecture 15

Sequence Number. Acknowledgment Number. Checksum. Urgent Pointer plus Sequence Number indicates end of some URGENT data in the packet

I TCP 1/2. Internet TA: Connection-oriented (virtual circuit) Connectionless (datagram) (flow control) (congestion control) TCP Connection-oriented

10 minutes survey (anonymous)

Chapter 3 Transport Layer

CMPE 150/L : Introduction to Computer Networks. Chen Qian Computer Engineering UCSC Baskin Engineering Lecture 9

Chapter 3 outline. 3.5 Connection-oriented transport: TCP. 3.6 Principles of congestion control 3.7 TCP congestion control

Announcements Computer Networking. Outline. Transport Protocols. Transport introduction. Error recovery & flow control. Mid-semester grades

Multiple unconnected networks

EEC-484/584 Computer Networks. Lecture 16. Wenbing Zhao

Transmission Control Protocol (TCP)

COMP 431 Internet Services & Protocols. Transport Layer Protocols & Services Outline. The Transport Layer Reliable data delivery & flow control in TCP

Transport Protocols and TCP

CSCD 330 Network Programming

Transcription:

Introduction to Networking Operating Systems In Depth XXVII 1 Copyright 2017 Thomas W. Doeppner. All rights reserved.

Distributed File Systems Operating Systems In Depth XXVII 2 Copyright 2017 Thomas W. Doeppner. All rights reserved.

What We Cover Communication protocols Remote procedure call protocols Distributed file systems Operating Systems In Depth XXVII 3 Copyright 2017 Thomas W. Doeppner. All rights reserved.

Communication Operating Systems In Depth XXVII 4 Copyright 2017 Thomas W. Doeppner. All rights reserved.

Some Issues Quantity: how many are communicating? unicast broadcast multicast Quality: how good/reliable is the communication? best effort fully reliable guaranteed bandwidth and delay Operating Systems In Depth XXVII 5 Copyright 2017 Thomas W. Doeppner. All rights reserved.

Some More Issues Naming and addressing www.cs.brown.edu vs. 128.148.32.110 Routing Congestion Operating Systems In Depth XXVII 6 Copyright 2017 Thomas W. Doeppner. All rights reserved.

Circuits vs. Packets Circuit switching reserve a circuit between communicating entities Packet switching break data into packets transmit each packet separately each packet could travel a different route Operating Systems In Depth XXVII 7 Copyright 2017 Thomas W. Doeppner. All rights reserved.

ISO OSI Reference Model 7 application application 6 presentation presentation 5 session session 4 transport transport 3 network link network link network link network link 2 data link data link data link data link 1 physical physical physical physical Operating Systems In Depth XXVII 8 Copyright 2017 Thomas W. Doeppner. All rights reserved.

Internet Architecture OSI Layer 5-7 Application Application End-to-End OSI Layer 4 End-to-End OSI Layer 3 Internet Internet Internet Internet Net Interface OSI Layers 1-2 Net Interface Net Interface Net Interface Operating Systems In Depth XXVII 9 Copyright 2017 Thomas W. Doeppner. All rights reserved.

Internetworking with TCP/IP user user TCP TCP i/f IP IP i/f LAN i/f IP i/f i/f IP i/f LAN WAN Operating Systems In Depth XXVII 10 Copyright 2017 Thomas W. Doeppner. All rights reserved.

IP Header vers hlen type of serv total length identification flags fragment offset time-to-live protocol header checksum source address destination address options padding data Operating Systems In Depth XXVII 11 Copyright 2017 Thomas W. Doeppner. All rights reserved.

Class-Based Internet Addresses Class A 0 network host 7 bits 24 bits Class B 10 network host 14 bits 16 bits Class C 110 network host 21 bits 8 bits Class D 1110 multicast group ID 28 bits Operating Systems In Depth XXVII 12 Copyright 2017 Thomas W. Doeppner. All rights reserved.

User Datagram Protocol vers hlen type of serv total length identification flags fragment offset time-to-live protocol header checksum source address destination address options padding data Source Port Destination Port Length UDP Checksum Operating Systems In Depth XXVII 13 Copyright 2017 Thomas W. Doeppner. All rights reserved.

Transmission Control Protocol (TCP) A multiplexing service built on top of IP A full-duplex reliable stream protocol Provides reliable data transfer Packet boundaries are not seen by the application it sees a sequence of bytes, not a sequence of packets A connection must be established for communication to take place connections are flow-controlled connections are congestion-controlled Operating Systems In Depth XXVII 14 Copyright 2017 Thomas W. Doeppner. All rights reserved.

TCP Header Components source port destination port sequence number acknowledgment sequence number offset reserved flags window size checksum urgent pointer options data padding Operating Systems In Depth XXVII 15 Copyright 2017 Thomas W. Doeppner. All rights reserved.

active open: init state send SYN TCP State Diagram closed passive open: init state syn closed sent recv SYN: send ACK syn closed rcvd recv SYN: send SYN,ACK closed listen recv ACK of SYN recv SYN, ACK: send ACK closed estab recv ACK fin wait 1 fin wait 2 CLOSE: send FIN recv FIN, ACK: send ACK closing recv FIN: send ACK recv FIN: send ACK CLOSE: send FIN close wait last ack recv ACK recv ACK of FIN recv FIN: send ACK time wait timeout closed Operating Systems In Depth XXVII 16 Copyright 2017 Thomas W. Doeppner. All rights reserved.

closed syn-sent Connection Initiation seq=100 ctl=syn seq=100 ctl=syn seq=300 ack=101 ctl=syn,ack listen listen syn-rcvd syn-sent seq=300 ack=101 ctl=syn,ack estab seq=101 ack=301 ctl=ack seq=101 ack=301 ctl=ack syn-rcvd estab Operating Systems In Depth XXVII 17 Copyright 2017 Thomas W. Doeppner. All rights reserved.

estab close fin-wait -1 fin-wait-1 fin-wait-2 fin-wait-2 time-wait Shutdown seq=100 ack=300 ctl=fin,ack seq=100 ack=300 ctl=fin,ack seq=300 ack=101 ctl=ack seq=300 ack=101 ctl=ack seq=300 ack=101 ctl=fin,ack seq=300 ack=101 ctl=fin,ack seq=101 ack=301 ctl=ack estab close-wait close-wait close last-ack 2 MSL delay seq=101 ack=301 ctl=ack last-ack closed time-wait closed Operating Systems In Depth XXVII 18 Copyright 2017 Thomas W. Doeppner. All rights reserved.

Sliding-Window Protocol Used for: reliable delivery flow control Windows send receive Operating Systems In Depth XXVII 19 Copyright 2017 Thomas W. Doeppner. All rights reserved.

TCP Receive Window 36,000 38,000 42,000 32,001 35,001 37,001 acknowledged data ok to receive data beyond window buffer size (10,000 bytes) Operating Systems In Depth XXVII 20 Copyright 2017 Thomas W. Doeppner. All rights reserved.

TCP Send Window 34,000 39,000 42,000 sent and acknowledged data sent but unacknowledged data ok to send data beyond window advertised receive-window size (8,000 bytes) Operating Systems In Depth XXVII 21 Copyright 2017 Thomas W. Doeppner. All rights reserved.

Coping With Lost Data Operating Systems In Depth XXVII 22 Copyright 2017 Thomas W. Doeppner. All rights reserved.

When to Retransmit? After waiting significantly longer than the average ( smoothed ) roundtrip time How much longer? significantly longer than the average deviation What if one retransmission doesn t do it? transmit again When? use exponential backoff When does one give up? eventually Operating Systems In Depth XXVII 23 Copyright 2017 Thomas W. Doeppner. All rights reserved.

Ack Clocking Operating Systems In Depth XXVII 24 Copyright 2017 Thomas W. Doeppner. All rights reserved.

Fast Start Operating Systems In Depth XXVII 25 Copyright 2017 Thomas W. Doeppner. All rights reserved.

Slow Start Operating Systems In Depth XXVII 26 Copyright 2017 Thomas W. Doeppner. All rights reserved.

Congestion Control (1) 1) 2) 3) Operating Systems In Depth XXVII 27 Copyright 2017 Thomas W. Doeppner. All rights reserved.

Congestion Control (2) 4) 5) Operating Systems In Depth XXVII 28 Copyright 2017 Thomas W. Doeppner. All rights reserved.

Idealized Congestion Window Size Congestion-Window Size Time Operating Systems In Depth XXVII 29 Copyright 2017 Thomas W. Doeppner. All rights reserved.

Actual Congestion Window Size Congestion-Window Size Time Operating Systems In Depth XXVII 30 Copyright 2017 Thomas W. Doeppner. All rights reserved.

Fast Retransmit and Recovery Waiting an entire RTO before retransmitting causes the pipeline to become empty must slow-start to get going again If one receives three acks that all repeat the same sequence number: some data is getting through one segment is lost immediately retransmit the lost segment halve the congestion window (i.e., perform congestion control) don t slow-start (there is still data in the pipeline) Operating Systems In Depth XXVII 31 Copyright 2017 Thomas W. Doeppner. All rights reserved.