* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
Download Networking Overview
Wake-on-LAN wikipedia , lookup
Net neutrality wikipedia , lookup
Distributed firewall wikipedia , lookup
Network tap wikipedia , lookup
Computer network wikipedia , lookup
Net neutrality law wikipedia , lookup
Cracking of wireless networks wikipedia , lookup
Airborne Networking wikipedia , lookup
Piggybacking (Internet access) wikipedia , lookup
Deep packet inspection wikipedia , lookup
Zero-configuration networking wikipedia , lookup
Internet protocol suite wikipedia , lookup
Recursive InterNetwork Architecture (RINA) wikipedia , lookup
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 Spring 2006 CPE 0907532: Introduction 1-1 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 Spring 2006 CPE 0907532: Introduction 1-2 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 Spring 2006 (embedded in protocols) CPE 0907532: Introduction 1-3 Challenges Heterogeneity Client and server system architecture Performance (in protocols and applications) Interoperability (with existing protocols and applications) End-user application design Spring 2006 CPE 0907532: Introduction 1-4 Highly Heterogeneous Computing Environment Issue Smallest CPU speed 50 MIPS RAM BW 10 MB 3 10 bps Num CPUs 2 Latency Spring 2006 Largest log10 (L/S) 3 5000 10 GB 3 10 9 6 7 2 x 10 7 1 micro sec 1 sec 6 CPE 0907532: Introduction 1-5 Other Heterogeneous Dimensions OS Palm Pilot … DOS … MVS … WAP phone Architecture x86 … CRAY Spoken language Legal entity Spring 2006 CPE 0907532: Introduction 1-6 What’s the Internet: “nuts and bolts” view millions of connected computing devices: hosts = end systems running network apps communication links router server workstation mobile local ISP fiber, copper, radio, satellite transmission rate = bandwidth regional ISP routers: forward packets (chunks of data) company network Spring 2006 CPE 0907532: Introduction 1-7 What’s the Internet: “nuts and bolts” view protocols control sending, receiving of msgs e.g., TCP, IP, HTTP, FTP, PPP Internet: “network of router server workstation mobile local ISP networks” loosely hierarchical public Internet versus private intranet Internet standards RFC: Request for comments IETF: Internet Engineering Task Force Spring 2006 regional ISP company network CPE 0907532: Introduction 1-8 What’s the Internet: a service view communication infrastructure enables distributed applications: Web, email, games, ecommerce, file sharing communication services provided to apps: Spring 2006 Connectionless unreliable connection-oriented reliable CPE 0907532: Introduction 1-9 Internet structure: network of networks 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 Spring 2006 local ISP regional ISP NBP B NAP NAP NBP A regional ISP local ISP CPE 0907532: Introduction 1-10 Internet structure: network of networks roughly hierarchical at center: “tier-1” ISPs (e.g., MCI, Sprint, AT&T, Cable and Wireless), national/international coverage treat each other as equals Tier-1 providers interconnect (peer) privately Spring 2006 Tier 1 ISP Tier 1 ISP NAP Tier-1 providers also interconnect at public network access points (NAPs) Tier 1 ISP CPE 0907532: Introduction 1-11 Tier-1 ISP: e.g., Sprint Sprint US backbone network Seattle Tacoma DS3 (45 Mbps) OC3 (155 Mbps) OC12 (622 Mbps) OC48 (2.4 Gbps) POP: point-of-presence to/from backbone Stockton … … Kansas City . … Anaheim peering … … San Jose Cheyenne Chicago Roachdale New York Pennsauken Relay Wash. DC Atlanta to/from customers Fort Worth Spring 2006 Orlando CPE 0907532: Introduction 1-12 Internet structure: network of networks “Tier-2” ISPs: smaller (often regional) ISPs Connect to one or more tier-1 ISPs, possibly other tier-2 ISPs 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 1 ISP Tier 1 ISP Tier-2 ISP Spring 2006 Tier-2 ISP NAP Tier 1 ISP Tier-2 ISPs also peer privately with each other, interconnect at NAP Tier-2 ISP Tier-2 ISP CPE 0907532: Introduction 1-13 Internet structure: network of networks “Tier-3” ISPs and local ISPs last hop (“access”) network (closest to end systems) local ISP Local and tier3 ISPs are customers of higher tier ISPs connecting them to rest of Internet Spring 2006 Tier 3 ISP Tier-2 ISP local ISP local ISP local ISP Tier-2 ISP Tier 1 ISP Tier 1 ISP Tier-2 ISP local local ISP ISP NAP Tier 1 ISP Tier-2 ISP local ISP Tier-2 ISP local ISP CPE 0907532: Introduction 1-14 Internet structure: network of networks a packet passes through many networks! local ISP Tier 3 ISP Tier-2 ISP local ISP local ISP local ISP Tier-2 ISP Tier 1 ISP Tier 1 ISP Spring 2006 Tier-2 ISP local local ISP ISP NAP Tier 1 ISP Tier-2 ISP local ISP Tier-2 ISP local ISP CPE 0907532: Introduction 1-15 What’s a protocol? human protocols: “what’s the time?” “I have a question” introductions … specific msgs sent … specific actions taken when msgs received, or other events Spring 2006 network protocols: machines rather than humans all communication activity in Internet governed by protocols protocols define format, order of msgs sent and received among network entities, and actions taken on msg transmission, receipt CPE 0907532: Introduction 1-16 What’s a protocol? a human protocol and a computer network protocol: Hi TCP connection request Hi TCP connection response Got the time? Get http://www.awl.com/kurose-ross 2:00 <file> time Q: Other human protocols? Spring 2006 CPE 0907532: Introduction 1-17 In Summary, a protocol is .... An agreement about communication between two or more entities It specifies – – – – Spring 2006 Format of messages Meaning of messages Rules for exchange Procedures for handling problems CPE 0907532: Introduction 1-18 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) Spring 2006 CPE 0907532: Introduction 1-19 Space-Time Diagrams • Describes causal ordering • Defines indication/request/response actions •This diagram shows ‘send and wait’ protocol Spring 2006 CPE 0907532: Introduction 1-20 Finite State Machine Transition Diagram for TCP Defines States Input (the event that causes transition) Transitions (to new states) Spring 2006 CPE 0907532: Introduction 1-21 Protocol “Layers” Networks are complex! many “pieces”: hosts routers links of various media applications protocols hardware, software Spring 2006 Question: Is there any hope of organizing structure of network? Or at least our discussion of networks? CPE 0907532: Introduction 1-22 Organization of air travel ticket (purchase) ticket (complain) baggage (check) baggage (claim) gates (load) gates (unload) runway takeoff runway landing airplane routing airplane routing airplane routing a series of steps Spring 2006 CPE 0907532: Introduction 1-23 Layering of airline functionality ticket (purchase) ticket (complain) ticket baggage (check) baggage (claim baggage gates (load) gates (unload) gate runway (takeoff) runway (land) takeoff/landing airplane routing airplane routing airplane routing departure airport airplane routing airplane routing intermediate air-traffic control centers arrival airport Layers: each layer implements a service via its own internal-layer actions relying on services provided by layer below Spring 2006 CPE 0907532: Introduction 1-24 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? Spring 2006 CPE 0907532: Introduction 1-25 Internet protocol stack application: supporting network applications application FTP, SMTP, HTTP transport: process-process data transport transfer TCP, UDP network: routing of datagrams from source to destination IP, routing protocols link: data transfer between neighboring network elements link physical PPP, Ethernet physical: bits “on the wire” Spring 2006 network CPE 0907532: Introduction 1-26 Encapsulation source message segment M Ht M datagram Hn Ht M frame Hl Hn Ht M application transport network link physical link physical switch destination M Ht M Hn Ht Hl Hn Ht M M Spring 2006 application transport network link physical Hn Ht Hl Hn Ht M M network link physical Hn Ht M router CPE 0907532: Introduction 1-27 Potential Drawbacks to Layering Some researchers and networking engineers are vehemently opposed to layering [Wakeman 1992]. Spring 2006 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). CPE 0907532: Introduction 1-28 Internet Protocol (IP) Only data transmission protocol at Layer 3 Defines Internet addressing Internet packet format Internet routing Spring 2006 CPE 0907532: Introduction 1-29 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 Spring 2006 CPE 0907532: Introduction 1-30 IP Addresses given notion of “network”, let’s examine IP addresses: “class-full” addressing: class A 0 network B 10 C 110 D 1110 1.0.0.0 to 127.255.255.255 host network 128.0.0.0 to 191.255.255.255 host network multicast address host 192.0.0.0 to 223.255.255.255 224.0.0.0 to 239.255.255.255 32 bits Spring 2006 CPE 0907532: Introduction 1-31 Classes And Network Sizes Maximum network size determined by class of address Spring 2006 Class A large Class B medium Class C small CPE 0907532: Introduction 1-32 IP Addressing Example Spring 2006 CPE 0907532: Introduction 1-33 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 network part host part 11001000 00010111 0001000 000000000 200.23.16.0/23 Spring 2006 CPE 0907532: Introduction 1-34 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) Spring 2006 Variable size up to 64K No minimum size CPE 0907532: Introduction 1-35 IP V4 Datagram format IP protocol version number header length (bytes) “type” of data max number remaining hops (decremented at each router) upper layer protocol to deliver payload to 32 bits type of ver head. len service length fragment 16-bit identifier flgs offset time to upper Internet layer live checksum for fragmentation/ reassembly 32 bit source IP address 32 bit destination IP address Options (if any) data (variable length, typically a TCP or UDP segment) Spring 2006 total datagram length (bytes) E.g. timestamp, record route taken, specify list of routers to visit. CPE 0907532: Introduction 1-36 IP Semantics IP is connectionless Datagram contains identity of destination Each datagram sent/handled independently Routes can change at any time Spring 2006 CPE 0907532: Introduction 1-37 IP Semantics (continued) IP allows datagrams to be Delayed Duplicated Delivered out-of-order Lost Called best effort delivery Motivation: accommodate all possible networks Spring 2006 CPE 0907532: Introduction 1-38 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. Spring 2006 CPE 0907532: Introduction 1-39 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 Spring 2006 CPE 0907532: Introduction 1-40 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 1-41 Spring 2006 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 Spring 2006 CPE 0907532: Introduction 1-42 Internet Engineering task Force IETF 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 Spring 2006 Proposed Draft Standard CPE 0907532: Introduction 1-43 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 Spring 2006 This course focuses on Application layer software CPE 0907532: Introduction 1-44 EXTRA SLIDES Spring 2006 CPE 0907532: Introduction 1-45 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 Spring 2006 An action to take (a function to execute) A next state CPE 0907532: Introduction 1-46 Protocol Model Intended for protocol designers Divides protocols into layers Each layer devoted to one sub-problem Example: ISO 7-layer reference model Spring 2006 CPE 0907532: Introduction 1-47 OSI Layered protocol model Application (We focus on activity here) Presentation - Data representation Session Transport Network Data Link Physical Spring 2006 - Login and passwords Reliability Packet forwarding Hardware frame definitions Underlying hardware CPE 0907532: Introduction 1-48 TCP/IP Model vs. OSI TF 1-9 Spring 2006 CPE 0907532: Introduction 1-49 IP Fragmentation & Reassembly ( 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 Spring 2006 fragmentation: in: one large datagram out: 3 smaller datagrams reassembly CPE 0907532: Introduction 1-50 IP Fragmentation and Reassembly length ID fragflag offset =4000 =x =0 =0 One large datagram becomes several smaller datagrams length ID fragflag offset =1500 =x =1 =0 length ID fragflag offset =1500 =x =1 =1480 length ID fragflag offset =1040 =x =0 =2960 Spring 2006 CPE 0907532: Introduction 1-51 Message Segmentation Applet http://media.pearsoncmg.com/aw/aw_kurose _network_2/applets/message/messageseg mentation.html Spring 2006 CPE 0907532: Introduction 1-52