CS 3516: Computer Networks

Similar documents
Chapter 3 Transport Layer

Chapter 3 Transport Layer

CS 4390 Computer Networks. Transport Services and Protocols

Transport Layer. Chapter 3: Transport Layer

CSC 401 Data and Computer Communications Networks

CSC 4900 Computer Networks: Transport Layer

Chapter III: Transport Layer

CMSC 332 Computer Networks Transport Layer

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

Lecture 9: Transpor Layer Overview and UDP

CSEN 503 Introduction to Communication Networks. Mervat AbuElkheir Hana Medhat Ayman Dayf. ** Slides are attributed to J. F.

CSC358 Week 4. Adapted from slides by J.F. Kurose and K. W. Ross. All material copyright J.F Kurose and K.W. Ross, All Rights Reserved

CS 3516: Advanced Computer Networks

CSCE 463/612 Networks and Distributed Processing Spring 2018

CS 3516: Computer Networks

Introduction to the Transport Layer

COSC4377. Useful Linux Tool: screen

Chapter 3: Transport Layer. Chapter 3 Transport Layer. Chapter 3 outline. Transport services and protocols

Input ports, switching fabric, output ports Switching via memory, bus, crossbar Queueing, head-of-line blocking

Chapter 3 Transport Layer

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

CS 3516: Advanced Computer Networks

CSE 4213: Computer Networks II

Chapter 3 Transport Layer

CSCD 330 Network Programming

Transport Layer Overview

Application. Transport. Network. Link. Physical

Development of reliable protocol Sliding window protocols. C = channel capacity in bps I = interrupt/service time + propagation delay

Announcement. Homework 1 due last night, how is that? Will discuss some problems in the lecture next week

Chapter 2: outline. 2.6 P2P applications 2.7 socket programming with UDP and TCP

CS 3516: Advanced Computer Networks

Transport layer. Our goals: Understand principles behind transport layer services: Learn about transport layer protocols in the Internet:

Chapter 6 Transport Layer

Transport layer: Outline

CC451 Computer Networks

CS 3516: Computer Networks

CMPE 80N: Introduction to Networking and the Internet

Chapter 3: Transport Layer Part A

Internet and Intranet Protocols and Applications

CSE 3214: Computer Network Protocols and Applications Transport Layer (Part 2) Chapter 3 outline. UDP checksum. Port numbers

Chapter 3 Transport Layer

TDTS06: Computer Networks

Chapter 1 Introduction

CS 43: Computer Networks. 15: Transport Layer & UDP October 5, 2018

Lecture 07 The Transport Layer (TCP & UDP) Dr. Anis Koubaa

CSCD 330 Network Programming

Chapter 3 Transport Layer

CSC 8560 Computer Networks: Transport Layer

Transport services and protocols. Chapter 3 outline. Internet transport-layer protocols Chapter 3 outline. Multiplexing/demultiplexing

Lecture 2 Communication services The Trasport Layer. Antonio Cianfrani DIET Department Networking Group netlab.uniroma1.it

End-to-End Protocols: UDP and TCP. Hui Chen, Ph.D. Dept. of Engineering & Computer Science Virginia State University Petersburg, VA 23806

Course on Computer Communication and Networks. Lecture 4 Chapter 3; Transport Layer, Part A

Lecture 5. Transport Layer. Transport Layer 1-1

Chapter 4 Network Layer: The Data Plane. Part A. Computer Networking: A Top Down Approach

Chapter 3: Transport Layer

The Transmission Control Protocol (TCP)

CS 3516: Advanced Computer Networks

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

Course on Computer Communication and Networks. Lecture 4 Chapter 3; Transport Layer, Part A

CS 3516: Computer Networks

HW3 and Quiz. P14, P24, P26, P27, P28, P31, P37, P43, P46, P55, due at 3:00pm with both soft and hard copies, 11/11/2013 (Monday) TCP), 20 mins

Computer Networking: A Top Down Approach

Internet transport-layer protocols. Transport services and protocols. Sending and receiving. Connection-oriented (TCP) Connection-oriented

CS101 Lecture 6: Internetworking: Internet Protocol, IP Addresses, Routing, DNS. John Magee 8 July Some images courtesy Wikimedia Commons

CS 3516: Computer Networks

Different Layers Lecture 20

CS 3516: Computer Networks

Course Introduction. Off script lecturing on whiteboard Just as important towards exams, etc.

Foundations of Telematics

CS 3516: Advanced Computer Networks

CS 3516: Computer Networks

Transport Layer. Gursharan Singh Tatla. Upendra Sharma. 1

ECE697AA Lecture 3. Today s lecture

Chapter 3 Transport Layer

LECTURE 3 - TRANSPORT LAYER

RSC Part III: Transport Layer 3. TCP

Chapter 3 Transport Layer

The Transport Layer Multiplexing, Error Detection, & UDP

CSCI Computer Networks Fall 2016

Computer Networks & Security 2016/2017

Announcements Computer Networking. What was hard. Midterm. Lecture 16 Transport Protocols. Avg: 62 Med: 67 STD: 13.

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

CS 3516: Computer Networks

Computer Networks. Dr. Abdel Ilah ALshbatat Dept. of Communication and Computer Engineering Faculty of Engineering Tafila Technical University

Lecture 4: The Transport Layer and UDP

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

The Transport Layer: Review

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

Chapter 2: outline. 2.1 principles of network applications app architectures app requirements

By Ossi Mokryn, Based also on slides from: the Computer Networking: A Top Down Approach Featuring the Internet by Kurose and Ross

CS 3516: Advanced Computer Networks

TSIN02 - Internetworking

EC441 Fall 2018 Introduction to Computer Networking Chapter4: Network Layer Data Plane

MIDTERM EXAMINATION #2 OPERATING SYSTEM CONCEPTS U N I V E R S I T Y O F W I N D S O R S C H O O L O F C O M P U T E R S C I E N C E

CSCI Topics: Internet Programming Fall 2008

CS 3516: Advanced Computer Networks

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

TSIN02 - Internetworking

Chapter 7 Transport Layer. 7.0 Introduction 7.1 Transport Layer Protocols 7.2 TCP and UDP 7.3 Summary

Different Layers Lecture 21

Transcription:

Welcome to CS 3516: Computer Networks Prof. Yanhua Li Time: 9:00am 9:50am, T, R, and F Location: AK219 Fall 2018 A-term 1 Some slides are originally from the course materials of the textbook Computer Networking: A Top Down Approach, 7th edition, by Jim Kurose, Keith Ross, Addison-Wesley arch 2016. Copyright 1996-2017 J.F Kurose and K.W. Ross, All Rights Resered.

Lab 2 due today. Grading by next Thu! Quiz 4: Graded! Proj 1: Grading by next Tue! Quiz 5: Grading By next Wed! Application Layer 2-2

segment datagram frame bits message H l H t H n H t H n H t source Encapsulation switch H l H n H n H t H t H t destination H l H n H n H t H t H n H t router Introduction 1-3

Chapter 3: Transport Layer our goals: understand principles behind layer serices: multiplexing, demultiplexing reliable data transfer learn about Internet layer protocols: UDP: connectionless TCP: connection-oriented reliable Transport Layer 3-4

Chapter 3 outline 3.1 -layer serices 3.2 multiplexing and demultiplexing 3.3 connectionless : UDP Transport Layer 3-5

Transport serices and protocols proide logical communication between app processes running on different hosts protocols run in end systems send side: breaks app messages into segments, passes to layer rc side: reassembles segments into messages, passes to app layer more than one protocol aailable to apps Internet: TCP and UDP data logical end-end data Transport Layer 3-6

Transport s. layer layer: logical communication between hosts layer: logical communication between processes relies on, enhances, layer serices 12 kids in Ann s house sending letters to 12 kids in Bill s house: hosts = houses processes = kids app messages = letters in household analogy: enelopes protocol = Ann and Bill who demux to inhouse siblings -layer protocol = postal serice Transport Layer 3-7

Internet -layer protocols reliable, in-order deliery (TCP) retransmission congestion control flow control connection setup unreliable, unordered deliery: UDP no-frills extension of best-effort IP message segment datagrams data data data logical end-end data data data data data data Transport Layer 3-8

Chapter 3 outline 3.1 -layer serices 3.2 multiplexing and demultiplexing 3.3 connectionless : UDP Transport Layer 3-9

ultiplexing/demultiplexing multiplexing at sender: handle data from multiple sockets, add header (later used for demultiplexing) demultiplexing at receier: use header info to delier receied segments to correct socket P3 P1 P2 P4 socket process Transport Layer 3-10

Connectionless demultiplexing when host receies UDP segment: checks destination port # in segment directs UDP segment to socket with that port # IP datagrams with same dest. port #, but different source IP addresses and/or source port numbers will be directed to same socket at dest Transport Layer 3-11

Connectionless demux: example DatagramSocket mysocket2 = new DatagramSocket (9157); P3 DatagramSocket serersocket = new DatagramSocket (6428); P1 DatagramSocket mysocket1 = new DatagramSocket (5775); P4 source port: 6428 dest port: 9157 source port:? dest port:? source port: 9157 dest port: 6428 source port:? dest port:? Transport Layer 3-12

Connection-oriented demux TCP socket identified by 4-tuple: source IP address source port number dest IP address dest port number demux: receier uses all four alues to direct segment to appropriate socket serer host may support many simultaneous TCP sockets: each socket identified by its own 4-tuple Transport Layer 3-13

Connection-oriented demux: example 80 9157 5775 9157 P3 P4 P5 P6 serer: IP address B P2 P3 host: IP address A source IP,port: B,80 dest IP,port: A,9157 source IP,port: A,9157 dest IP, port: B,80 three segments, all destined to IP address: B, dest port: 80 are demultiplexed to different sockets source IP,port: C,5775 dest IP,port: B,80 source IP,port: C,9157 dest IP,port: B,80 host: IP address C Transport Layer 3-14

Chapter 3 outline 3.1 -layer serices 3.2 multiplexing and demultiplexing 3.3 connectionless : UDP Transport Layer 3-15

UDP: User Datagram Protocol [RFC 768] best effort serice, UDP segments may be: lost deliered out-of-order to app connectionless: no handshaking between UDP sender, receier each UDP segment handled independently of others UDP use: streaming multimedia apps (loss tolerant, rate sensitie) DNS reliable transfer oer UDP: add reliability at layer -specific error recoery! Transport Layer 3-16

UDP: segment header (8 bytes header) 32 bits source port # dest port # length data (payload) checksum UDP segment format length, in bytes of UDP segment, including header why is there a UDP? no connection establishment (which can add delay) simple: no connection state at sender, receier small header size no congestion control: UDP can blast away as fast as desired Transport Layer 3-17

UDP checksum Goal: detect errors (e.g., flipped bits) in transmitted segment sender: treat segment contents, including header fields, as sequence of 16-bit integers checksum: addition (one s complement sum) of segment contents sender puts checksum alue into UDP checksum field receier: compute checksum of receied segment check if computed checksum equals checksum field alue: NO - error detected YES - no error detected. But maybe errors nonetheless? ore later. Transport Layer 3-18

Internet checksum: example example: add two 16-bit integers 1 1 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 1 1 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 wraparound sum checksum 1 1 0 1 1 1 0 1 1 1 0 1 1 1 0 1 1 1 1 0 1 1 1 0 1 1 1 0 1 1 1 1 0 0 1 0 1 0 0 0 1 0 0 0 1 0 0 0 0 1 1 Note: when adding numbers, a carryout from the most significant bit needs to be added to the result Transport Layer 3-19

Questions? Application Layer 2-20