Slide design: Dr. Mark L. Hornick

Slides:



Advertisements
Similar presentations
Transport Layer3-1 Transport Overview and UDP. Transport Layer3-2 Goals r Understand transport services m Multiplexing and Demultiplexing m Reliable data.
Advertisements

Introduction 1-1 Chapter 3 Transport Layer Intro and Multiplexing Computer Networking: A Top Down Approach 6 th edition Jim Kurose, Keith Ross Addison-Wesley.
CPSC 441: Intro, UDP1 Transport Layer Instructor: Carey Williamson Office: ICT Class Location:
Computer Communication Digital Communication in the Modern World Transport Layer Multiplexing, UDP
Chapter 3: Transport Layer
Transport Layer3-1 Transport Layer Our goals: r understand principles behind transport layer services: m multiplexing/demultipl exing m reliable data transfer.
Lecture 8 Chapter 3 Transport Layer
CPSC 441: Intro, UDP1 Instructor: Anirban Mahanti Office: ICT Class Location: ICT 121 Lectures: MWF 12:00 – 12:50 Notes.
Some slides are in courtesy of J. Kurose and K. Ross Review of Previous Lecture Electronic Mail: SMTP, POP3, IMAP DNS Socket programming with TCP.
8-1 Transport Layer Our goals: r understand principles behind transport layer services: m multiplexing/demultipl exing m reliable data transfer m flow.
Process-to-Process Delivery:
Data Communications and Computer Networks Chapter 3 CS 3830 Lecture 12 Omar Meqdadi Department of Computer Science and Software Engineering University.
TCOM 509 – Internet Protocols (TCP/IP) Lecture 04_a Transport Protocols - UDP Instructor: Dr. Li-Chuan Chen Date: 09/22/2003 Based in part upon slides.
CS 1652 The slides are adapted from the publisher’s material All material copyright J.F Kurose and K.W. Ross, All Rights Reserved Jack Lange.
Network LayerII-1 RSC Part III: Transport Layer 1. Basic Concepts Redes y Servicios de Comunicaciones Universidad Carlos III de Madrid These slides are,
Transport Layer 3-1 Chapter 3 Transport Layer Computer Networking: A Top Down Approach 6 th edition Jim Kurose, Keith Ross Addison-Wesley March 2012 All.
ICOM 6115©Manuel Rodriguez-Martinez ICOM 6115 – Computer Networks and the WWW Manuel Rodriguez-Martinez, Ph.D. Lecture 26.
Transport Layer 3-1 Chapter 3 Transport Layer Computer Networking: A Top Down Approach 6 th edition Jim Kurose, Keith Ross Addison-Wesley March 2012 Part.
Chapter 3 Transport Layer
Application Layer 2-1 Chapter 2 Application Layer Computer Networking: A Top Down Approach 6 th edition Jim Kurose, Keith Ross Addison-Wesley March 2012.
Transport Layer 3-1 Chapter 3 Transport Layer Computer Networking: A Top Down Approach 6 th edition Jim Kurose, Keith Ross Addison-Wesley March 2012 A.
Transport Layer3-1 Chapter 3 Transport Layer Computer Networking: A Top Down Approach Featuring the Internet, 2 nd edition. Jim Kurose, Keith Ross Addison-Wesley,
Transport Layer1 Ram Dantu (compiled from various text books)
Application Layer 2-1 Chapter 2 Application Layer Computer Networking: A Top Down Approach 6 th edition Jim Kurose, Keith Ross Addison-Wesley March 2012.
Transport Layer3-1 Chapter 3 Transport Layer Computer Networking: A Top Down Approach 4 th edition. Jim Kurose, Keith Ross Addison-Wesley, July A.
CS2910 Week 1, Class 2 Today Announce Prof. Michael Vieau’s S-341 6p Thurs Wk 2 Assignment for tomorrow Data Encoding, Part 1 Parsing Data Muddiest Point.
CS2910 Week 1, Class 1 Today Introductions Class/Lab Layout Safety Review - Note about Lab Safety Review Announce Prof. Michael Vieau’s S-341 6p Thurs.
Transport Layer 3-1 Chapter 3 Outline r 3.1 Transport-layer services r 3.2 Multiplexing and demultiplexing r 3.3 Connectionless transport: UDP.
Chapter 3: Transport Layer Our goals: r understand principles behind transport layer services: m multiplexing/demultipl exing m reliable data transfer.
Transport Layer3-1 Chapter 3 Transport Layer Computer Networking: A Top Down Approach Featuring the Internet, 3 rd edition. Jim Kurose, Keith Ross Addison-Wesley,
CS2910 Week 2, Class 1 Today Return Lab 1 Muddiest Points Quiz Parsing Data in Python SE-2811 Slide design: Dr. Mark L. Hornick Content: Dr. Hornick Errors:
MULTIPLEXING/DEMULTIPLEXING, CONNECTIONLESS TRANSPORT.
CS2910 Week 4, Class 1 Today Encoding in Python – Review Quiz – Encoding in Python Introduction to HTTP SE-2811 Slide design: Dr. Mark L. Hornick Content:
CS2910 Week 4, Class 2 Today Sit by someone you have not yet worked with this quarter. Learn his/her name if unknown. Turn on your laptop and start Wireshark.
CS2910 Week 3, Class 1 Today What is a protocol? Using TCP in Python Defining methods in Python Long procedure design SE-2811 Slide design: Dr. Mark L.
CS2910 Week 8, Class 2 Today Return Quiz Look at Schedule TCP implementation! Week 8, Monday Quiz on SMTP May include some questions requiring you to interpret.
Transport Layer3-1 Chapter 3: Transport Layer Our goals: r understand principles behind transport layer services: m multiplexing/demultipl exing m reliable.
Introduction 1-1 source application transport network link physical HtHt HnHn M segment HtHt datagram destination application transport network link physical.
@Yuan Xue A special acknowledge goes to J.F Kurose and K.W. Ross Some of the slides used in this lecture are adapted from their.
CS2911 Week 3, Class 2 Today Return Lab 3 Afternoon section: Hand out Lab 4 Checklist Review Muddiest Point Questions on Lab 4? What is a protocol? The.
Chapter 3 Transport Layer
Chapter 3 Transport Layer
Introduction to Networks
Chapter 3 Transport Layer
Transport Layer Slides are originally from instructor: Carey Williamson at University of Calgary Very minor modification are made Notes derived from “Computer.
Chapter 3 outline 3.1 Transport-layer services
Slide design: Dr. Mark L. Hornick
06- Transport Layer Transport Layer.
Slide design: Dr. Mark L. Hornick
Chapter 3 Transport Layer
CS 1652 Jack Lange University of Pittsburgh
Introduction to Networks
Chapter 2 Application Layer
Transport Layer Our goals:
September 19th, 2013 CS1652 Jack Lange University of Pittsburgh
Slide design: Dr. Mark L. Hornick
Process-to-Process Delivery:
Chapter 3 Transport Layer
CPEG514 Advanced Computer Networkst
CSCD 330 Network Programming
Slide design: Dr. Mark L. Hornick
CS2911 Week 3, Class 3 (And wk4-c1)
Chapter 5 Transport Layer Introduction
CS2911 Week 3, Lab Today Thursday Friday Review Muddiest Point Lab 3
Slide design: Dr. Mark L. Hornick
Chapter 3 Transport Layer
Transport Layer Our goals:
Presentation transcript:

Slide design: Dr. Mark L. Hornick CS2911 5 July 2019 CS2911 Week 3, Class 2 Today The Internet Stack Packet Encapsulation Tomorrow UDP and TCP And Week 3, Class 1 19q1: Print 1-2,8-17 SE-2811 Slide design: Dr. Mark L. Hornick Content: Dr. Hornick Errors: Dr. Yoder Dr. Josiah Yoder

Network Layers Application Transport Network Link Physical CS2911 5 July 2019 Network Layers Internet protocol stack Application Transport Network Link Physical SE-2811 Dr.Yoder Dr. Josiah Yoder

Nested Packets Ethernet Packet CS2911 5 July 2019 Dr. Josiah Yoder Dr.Yoder Dr. Josiah Yoder

Nested Packets Ethernet Header Ethernet Payload CS2911 5 July 2019 Dr.Yoder Dr. Josiah Yoder

Nested Packets Ethernet Header IP Header IP Payload CS2911 5 July 2019 Dr.Yoder Dr. Josiah Yoder

Nested Packets Ethernet Header IP Header TCP Header TCP Payload CS2911 5 July 2019 Nested Packets Ethernet Header IP Header TCP Header TCP Payload SE-2811 Dr.Yoder Dr. Josiah Yoder

Nested Packets Ethernet Header IP Header TCP Header HTTP Header HTTP CS2911 5 July 2019 Nested Packets Ethernet Header IP Header TCP Header HTTP Header HTTP Payload SE-2811 Dr.Yoder Dr. Josiah Yoder

Nested Packets Ethernet Header Ethernet Payload Ethernet Header IP CS2911 5 July 2019 Nested Packets Ethernet Header Ethernet Payload Ethernet Header IP Header IP Payload Ethernet Header IP Header TCP Header TCP Payload Ethernet Header IP Header TCP Header HTTP Header HTTP Payload SE-2811 Dr.Yoder Dr. Josiah Yoder

See Chapter 3: Transport Layer UDP Transport-layer protocol Uses Network Layer to send a single packet at application's request Provides checksum Detects errors in packet Guides packet to right program Demultiplexing See Chapter 3: Transport Layer CS2911 Dr. Yoder

See Chapter 3: Transport Layer CS2910 5 July 2019 UDP demultiplexing 80 17 22 See Chapter 3: Transport Layer SE-2811 Dr.Yoder Dr. Josiah Yoder

See Chapter 2: Application Layer CS2910 5 July 2019 UDP Client in Python import socket # All socket code needs this client_socket = socket.socket(socket.AF_INET, socket.SOCK_DGRAM) # message must be bytes or bytearray, not str client_socket.sendto(message, (server_name, server_port)) client_socket.close() In the slides that follow, italic variables are ones that are not included in this example. See Chapter 2: Application Layer Dr. Josiah Yoder

CS2910 5 July 2019 UDP Server in Python server_socket = socket.socket(socket.AF_INET, socket.SOCK_DGRAM) server_socket.bind((server_interface, server_port)) message,client_address = server_socket. recvfrom(1500) server_socket.close() # 1500: Maximum size of packet in most networks To demo: Blocking and non-blocking behavior of recvfrom() method To demo: queueing behavior of UDP messages Is queuing guaranteed, rather than merging? I think so. http://stackoverflow.com/questions/22519247/for-how-long-do-the-recv-functions-buffer-in-udp Are packets guaranteed to make it through? No See Chapter 2: Application Layer Dr. Josiah Yoder

See Chapter 2: Application Layer CS2910 5 July 2019 TCP features Stream of data: Guaranteed delivery In-order delivery Multiple connections through same server port Exactly like UDP, but adds these features See Chapter 2: Application Layer Dr. Josiah Yoder

Transport Layer Protocols UDP TCP User Datagram Protocol App sees datagrams Built on IP datagram Simply passes packet to network layer Packet may not arrive May reorder packets Provides checksum Connectionless Transport Control Protocol App sees streams Built on IP datagram Breaks stream into packets and reassembles Guaranteed delivery Stream remains in order Provides checksum Maintains multiple connections through the same port

TCP demultiplexing 7th edition: p. 199, Fig 3.5, Sec. 3.2 CS2910 5 July 2019 TCP demultiplexing 7th edition: p. 199, Fig 3.5, Sec. 3.2 Dr. Josiah Yoder

See Chapter 2: Application Layer CS2910 5 July 2019 TCP Client in Python tcp_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM) tcp_socket.connect((server_host,server_port)) tcp_socket.sendall(message) response = tcp_socket.recv(response_size) tcp_socket.close() Note: response_size is NOT the size of the internal buffer used to store received data. Whatever information the sender says will be stored in a large buffer on the local machine. Instead, it is the maximum size of response (in bytes) 18q1: sendall added after class See Chapter 2: Application Layer Dr. Josiah Yoder

See Chapter 2: Application Layer CS2910 5 July 2019 TCP Server in Python listen_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM) listen_socket.bind((listen_interface,listen_port)) listen_socket.listen(1) # Num of conn. to accept data_socket, sender_address = listen_socket. accept() data = data_socket.recv(response_size) data_socket.sendall(response_data) data_socket.close() listen_socket.close() 18q1: sendall added after class See Chapter 2: Application Layer Dr. Josiah Yoder

TCP connection listen_socket.bind((listen_host,listen_port)) CS2911 5 July 2019 TCP connection listen_socket.bind((listen_host,listen_port)) What python type is (listen_host,listen_port)? listen_host can be empty string ('') to listen on all interfaces Department offices example You don’t need TCP for Lab 4 (despite the title) 17q1: added after morning class: "Instead of data_socket.recv, simply use the next_byte calls you already have in your code." CS2911 Dr. Yoder Dr. Josiah Yoder

CS2911 5 July 2019 Acknowledgement This course is based on the text Computer Networking: A Top Down Approach 7th edition Jim Kurose, Keith Ross Addison-Wesley Book image added later SE-2811 Dr. Josiah Yoder Dr. Josiah Yoder