1 / 52

Special Topics in Computer Engineering: Internet/ Intranet Protocols and Applications

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.

quanda
Download Presentation

Special Topics in Computer Engineering: Internet/ Intranet Protocols and Applications

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 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

  2. 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

  3. 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

  4. 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

  5. Highly Heterogeneous Computing Environment CPE 0907532: Introduction

  6. Other Heterogeneous Dimensions • OS • Palm Pilot … DOS … MVS … WAP phone • Architecture • x86 … CRAY • Spoken language • Legal entity CPE 0907532: Introduction

  7. 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

  8. 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

  9. 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

  10. 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

  11. 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

  12. 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

  13. “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

  14. “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

  15. 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

  16. 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

  17. 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

  18. 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

  19. 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

  20. Space-Time Diagrams • Describes causal ordering • Defines indication/request/response actions • This diagram shows ‘send and wait’ protocol CPE 0907532: Introduction

  21. Finite State Machine Transition Diagram for TCP Defines States Input (the event that causes transition) Transitions (to new states) CPE 0907532: Introduction

  22. 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

  23. 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

  24. 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

  25. 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

  26. 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

  27. 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

  28. 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

  29. Internet Protocol (IP) • Only data transmission protocol at Layer 3 • Defines • Internet addressing • Internet packet format • Internet routing CPE 0907532: Introduction

  30. 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

  31. 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

  32. Classes And Network Sizes • Maximum network size determined by class of address • Class A large • Class B medium • Class C small CPE 0907532: Introduction

  33. IP Addressing Example CPE 0907532: Introduction

  34. 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

  35. 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

  36. 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

  37. IP Semantics • IP is connectionless • Datagram contains identity of destination • Each datagram sent/handled independently • Routes can change at any time CPE 0907532: Introduction

  38. 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

  39. 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

  40. 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

  41. 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

  42. 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

  43. 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

  44. 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

  45. EXTRA SLIDES CPE 0907532: Introduction

  46. 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

  47. 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

  48. 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

  49. TCP/IP Model vs. OSI TF 1-9 CPE 0907532: Introduction

  50. 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

More Related