q Connection establishment (if connection-oriented) q Data transfer q Connection release (if conn-oriented) q Addressing the transport user



Similar documents
Network Security TCP/IP Refresher

Transport Layer Protocols

ICOM : Computer Networks Chapter 6: The Transport Layer. By Dr Yi Qian Department of Electronic and Computer Engineering Fall 2006 UPRM

Transport Layer. Chapter 3.4. Think about

[Prof. Rupesh G Vaishnav] Page 1

Computer Networks UDP and TCP

Chapter 5. Transport layer protocols

Computer Networks. Chapter 5 Transport Protocols

Ethernet. Ethernet. Network Devices

First Workshop on Open Source and Internet Technology for Scientific Environment: with case studies from Environmental Monitoring

Chapter 11. User Datagram Protocol (UDP)

Network Programming with Sockets. Process Management in UNIX

B-2 Analyzing TCP/IP Networks with Wireshark. Ray Tompkins Founder of Gearbit

Overview. Securing TCP/IP. Introduction to TCP/IP (cont d) Introduction to TCP/IP

IP address format: Dotted decimal notation:

Access Control: Firewalls (1)

Network Programming TDC 561

IP Network Layer. Datagram ID FLAG Fragment Offset. IP Datagrams. IP Addresses. IP Addresses. CSCE 515: Computer Network Programming TCP/IP

Note! The problem set consists of two parts: Part I: The problem specifications pages Part II: The answer pages

Objectives of Lecture. Network Architecture. Protocols. Contents

La couche transport dans l'internet (la suite TCP/IP)

TCP/IP Networking for Wireless Systems. Integrated Communication Systems Group Ilmenau University of Technology

Overview of TCP/IP. TCP/IP and Internet

How do I get to

Limi Kalita / (IJCSIT) International Journal of Computer Science and Information Technologies, Vol. 5 (3), 2014, Socket Programming

Writing Client/Server Programs in C Using Sockets (A Tutorial) Part I. Session Greg Granger grgran@sas. sas.com. SAS/C & C++ Support

Basic Networking Concepts. 1. Introduction 2. Protocols 3. Protocol Layers 4. Network Interconnection/Internet

TCP/IP Fundamentals. OSI Seven Layer Model & Seminar Outline

Network-Oriented Software Development. Course: CSc4360/CSc6360 Instructor: Dr. Beyah Sessions: M-W, 3:00 4:40pm Lecture 2

TCP/IP Optimization for Wide Area Storage Networks. Dr. Joseph L White Juniper Networks

What is a DoS attack?

Internet Protocols. Background CHAPTER

Understanding TCP/IP. Introduction. What is an Architectural Model? APPENDIX

Computer Networks Practicum 2015

Firewall Implementation

CS335 Sample Questions for Exam #2

Final for ECE374 05/06/13 Solution!!

Indian Institute of Technology Kharagpur. TCP/IP Part I. Prof Indranil Sengupta Computer Science and Engineering Indian Institute of Technology

TCP/IP and the Internet

The Transport Layer. Antonio Carzaniga. October 24, Faculty of Informatics University of Lugano Antonio Carzaniga

We will give some overview of firewalls. Figure 1 explains the position of a firewall. Figure 1: A Firewall

TCP Performance Management for Dummies

DO NOT REPLICATE. Analyze IP. Given a Windows Server 2003 computer, you will use Network Monitor to view and analyze all the fields of IP.

EITF25 Internet Techniques and Applications L5: Wide Area Networks (WAN) Stefan Höst

Understanding Layer 2, 3, and 4 Protocols

Network Address Translation (NAT)

EXPLORER. TFT Filter CONFIGURATION

Introduction to Computer Networks

Lecture 2-ter. 2. A communication example Managing a HTTP v1.0 connection. G.Bianchi, G.Neglia, V.Mancuso

Improved Digital Media Delivery with Telestream HyperLaunch

Lecture 28: Internet Protocols

Introduction to TCP/IP

RARP: Reverse Address Resolution Protocol

Networks: IP and TCP. Internet Protocol

IP - The Internet Protocol

Interconnection of Heterogeneous Networks. Internetworking. Service model. Addressing Address mapping Automatic host configuration

21.4 Network Address Translation (NAT) NAT concept

LESSON Networking Fundamentals. Understand TCP/IP

First Midterm for ECE374 03/09/12 Solution!!

Servicesin ns-3. Outline SIMULACIÓN DE PROTOCOLOS DE ENRUTAMIENTO PARA REDES MÓVILES AD-HOC MEDIANTE HERRRAMIENTA DE SIMULACIÓN NS-3

Introduction to IP networking

Course Overview: Learn the essential skills needed to set up, configure, support, and troubleshoot your TCP/IP-based network.

8-bit Microcontroller. Application Note. AVR460: Embedded Web Server. Introduction. System Description

IP Subnetting and Addressing

IP Addressing. -Internetworking (with TCP/IP) -Classful addressing -Subnetting and Supernetting -Classless addressing

Solution of Exercise Sheet 5

The present and the future of TCP/IP

CS155 - Firewalls. Simon Cooper <sc@sgi.com> CS155 Firewalls 22 May 2003

Transport and Network Layer

Category: Informational Juniper Networks, Inc. August Load Sharing using IP Network Address Translation (LSNAT)

PART OF THE PICTURE: The TCP/IP Communications Architecture

Introduction to Socket Programming Part I : TCP Clients, Servers; Host information

Computer Networks - Xarxes de Computadors

Networking Security IP packet security

Protocols. Packets. What's in an IP packet

Guide to Network Defense and Countermeasures Third Edition. Chapter 2 TCP/IP

Network Working Group Request for Comments: 840 April Official Protocols

Unix System Administration

Internet Concepts. What is a Network?

Command Manual - Network Protocol Quidway S3000 Series Ethernet Switches. Table of Contents

Architecture and Performance of the Internet

Internet Protocol: IP packet headers. vendredi 18 octobre 13

Chapter 3. TCP/IP Networks. 3.1 Internet Protocol version 4 (IPv4)

Session NM059. TCP/IP Programming on VMS. Geoff Bryant Process Software

CSIS CSIS 3230 Spring Networking, its all about the apps! Apps on the Edge. Application Architectures. Pure P2P Architecture

Note! The problem set consists of two parts: Part I: The problem specifications pages Part II: The answer pages

The OSI model has seven layers. The principles that were applied to arrive at the seven layers can be briefly summarized as follows:

User Datagram Protocol - Wikipedia, the free encyclopedia

Cisco Configuring Commonly Used IP ACLs

High Performance VPN Solutions Over Satellite Networks

The TCP/IP Reference Model

Kap. 2. Transport - Schicht

Networking Test 4 Study Guide

8.2 The Internet Protocol

Protocols and Architecture. Protocol Architecture.

Cape Girardeau Career Center CISCO Networking Academy Bill Link, Instructor. 2.,,,, and are key services that ISPs can provide to all customers.

Transcription:

Transport service characterization The Transport Layer End-to-End Protocols: UDP and TCP Connection establishment (if connection-oriented) Data transfer Reliable ( TCP) Unreliable / best effort ( UDP) Of normal data / prioritized data Flow control Congestion control Connection release (if conn-oriented) y the user y the service provider, if problems arise ddressing the transport user Who is that anyway? pplication programmer s interface PPS Internet-Praktikum Transportprotokolle TCP 1 PPS Internet-Praktikum Transportprotokolle TCP 3 Layered view of internetworking example Problems with connection establishment Transport protocol data Timeout CC Conn. established CC t??? CC Conn. released PPS Internet-Praktikum Transportprotokolle TCP 2 -Connect Reuest CC-Connect Confirmation PPS Internet-Praktikum Transportprotokolle TCP 4 --> 3-way handshaking

Problems with data transfer Connection establishment using the socket PI Server Client DT1 DT3 DT2 Timeout DT1 DT1? Serverinstall socket() bind() listen() accept() blocked Conn. established socket() connect() read() Data (reuest) write() Handles reuest Seuence error duplicate t write() Data (response) read() PPS Internet-Praktikum Transportprotokolle TCP 5 PPS Internet-Praktikum Transportprotokolle TCP 7 Problems with connection release ddressing application processes DTn P1 P2 P3 37 1245 56 Port numbers DR DTn+1 Connection released 4 UDP Proto=17 Internet Physical network Loss of data 3 IP Router Host PPS Internet-Praktikum Transportprotokolle TCP 6 PPS Internet-Praktikum Transportprotokolle TCP 8

ssignment of port numbers symmetric c/s model, realized by socket PI Passive entity binds to a specific port (bind()) ctive entity sends a reuest or established a connection to the port of the server (connect()). Port numbers may be assigned statically to applications: entries in a data base mapping ports to applications (/etc/services). Well known ports globally co-ordinated. lternatively: dynamic assignment via a directory service (local or distributed) Co-ordination of globally assigned ports Internet ssigned Numbers uthority (IN, http://www.iana.org/) Responsible for the assignment of protocol parameters and constants (port numbers, protocol numbers,...) Range of ports 0.. 1023: for global "well known" ports, assigned by IN Range of ports 1024.. 65535: vailable for dynamic allocation by processes or static allocation in a private context Registration by IN is optional Current assignments see general: http://www.iana.org/numbers/ port numbers: http://www.iana.org/assignments/port-numbers PPS Internet-Praktikum Transportprotokolle TCP 9 PPS Internet-Praktikum Transportprotokolle TCP 11 Well-known port numbers: /etc/services (extract) User Datagram Protocol (UDP) # Note that it is presently the policy of IN to assign a single well-known # port number for both TCP and UDP; hence, most entries here have two entries # even if the protocol doesn't support UDP operations. # Updated from RFC 1700, ssigned Numbers echo 7/tcp echo 7/udp discard 9/tcp sink null discard 9/udp sink null ftp-data 20/tcp ftp 21/tcp telnet 23/tcp smtp 25/tcp mail time 37/tcp timserver time 37/udp timserver nameserver 42/tcp name # IEN 116 whois 43/tcp nicname domain 53/tcp nameserver # name-domain server domain 53/udp nameserver Connectionless datagram service dded functionality (beyond IP datagram) application addressing using ports Error checking No specific uality of service mechanisms Checksum computed over UDP header and payload pseudo-header, three fields from the IP header protocol number source IP address destination IP address UDP length field (second time) PPS Internet-Praktikum Transportprotokolle TCP 10 PPS Internet-Praktikum Transportprotokolle TCP 12

Transmission Control Protocol (TCP) Connection-oriented Full-duplex connection Provides a byte pipe Unstructured byte stream Sliding window protocol Seuence numbers are byte numbers Maximum window size is 2 16 bytes (may be scaled) Sender window is variable, determined by the minimum of Reuest of the receiver (receiver window size) Estimation of the network load (congestion window size, slow start algorithm) Format of a TCP Segment 0 4 10 16 31 SrcPort HdrLen 0 Flags Checksum SeuenceNum cknowledgment Options (variable) Data DstPort dvertisedwindow UrgPtr Code its: URG, CK, PSH, RST, SYN, FIN UrgPtr (urgent pointer): points to the end of urgent data in the pet PPS Internet-Praktikum Transportprotokolle TCP 13 PPS Internet-Praktikum Transportprotokolle TCP 15 asic operation of TCP Format of a TCP Segment TCP data units are variable length segments; segment size set at connection setup Each segment has a seuence number, which specifies its position in the byte stream Segments sent must be nowledged with in a given time (based on an adaptive estimation of the round trip time (RTT)) cknowledgements are sent with delay (appr. 200 ms) Each segment has an end-to-end checksum; segments with wrong checksum are ignored The receiver sorts received segments according to their seuence number; duplicates are ignored 0 4 10 16 31 SrcPort HdrLen 0 Flags SeuenceNum cknowledgment Checksum computation Checksum uses pseudo-header UrgPtr Options (variable) Data DstPort dvertisedwindow Code its: URG, CK, PSH, RST, SYN, FIN UrgPtr (urgent pointer): points to the end of urgent data in the pet PPS Internet-Praktikum Transportprotokolle TCP 14 PPS Internet-Praktikum Transportprotokolle TCP 16

Conn. establishment with 3-way handshaking Initial seuence numbers are randomly chosen, within bounds 3-way handshaking needed since IP is unreliable Release of a TCP connection ctive entity (left) s the connection with a segment with FIN flag set No new data sent from the left, but data from the right entity are still accepted and nowledged 4-way handshake, each side is d separately (TCP half ) ctive participant (client) Passive participant (server) Send FIN se=x Recv. FIN Send CK x+1 recv. CK Inform application send FIN, CK x+1 Last ck may contain data recv. FIN + CK Send CK y+1 recv. CK PPS Internet-Praktikum Transportprotokolle TCP 17 PPS Internet-Praktikum Transportprotokolle TCP 19 Sample problem scenarios Client anything / Finite state machine of TCP begin d old duplicate old duplicate passive open active open / receiv. / + listen / + send / + / sent / timeout / old duplicate established Is rejected 1 closing last / 2 - / / / timed timeout after 2 segment lifetimes aus: D. Comer: Internetworking with TCP/IP, Volume 1, Prentice Hall, 1995, p. 220 PPS Internet-Praktikum Transportprotokolle TCP 18 PPS Internet-Praktikum Transportprotokolle TCP 20

Server receiv. 1 2 begin / + passive open anything / d listen established closing timed / + - / / / send / Finite state machine of TCP + / active open / sent last timeout after 2 segment lifetimes / timeout / / Host (client machine) Client 1 (tcp, :1055) Client 2 (tcp, :1056) Example mechanism of setting up two simultaneous TCP connections to the same application (tcp,, 1055,, 23) (tcp,, 1056,, 23) Host (server machine) Daemon (tcp, *, 23) Server 1 (tcp,, 23) Server 2 (tcp,, 23) fork aus: D. Comer: Internetworking with TCP/IP, Volume 1, Prentice Hall, 1995, p. 220 PPS Internet-Praktikum Transportprotokolle TCP 21 PPS Internet-Praktikum Transportprotokolle TCP 23 Connections and connection end-points TCP connection is identified by a 4-tuple IP-address and port number of host (:P ) IP-address and port number of host (:P ) More than one TCP-connection may be established between the same two hosts n IP pet belongs to a specific TCP connection if the 4 values match and if the IP protocol field has the value of TCP PPS Internet-Praktikum Transportprotokolle TCP 22