* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
Download chapterw3
Multiprotocol Label Switching wikipedia , lookup
Distributed operating system wikipedia , lookup
Zero-configuration networking wikipedia , lookup
Piggybacking (Internet access) wikipedia , lookup
Asynchronous Transfer Mode wikipedia , lookup
Computer network wikipedia , lookup
Distributed firewall wikipedia , lookup
Wake-on-LAN wikipedia , lookup
Network tap wikipedia , lookup
Cracking of wireless networks wikipedia , lookup
Airborne Networking wikipedia , lookup
List of wireless community networks by region wikipedia , lookup
Internet protocol suite wikipedia , lookup
Peer-to-peer wikipedia , lookup
Deep packet inspection wikipedia , lookup
Packet switching wikipedia , lookup
UniPro protocol stack wikipedia , lookup
Recursive InterNetwork Architecture (RINA) wikipedia , lookup
Slides for Chapter 3: Networking and Internetworking From Coulouris, Dollimore and Kindberg Distributed Systems: Concepts and Design Edition 4, © Pearson Education 2005 Internet Architecture The Design Philosophy of the DARPA Internet Protocols D. Clark, SIGCOMM 1998 Today’s Reading Conceptual Lessons Design principles/priorities were designed for a certain type of network. As the Internet evolves, we feel the sting of some of these choices. Examples: Commercialization Engineering/Realization is key to testing an idea. Technical Lessons Packet switching Fate Sharing/Soft state Fundamental Goal “technique for multiplexed utilization of existing interconnected networks” Multiplexing (sharing) Shared use of a single communications channel Existing networks (interconnection) Fundamental Goal: Sharing Packet Switching No connection setup Forwarding based on destination address in packet Efficient sharing of resources Tradeoff: Resource management potentially more difficult. Type of Packet Switching: Datagrams Information for forwarding traffic is contained in destination address of packet No state established ahead of time (helps fate sharing) Basic building block Minimal assumption about network service Alternatives Circuit Switching: Signaling protocol sets up entire path out-of-band. (cf. the phone network) Virtual Circuits: Hybrid approach. Packets carry “tags” to indicate path, forwarding over IP Source routing: Complete route is contained in each data packet An Age-Old Debate Circuit Switching Resource control, accounting, ability to “pin” paths, etc. Packet Switching Sharing of resources, soft state (good resilience properties), etc. It is held that packet switching was one of the Internet’s greatest design choices. Of course, there are constant attempts to shoehorn the best aspects of circuits into packet switching. Examples: Capabilities, MPLS, ATM, IntServ QoS, etc. Stopping Unwanted Traffic is Hard February 2000 March 2006 Research: Stopping Unwanted Traffic Datagram networks: easy for anyone to send traffic to anyone else…even if they don’t want it! cnn.com Possible Defenses Monitoring + Filtering: Detect DoS attack and install filters to drop traffic. Capabilities: Only accept traffic that carries a “capability” The Design Goals of Internet, v1 Interconnection/Multiplexing (packet switching) Resilience/Survivability (fate sharing) Heterogeneity Decreasing Different types of services Priority Different types of networks Distributed management Cost effectiveness “This set of goals might seem to be nothing than a checklist of all the desirable Ease of attachment more network features. It is important to understand that these goals are in order of importance, and Accountability an entirely different network architecture would result if the order were changed.” These goals were prioritized for a military network. Should priorities change as the network evolves? Fundamental Goal: Interconnection Need to interconnect many existing networks Hide underlying technology from applications Decisions: Network provides minimal functionality “Narrow waist” email WWW phone... SMTP HTTP RTP... Applications TCP UDP… IP ethernet PPP… CSMA async sonet... Technology copper fiber radio... Tradeoff: No assumptions, no guarantees. The “Curse of the Narrow Waist” IP over anything, anything over IP Has allowed for much innovation both above and below the IP layer of the stack An IP stack gets a device on the Internet Drawback: very difficult to make changes to IP But…people are trying NSF GENI project: http://www.geni.net/ Interconnection: “Gateways” Interconnect heterogeneous networks No state about ongoing connections Stateless packet switches Generally, router == gateway But, we can think of your home router/NAT as also performing the function of a gateway 192.168.1.51 Home Network 192.168.1.52 68.211.6.120:50878 68.211.6.120:50879 Internet Network Address Translation For outbound traffic, the gateway: Creates a table entry for computer's local IP address and port number Replaces the sending computer's non-routable IP address with the gateway IP address. replaces the sending computer's source port For inbound traffic, the gateway: checks the destination port on the packet rewrites the destination address and destination port those in the table and forwards traffic to local machine Goal #2: Survivability Network should continue to work, even if some devices fail, are compromised, etc. Failures on the Abilene (Internet 2) backbone network over the course of 6 months How well does the current Internet support survivability? Goal #2: Survivability Two Options Replication Keep state at multiple places in the network, recover when nodes crash Fate-sharing Acceptable to lose state information for some entity if the entity itself is lost Reasons for Fate Sharing Can support arbitrarily complex failure scenarios Engineering is easier Some reversals of this trend: NAT, Routing Control Platform Goal #3: Heterogeneous Services TCP/IP designed as a monolithic transport TCP for flow control, reliable delivery IP for forwarding Became clear that not every type of application would need reliable, in-order delivery Example: Voice and video over networks Example: DNS Why don’t these applications require reliable, in-order delivery? Narrow waist: allowed proliferation of transport protocols Goal #3b: Heterogeneous Networks Build minimal functionality into the network No need to re-engineer for each type of network “Best effort” service model. Lost packets Out-of-order packets No quality guarantees No information about failures, performance, etc. Tradeoff: Network management more difficult Goal #4: Distributed Management Many examples: Addressing (ARIN, RIPE, APNIC, etc.) Though this was recently threatened. Naming (DNS) Routing (BGP) No single entity in charge. Allows for organic growth, scalable management. Tradeoff: No one party has visibility/control. No Owner, No Responsible Party “Some of the most significant problems with the Internet today relate to lack of sufficient tools for distributed management, especially in the area of routing.” Hard to figure out who/what’s causing a problem Worse yet, local actions have global effects… Goal #5: Cost Effectiveness Packet headers introduce high overhead End-to-end retransmission of lost packets Potentially wasteful of bandwidth by placing burden on the edges of the network Arguably a good tradeoff. Current trends are to exploit redundancy even more. Goal #6: Ease of Attachment IP is “plug and play” Anything with a working IP stack can connect to the Internet (hourglass model) A huge success! Lesson: Lower the barrier to innovation/entry and people will get creative (e.g., Cerf and Kahn probably did not think about IP stacks on phones, sensors, etc.) But…. Tradeoff: Burden on end systems/programmers. Goal #7: Accountability Note: Accountability mentioned in early papers on TCP/IP, but not prioritized Datagram networks make accounting tricky. The phone network has had an easier time figuring out billing Payments/billing on the Internet is much less precise Tradeoff: Broken payment models and incentives. What’s Missing? Security Availability Accountability (the other kind) Support for disconnected/intermittent operation Mobility Scaling … Today’s Reading Design Philosophy of the DARPA Internet Protocols. Dave Clark, 1988. Conceptual Lessons Design principles/priorities were designed for a certain type of network. As the Internet evolves, we feel the sting of some of these choices. Examples: Commercialization, Engineering/Realization is key to testing an idea. Technical Lessons Packet switching Fate Sharing/Soft state Design Goal Shakeup Cost of bandwidth is dropping. IP networks are becoming a commodity. Management == Human intervention Costly!! Human error a leading cause of downtime More bandwidth: are 40-byte headers still “big”? Today’s Reading Design Philosophy of the DARPA Internet Protocols. Dave Clark, 1988. Conceptual Lessons Design principles/priorities were designed for a certain type of network. As the Internet evolves, we feel the sting of some of these choices. Examples: Commercialization, Engineering/Realization is key to testing an idea. Technical Lessons Packet switching Fate Sharing/Soft state Clark’s Paper and This Course Flexible architectures (Good Thing) leave a lot of "wiggle room". To determine whether something's going to work, it needs to be implemented/engineered. Networking Issues (1) Performance: Latency (time between send and start to receive) Data transfer rate (bits per second) Transmission time = latency + length / transfer rate System bandwidth, throughput: total volume of traffic in a given amount of time Using different channels concurrently can make bandwidth > data transfer rate traffic load can make bandwidth < data transfer rate network speed < memory speed (about 1000 times) network speed > disk speed (high-speed network file servers can beat local disks) Instructor’s Guide for Coulouris, Dollimore and Kindberg Distributed Systems: Concepts and Design Edn. 4 © Pearson Education 2005 Networking Issues (2) scalability reliability corruption is rare mechanisms in higher-layers to recover errors errors are usually timing failures, the receiver doesn't have resources to handle the messages security firewall on gateways (entry point to org's intranet) encryption is usually in higher-layers mobility--communication is more challenging: locating, routing,... quality of service--real-time services multicasting--one-to-many communication Instructor’s Guide for Coulouris, Dollimore and Kindberg Distributed Systems: Concepts and Design Edn. 4 © Pearson Education 2005 Types of Networks (1) Local Area Networks (LAN) floor/building-wide single communication medium no routing, broadcast segments connected by switches or hubs high bandwidth, low latency Ethernet - 10Mbps, 100Mbps, 1Gbps no latency guarantees (what could be the consequences?) Personal area networks (PAN) [ad-hoc networks]: blue tooth, infra-red for PDAs, cell phones, … Instructor’s Guide for Coulouris, Dollimore and Kindberg Distributed Systems: Concepts and Design Edn. 4 © Pearson Education 2005 Types of Networks (2) Metropolitan Area Networks (MAN) city-wide, up to 50 km Digital Subscriber Line (DSL): .25 - 8 Mbps, 5.5km from switch Cable modem: 1.5 Mbps, longer range than DSL Instructor’s Guide for Coulouris, Dollimore and Kindberg Distributed Systems: Concepts and Design Edn. 4 © Pearson Education 2005 Types of Networks (3) Wide Area Networks (WAN) world-wide Different organizations Large distances routed, latency .1 - .5 seconds 1-10 Mbps (upto 600 Mbps) Instructor’s Guide for Coulouris, Dollimore and Kindberg Distributed Systems: Concepts and Design Edn. 4 © Pearson Education 2005 Types of Networks (4) Wireless local area networks (WLAN) IEEE 802.11 (WiFi) 10-100 Mbps, 1.5km 802.11 (1997): upto 2 Mbps, 2.4 GHz 802.11a (1999): upto 54 Mbps, 5 GHz, 60 feet 802.11b (1999): upto 11 Mbps, 2.4 GHz, 300 feet [most popular] 802.11g (2003): upto 54 Mbps, 2.4 GHz [backward compatible with 802.11b, becoming more popular] Wireless metropolitan area networks (WMAN) IEEE 802.16 (WiMax) 1.5-20 Mbps, 5-50km Instructor’s Guide for Coulouris, Dollimore and Kindberg Distributed Systems: Concepts and Design Edn. 4 © Pearson Education 2005 Types of Networks (5) Wireless wide area networks (WWAN) worldwide GSM (Global System for Mobile communications) 9.6 – 33 kbps 3G (“third generation”): 128-384 kbps to 2Mbps Instructor’s Guide for Coulouris, Dollimore and Kindberg Distributed Systems: Concepts and Design Edn. 4 © Pearson Education 2005 Types of Networks (6) Internetworks connecting different kinds of networks routers, gateways Instructor’s Guide for Coulouris, Dollimore and Kindberg Distributed Systems: Concepts and Design Edn. 4 © Pearson Education 2005 Network performance Example Range Bandwidth Latency (Mbps) (ms) LAN Ethernet 1-2 km 10-1000 1-10 MAN ATM 250 km 1-150 10 WAN IP routing worldwide .01-600 100-500 worldwide 0.5-600 100-500 Wired: Internetwork Internet Wireless: WPAN Bluetooth (802.15.1) 10 - 30m 0.5-2 5-20 WLAN WiFi (IEEE 802.11) 0.15-1.5 km 2-54 5-20 WMAN WiMAX (802.16) 550 km 5-20 WWAN GSM, 3G phone nets worldwide 0.01-2 1.5-20 Instructor’s Guide for Coulouris, Dollimore and Kindberg Distributed Systems: Concepts and Design Edn. 4 © Pearson Education 2005 100-500 Network principles (1) Packet transmission message: logical unit of informatio packet: transmission unit restricted length: sufficient buffer storage, reduce hogging Instructor’s Guide for Coulouris, Dollimore and Kindberg Distributed Systems: Concepts and Design Edn. 4 © Pearson Education 2005 Network principles (2) Data Streaming audio/video Need 120 Mbps (1.5 Mbps compressed) play time: the time when a frame need to be displayed for example, 24 frames per second, frame 48 must be display after two seconds IP protocol provides no guaranteesIPv6 (new) includes features for real-time streams, stream data are treated separately Resource Reservation Protocol (RSVP), Real-time Transport Protocol (RTP) Instructor’s Guide for Coulouris, Dollimore and Kindberg Distributed Systems: Concepts and Design Edn. 4 © Pearson Education 2005 Network principles (3) Switching schemes (transmission between aribitrary nodes) Broadcast: ethernet, token ring, wireless Circuit switching: wires are connected Packet switching: store-and-forward different routes “store-and-forward” needs to buffer the entire packet before forwarding Frame relay Small packets Looks only at the first few bits Don’t buffer/store the entire frame Instructor’s Guide for Coulouris, Dollimore and Kindberg Distributed Systems: Concepts and Design Edn. 4 © Pearson Education 2005 Network principles (4) Protocols Key components Sequence of messages Format of messages Instructor’s Guide for Coulouris, Dollimore and Kindberg Distributed Systems: Concepts and Design Edn. 4 © Pearson Education 2005 Network principles (5) Protocol layers, why? Message received Message sent Layer n Layer 2 Layer 1 Sender Communication medium Instructor’s Guide for Coulouris, Dollimore and Kindberg Distributed Systems: Concepts and Design Edn. 4 © Pearson Education 2005 Recipient Network principles (6) Encapsulation in layered protocols Applic ation-layer mess age Pres entation header Sess ion header Transport header Netw ork header Instructor’s Guide for Coulouris, Dollimore and Kindberg Distributed Systems: Concepts and Design Edn. 4 © Pearson Education 2005 Network principles (7) ISO Open Systems Interconnection (OSI) model Mess age receiv ed Mess age s ent Lay ers Applic ation Pres entation Sess ion Transport Netw ork Data link Phy sical Sender Communic ation medium Instructor’s Guide for Coulouris, Dollimore and Kindberg Distributed Systems: Concepts and Design Edn. 4 © Pearson Education 2005 Recipient OSI Model Open Systems Interconnection (OSI) is a set of internationally recognized, non-proprietary standards for networking and for operating system involved in networking functions. 7 Layers 7. Application Layer 6. Presentation Layer 5. Session Layer 4. Transport Layer 3. Network Layer 2. Data Link Layer 1. Physical Layer All People Seem To Need Data Processing Tasks involved in sending letter LAYER 7 – The APPLICATION Layer The top layer of the OSI model Provides a set of interfaces for sending and receiving applications to gain access to and use network services, such as: networked file transfer, message handling and database query processing The application layer is responsible for providing services to the user. LAYER 6 – The PRESENTATION Layer Manages data-format information for networked communications (the network’s translator) For outgoing messages, it converts data into a generic format for network transmission; for incoming messages, it converts data from the generic network format to a format that the receiving application can understand This layer is also responsible for certain protocol conversions, data encryption/decryption, or data compression/decompression A special software facility called a “redirector” operates at this layer to determine if a request is network related on not and forward networkrelated requests to an appropriate network resource The presentation layer is responsible for translation, compression, and encryption. LAYER 5 – The SESSION Layer Enables two networked resources to hold ongoing communications (called a session) across a network Applications on either end of the session are able to ex hange data for the duration of the session This layer is: Responsible for initiating, maintaining and terminating sessions Responsible for security and access control to session information (via session participant identification) Responsible for synchronization services, and for checkpoint services The session layer is responsible for dialog control and synchronization. LAYER 4 – The TRANSPORT Layer Manages the transmission of data across a network Manages the flow of data between parties by segmenting long data streams into smaller data chunks (based on allowed “packet” size for a given transmission medium) Reassembles chunks into their original sequence at the receiving end Provides acknowledgements of successful transmissions and requests resends for packets which arrive with errors The transport layer is responsible for the delivery of a message from one process to another. LAYER 3 – The NETWORK Layer Handles addressing messages for delivery, as well as translating logical network addresses and names into their physical counterparts Responsible for deciding how to route transmissions between computers This layer also handles the decisions needed to get data from one point to the next point along a network path This layer also handles packet switching and network congestion control The network layer is responsible for the delivery of individual packets from the source host to the destination host. LAYER 2 – The DATA LINK Layer Handles special data frames (packets) between the Network layer and the Physical layer At the receiving end, this layer packages raw data from the physical layer into data frames for delivery to the Network layer At the sending end this layer handles conversion of data into raw formats that can be handled by the Physical Layer The data link layer is responsible for moving frames from one hop (node) to the next. LAYER 1 – The PHYSICAL Layer Converts bits into electronic signals for outgoing messages Converts electronic signals into bits for incoming messages This layer manages the interface between the the computer and the network medium (coax, twisted pair, etc.) This layer tells the driver software for the MAU (media attachment unit, ex. network interface cards (NICs, modems, etc.)) what needs to be sent across the medium The bottom layer of the OSI model The physical layer is responsible for movements of individual bits from one hop (node) to the next. Remember A convenient aid for remembering the OSI layer names is to use the first letter of each word in the phrase: All People Seem To Need Data Processing Network principles (8) Internet layers Application = application + presentation Transport = transport + session Mess age Lay ers Applic ation Internetw ork protocols Transport Internetw ork Internetw ork pac kets Netw ork interface Netw ork-spec ific packets Underly ingInstructor’s netw ork Guide for Coulouris, Dollimore and Kindberg Distributed Systems: Concepts and Design Edn. 4 © Pearson Education 2005 Underly ing netw ork protocols Network principles (9) Packet assembly header and data maximum transfer unit (MTU): 1500 for Ethernet 64K for IP (8K is common because of node storage) ports: destination abstraction (application/service protocol) addressing: transport address = network address + port Well-known ports (below 1023) Registered ports (1024 - 49151) Private (up to 65535) Instructor’s Guide for Coulouris, Dollimore and Kindberg Distributed Systems: Concepts and Design Edn. 4 © Pearson Education 2005 Network principles (10) Packet delivery (at the network layer) Datagram packet one-shot, no initial set up different routes, out of order Ethernet, IP Virtual circuit packet initial set up for resources virtual circuit # for addressing ATM Similar but different pairs of protocols at the transport layer (connection-oriented and connectionless) Instructor’s Guide for Coulouris, Dollimore and Kindberg Distributed Systems: Concepts and Design Edn. 4 © Pearson Education 2005 Network principles (11) Routing LAN? Routing Algorithm decide which out-going link to forward the packet • for circuit switching, the route is determined during the circuit setup time • for packet switching, each packet is routed independently update state of the out-going links Routing Table a record for each destination fields: outgoing link, cost (e.g. hop count) Instructor’s Guide for Coulouris, Dollimore and Kindberg Distributed Systems: Concepts and Design Edn. 4 © Pearson Education 2005 Network principles (12) Router example A Hosts or local networks 1 3 B 2 Links 4 C 5 D 6 E Routers Instructor’s Guide for Coulouris, Dollimore and Kindberg Distributed Systems: Concepts and Design Edn. 4 © Pearson Education 2005 Network principles (13): Routing tables Routings from A To Link Cost A local 0 B 1 1 C 1 2 D 3 1 E 1 2 Routings from B To Link Cost A 1 1 B local 0 C 2 1 D 1 2 E 4 1 Routings from D To Link Cost A 3 1 B 3 2 C 6 2 D local 0 E 6 1 Routings from C To Link Cost A 2 2 B 2 1 C local 0 D 5 2 E 5 1 Routings from E To Link Cost A 4 2 B 4 1 C 5 1 D 6 1 E local 0 Instructor’s Guide for Coulouris, Dollimore and Kindberg Distributed Systems: Concepts and Design Edn. 4 © Pearson Education 2005 Network principles (14) Router information protocol (RIP) "Bellman-Ford distance vector" algorithm Sender: send table summary periodically (30s) or changes to neighbors Receiver: Consider A receives a table from B, A updates 1. 2. 3. 4. 5. A -> B -> … -> X: A updates--B has more up-to-date (authoritative) info A -> not B -> … -> X: Does routing via B have a lower cost? B -> … -> X: A does not know X [B -> A -> … -> X]: A doesn’t update--A has more up-to-date info Faulty link, cost is infinity RIP-1 (RFC 1058) More recent algorithms more information, not just neighbors link-state algorithms, each node responsible for finding the optimum routes Instructor’s Guide for Coulouris, Dollimore and Kindberg Distributed Systems: Concepts and Design Edn. 4 © Pearson Education 2005 Network principles (15): Pseudocode for RIP routing algorithm Tl is the table local table; Tr is the received remote table Send: Each t seconds or when Tl changes, send Tl on each non-faulty outgoing link. Receive: Whenever a routing table Tr is received on link n: for all rows Rr in Tr { if (Rr.link != n) { // destination not routed via the receiver Rr.cost = Rr.cost + 1; Rr.link = n; if (Rr.destination is not in Tl) add Rr to Tl; // add new destination to Tl else for all rows Rl in Tl { if (Rr.destination = Rl.destination and (Rr.cost < Rl.cost or Rl.link = n)) Rl = Rr; // Rr.cost < Rl.cost : remote node has better route // Rl.link = n : remote node is more authoritative } } } Instructor’s Guide for Coulouris, Dollimore and Kindberg Distributed Systems: Concepts and Design Edn. 4 © Pearson Education 2005 Network principles (16) Congestion control high traffic load, packets dropped due to limited resources reducing transmission rate: "choke packets" from sender to receiver Instructor’s Guide for Coulouris, Dollimore and Kindberg Distributed Systems: Concepts and Design Edn. 4 © Pearson Education 2005 Networking principles (17) Network connecting devices Hubs: extending a segment of LAN (broadcast) Switches: switching traffic at data-link level (different segments of a LAN), making temporary hardware connections between two ports (or store and forward) [switches do not exchange info with each other] Routers: routing traffic at IP level Bridges: linking networks of different types, could be routers as well Instructor’s Guide for Coulouris, Dollimore and Kindberg Distributed Systems: Concepts and Design Edn. 4 © Pearson Education 2005 Networking principles (18) Tunneling communicate through an "alien" protocol “Hide” in the payload IPv6 traffic using IPv4 protocols IPv6 encapsulated in IPv4 packets IPv4 network A IPv6 IPv6 Encapsulators Instructor’s Guide for Coulouris, Dollimore and Kindberg Distributed Systems: Concepts and Design Edn. 4 © Pearson Education 2005 B