520 likes | 715 Views
Special Topics in Computer Engineering: Internet/ Intranet Protocols and Applications. Some of these Slides are Based on Slides by Kurose and Ross Prepared for the Book Computer Networking: A Top Down Approach Featuring the Internet.
E N D
Special Topics in Computer Engineering:Internet/ Intranet Protocols and Applications Some of these Slides are Based on Slides by Kurose and Ross Prepared for the Book Computer Networking: A Top Down Approach Featuring the Internet CPE 0907532: 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 CPE 0907532: Introduction
Systems to study • Protocols • Web (HyperText Transfer Protocol, HTTP; Secure Sockets Layer, SSL) • Email (SMTP, POP3, IMAP) • File Transfer(FTP) • Reliable Multicast (PGM) • Client and server software (and intermediate systems, like caching proxies, gateways and firewalls) • Object formats for documents and programs (embedded in protocols) CPE 0907532: Introduction
Challenges • Heterogeneity • Client and server system architecture • Performance (in protocols and applications) • Interoperability (with existing protocols and applications) • End-user application design CPE 0907532: Introduction
Highly Heterogeneous Computing Environment CPE 0907532: Introduction
Other Heterogeneous Dimensions • OS • Palm Pilot … DOS … MVS … WAP phone • Architecture • x86 … CRAY • Spoken language • Legal entity CPE 0907532: Introduction
millions of connected computing devices: hosts = end systems running network apps communication links fiber, copper, radio, satellite transmission rate = bandwidth routers: forward packets (chunks of data) router workstation server mobile local ISP regional ISP company network What’s the Internet: “nuts and bolts” view CPE 0907532: Introduction
protocolscontrol sending, receiving of msgs e.g., TCP, IP, HTTP, FTP, PPP Internet: “network of networks” loosely hierarchical public Internet versus private intranet Internet standards RFC: Request for comments IETF: Internet Engineering Task Force What’s the Internet: “nuts and bolts” view router workstation server mobile local ISP regional ISP company network CPE 0907532: Introduction
communication infrastructure enables distributed applications: Web, email, games, e-commerce, file sharing communication services provided to apps: Connectionless unreliable connection-oriented reliable What’s the Internet: a service view CPE 0907532: Introduction
roughly hierarchical national/international backbone providers (NBPs) interconnect (peer) with each other privately, or at public Network Access Point (NAPs) regional ISPs connect into NBPs local ISP, company connect into regional ISPs local ISP local ISP NAP NAP Internet structure: network of networks regional ISP NBP B NBP A regional ISP CPE 0907532: Introduction
roughly hierarchical at center: “tier-1” ISPs (e.g., MCI, Sprint, AT&T, Cable and Wireless), national/international coverage treat each other as equals NAP Tier-1 providers also interconnect at public network access points (NAPs) Tier-1 providers interconnect (peer) privately Internet structure: network of networks Tier 1 ISP Tier 1 ISP Tier 1 ISP CPE 0907532: Introduction
Seattle POP: point-of-presence DS3 (45 Mbps) OC3 (155 Mbps) OC12 (622 Mbps) OC48 (2.4 Gbps) Tacoma to/from backbone peering New York … …. Stockton Cheyenne Chicago Pennsauken Relay Wash. DC San Jose Roachdale Kansas City … … … Anaheim to/from customers Atlanta Fort Worth Orlando Tier-1 ISP: e.g., Sprint Sprint US backbone network CPE 0907532: Introduction
“Tier-2” ISPs: smaller (often regional) ISPs Connect to one or more tier-1 ISPs, possibly other tier-2 ISPs NAP Tier-2 ISPs also peer privately with each other, interconnect at NAP • Tier-2 ISP pays tier-1 ISP for connectivity to rest of Internet • tier-2 ISP is customer of tier-1 provider Tier-2 ISP Tier-2 ISP Tier-2 ISP Tier-2 ISP Tier-2 ISP Internet structure: network of networks Tier 1 ISP Tier 1 ISP Tier 1 ISP CPE 0907532: Introduction
“Tier-3” ISPs and local ISPs last hop (“access”) network (closest to end systems) Tier 3 ISP local ISP local ISP local ISP local ISP local ISP local ISP local ISP local ISP NAP Local and tier- 3 ISPs are customers of higher tier ISPs connecting them to rest of Internet Tier-2 ISP Tier-2 ISP Tier-2 ISP Tier-2 ISP Tier-2 ISP Internet structure: network of networks Tier 1 ISP Tier 1 ISP Tier 1 ISP CPE 0907532: Introduction
a packet passes through many networks! Tier 3 ISP local ISP local ISP local ISP local ISP local ISP local ISP local ISP local ISP NAP Tier-2 ISP Tier-2 ISP Tier-2 ISP Tier-2 ISP Tier-2 ISP Internet structure: network of networks Tier 1 ISP Tier 1 ISP Tier 1 ISP CPE 0907532: Introduction
human protocols: “what’s the time?” “I have a question” introductions … specific msgs sent … specific actions taken when msgs received, or other events network protocols: machines rather than humans all communication activity in Internet governed by protocols What’s a protocol? protocols define format, order of msgs sent and received among network entities, and actions taken on msg transmission, receipt CPE 0907532: Introduction
a human protocol and a computer network protocol: TCP connection response Get http://www.awl.com/kurose-ross Got the time? 2:00 <file> time What’s a protocol? Hi TCP connection request Hi Q: Other human protocols? CPE 0907532: Introduction
In Summary, a protocol is .... • An agreement about communication between two or more entities • It specifies – Format of messages – Meaning of messages – Rules for exchange – Procedures for handling problems CPE 0907532: Introduction
Protocol Specification • As designers, we typically specify a protocol in a document, such as an Internet RFC • Many formal and semi-formal representations can describe protocols • Space-Time Diagrams • Finite State Machines (FSM) CPE 0907532: Introduction
Space-Time Diagrams • Describes causal ordering • Defines indication/request/response actions • This diagram shows ‘send and wait’ protocol CPE 0907532: Introduction
Finite State Machine Transition Diagram for TCP Defines States Input (the event that causes transition) Transitions (to new states) CPE 0907532: Introduction
Networks are complex! many “pieces”: hosts routers links of various media applications protocols hardware, software Question: Is there any hope of organizing structure of network? Or at least our discussion of networks? Protocol “Layers” CPE 0907532: Introduction
ticket (complain) baggage (claim) gates (unload) runway landing airplane routing ticket (purchase) baggage (check) gates (load) runway takeoff airplane routing airplane routing Organization of air travel • a series of steps CPE 0907532: Introduction
ticket ticket (purchase) baggage (check) gates (load) runway (takeoff) airplane routing ticket (complain) baggage (claim gates (unload) runway (land) airplane routing baggage gate airplane routing airplane routing takeoff/landing airplane routing departure airport intermediate air-traffic control centers arrival airport Layering of airline functionality Layers: each layer implements a service • via its own internal-layer actions • relying on services provided by layer below CPE 0907532: Introduction
Why layering? Dealing with complex systems: • explicit structure allows identification, relationship of complex system’s pieces • layered reference model for discussion • modularization eases maintenance, updating of system • change of implementation of layer’s service transparent to rest of system • e.g., change in gate procedure doesn’t affect rest of system • layering considered harmful? CPE 0907532: Introduction
application: supporting network applications FTP, SMTP, HTTP transport: process-process data transfer TCP, UDP network: routing of datagrams from source to destination IP, routing protocols link: data transfer between neighboring network elements PPP, Ethernet physical: bits “on the wire” application transport network link physical Internet protocol stack CPE 0907532: Introduction
network link physical link physical M M M Ht M Hn Hn Hn Hn Ht Ht Ht Ht M M M M Ht Ht Hn Hl Hl Hl Hn Hn Hn Ht Ht Ht M M M source Encapsulation message application transport network link physical segment datagram frame switch destination application transport network link physical router CPE 0907532: Introduction
Potential Drawbacks to Layering • Potential drawbacks:A layer may duplicate lower-layer functionality (the classic End to End issue). • A layer may need information that is present in another layer (violates isolation principle). Some researchers and networking engineers are vehemently opposed to layering [Wakeman 1992]. CPE 0907532: Introduction
Internet Protocol (IP) • Only data transmission protocol at Layer 3 • Defines • Internet addressing • Internet packet format • Internet routing CPE 0907532: Introduction
IP Address Details • 32 Bits - divided into two parts • Prefix identifies network • Suffix identifies host • Global authority assigns unique prefix to network (IANA) • Local administrator assigns unique suffix to host CPE 0907532: Introduction
multicast address 1110 network host 110 network 10 host IP Addresses given notion of “network”, let’s examine IP addresses: “class-full” addressing: class 1.0.0.0 to 127.255.255.255 A network 0 host 128.0.0.0 to 191.255.255.255 B 192.0.0.0 to 223.255.255.255 C 224.0.0.0 to 239.255.255.255 D 32 bits CPE 0907532: Introduction
Classes And Network Sizes • Maximum network size determined by class of address • Class A large • Class B medium • Class C small CPE 0907532: Introduction
IP Addressing Example CPE 0907532: Introduction
host part network part 11001000 000101110001000 000000000 200.23.16.0/23 IP addressing: CIDR • classful addressing: • inefficient use of address space, address space exhaustion • e.g., class B net allocated enough addresses for 65K hosts, even if only 2K hosts in that network • CIDR:Classless InterDomain Routing • network portion of address is of arbitrary length • address format: a.b.c.d/x, where x is # bits in network portion of address CPE 0907532: Introduction
Internet Packets • Contains sender and destination addresses • Size depends on data being carried • Called IP datagram • Two Parts Of An IP Datagram • Header • Contains source and destination address • Fixed-size fields • Data Area (Payload) • Variable size up to 64K • No minimum size CPE 0907532: Introduction
IP V4 Datagram format IP protocol version number 32 bits total datagram length (bytes) header length (bytes) type of service head. len ver length for fragmentation/ reassembly fragment offset “type” of data flgs 16-bit identifier max number remaining hops (decremented at each router) upper layer time to live Internet checksum 32 bit source IP address 32 bit destination IP address upper layer protocol to deliver payload to E.g. timestamp, record route taken, specify list of routers to visit. Options (if any) data (variable length, typically a TCP or UDP segment) CPE 0907532: Introduction
IP Semantics • IP is connectionless • Datagram contains identity of destination • Each datagram sent/handled independently • Routes can change at any time CPE 0907532: Introduction
IP Semantics (continued) • IP allows datagrams to be • Delayed • Duplicated • Delivered out-of-order • Lost • Called best effort delivery • Motivation: accommodate all possible networks CPE 0907532: Introduction
Requests For Comment (RFC) • Describe formally (and sometimes not so formally) everything about the Internet. • Actually, RFCs are really a form of Memo. • For amusement, try RFC 968 (“‘Twas the Night Before Startup”) • All are available on-line: www.ietf.org/rfc.html • We use RFCs to learn about SMTP (2821), HTTP (2616) , for example. CPE 0907532: Introduction
RFC Characteristics • RFC Statuses (2026) • Standard track • PS - proposed standard • DS - draft standard • S - standard • Non-standards track • E - experimental • I - information only • H - Historic • BC - Best current practices CPE 0907532: Introduction
Example Network Working Group D. Waitzman Request for Comments: 1149 BBN STC 1 April 1990 A Standard for the Transmission of IP Datagrams on Avian Carriers Status of this Memo This memo describes an experimental method for the encapsulation of IP datagrams in avian carriers. This specification is primarily useful in Metropolitan Area Networks. This is an experimental, not recommended standard. … Overview and Rational Avian carriers can provide high delay, low throughput, and low altitude service. The connection topology is limited to a single point-to-point path for each carrier, used with standard carriers, but many carriers can be used without significant interference with each other, outside of early spring. This is because of the 3D ether space available to the carriers, in contrast to the 1D ether used by IEEE802.3. The carriers have an intrinsic collision avoidance system, which increases Frame Format The IP datagram is printed, on a small scroll of paper, in hexadecimal, with each octet separated by whitestuff and blackstuff. The scroll of paper is wrapped around one leg of the avian carrier. A band of duct tape is used to secure the datagram's edges. The bandwidth is limited to the leg length. CPE 0907532: Introduction
RFC citations • RFC citations appear in this format: • #### Title of RFC. Author 1, Author 2, Author 3. Issue date. (Format: ASCII) (Obsoletes xxx) (Obsoleted by xxx) (Updates xxx) (Updated by xxx) (Also FYI ####) (Status: ssssss) • Good searchable index • http://www.rfc-editor.org/rfcsearch.html CPE 0907532: Introduction
Internet Engineering task ForceIETF • Open organization - anyone may join • Primarily dedicated to development of the Internet protocols. • Ideas are presented as RFCs and go through a review process • RFC standards described in RFC 1602 • Proposed • Draft • Standard CPE 0907532: Introduction
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 CPE 0907532: Introduction
EXTRA SLIDES CPE 0907532: Introduction
Finite State Machine Representation • Visualize as a 2D Array of functions • Rows represent states • Columns represent events • Current State is an index i • New Event is some index j • For each State/Event pair specify • An action to take (a function to execute) • A next state CPE 0907532: Introduction
Protocol Model • Intended for protocol designers • Divides protocols into layers • Each layer devoted to one sub-problem • Example: ISO 7-layer reference model CPE 0907532: Introduction
OSI Layered protocol model • Application (We focus on activity here) • Presentation - Data representation • Session - Login and passwords • Transport - Reliability • Network - Packet forwarding • Data Link - Hardware frame definitions • Physical - Underlying hardware CPE 0907532: Introduction
TCP/IP Model vs. OSI TF 1-9 CPE 0907532: Introduction
network links have MTU (max.transfer size) - largest possible link-level frame. different link types, different MTUs large IP datagram divided (“fragmented”) within net one datagram becomes several datagrams “reassembled” only at final destination IP header bits used to identify, order related fragments IP Fragmentation & Reassembly ( fragmentation: in: one large datagram out: 3 smaller datagrams reassembly CPE 0907532: Introduction