380 likes | 396 Views
Dive into the world of Internet and intranet protocols and applications, understanding the layered protocol model of computer networks, challenges in heterogeneous environments, and client/server internet application systems. Discover the growth of the internet and intranets, review networking fundamentals, and grasp the concepts of the BSD socket interface. This course will equip you with the knowledge to navigate diverse computing landscapes and design efficient end-user applications.
E N D
Internet and Intranet Protocols and Applications Lecture 1: Introduction; Review of Networking January 18, 2000 Arthur P. Goldberg Computer Science Department New York University artg@cs.nyu.edu
Tonight • Introduction • Growth of the Internet and intranets • Review networking • Layered protocol model of computer networks • Summarize course • Syllabus • Textbooks and other readings, such as RFCs and papers • Assignments: homework, programming projects, final
INTRODUCTION: Why Study “Internet and Intranet Protocols and Applications”? • Same systems used in the two major types of networks, the public Internet and internal (corporate) Intranets • Accessible for study, because protocol standards are published and their design is publicly debated
Systems to study • Protocols • Web • HTTP • SSL • Email • SMTP • POP3 • IMAP • Client and server software (and intermediate systems, like caching proxies, gateways and firewalls) • Object formats for documents and programs (embedded in protocols)
Challenges • Heterogeneity • Client and server system architecture • Performance (in protocols and applications) • Interoperability (with existing protocols and applications) • End-user application design • Applications (Web sites and intranet systems - not a topic of this course)
Other Heterogeneous Dimensions • OS • Palm Pilot … DOS … MVS • Architecture • x86 … CRAY • Spoken language • Legal entity
Client / Server Internet Application Systems • Single client; single server • Multiple client; single server • Multiple client; multiple server • Multiple client; multiple intermediary; multiple server • Intermediaries • Proxies • Gateways • Firewalls • Load managers
The BSD Socket Interface • Partly integrated into existing I/O system calls • Servers • Wait for a message to arrive • Clients • Initiate communications • Comer fig 5.4
We won’t study • Networking below the application layer (a prerequisite - you should be aware of routing, IP, TCP, UDP - but we’ll review today) • Programming languages (e.g. Java) - covered in Amsterdam’s “Programming for the WWW” • Writing HTML, CGI programs (you can learn this yourself) • Cryptographic protocol mathematics (important, but covered in “Computer Security”, Prof. Kedem, T 7-9 WWH 101)
GROWTH OF THE INTERNET AND INTRANETS Millions 01/96 9,472 07/96 12,881 01/97 16,146 07/97 19,540 01/98 29,670 * 07/98 36,739 01/99 43,230 07/99 56,218 Source: Network Wizards; available at http://www.isc.org/ds/host-count-history.html 8/1999 and Kleinrock, Queueing Systems, Vol 2: Computer Applications, pp. 305-308
Growth of the Internet ^ Sampled by PINGing 1% of DNS entries Survey Adjusted Replied Date | # Hosts Count To Ping* Jul 99| 56,218 Jan 99| 43,230 8,426 Jul 98| 36,739 6,529 Jan 98| 29,670 5,331 Jul 97| 19,540 26,053 4,314 Jan 97| 16,146 21,819 3,392 Jul 96| 12,881 16,729 2,569 Jan 96| 9,472 14,352 1,682 Source: Network Wizards; available at http://www.nw.com/zone/report-9607.doc, Jan 1997
Growth of the Web Source: WebCrawler; WAS available at http://webcrawler.com/WebCrawler/Facts/Size.html, in Jan 1997
REVIEW NETWORKING: Layered protocol model of computer networks • Reduce complexity by "layering" protocols • Solve at most a few challenges in each layer • E.g. • Lower layer eliminates all physical noise errors • Upper layer resends lost messages • Each layer offers services to the layer above • Enable improvements to PART of the network
OSI Layered protocol model • Application (We focus on activity here) • [Presentation] • [Session] • Transport • Network • Data • Physical
Mnemonics • Rob: Aggrandized Tutition, NYU Declares Profitability • Traditional: All People Seem To Need Data Processing • ?: A Transvestite Never Dresses (in) Pants! • Nisha: Always Try (to) Date New People
Layers, protocols and interfaces • TF 1-9 • Solid lines - data flow • Dashed lines - virtual communications
Example information flow • TF 1-11 • Source layer 5 sends M to its layer 5 destination peer • Source layer 4 prepends its header H4 • Source layer 3, facing message size limits, fragments into two messages and prepends its headers • Source layer 2 prepends headers and appends trailers • Destination layers reverse the process
Layered Protocol Models • Reference models • OSI • TF 1-16 • TCP/IP • TF 1-18 • Hybrid, Tanenbaum • TF 1-21
HYBRID reference model, top 3 layers, bottom up • Network layer • Route packets from source host to destination host • Routes can be fixed, setup at connection time or dynamic • Congestion control • Accounting • Heterogeneous (inter-) networking
HYBRID reference model, top 3 layers, bottom up, cont. • Transport layer • Maintain persistent connections between processes • Application • Programs that use the network
TCP/IP Model, bottom up • Internet layer • Host-to-host communication • Connectionless • Packets routed independently • Internet Protocol (IP)
TCP/IP Model, bottom up • Transport layer • Peer-to-peer communication between source and destination processes • Two protocols: TCP and UDP • Transmission control protocol (TCP) • Connection-oriented • Reliable; byte stream • Fragmentation and flow control • User Datagram Protocol (UDP) • Connectionless • Unreliable; packets • Less overhead
TCP/IP Model - Application layer • TCP-based • Virtual terminal (TELNET) • File transfer (FTP) • Email (SMTP) • Web (HTTP) • Etc. • UDP - based • Real Audio • Network time protocol (NTP) • TF 1-21
Contest • Create your own layered protocol mnemonic • Eg. • Polish • Democracy? • Never! • the Soviets • Prevent it • Again. • Email me your mnemonic by next week; I’ll post best few.
IP Datagram Header Fields • TF 5-45 • Version • Now 4, Soon to Be 6 • IHL • Header Length; For Options • Type Of Service • Ignored By Routers • Total Length • Up To 2**16 Bytes
IP Datagram Header Fields, cont. • Identification, Fragment • Time To Live • Decremented At Each Hop; Prevents Infinite Loops • Header Checksum • Source Address • Destination Address • Options
Instant Buddy Questions • Prof asks a question • All students work on answer for about a minute • Students explain answer to buddy (neighbor) for 30 seconds • Prof asks one volunteer to explain answer to class
IBQ • What are the services provided by the Network layer (to the Transport layer)? • Eg., list function calls and their arguments.
Transport layer in the Internet • TCP (Transmission Control Protocol) • Uses IP • Reliable • Retransmits IP packets that don’t arrive successfully • Discards duplicate IP packets • Transmits byte stream • Connect before communicate • Point-to-point • Significant overhead • <measure this>
Transport layer in the Internet • UDP (User Datagram Protocol) • Uses IP • Unreliable • Transmits datagrams • Connectionless • Supports broadcast and multi-cast • Less overhead • <measure this>
Transport layer addressing • Communications endpoint addressed by • IP address (32 bit) • Port number (16 bit) • Transport protocol (TCP or UDP)
IP Addresses • Network : Host • TF 5-47 • NIC Assigns Network Numbers • NYU <update this> • Class B • 128.122. X.Y • Special Addresses • TF 5-48
Conclusions • Layering a key concept in computer network design • Determines design and modularity of network software • Major design decision in building a network architecture • Connection-oriented vs. connectionless • Both popular • This course focuses on Application layer software
Reading for students who forget (or never took) Networking • Tanenbaum • Introduction: 1.1 - 1.2.5, 1.3.0 - 1.3.4, 1.4, 1.5.2 - 1.5.4 • The Physical Layer: 2.1 - 2.3 • The Medium Access Sublayer: 4.3.0 - 4.3.1, 4.3.3, 4.5.0 - 4.5.2 • The Network Layer: 5.1, 5.2.0 - 5.2.3, 5.3.0 - 5.3.2, 5.4.0 - 5.4.5, 5.4.7, 5.5.0 - 5.5.3, 5.5.9 - 5.5.10