Applied Networks & Security

Similar documents
Network Protocols. Transmission Control Protocol (TCP) TDC375 Autumn 2009/10 John Kristoff DePaul University 1

Computer Networks and Data Systems

User Datagram Protocol

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

UNIT IV -- TRANSPORT LAYER

Transport Layer Marcos Vieira

Internet and Intranet Protocols and Applications

CS 5520/ECE 5590NA: Network Architecture I Spring Lecture 13: UDP and TCP

05 Transmission Control Protocol (TCP)

Reliable Transport I: Concepts and TCP Protocol

User Datagram Protocol (UDP):

Lecture 5: Flow Control. CSE 123: Computer Networks Alex C. Snoeren

TSIN02 - Internetworking

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

CSC 634: Networks Programming

Introduction to Networks and the Internet

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

TSIN02 - Internetworking

The Transmission Control Protocol (TCP)

ECE 650 Systems Programming & Engineering. Spring 2018

Transport Layer Protocols TCP

CS4700/CS5700 Fundamentals of Computer Networks

CS 716: Introduction to communication networks th class; 7 th Oct Instructor: Sridhar Iyer IIT Bombay

Mobile Transport Layer Lesson 10 Timeout Freezing, Selective Retransmission, Transaction Oriented TCP and Explicit Notification Methods

Introduction to TCP/IP networking

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

Outline. Connecting to the access network: DHCP and mobile IP, LTE. Transport layer: UDP and TCP

CSCI-GA Operating Systems. Networking. Hubertus Franke

Sequence Number. Acknowledgment Number. Data

ECE697AA Lecture 3. Today s lecture

TSIN02 - Internetworking

23-3 TCP. Topics discussed in this section: TCP Services TCP Features Segment A TCP Connection Flow Control Error Control 23.22

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

TCP/IP-2. Transmission control protocol:

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

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

Transport Layer (TCP/UDP)

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

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

Chapter 23 Process-to-Process Delivery: UDP, TCP, and SCTP 23.1

Kent State University

What is TCP? Transport Layer Protocol

Transmission Control Protocol. ITS 413 Internet Technologies and Applications

COMP/ELEC 429/556 Introduction to Computer Networks

TSIN02 - Internetworking

Networking Technologies and Applications

UDP, TCP, IP multicast

EECS 122, Lecture 19. Reliable Delivery. An Example. Improving over Stop & Wait. Picture of Go-back-n/Sliding Window. Send Window Maintenance

Announcements. No book chapter for this topic! Slides are posted online as usual Homework: Will be posted online Due 12/6

Outline. CS5984 Mobile Computing

TCP/IP Performance ITL

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

NWEN 243. Networked Applications. Layer 4 TCP and UDP

Lecture 3: The Transport Layer: UDP and TCP

ITS323: Introduction to Data Communications

CSE 461 Module 10. Introduction to the Transport Layer

TCP: Flow and Error Control

Chapter 24. Transport-Layer Protocols

Intro to LAN/WAN. Transport Layer

Programming Assignment 3: Transmission Control Protocol

No book chapter for this topic! Slides are posted online as usual Homework: Will be posted online Due 12/6

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

Reliable Transport I: Concepts and TCP Protocol

II. Principles of Computer Communications Network and Transport Layer

IP Address Assignment

Transport Protocols & TCP TCP

CSCI Topics: Internet Programming Fall 2008

Different Layers Lecture 20

CS457 Transport Protocols. CS 457 Fall 2014

NT1210 Introduction to Networking. Unit 10

xkcd.com End To End Protocols End to End Protocols This section is about Process to Process communications.

CSCI-1680 Transport Layer I Rodrigo Fonseca

Transport Layer. Gursharan Singh Tatla. Upendra Sharma. 1

COMPUTER NETWORKS CS CS 55201

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

Just enough TCP/IP. Protocol Overview. Connection Types in TCP/IP. Control Mechanisms. Borrowed from my ITS475/575 class the ITL

COMPUTER NETWORKS CS CS 55201

CSCI-1680 Transport Layer I Rodrigo Fonseca

Transport Protocols and TCP: Review

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

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

Introduction to Protocols

Fall 2012: FCM 708 Bridge Foundation I

Computer Networking Introduction

CS 640 Introduction to Computer Networks Spring 2009

Islamic University of Gaza Faculty of Engineering Department of Computer Engineering ECOM 4021: Networks Discussion. Chapter 5 - Part 2

CSCD 330 Network Programming

UNIT IV TRANSPORT LAYER

End-to-End Protocols. End-to-End Protocols

ICS 451: Today's plan. Sliding Window Reliable Transmission Acknowledgements Windows and Bandwidth-Delay Product Retransmission Timers Connections

Operating Systems and Networks. Network Lecture 8: Transport Layer. Adrian Perrig Network Security Group ETH Zürich

Operating Systems and Networks. Network Lecture 8: Transport Layer. Where we are in the Course. Recall. Transport Layer Services.

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

PLEASE READ CAREFULLY BEFORE YOU START

Connectionless and Connection-Oriented Protocols OSI Layer 4 Common feature: Multiplexing Using. The Transmission Control Protocol (TCP)

CS164 Final Exam Winter 2013

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

NETWORK PROGRAMMING. Instructor: Junaid Tariq, Lecturer, Department of Computer Science

Transmission Control Protocol (TCP)

Transcription:

Applied Networks & Security TCP/IP Protocol Suite http://condor.depaul.edu/~jkristof/it263/ John Kristoff jtk@depaul.edu IT 263 Spring 2006/2007 John Kristoff - DePaul University 1

ARP overview datalink to network layer address mapping e.g. 0000.1234.abcd <---> 192.0.2.1 Hosts and routers build ARP table/cache ARP entries associated with a local interface Timers used to age old table entries Potential security problems with ARP No authentication, can lead to impersonation IT 263 Spring 2006/2007 John Kristoff - DePaul University 2

Typical ARP process... Sender Send L2 broadcast Fill in known target IP Receiver Fill in missing fields Learn sender's IP/MAC Reply directly to sender IT 263 Spring 2006/2007 John Kristoff - DePaul University 3

IP review IP provides just enough connected-ness Global addressing Hop-by-hop routing IP over everything Ethernet, ATM, X.25, fiber, etc. Minimizes network state Unreliable datagram forwarding IT 263 Spring 2006/2007 John Kristoff - DePaul University 4

TCP key features Sequencing Byte-stream delivery Connection-oriented Reliability Flow-control Congestion avoidance IT 263 Spring 2006/2007 John Kristoff - DePaul University 5

TCP feature summary Provides a completely reliable (no data duplication or loss), connection-oriented, full-duplex byte stream transport service that allows two application programs to form a connection, send data in either direction simultaneously and then terminate the connection. IT 263 Spring 2006/2007 John Kristoff - DePaul University 6

Apparent contradiction IP offers best effort (unreliable) delivery TCP uses IP TCP provides completely reliable transfer How is this possible? IT 263 Spring 2006/2007 John Kristoff - DePaul University 7

Achieving reliability Reliable connection start-up Reliable data transfer Sender starts a timer Receiver sends ACK when data arrives Sender retransmits if timer expires before ACK is returned Reliable connection shutdown IT 263 Spring 2006/2007 John Kristoff - DePaul University 8

Reliability illustrated IT 263 Spring 2006/2007 John Kristoff - DePaul University 9

When do you retransmit? The time for an ACK to return depends on: Distance between endpoints (propagation delay) Network traffic conditions (congestion) End system conditions (CPU, buffers) Packets can be lost, damaged or fragmented Network traffic conditions can change rapidly IT 263 Spring 2006/2007 John Kristoff - DePaul University 10

Solving retransmission problem Keep running average of round trip time (RTT) Current average determines retransmission timer This is known as adaptive retransmission This is key to TCP's success How does each RTT sample affect the average? What weight to you give each sample? Higher weight means timer changes quickly Lower weight means timer changes slowly IT 263 Spring 2006/2007 John Kristoff - DePaul University 11

Adaptive retransmission illustrated IT 263 Spring 2006/2007 John Kristoff - DePaul University 12

Flow control Match the sending rate with allowable receiver rate TCP uses a sliding window Receiver advertises available buffer space Also known as the window Sender can transmit a full window without receiving an ACK for that transmitted data Ideally the window size allows pipe to remain full IT 263 Spring 2006/2007 John Kristoff - DePaul University 13

Window size advertisement Each ACK carries receiver's current window size Called the window advertisement If zero, window is closed, no data can be sent Interpretation of window advertisement: Receiver: I can accept X octets or less unless I tell you otherwise IT 263 Spring 2006/2007 John Kristoff - DePaul University 14

Window size illustrated IT 263 Spring 2006/2007 John Kristoff - DePaul University 15

Window size: another picture IT 263 Spring 2006/2007 John Kristoff - DePaul University 16

Byte stream sequencing Each segment carries a sequence number Sequencing helps ensure in order delivery TCP sequence numbers are fixed at 32 bits Byte stream is not limited to 2 32 bytes Sequence number space can wrap Each side has an initial sequence number (ISN) Exchanged during connection establishment Receiver ACKs cumulative octets (bytes) IT 263 Spring 2006/2007 John Kristoff - DePaul University 17

TCP segment illustrated IT 263 Spring 2006/2007 John Kristoff - DePaul University 18

Application multiplexing OS independent identifier for a network process Each application assigned a unique 16-bit integer Called a port number Server applications Use standard, well-known port numbers Usually low numbered port numbers Clients Obtain unused number from protocol software Usually uses high numbered port numbers IT 263 Spring 2006/2007 John Kristoff - DePaul University 19

TCP connection start-up The three-way handshake used Servers use a passive open Application sits waiting on an open port Clients use an active open Application requests a connection to server Initial sequence number (ISN) exchange is the primary goal Other parameters/options can also be exchanged e.g. Window scale, maximum segment size, etc. IT 263 Spring 2006/2007 John Kristoff - DePaul University 20

3-way handshake illustrated IT 263 Spring 2006/2007 John Kristoff - DePaul University 21

Connection shutdown illustrated IT 263 Spring 2006/2007 John Kristoff - DePaul University 22

Congestion principles Flow control Matching the sending and receiving rates Congestion control Active response to network overload conditions End hosts cannot control congestion per se Network devices (routers) do this Congestion avoidance Cautionary response to presumed conditions TCP does this IT 263 Spring 2006/2007 John Kristoff - DePaul University 23

TCP congestion control Recall sliding window (advertised window) Receiver based control of sending rate Congestion window is sender based control Sender transmits min(cwnd, advertised window) This value is the transmission window TCP sender infers network conditions and adjusts IT 263 Spring 2006/2007 John Kristoff - DePaul University 24

TCP retransmission TCP starts timer after sending a segment If ACK returns, reset timer If time-out occurs, retransmit and increase timer This is a back-off process Can't retransmit forever, need some upper bound Eventually TCP would give up Maximum time-out must be at least 60 seconds IT 263 Spring 2006/2007 John Kristoff - DePaul University 25

UDP message format IT 263 Spring 2006/2007 John Kristoff - DePaul University 26