CS 268: Lecture 3 (TCP/IP Architecture) Ion Stoica January 28, 2003.

Slides:



Advertisements
Similar presentations
CCNA – Network Fundamentals
Advertisements

© 2007 Cisco Systems, Inc. All rights reserved.Cisco Public ITE PC v4.0 Chapter 1 1 OSI Transport Layer Network Fundamentals – Chapter 4.
Fundamentals of Computer Networks ECE 478/578 Lecture #20: Transmission Control Protocol Instructor: Loukas Lazos Dept of Electrical and Computer Engineering.
CSEE W4140 Networking Laboratory Lecture 6: TCP and UDP Jong Yul Kim
CSE551: Computer Network Review r Network Layers r TCP/UDP r IP.
1 Computer Networks: A Systems Approach, 5e Larry L. Peterson and Bruce S. Davie Chapter 5 End-to-End Protocols Copyright © 2010, Elsevier Inc. All rights.
1 CS 4396 Computer Networks Lab Transmission Control Protocol (TCP) Part I.
Chapter 5: TCP/IP and OSI Business Data Communications, 5e.
CS3505 The Internet and Info Hiway transport layer protocols : TCP/UDP.
Transport Layer – TCP (Part1) Dr. Sanjay P. Ahuja, Ph.D. Fidelity National Financial Distinguished Professor of CIS School of Computing, UNF.
Chapter 7 – Transport Layer Protocols
Computer Networks 2 Lecture 2 TCP – I - Transport Protocols: TCP Segments, Flow control and Connection Setup.
IP Suite© Dr. Ayman Abdel-Hamid, CS4254 Spring CS4254 Computer Network Architecture and Programming Dr. Ayman A. Abdel-Hamid Computer Science Department.
CS 268: Lecture 2 (Layering & End-to-End Arguments)
Chapter 4 : TCP/IP and OSI Business Data Communications, 4e.
CSEE W4140 Networking Laboratory Lecture 6: TCP and UDP Jong Yul Kim
Transport Layer TCP and UDP IS250 Spring 2010
CS 268: Lecture 3 (TCP/IP Architecture) Kevin Lai and Ion Stoica January 30, 2002.
 The Open Systems Interconnection model (OSI model) is a product of the Open Systems Interconnection effort at the International Organization for Standardization.
IP-UDP-RTP Computer Networking (In Chap 3, 4, 7) 건국대학교 인터넷미디어공학부 임 창 훈.
Gursharan Singh Tatla Transport Layer 16-May
Fundamentals of Computer Networks ECE 478/578 Lecture #2 Instructor: Loukas Lazos Dept of Electrical and Computer Engineering University of Arizona.
Process-to-Process Delivery:
CSci8211: Internet Design Philosophy 1 Internet Architecture: Design Philosophy -Then and Now.
TELE202 Lecture 9 Internet Protocols (1) 1 Lecturer Dr Z. Huang Overview ¥Last Lecture »Congestion control »Source: chapter 12 ¥This Lecture »Internet.
EPL606 Topic 1 Introduction Part B - Design Considerations 1 The majority of the slides in this course are adapted from the accompanying slides to the.
CS 268: Lecture 3 (Layering & End-to-End Arguments)
CSCE Farkas1 CSCE 201 Computer Networks. CSCE Farkas2 Reading Assignment Required: – Security Awareness: Chapter 3 Recommended: – Internet.
1 Chapter Overview TCP/IP DoD model. 2 Network Layer Protocols Responsible for end-to-end communications on an internetwork Contrast with data-link layer.
1 Chapter 1 OSI Architecture The OSI 7-layer Model OSI – Open Systems Interconnection.
Introduction to Networks CS587x Lecture 1 Department of Computer Science Iowa State University.
TCP : Transmission Control Protocol Computer Network System Sirak Kaewjamnong.
TCP Lecture 13 November 13, TCP Background Transmission Control Protocol (TCP) TCP provides much of the functionality that IP lacks: reliable service.
Fundamentals of Computer Networks ECE 478/578 Lecture #19: Transport Layer Instructor: Loukas Lazos Dept of Electrical and Computer Engineering University.
1 The Internet and Networked Multimedia. 2 Layering  Internet protocols are designed to work in layers, with each layer building on the facilities provided.
Review the key networking concepts –TCP/IP reference model –Ethernet –Switched Ethernet –IP, ARP –TCP –DNS.
CCNA 1 v3.0 Module 11 TCP/IP Transport and Application Layers.
CS 4396 Computer Networks Lab
CSCI 465 D ata Communications and Networks Lecture 27 Martin van Bommel CSCI 465 Data Communications & Networks 1.
Networking Basics CCNA 1 Chapter 11.
Lecture 4 Overview. Ethernet Data Link Layer protocol Ethernet (IEEE 802.3) is widely used Supported by a variety of physical layer implementations Multi-access.
S305 – Network Infrastructure Chapter 5 Network and Transport Layers.
1 Computer Communication & Networks Lecture 19 Network Layer: IP and Address Mapping Waleed Ejaz.
Protocol Layering Chapter 11.
Transport Protocols.
IP1 The Underlying Technologies. What is inside the Internet? Or What are the key underlying technologies that make it work so successfully? –Packet Switching.
EE 122: Transport Protocols Kevin Lai October 16, 2002.
Data Communications and Networks Chapter 6 – IP, UDP and TCP ICT-BVF8.1- Data Communications and Network Trainer: Dr. Abbes Sebihi.
TCP/IP1 Address Resolution Protocol Internet uses IP address to recognize a computer. But IP address needs to be translated to physical address (NIC).
IP - Internet Protocol No. 1  Seattle Pacific University IP: The Internet Protocol Kevin Bolding Electrical Engineering Seattle Pacific University.
3. END-TO-END PROTOCOLS (PART 1) Rocky K. C. Chang Department of Computing The Hong Kong Polytechnic University 22 March
Chapter 5 Network and Transport Layers
Introduction to TCP/IP networking
Instructor Materials Chapter 9: Transport Layer
IP - The Internet Protocol
IP - The Internet Protocol
IP - The Internet Protocol
CS 268: Lecture 4 (TCP/IP Architecture)
Process-to-Process Delivery:
IP - The Internet Protocol
Introduction to Networks
Transport Protocols: TCP Segments, Flow control and Connection Setup
Introduction to Computer Networks
Transport Protocols: TCP Segments, Flow control and Connection Setup
Process-to-Process Delivery: UDP, TCP
IP - The Internet Protocol
Transport Layer 9/22/2019.
Presentation transcript:

CS 268: Lecture 3 (TCP/IP Architecture) Ion Stoica January 28, 2003

The Problem  Before Internet: different packet-switching networks (e.g., ARPANET, ARPA packet radio) -only nodes on the same network could communicate

Declared Goal  “…both economic and technical considerations lead us to prefer that the interface be as simple and reliable as possible and deal primarily with passing data between networks using different packet switching strategies” V. G. Cerf and R. E. Kahn, 1974

The Challenge  Share resources of different packet switching networks  interconnect existing networks  … but, packet switching networks differ widely -different services e.g., degree of reliability -different interfaces e.g., length of the packet that can be transmitted, address format -different protocols e.g., routing protocols

Possible solutions  Reengineer and develop one global packet switching network standard -Not economically feasible  Have every host implement the protocols of any network it wants to communicate with -Too complex, very high engineering cost

Solution  Add an extra layer: internetworking layer -Hosts implement one higher-level protocol -Networks interconnected by nodes that run the same protocol -Provide the interface between the new protocol and every network

Solution Gateways

Challenge 1: Different Address Formats  Map one address format to another. Why not?  Provide one common format -map lower level addresses to common format  Initially: -length: 24 bit -hierarchical -why hierarchical? NetworkTCP Identifier 8 16

Today Address Format (IPv4)  Length: 32 bits  Organization: hierarchical Network Host0 Network Host1 Network Host Class A Class B Class C Class D0Multicast address 111Class E1Unused0 27

What About the Future ?  Internet is running out of addresses  Solutions -Classless Inter Domain Routing (CIDR) -Network Address Translator (NATs) -Dynamic Address Assignments -…-… -IPv6  Why not variable-sized addresses?

Challenge 2: Different Packet Sizes  Define a maximum packet size over all networks. Why not?  Implement fragmentation/re-assembly -Who is doing fragmentation? -Who is doing re-assembly?

Other Challenges  Delivery time (propagation time + queueing delay + link layer retransmissions?)  Errors  require end-to-end reliability  Different (routing) protocols  coordinate these protocols

Service  Unbounded but finite length messages -Byte streaming (what are the advantages?)  Reliable and in-sequence delivery  Full duplex  Solution: Transmission Control Protocol (TCP)

Original TCP/IP (Cerf & Kahn)  No separation between transport (TCP) and network (IP) layers  One common header -Use ports to multiplex multiple TCP connections on the same host  Byte-based sequence number (Why?)  Flow control, but not congestion control Source/Port WindowACKText n

Today’s TCP/IP  Separate transport (TCP) and network (IP) layer (why?) -Split the common header in: TCP and UDP headers -Fragmentation reassembly done by IP  Congestion control (see next lecture)

IP Header  Comments -HLen – header length only in 32-bit words (5 <= HLen <= 15) -TOS (Type of Service): now split in Differentiated Service Field (6 bits) remaining two bits used by ECN (Early Congestion Notification) -Length – the length of the entire datagram/segment; header + data -Flags: Don’t Fragment (DF) and More Fragments (MF) -Fragment offset – all fragments excepting last one contain multiples of 8 bytes -Header checksum - uses 1’s complement VersionHLen TOSLength Identification Fragment offset Flags Source address Destination address TTLProtocolHeader checksum Options (variable) 20 bytes

TCP Header  Sequence number, acknowledgement, and advertised window – used by sliding-window based flow control  Flags: -SYN, FIN – establishing/terminating a TCP connection -ACK – set when Acknowledgement field is valid -URG – urgent data; Urgent Pointer says where non-urgent data starts -PUSH – don’t wait to fill segment -RESET – abort connection Source port Destination port Options (variable) Sequence number Acknowledgement Advertised window ChecksumUrgent pointer FlagsHdrLen

TCP Header (Cont)  Checksum – 1’s complement and is computed over -TCP header -TCP data -Pseudo-header (from IP header) Note: breaks the layering! Source address Destination address TCP Segment length 0Protocol (TCP)

TCP Connection Establishment  Three-way handshake -Goal: agree on a set of parameters: the start sequence number for each side Client (initiator) Server SYN, SeqNum = x SYN and ACK, SeqNum = y and Ack = x + 1 ACK, Ack = y + 1

Back to the big picture

Goals (Clark’88) 0 Connect existing networks -initially ARPANET and ARPA packet radio network 1. Survivability -ensure communication service even in the presence of network and router failures 2. Support multiple types of services 3. Must accommodate a variety of networks 4. Allow distributed management 5. Allow host attachment with a low level of effort 6. Be cost effective 7. Allow resource accountability

1. Survivability  Continue to operate even in the presence of network failures (e.g., link and router failures) -As long as the network is not partitioned, two endpoint should be able to communicate…moreover, any other failure (excepting network partition) should be transparent to endpoints  Decision: maintain state only at end-points (fate- sharing) -Eliminate the problem of handling state inconsistency and performing state restoration when router fails  Internet: stateless network architecture

2. Types of Services  Add UDP to TCP to better support other types of applications -e.g., “real-time” applications  This was arguably the main reasons for separating TCP and IP  Provide datagram abstraction: lower common denominator on which other services can be built -service differentiation was considered (remember ToS?), but this has never happened on the large scale (Why?)

3. Variety of Networks  Very successful (why?) -Because the minimalist service; it requires from underlying network only to deliver a packet with a “reasonable” probability of success  …does not require: -Reliability -In-order delivery  The mantra: IP over everything -Then: ARPANET, X.25, DARPA satellite network.. -Now: ATM, SONET, WDM…

Other Goals  Allow distributed management -Remember that IP interconnects networks Each network can be managed by a different organization Different organizations need to interact only at the boundaries … but this model doesn’t work well for routing  Cost effective -Sources of inefficiency Header overhead Retransmissions Routing -…but routers relatively simply to implement (especially software side)

Other Goals (Cont)  Low cost of attaching a new host -Not a strong point  higher than other architecture because the intelligence is in hosts (e.g., telephone vs. computer) -Bad implementations or malicious users can produce considerably harm (remember fate-sharing?)  Accountability -Very little so far

What About the Future?  Datagram not the best abstraction for: -resource management,accountability, QoS  A new abstraction: flow?  Routers require to maintain per-flow state (what is the main problem with this raised by Clark?) -State management  Solution -Soft-state: end-hosts responsible to maintain the state

Summary: Internet Architecture  Packet-switched datagram network  IP is the glue  Hourglass architecture -All hosts and routers run IP  Stateless architecture -No per flow state inside network IP TCPUDP ATM Satellite Ethernet

Summary: Minimalist Approach  Dumb network -IP provide minimal functionalities to support connectivity -Addressing, forwarding, routing  Smart end system -Transport layer or application performs more sophisticated functionalities -Flow control, error control, congestion control  Advantages -Accommodate heterogeneous technologies (Ethernet, modem, satellite, wireless) -Support diverse applications (telnet, ftp, Web, X windows) -Decentralized network administration