380 likes | 392 Views
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
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