CMPE 150 – Winter 2009 Lecture 15 February 26, 2009 P.E. Mantey.

Slides:



Advertisements
Similar presentations
Data and Computer Communications Eighth Edition by William Stallings Lecture slides by Lawrie Brown Chapter 20 – Transport Protocols.
Advertisements

Umut Girit  One of the core members of the Internet Protocol Suite, the set of network protocols used for the Internet. With UDP, computer.
Transport Layer. Context of various layers upto Network layer NL : present in LAN and subnet MAC sublayer : not present in Subnets, only in LANs DLL :
CMPE 150 – Winter 2009 Lecture 16 March 3, 2009 P.E. Mantey.
Chapter 6 The Transport Layer.
Computer Networks, Fifth Edition by Andrew Tanenbaum and David Wetherall, © Pearson Education-Prentice Hall, 2011 The Transport Layer Chapter
Chi-Cheng Lin, Winona State University CS 313 Introduction to Computer Networking & Telecommunication Chapter 6 Transport Layer.
Chapter 6 The Transport Layer.
TELE202 Lecture 13 TCP/UDP (1) 1 Lecturer Dr Z. Huang Overview ¥This Lecture »Internet Protocols (4) »Source: chapter 15 ¥This Lecture »TCP/UDP (1) »Source:
I N THE N AME OF G OD C OMPUTER N ETWORKS C HAPTER 6: T HE T RANSPORT L AYER Dr. Shahriar Bijani Shahed University May 2014.
Fundamentals of Computer Networks ECE 478/578 Lecture #20: Transmission Control Protocol Instructor: Loukas Lazos Dept of Electrical and Computer Engineering.
EECC694 - Shaaban #1 lec #12 Spring Internet Transport Protocols Transmission Control Protocol (TCP):Transmission Control Protocol (TCP):
TELE202 Lecture 14 TCP/UDP (2) 1 Lecturer Dr Z. Huang Overview ¥Last Lecture »TCP/UDP (1) »Source: chapter 17 ¥This Lecture »TCP/UDP (2) »Source: chapter.
CMPE 150 – Winter 2009 Lecture 17 March 5, 2009 P.E. Mantey.
CMPE 150- Introduction to Computer Networks 1 CMPE 150 Fall 2005 Lecture 26 Introduction to Computer Networks.
Transport Layer Problems with network layer services
The Transport Layer Chapter 6. The Transport Service Services Provided to the Upper Layers Transport Service Primitives Berkeley Sockets An Example of.
CMPE 80N - Introduction to Networks and the Internet 1 CMPE 80N Spring 2003 Week 8 Introduction to Networks and the Internet.
CMPE 150 – Winter 2009 Lecture 6 January 22, 2009 P.E. Mantey.
The Transport Layer Chapter 6. The Transport Service Services Provided to the Upper Layers Transport Service Primitives Berkeley Sockets An Example of.
Network Architectures Week 3 Part 2. Comparing The Internet & OSI.
William Stallings Data and Computer Communications 7 th Edition (Selected slides used for lectures at Bina Nusantara University) Transport Layer.
The OSI Reference Model
CMPE 150 – Winter 2009 Lecture 14 February 24, 2009 P.E. Mantey.
Computer Networks Transport Layer. Topics F Introduction  F Connection Issues F TCP.
CMPE 150 – Winter 09 Lecture 2 January 8, 2009 P.E. Mantey.
TCP. Learning objectives Reliable Transport in TCP TCP flow and Congestion Control.
EE 4272Spring, 2003 Chapter 17 Transport Protocols Connection-Oriented Transport Protocol  Reliable Network Service: Design Issues  Unreliable Network.
1 Computer Networks Transport Layer Protocols. 2 Application-layer Protocols Application-layer protocols –one “piece” of an app –define messages exchanged.
Gursharan Singh Tatla Transport Layer 16-May
Process-to-Process Delivery:
The Transport Layer (L4) Provides an end-to-end, reliable transport service between l4 entities –Reliable - error-free, in- sequence, no loss or duplication.
TRANSPORT LAYER T.Najah Al-Subaie Kingdom of Saudi Arabia Prince Norah bint Abdul Rahman University College of Computer Since and Information System NET331.
The Transport Layer.
Hands-On Microsoft Windows Server 2003 Networking Chapter Three TCP/IP Architecture.
70-291: MCSE Guide to Managing a Microsoft Windows Server 2003 Network Chapter 3: TCP/IP Architecture.
CMPE 150 – Winter 2009 Lecture 9 February 3, 2009 P.E. Mantey.
Computer Networks, Fifth Edition by Andrew Tanenbaum and David Wetherall, © Pearson Education-Prentice Hall, 2011 The Transport Layer Chapter 6.
1 7-Oct-15 OSI transport layer CCNA Exploration Semester 1 Chapter 4.
Chapter 6 The Transport Layer.
Section 5: The Transport Layer. 5.2 CS Computer Networks John Mc Donald, Dept. of Computer Science, NUI Maynooth. Introduction In the previous section.
The Transport Layer.
ECE453 – Introduction to Computer Networks Lecture 14 – Transport Layer (I)
ICOM 6115©Manuel Rodriguez-Martinez ICOM 6115 – Computer Networks and the WWW Manuel Rodriguez-Martinez, Ph.D. Lecture 26.
David Wetherall Professor of Computer Science & Engineering Introduction to Computer Networks Transport Layer Overview (§ )
The Transport Layer Chapter 6. The Transport Service The transport layer is the heart of the whole protocol hierarchy It provides reliable data transport.
Fall 2005 By: H. Veisi Computer networks course Olum-fonoon Babol Chapter 6 The Transport Layer.
Transport Layer3-1 Chapter 3: Transport Layer Our goals: r understand principles behind transport layer services: m multiplexing/demultipl exing m reliable.
The Transport Layer application transport network data link physical application transport network data link physical application transport network data.
Chapter 2 Applications and Layered Architectures Sockets.
Transportation Layer (1). Transportation Layer Very similar to the data link layer. – two hosts connected by a link or two hosts connected by a network.
70-291: MCSE Guide to Managing a Microsoft Windows Server 2003 Network, Enhanced Chapter 3: TCP/IP Architecture.
The Transport Layer Chapter 6 12/14/2015www.ishuchita.com1.
Advanced UNIX programming Fall 2002, lecture 16 Instructor: Ashok Srinivasan Acknowledgements: The syllabus and power point presentations are modified.
4343 X2 – The Transport Layer Tanenbaum Ch.6.
McGraw-Hill Chapter 23 Process-to-Process Delivery: UDP, TCP Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display.
1 14-Jun-16 S Ward Abingdon and Witney College CCNA Exploration Semester 1 OSI transport layer CCNA Exploration Semester 1 Chapter 4.
The Transport Layer Dr. ir. S.S. Msanjila RIS 251.
© 2006 Cisco Systems, Inc. All rights reserved.Cisco Public 1 OSI transport layer CCNA Exploration Semester 1 – Chapter 4.
3. END-TO-END PROTOCOLS (PART 1) Rocky K. C. Chang Department of Computing The Hong Kong Polytechnic University 22 March
The Transport Layer Implementation Services Functions Protocols
Unit-7 The Transport Layer.
Chapter 6 The Transport Layer.
Transport Layer Unit 5.
شبکه های کامپیوتری پیشرفته
Chapter 6 The Transport Layer The Transport Service & Elements of Transport Protocols.
Process-to-Process Delivery:
The Transport Layer Chapter 6.
Process-to-Process Delivery: UDP, TCP
EEL 5718 Computer Communications
Presentation transcript:

CMPE 150 – Winter 2009 Lecture 15 February 26, 2009 P.E. Mantey

CMPE Introduction to Computer Networks Instructor: Patrick Mantey Office: Engr. 2 Room 595J Office hours: Tues 3-5 PM, Mon 5-6 PM* TA: Anselm Kia Web site: Text: Tannenbaum: Computer Networks (4 th edition – available in bookstore, etc. )

Syllabus

Problem Assignment #6 On class web page this afternoon Due Tuesday, March 3

Today’s Agenda Intro to Transport Layer Connections Berkeley Sockets QOS Addressing / TSAP (of TPDU) Flow Control / Buffering Protocols UDP RTP TCP Congestion management Timers / RTT estimates Exponential backoff

Text Readings Today: Chapter 6, Sections , , (TCP) Tuesday Chapter 6, Section 6.6 (TCP Performance)

Internet Layering Level 5 -- Application Layer (rlogin, ftp, SMTP, POP3, IMAP, HTTP..) Level 4-- Transport Layer(a.k.a Host-to-Host) (TCP, UDP) Level 3-- Network Layer (a.k.a. Internet) (IP, ICMP, ARP) Level 2-- (Data) Link Layer / MAC sub-layer (a.k.a. Network Interface or Network Access Layer) Level 1-- Physical Layer

Types of Transport Services Connection-less versus connection- oriented. –Connection-less service: no logical connections, no flow or error control. –Connection-oriented: Based on logical connections: connection setup, data transfer, connection teardown. Flow and error control.

Quality of Service User may specify QoS parameters at the transport layer. –At connection setup time, user may define preferred, acceptable, and minimum values for various service parameters. –Transport layer determines whether it’s possible to provide required service based on available network service(s).

Transport-Layer QoS Parameters 1 Connection establishment delay: time to establish connection. Connection establishment failure probability: probability connection is not established within maximum establishment time. Throughput: bytes transferred per second measured over a time interval.

Transport-Layer QoS Parameters 2 Transit delay: time between sending a message and receiving it on the other side (measured by the transport entities). Residual error ratio: ratio of messages in error to total messages sent. Priority: way for user to indicate that some connections are more important. Resilience: probability connection is terminated due to congestion, etc.

Transport Layer QoS Only few transport protocols provide QoS parameters. Most just try to minimize residual error rate. QoS parameters specified by transport user when connection is setup. –Desired and minimum acceptable values can be specified. –Service negotiation.

Transport Service Primitives Allow transport users (e.g., application programs) to access transport service. Example: connection-oriented transport service primitives. PRIMITIVETPDU Sent Meaning LISTEN (none) listen for connection CONNECT Connection Req. try to establish connection SEND DATA send data RECEIVE(none) waits for data DISCONNECTDisc. Req. try to release connection

TPDU Transport protocol data unit. Messages sent between transport entities. TPDUs are contained in network-layer packets, which in turn are contained in DLL frames. Frame header Packet header TPDU header TPDU payload

Transport Service Primitives (3) A state diagram for a simple connection management scheme. Transitions labeled in italics are caused by packet arrivals. The solid lines show the client's state sequence. The dashed lines show the server's state sequence.

Berkeley Sockets 1 Set of transport-level primitives made available by Berkeley UNIX. Server side: SOCKET: create new communication end point. BIND: attach local address to socket (once server binds address, clients can connect to it). LISTEN: listen for connection (non-blocking). ACCEPT: accept new connection. SEND, RECEIVE: send and receive data. CLOSE: release connection.

Berkeley Sockets 2 Client side: SOCKET: create socket. CONNECT: try to establish connection. SEND, RECEIVE: send and receive data. CLOSE: release connection (symmetric release).

Transport Layer Addressing Transport Layer Address –Port (TSAP) Network Layer Address –IP address (NSAP)

Addressing TSAPs, NSAPs and transport connections.

Transport Protocol Issues: Addressing Address of the transport-level entity. TSAP: transport service access point (analogous to NSAP). –Internet TSAP: (IP address, local port). –Internet NSAP: IP address. –There may be multiple TSAPs on one host. –Typically, only one NSAP. _______________________________________ Transport Service Access Point / Network Service Access Point

Example 1 Finding the time of day from a time-of-day server. –Time-of-day server process on host 2 attaches itself to TSAP 122 and waits for requests (e.g., through LISTEN). –Application process (TSAP 6) on host 1 wants to find out the time-of-day; issues CONNECT specifying TSAP 6 as source and TSAP 122 as destination.

Example 2 –Transport entity on host 1 tries to establish transport connection between its TSAP 6 and the TSAP 122 on host 2. –Transport entity on host 2 contacts process on TSAP 122; if it agrees, transport connection established.

Finding Services 1 Well-known TSAP. –Time-of-day server has been using TSAP 122 forever so every users know it. Initial connection protocol: special process server that proxies for less well-known services. –Process server listens to set of ports at the same time. –Users CONNECT to a TSAP, and if there are no servers, process server is likely to be listening. It them spawns requested server.

Finding Services 2 Name or directory service. –Name server listens to well-known TSAP. –User sends service name and name server responds with service’s TSAP. –New services need to register with name server. Finding the server’s network address. –Hierarchical addresses solve this problem, i.e., the NSAP is part of the TSAP.

Connection Establishment CONNECTION REQUEST and CONNECTION ACCEPTED TPDUs. Problem: delayed duplicates. –Duplicates can re-appear and be taken as the real messages. Solution: messages age and are discarded after some time; need to discard ack’s. –Maximum hop count. –Timestamp.

Avoiding Duplicates 1 Solution by Tomlinson (1975) + Sunshine and Dalal (1978). 2 identically numbered TPDUs are never outstanding at the same time. Bounded packet lifetime. Each host has its clock. –Clock as a counter that increments itself. –#bits(counter)>= #bits(sequence number). –Clocks don’t “crash”.

Avoiding Duplicates 2 When connection setup, low-order k bits of clock used as initial sequence number. Each connection starts numbering its TPDUs with different sequence number. Sequence number space need to be such that by the time sequence numbers wrap around, old TPDUs with same sequence numbers have aged.

Sequence Numbers versus Time 1 Seq. #’s Time. Linear relation between time and initial sequence number.

Sequence Numbers versus Time 2 Seq. #’s Time. Host crash: when it comes up, it doesn’t know where it were in the sequence # space. T Forbidden region. Example: T=60 sec and clock ticks once per second.. At t=30s, TPDU on connection 5 gets seq.# 80.. Host crashes and comes up.. At t=60s, reopens connections 0~4.. At t=70s, reopens connection 5 and at t=80s, sends TPDU 80.. Old TPDU 80 still valid, and one would look like a duplicate.. To prevent this, check if it’s in the “forbidden region” and delay sequence number

Three-Way Handshake Solves the problem of getting 2 sides to agree on initial sequence number. CR (seq=x) ACK(seq=y,ACK=x) DATA(seq=x, ACK=y) CR: connection request. 1 2

3-Way Handshake: Delayed Duplicates 1. Old duplicate CR.. The ACK from host 2 tries to verify if host 1 was trying to open a new connection with seq=x.. Host 1 rejects host 2’s attempt to establish. Host 2 realizes it was a duplicate CR and aborts connection. CR(seq=x) * ACK(seq=y, ACK=x) REJECT(ACK=y) 1 2

3-Way Handshake: Duplicates 2. Old duplicate CR and ACK to connection accepted. CR(seq=x) * ACK(seq=y, ACK=x) REJECT(ACK=y) 1 2 DATA(seq=x, ACK=z)

Campus and CENIC Networks Mark Boolootian, Network Engineer, Information Technology Services –Campus network overview: “Hub and spokes”, 1 Gbps links, redundant architecture. –QoS – now for telephone call setup –Routing, performance monitoring –External connections: ISP, CENIC (DC, HPR), peering costs / cost avoidance

Campus /CENIC web pages UCSC CENIC – Boolootian et al. on “Traffic Management”