CS 268: Lecture 4 (TCP/IP Architecture)

Slides:



Advertisements
Similar presentations
IPv4 - The Internet Protocol Version 4
Advertisements

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 CS 4396 Computer Networks Lab Transmission Control Protocol (TCP) Part I.
CP476 Internet Computing TCP/IP 1 Lecture 3. TCP / IP Objective: A in-step look at TCP/IP Purposes and operations Header specifications Implementations.
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
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)
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.
Gursharan Singh Tatla Transport Layer 16-May
CS 268: Lecture 3 (TCP/IP Architecture) Ion Stoica January 28, 2003.
Process-to-Process Delivery:
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 1 OSI Architecture The OSI 7-layer Model OSI – Open Systems Interconnection.
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.
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.
CS 4396 Computer Networks Lab
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.
Advanced UNIX programming Fall 2002, lecture 16 Instructor: Ashok Srinivasan Acknowledgements: The syllabus and power point presentations are modified.
Data Communications and Networks Chapter 6 – IP, UDP and TCP ICT-BVF8.1- Data Communications and Network Trainer: Dr. Abbes Sebihi.
Chapter 5 Network and Transport Layers
Introduction To TCP/IP Networking Mr. Zeeshan Ali, Asst. Professor
UDP TCP.
Chapter 9: Transport Layer
Introduction to TCP/IP networking
Lecture (2).
Instructor Materials Chapter 9: Transport Layer
Transport Protocols Relates to Lab 5. An overview of the transport protocols of the TCP/IP protocol suite. Also, a short discussion of UDP.
A quick intro to networking
IP - The Internet Protocol
Chapter 5 Network and Transport Layers
Scaling the Network: The Internet Protocol
5. End-to-end protocols (part 1)
Transport Layer.
Process-to-Process Delivery, TCP and UDP protocols
TCP.
TCP/IP Transmission Control Protocol / Internet Protocol
IP - The Internet Protocol
TCP - Part I Karim El Defrawy
TCP - Part I Relates to Lab 5. First module on TCP which covers packet format, data transfer, and connection management.
IP - The Internet Protocol
Chapter 20 Network Layer: Internet Protocol
Process-to-Process Delivery:
IP - The Internet Protocol
Advanced Computer Networks
CPEG514 Advanced Computer Networkst
IP - The Internet Protocol
Scaling the Network: The Internet Protocol
Introduction to Networks
Internet Architecture: Design Philosophy -Then and Now
TCP - Part I Relates to Lab 5. First module on TCP which covers packet format, data transfer, and connection management.
Transport Protocols: TCP Segments, Flow control and Connection Setup
Introduction to Computer Networks
Network Architecture Models: Layered Communications
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 4 (TCP/IP Architecture) Ion Stoica February 2, 2004

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

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 istoica@cs.berkeley.edu

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 istoica@cs.berkeley.edu

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 istoica@cs.berkeley.edu

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 istoica@cs.berkeley.edu

Solution Gateways istoica@cs.berkeley.edu

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? 8 16 Network TCP Identifier istoica@cs.berkeley.edu

Today’s Address Format (IPv4) Length: 32 bits Organization: hierarchical 7 24 Class A Network Host 14 16 Class B 1 Network Host 21 8 Class C 1 1 Network Host 28 Class D 1 1 1 Multicast address 27 Class E 1 1 1 1 Unused istoica@cs.berkeley.edu

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? istoica@cs.berkeley.edu

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? istoica@cs.berkeley.edu

Other Challenges Delivery time (propagation time + queueing delay + link layer retransmissions?) Errors  require end-to-end reliability Different (routing) protocols  coordinate these protocols istoica@cs.berkeley.edu

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

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 32 32 16 16 8n Source/Port Source/Port Window ACK Text istoica@cs.berkeley.edu

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) istoica@cs.berkeley.edu

IP Header 4 8 16 19 31 Version HLen TOS Length Identification Flags Fragment offset TTL Protocol Header checksum 20 bytes Source address Destination address Options (variable) 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 istoica@cs.berkeley.edu

TCP Header 4 10 16 31 Source port Destination port Sequence number Acknowledgement HdrLen Flags Advertised window Checksum Urgent pointer Options (variable) 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 istoica@cs.berkeley.edu

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

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 istoica@cs.berkeley.edu

Back to the big picture

Goals (Clark’88) Connect existing networks Survivability initially ARPANET and ARPA packet radio network Survivability ensure communication service even in the presence of network and router failures Support multiple types of services Must accommodate a variety of networks Allow distributed management Allow host attachment with a low level of effort Be cost effective Allow resource accountability istoica@cs.berkeley.edu

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 istoica@cs.berkeley.edu

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?) istoica@cs.berkeley.edu

3. Variety of Networks Very successful (why?) …does not require: 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… istoica@cs.berkeley.edu

Other Goals Allow distributed management Cost effective 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) istoica@cs.berkeley.edu

Other Goals (Cont) Low cost of attaching a new host Accountability 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 istoica@cs.berkeley.edu

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 istoica@cs.berkeley.edu

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 TCP UDP IP Satellite Ethernet ATM istoica@cs.berkeley.edu

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 istoica@cs.berkeley.edu

Announcement If you are interested in doing a wireless project and you are looking for a partner contact Jaspal Sandhu (jaspal@newton.berkeley.edu) istoica@cs.berkeley.edu