190 likes | 252 Views
Explore the birth of TCP/IP, its applications, and the significance of studying TCP performance metrics in modern networking. Learn about TCP adoption, critical role, and emerging technologies in this comprehensive guide.
E N D
Chapter 1 Introduction
Objectives • Understand the significance of TCP/IP in the modern era of pervasive computing and communication • Appreciate the need for designing and building high-performance TCP/IP networks • Gain a clear understanding of the metrics used for performance evaluation of TCP/IP networks
Contents • TCP History • TCP Applications • Significance of TCP Performance • Performance Metrics
Birth of TCP/IP • 1973: First note by Dr. Vinton G. Cerf • Only the concept of TCP (no separate IP) • 1974: Cerf & Kahn published detailed discussion of TCP design in Transcom • Still no separate IP • 1974: First official spec. of TCP in RFC 675 • Still no separate IP • 1978: Split into two protocol stacks • TCP: RFC 760 • IP: RFC 761
Adoption of TCP/IP • 1980: DoD adopts TCP/IP as preferred protocol for ARPAnet • 1983: All sites connected to ARPANet switch to TCP/IP
TCP Applications
Basic TCP Applications • Email (SMTP) • Web browsing (HTTP) • File transfer (FTP) • Remote login (RLOGIN) These are the most popular, standard TCP applications. Other customized applications can be built on top of these basic applications.
Significance of TCP Performance
Why Study TCP Performance • Dependence on TCP/IP networks • The critical role of TCP protocol engine • Emergence of new networking technologies and environments • IP convergence
Dependence on TCP/IP Networks • More people rely on TCP/IP networks than ever before • Some use TCP/IP consciously • E.g. file download • Some use it without knowing • For example withdrawing money from ATM machine
Dependence on TCP/IP (cont.) • We depend on TCP at office, home, and while on the move • We depend on TCP not only for research, but also for critical business transactions and entertainment • Internet (powered by TCP/IP) is now a key tool used by our kids to prepare their projects at schools
Critical Role of TCP • Many believe that network performance can be boosted by simply upgrading hardware • Not correct in many occasions • TCP sits between application and network • TCP has total control of how application data should be released to the network • TCP is a complex protocol which interacts with many network elements in the end to end path • Unless TCP is optimized, hardware alone cannot boost network performance
Emergence of New Networking Technologies • We are witnessing proliferation of different networking technologies • Wireless, satellite, optical etc. • TCP algorithms suitable for one environment, do not always work best in another • Need for research into new algorithms • Evidence: large number of articles on TCP are published every year in top journals and conferences
IP Convergence • Many traditional non-TCP/IP industries are converging to TCP/IP • E.g. cellular communication, video and other entertainments, etc. • Understanding TCP/IP performance fundamentals thus becomes important to scientists and engineers working in all these industries
Performance Metrics
Performance Metrics • Round trip delay:The time needed to travel from source to destination, plus the time to travel from destination back to the source. • One way delay: The time needed to travel from source to destination, or from destination to source. • Maximum delay: Maximum tolerable delay
Performance Metrics (Cont.) • Delay variation (or jitter): Variation in delay for individual packets. • Packet loss rate: Ratio of the number of packets lost (or corrupted) to the total number of packets transmitted. • Bandwidth: Application bytes transferred in seconds.
Performance Metrics (Cont.) • Throughput variation: Variability in the received bandwidth over a given time scale. • File transfer time: Time takes to transfer a file/object on the WWW. • Fairness: Long-term/short-term fairness among all TCP/UDP flows. • Resource consumption: Amount of resource consumed, e.g. CPU cycles, memory usage, battery, etc.