Distributed Systems 2. Data Networking Paul Krzyzanowski [email protected] 9/10/2012 1 © 2012 Paul KrzyzanowskiHow do nodes share a network? • Dedicated connection – no sharing: physical circuit • Talk on different frequencies: broadband • Take turns (baseband) – Short fixed time slots: TDMA (Time Division Multiple Access) • Circuit switching: performance equivalent to an isolated connection – Variable size time slots: Packets • Statistical multiplexing for network access • Permits many-to-many communication • Packet switching is the dominant means of data communication 9/10/2012 2 © 2012 Paul KrzyzanowskiModes of connection Circuit-switched – Dedicated path (route) – Guaranteed (fixed) bandwidth – Constant latency Packet-switched – Shared connection; competition for use with others – Data is broken into chunks called packets – Each packet contains a destination address – available bandwidth channel capacity – variable latency 9/10/2012 3 © 2012 Paul KrzyzanowskiWhat’s in the data? For effective communication – same language, same conventions For computers: – electrical encoding of data – where is the start of the packet? – which bits contain the length? – is there a checksum? where is it? how is it computed? – what is the format of an address? – byte ordering 9/10/2012 4 © 2012 Paul KrzyzanowskiProtocols These instructions and conventions are known as protocols 9/10/2012 5 © 2012 Paul KrzyzanowskiProtocols Exist at different levels understand format of address and how to compute a checksum request web page humans vs. whales different wavelengths French vs. Hungarian versus 9/10/2012 6 © 2012 Paul KrzyzanowskiLayering To ease software development and maximize flexibility: – Network protocols are generally organized in layers – Replace one layer without replacing surrounding layers – Higher-level software does not have to know how to format an Ethernet packet … or even know that Ethernet is being used 9/10/2012 7 © 2012 Paul KrzyzanowskiLayering Most popular model of guiding (not specifying) protocol layers is OSI reference model Adopted and created by ISO 7 layers of protocols 9/10/2012 8 © 2012 Paul KrzyzanowskiOSI Reference Model: Layer 1 Transmits and receives raw data to communication medium Does not care about contents voltage levels, speed, connectors Physical 1 Examples: USB, RS-232, 1000BaseT 9/10/2012 9 © 2012 Paul KrzyzanowskiData Link OSI Reference Model: Layer 2 Detects and corrects errors Organizes data into packets before passing it down. Sequences packets (if necessary) Accepts acknowledgements from receiver Physical 1 2 Examples: Ethernet MAC, PPP 9/10/2012 10 © 2012 Paul KrzyzanowskiNetwork Data Link OSI Reference Model: Layer 3 Relay and route information to destination Manage journey of packets and figure out intermediate hops (if needed) Physical 1 2 3 Examples: IP, X.25 9/10/2012 11 © 2012 Paul KrzyzanowskiTransport Network Data Link OSI Reference Model: Layer 4 Provides a consistent interface for end-to-end (application-to-application) communication. Manages flow control Network interface is similar to a mailbox Physical 1 2 3 4 Examples: TCP, UDP 9/10/2012 12 © 2012 Paul KrzyzanowskiSession Transport Network Data Link OSI Reference Model: Layer 5 Services to coordinate dialogue and manage data exchange Software implemented switch Manage multiple logical connections Keep track of who is talking: establish & end communications Physical 1 2 3 4 5 Examples: HTTP 1.1, SSL 9/10/2012 13 © 2012 Paul KrzyzanowskiPresentation Session Transport Network Data Link OSI Reference Model: Layer 6 Data representation Concerned with the meaning of data bits Convert between machine representations Physical 1 2 3 4 5 6 Examples: XDR, ASN.1, MIME, XML 9/10/2012 14 © 2012 Paul KrzyzanowskiApplication Presentation Session Transport Network Data Link OSI Reference Model: Layer 7 Collection of application-specific protocols Physical 1 2 3 4 5 6 7 Examples: email (SMTP, POP, IMAP) file transfer (FTP) directory services (LDAP) 9/10/2012 15 © 2012 Paul KrzyzanowskiBaseband: Ethernet • Packet-based network – Data sent as a series of frames (packets) • Speeds: 1 Gbps most common interface today – Ethernet: 10 Mbps • Fast Ethernet: 100 Mbps • Gigabit Ethernet: 1 Gbps – Also 10 Gbps and 100 Gbps • Ethernet network access method on a shared channel is Carrier Sense Multiple Access with Collision Detection (CSMA/CD) – Node first listens to network to see if busy – Send – Sense if collision occurred – Retransmit if collision • Ethernet switches don’t use shared channels – no need for CSMA/CD 9/10/2012 16 © 2012 Paul Krzyzanowski802.11 Family (Wi-Fi) Network access via Carrier Sense Multiple Access with Collision Avoidance (CSMA/CA) – Cannot use CSMA/CD on wireless networks – can’t listen while sending – Node first listens on the desired channel to see if idle – Send a packet if idle – If busy, wait until transmission stops + random contention period – Transmit if still idle – Receive ACK from receiver 9/10/2012 17 © 2012 Paul KrzyzanowskiClient – Server Communication 9/10/2012 18 © 2012 Paul KrzyzanowskiClients and Servers • Send messages to applications – not just machines • Client must get data to the desired process – server process must get data back to client process • To offer a service, a server must get a transport address for a particular service – well-defined location 9/10/2012 19 © 2012 Paul KrzyzanowskiMachine address versus Transport address 9/10/2012 20 © 2012 Paul KrzyzanowskiTransport provider Layer of software that accepts a network message and sends it to a remote machine Two categories: connection-oriented protocols connectionless protocols 9/10/2012 21 © 2012 Paul KrzyzanowskiConnection-oriented Protocols 1. establish connection 2. [negotiate protocol] 3. exchange data 4. terminate connection 9/10/2012 22 © 2012 Paul KrzyzanowskiConnection-oriented Protocols virtual circuit service – provides illusion of having a dedicated circuit – messages guaranteed to arrive in-order – application does not have to address each message vs. circuit-switched service 1. establish connection 2. [negotiate protocol] 3. exchange data 4. terminate connection dial phone number [decide on a language] speak hang up analogous to phone call 9/10/2012 23 © 2012 Paul
View Full Document