CS4470 Computer Networking Protocols

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

CPSC Network Layer4-1 IP addresses: how to get one? Q: How does a host get IP address? r hard-coded by system admin in a file m Windows: control-panel->network->configuration-
CS 457 – Lecture 16 Global Internet - BGP Spring 2012.
Internet Control Protocols Savera Tanwir. Internet Control Protocols ICMP ARP RARP DHCP.
CSE551: Computer Network Review r Network Layers r TCP/UDP r IP.
Week 5: Internet Protocol Continue to discuss Ethernet and ARP –MTU –Ethernet and ARP packet format IP: Internet Protocol –Datagram format –IPv4 addressing.
Chapter 3: Transport Layer
Chapter 5 The Network Layer.
NAT: Network Address Translation local network (e.g., home network) /24 rest of Internet Datagrams.
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
8-1 Transport Layer Our goals: r understand principles behind transport layer services: m multiplexing/demultipl exing m reliable data transfer m flow.
IP-UDP-RTP Computer Networking (In Chap 3, 4, 7) 건국대학교 인터넷미디어공학부 임 창 훈.
1 Transport Layer Computer Networks. 2 Where are we?
Review: –What is AS? –What is the routing algorithm in BGP? –How does it work? –Where is “policy” reflected in BGP (policy based routing)? –Give examples.
Network Layer4-1 DHCP: Dynamic Host Configuration Protocol Goal: allow host to dynamically obtain its IP address from network server when it joins network.
Transport Layer 3-1 Chapter 4 Network Layer Computer Networking: A Top Down Approach 6 th edition Jim Kurose, Keith Ross Addison-Wesley March 2012  CPSC.
CIS 3360: Internet: Network Layer Introduction Cliff Zou Spring 2012.
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.
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.
Transport Layer and UDP Tahir Azim Ref:
Transport Layer1 Ram Dantu (compiled from various text books)
Transport Layer3-1 Chapter 4: Network Layer r 4. 1 Introduction r 4.2 Virtual circuit and datagram networks r 4.3 What’s inside a router r 4.4 IP: Internet.
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.
MULTIPLEXING/DEMULTIPLEXING, CONNECTIONLESS TRANSPORT.
Data Communications and Computer Networks Chapter 4 CS 3830 Lecture 19 Omar Meqdadi Department of Computer Science and Software Engineering University.
1 Network Address Translation. 2 Network Address Translation (NAT) Extension of original addressing scheme Motivated by exhaustion of IP address space.
1 Kyung Hee University Chapter 11 User Datagram Protocol.
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.
2: Transport Layer 11 Transport Layer 1. 2: Transport Layer 12 Part 2: Transport Layer Chapter goals: r understand principles behind transport layer services:
@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.
CSEN 404 Transport Layer I Amr El Mougy Lamia Al Badrawy.
1 Chapter 24 Internetworking Part 4 (Transport Protocols, UDP and TCP, Protocol Port Numbers)
Chapter 7: Transport Layer
Chapter 3 Transport Layer
Introduction to Networks
Chapter 3 Transport Layer
Chapter 11 User Datagram Protocol
Network Address Translation
The Transport Layer Implementation Services Functions Protocols
Transport Layer Slides are originally from instructor: Carey Williamson at University of Calgary Very minor modification are made Notes derived from “Computer.
Chapter 9: Transport Layer
Chapter 4: Network Layer
Chapter 3 outline 3.1 Transport-layer services
Instructor Materials Chapter 9: Transport Layer
06- Transport Layer Transport Layer.
CS4470 Computer Networking Protocols
CS 1652 Jack Lange University of Pittsburgh
Introduction to Networks
NET323 D: Network Protocols
Transport Layer Our goals:
September 19th, 2013 CS1652 Jack Lange University of Pittsburgh
NET323 D: Network Protocols
Process-to-Process Delivery:
DHCP and NAT.
Chapter 5 Transport Layer Introduction
COMPUTER NETWORKS CS610 Lecture-37 Hammad Khalid Khan.
Transport Protocols: TCP Segments, Flow control and Connection Setup
Chapter 5 Transport Layer Introduction
Transport Protocols: TCP Segments, Flow control and Connection Setup
Process-to-Process Delivery: UDP, TCP
Chapter 3 Transport Layer
DHCP: Dynamic Host Configuration Protocol
Transport Protocols Relates to Lab 5. An overview of the transport protocols of the TCP/IP protocol suite. Also, a short discussion of UDP.
Transport Layer 9/22/2019.
Transport Layer Our goals:
Presentation transcript:

CS4470 Computer Networking Protocols 4/4/2019 CS4470 Computer Networking Protocols 13. Transport layer Huiping Guo Department of Computer Science California State University, Los Angeles

Outline Overview of transport layer Network Address Translation (NAT) 4/4/2019 Outline Overview of transport layer Network Address Translation (NAT) User Datagram Protocol (UDP) Dynamic Host Configuration Protocol (DHCP) 13. Transport layer CS4470

Transport layer overview 4/4/2019 Transport layer overview Application layer Application layer Data Data Data Transport layer Transport layer H Data H segment H Data T Network layer Network layer H Data T datagram 13. Transport layer CS4470

Transport vs. network layer Provides computer-to-computer communication Source and destination addresses are computers Called host-to-host Transport layer Provides application-to-application communication Need extended addressing scheme to identify applications Called end-to-end 13. Transport layer CS4470

Transport Protocol Functionality Identify sending and receiving applications Optionally provide Reliability Flow control Congestion control Note: not all transport protocols provide above facilities 13. Transport layer CS4470

Internet transport-layer protocols UDP Unreliable, unordered delivery: Lightweight transport Becoming more popular (IP telephony) Best-effort delivery TCP Reliable, in-order delivery connection setup congestion control flow control 13. Transport layer CS4470

Identifying an application Cannot extend IP address No unused bits Cannot use OS-dependent quantity Process ID Task number Job name Must work on all computer systems 13. Transport layer CS4470

Identifying an application (cont.) Invent new abstraction Called protocol port number Used to identify sending or receiving application unambiguously Independent of underlying operating system Used only with TCP/IP protocols 13. Transport layer CS4470

Protocol Port Example Domain name server application is assigned port 53 Application using DNS obtains port 28900 UDP datagram sent from application to DNS server has Source port number 28900 Destination port number 53 When DNS server replies, UDP datagram has Source port number 53 Destination port number 28900 13. Transport layer CS4470

Network Address Translation (NAT) Extension of original addressing scheme Motivated by exhaustion of IP address space Allows multiple computers to share single address Requires device to perform packet translation Implementations available Stand-alone hardware device IP router with NAT functionality embedded 13. Transport layer CS4470

NAT (cont.) A subnet NAT Three blocks of IP addresses are reserved Obtains single, valid IP address Assigns a private address to each computer Uses NAT box to connect to Internet NAT Translates addresses in IP datagrams Three blocks of IP addresses are reserved 10.0.0.0 - 10.255.255.255 172.16.0.0 - 172.31.255.255 192.168.0.0 - 192.168.255.255 13. Transport layer CS4470

Illustration Of NAT Single valid IP address needed Computers at site assigned private, non-routable addresses 13. Transport layer CS4470

NAT Example Site uses private network 10.0.0.0 / 8 internally First computer assigned 10.0.0.1 Second computer assigned 10.0.0.2 And so on . . . Site obtains valid IP address (e.g., 128.210.24.6). Assume computer 10.0.0.1 sends to 128.211.134.4 NAT translates IP source address of outgoing datagram NAT translates destination address of incoming datagram 13. Transport layer CS4470

Illustration Of NAT Translation Transparent to each end Computer at site sends and receives datagrams normally Computer in Internet receives datagrams from NAT box 13. Transport layer CS4470

NAT Details Implementation: NAT router must: outgoing datagrams: replace (source IP address, port #) of every outgoing datagram to (NAT IP address, new port #) . . . remote clients/servers will respond using (NAT IP address, new port #) as destination addr. remember (in NAT translation table) every (source IP address, port #) to (NAT IP address, new port #) translation pair incoming datagrams: replace (NAT IP address, new port #) in dest fields of every incoming datagram with corresponding (source IP address, port #) stored in NAT table 13. Transport layer CS4470

NAT example All datagrams leaving local Datagrams with source or rest of Internet local network (e.g., home network) 10.0.0/24 10.0.0.1 10.0.0.4 10.0.0.2 138.76.29.7 10.0.0.3 All datagrams leaving local network have same single source NAT IP address: 138.76.29.7, different source port numbers Datagrams with source or destination in this network have 10.0.0/24 address for source, destination (as usual) 13. Transport layer CS4470

WAN side addr LAN side addr NAT example NAT translation table WAN side addr LAN side addr 1: host 10.0.0.1 sends datagram to 128.119.40.186, 80 2: NAT router changes datagram source addr from 10.0.0.1, 3345 to 138.76.29.7, 5001, updates table 138.76.29.7, 5001 10.0.0.1, 3345 …… …… S: 10.0.0.1, 3345 D: 128.119.40.186, 80 1 10.0.0.1 S: 128.119.40.186, 80 D: 10.0.0.1, 3345 4 S: 138.76.29.7, 5001 D: 128.119.40.186, 80 2 10.0.0.4 10.0.0.2 138.76.29.7 S: 128.119.40.186, 80 D: 138.76.29.7, 5001 3 10.0.0.3 4: NAT router changes datagram dest addr from 138.76.29.7, 5001 to 10.0.0.1, 3345 3: Reply arrives dest. address: 138.76.29.7, 5001 13. Transport layer CS4470

Dynamic Assignment of IP addresses Dynamic assignment of IP addresses is desirable for several reasons: IP addresses are assigned on-demand Avoid manual IP configuration Support mobility of laptops Three Protocols RARP (until 1985, no longer used) BOOTP (1985-1993) DHCP (since 1993) Only DHCP is widely used today. 13. Transport layer CS4470

DHCP Client-server: host requests an IP address from a DHCP server Since this is an application, DHCP server does not have to be on the same network as the host. Must designate a relay agent who know the address of DHCP server There can be a few DHCP servers per site, rather than one on each network 13. Transport layer CS4470

4/4/2019 Relay agent 13. Transport layer CS4470

DHCP protocol: 4 steps DHCP server discovery. Use DHCP discover message DHCP client creates an IP datagram Source IP address: 0.0.0.0 Destination IP address: 255.255.255.255 The IP datagram is passed down to the adapter which encapsulates the datagram in a frame Source MAC address: send’s MAC address Destination MAC address: FF-FF-FF-FF-FF-FF 13. Transport layer CS4470

DHCP protocol: 4 steps DHCP server offer. A DHCP server receiving a DHCP discover message responds to the client with a DHCP offer message Each server offer message contains Transaction ID of the received discover message The proposed IP address for the client The network mask IP address lease time – the amount of time for which the IP address will be valid 13. Transport layer CS4470

DHCP protocol: 4 steps DHCP Request The newly arriving client will choose from among one or more server offers The client responds to its selected offer with a DHCP request message, echoing back the configuration parameters 13. Transport layer CS4470

DHCP protocol: 4 steps DHCP ACK The server responds to the DHCP request message with a DHCP ACK message, confirming the requested parameters Once the client receives the DHCP ACK, the interaction is complete and the client can use the DHCP-allocated IP address for the lease duration 13. Transport layer CS4470

4/4/2019 13. Transport layer CS4470

UDP: User Datagram Protocol [RFC 768] Connectionless service Best-effort semantics Each message encapsulated in IP datagram Uses protocol ports to identify applications 13. Transport layer CS4470

Why is there a UDP? no connection establishment (which can add delay) 4/4/2019 Why is there a UDP? no connection establishment (which can add delay) simple: no connection state at sender, receiver small segment header no congestion control UDP can blast away as fast as desired 13. Transport layer CS4470

UDP Semantics Same best-effort semantics as IP (i.e., unreliable transfer) Message can be Lost Duplicated Delayed Delivered out of order 13. Transport layer CS4470

UDP: more other UDP uses often used for streaming multimedia apps loss tolerant rate sensitive other UDP uses DNS SNMP reliable transfer over UDP: add reliability at application layer application-specific error recovery! 13. Transport layer CS4470

UDP segment format Application data (message) source port # dest port # 32 bits Application data (message) length checksum Length, in bytes of UDP segment, including header 13. Transport layer CS4470

Destinantion IP address UDP pseudo header Source IP address UDP Pseudo header 32 bits Application data (message) Destinantion IP address UDP length Protocol=17 UDP header It’s not transmitted to the IP layer It’s only used for computing the checksum 13. Transport layer CS4470

UDP checksum The checksum includes three sections: Goal A pseudo header The UDP header The application data Goal detect “errors” (e.g., flipped bits) in transmitted segment 13. Transport layer CS4470

UDP Encapsulation Two levels of encapsulation UDP datagram size cannot exceed maximum IP payload 13. Transport layer CS4470