1 / 32

Chapter 15: Networks

Chapter 15: Networks. Prof. Steven A. Demurjian, Sr. † Computer Science & Engineering Department The University of Connecticut 191 Auditorium Road, Box U-155 Storrs, CT 06269-3155. steve@engr.uconn.edu http://www.engr.uconn.edu/~steve (860) 486 - 4818.

duer
Download Presentation

Chapter 15: Networks

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. Chapter 15: Networks Prof. Steven A. Demurjian, Sr. † Computer Science & Engineering Department The University of Connecticut 191 Auditorium Road, Box U-155 Storrs, CT 06269-3155 steve@engr.uconn.edu http://www.engr.uconn.edu/~steve (860) 486 - 4818 † These slides have been modified from a set of originals by Dr. Gary Nutt.

  2. Purpose of this Chapter • Why are Networks Important to OS? • Remote File Systems • Distributed Operating Systems • Today’s and Tomorrow’s Applications Require Distributed Processing and Computing • How have Networks Evolved over Past 20 Years? • Dial Up Interaction (uucp) • Ethernet and Token Ring (1980s) • FDDI and ATM (1990s) • What are Available Network Protocols? • How do Computers Interact? • ARPAnet, X.25, ISO OSI

  3. Contemporary Networks Based on Telecommunications Interactions via Modem Conversion Between Digital and Analog Point-to-Point Character Oriented Approach Basis of Modern Networks Interactions via Agreed Upon Communication Protocol Protocols have Evolved to Exchange “Packets” of Information Computer-Computer Communication CPU CPU Memory Comm Device Comm Device Memory Modem Modem Phone Phone Switched Telephone Network

  4. Data Networks • WANs, MANs(?), and LANs • Specialized Communication Protocols • Packet Oriented: Block of Bytes for Transmission • Make it Look Like a File … Shared Abstractions! • Multidrop Packet Network CPU CPU Memory Network Device Network Device Memory Specialized Data Network

  5. Multidrop Packet Network • Design a Cost-effective “Switch Fabric” • Medium to Carry Signals Among Host Machines • Cheaper/Better than the Telephone Network • To Transmit/Receive: • Sender Converts Data Packet into Form Suitable for Physical Transmission • Deliver Packets to Destination Host • Receiver Converts Physical Signal Back into a Data Packet • Need a Widely-Agreed Upon Set of Protocols

  6. A First Look at Ethernet • A Multidrop Packet Network Where Bits are Transmitted Serially over a Shared Communications Medium (Coax or Twisted Pairs) • Software Reads/Writes Variable Sized Packets from/to Ethernet Controller • For write Controller Buffers Packet • Transmission bit-by-bit • Issues re. Obtaining the Network and Contention • Transmission Speed 100Mbps - 1 kilometer cable CPU CPU CPU CPU

  7. Protocol Tasks • Control Information Delivery Rates • Pass Information Across Networks • Provide Fast/Reliable IPC-like Communication • Support Logical Byte Streams • Create Other Models for Communication • File Transfer • Procedure Call Paradigm • Shared Memory Paradigm • Translate Information Among Machine-Dependent Data Representations • … and More …

  8. Standardizing Protocols Application Application Presentation Presentation Session Session Transport Transport Network Network Data Link Data Link Physical Physical • Ansi X.25 (Europe) • ARPAnet (US DoD) • ISO Open Systems Interconnect (OSI) Model • Now Widely Used as a Reference Architecture • 7-layer Model • Provides Framework for Specific Protocols (Such as IP, TCP, FTP, RPC, UDP, RSVP, …)

  9. ISO OSI Model Application Application Presentation Presentation Session Session Transport Transport Network Network Data Link Data Link Physical Physical • Physical (Hardware)/Data Link Layer Networks: Ethernet, Token Ring, ATM • Network Layer Net: The Internet • Transport Layer Net: Tcp-based Network • Presentation/Session Layer Net: Http/html, RPC, PVM, MPI • Applications, E.g., WWW, Window System, Algorithm

  10. ISO OSI Layers • Physical: Only Required Hardware Layer • Lowest Layer in Model for Physical Encoding and Transmission of Bytes Between Machines • RS-232 Similar in Concept to Physical Protocol • Ethernet Carrier Sensing/Collision Detection • Data Link • Can be Implemented in Hardware or Software • Ethernet and Token Ring - Hardware • Defines a Protocol for Information Frames Consisting of Header, Block of Data, Trailer • Users at Data Link Level Exchange Frames with other Machines on Network

  11. ISO OSI Layers • Network • Creates Address Space of Communication Endpoints - Internet (Network of Networks) • Information Transmitted via Packets • Typically Implemented as Part of OS • Transport • Built to Leverage Network Layer to Provide Other, Higher Level Abstractions • Block, Byte Stream, Record Stream Communication • Represents Other Tools for Programmers • Implemented by OS and System Software • Can be Part of Programming Language API

  12. ISO OSI Layers • Session • Extends Transport via Specific IPC Strategies • For Example, RPC Implemented here • Application Class Libraries/PL APIs • Presentation • Higher Level Abstractions than Session Layer • Along with Session, to be Detailed in Chap. 17 • Application • Application Software for Distributed Computation • No Standards - Applicable to Any Domain • Highest Level Entry Point

  13. ISO OSI & TCP/IP ISO OSI Session ISO OSI packet ARPAnet TCP IP frame ARPAnet IP Ethernet packet Ethernet ISO OSI Session ISO OSI packet ISO OSI TLI ISO OSI frame ISO OSI Network X.25 packet X.25

  14. Low Level Protocols • Today, Physical/Data Link Both Done in Hardware • Physical Layer: Signaling Technology • Multidrop Network Must Allow Each Computer to Interact • Point-to-Point (n*(n-1)/2) Connections • Evolved to Ethernet and Token Ring • Data Link Layer: Frame Management • Frame is Group of Bytes Organized as • Header and Trailer with Destination, Transmitter, Number of Data Bytes, and Checksum • Block of Bytes to be Transmitted/Received • Different Protocols to Facilitate Exchange • For Details: Read Pages 463-468

  15. A Second Look at Ethernet • Logically, a Broadcast Medium (Non-Reliable) • Carrier Sense to Determine When Net is Clear to Send a Message • Two or More Could See Clear Net at Same Time • Senders at Physical Extremes of Network • Collision Detection to Realize Many Computers Tried to Send Messages Simultaneously • Each Sender will Detect Collision • Contention Determined by Each Network Node • Different Strategies Employed for Resends • Senders Need to Backoff • Must Worry About Collisions on Resends

  16. A First Look at Token Ring • Topology is a Ring with Endpoints Connected • Host i Receives Packets from Host i-1 and Passes Packets to Host i+1 • Special “Token” Passed Among Hosts • When Token Arrives at Host - Inspected • If Token Available, Host can Attach Packet • Else, Host Must Wait for “Empty” Token • Note: If Host i Crashes, Must Dynamically Reconfigure to Allow Host i-1 to talk to Host i+1 • Token Ring Enforces Fairness by Passing Token Around the Ring - Collisions Not Possible • Contrasts with Ethernet - Everyone Can Attempt to “Grab” Network of Use

  17. A First Look at ATM • Asynchronous Transfer Model (ATM) Networks • Evolved from Telecommunications and Computer Industry • Potential to Transmit Across Large Geographical Areas • ATM Employs Fiber Optic Physical Layer • Transmits Data in 53 byte Packets Called Cells • ATM Ensures Reliability! • Invaluable for Audio/Video Streams of Data • Status of ATM Today??

  18. Network Layer • Primary Goal is to Combine Networks • Internet Protocol (IP) is Dominant Protocol • Creates an Internet Address Space • Implements Packet Routing Across Networks • Represents Ability of Host X to Send a Packet to Host Y without Knowing All Intermediate Steps Host X Network A Network B Network C Host R Host S Host Y

  19. Addressing & Routing Host X 3b4e87 3b6209 Network A Network C 3b4e62 3b4e55 3b621a Host R Host Y • Host X Does Not Know How to Send to Host Y • Host X Can Send a Frame to Host R for Forwarding • What Should it Tell Host R?

  20. Addressing & Routing 128.123.234.033 128.229.244.109 Host X To: 128.229.244.006 From: 128.123.234.033 Network Layer data 3b4e87 3b6209 Network A Network C 3b4e62 3b4e55 3b621a Host R Host Y 128.123.234.063 128.123.234.188 128.229.244.006 • Host X Does Not Know How to Send to Host Y • Can Send a Frame to Host R for Forwarding • What Should it Tell Host R? • Internet Address Spans All Machines

  21. Addressing & Routing 128.123.234.033 To: 3b4e55 From: 3b4e87 128.229.244.109 Host X To: 128.229.244.006 From: 128.123.234.033 Network Layer data 3b4e87 3b6209 Network A Network C 3b4e62 3b4e55 3b621a Host R Host Y 128.123.234.063 128.123.234.188 128.229.244.006 • Host X Does Not Know How to Send to Host Y • Can Send a Frame to Host R for Forwarding • What Should it Tell Host R? • Internet Address Spans All Machines • Send Encapsulated Packet to Host R With Host Y

  22. Addressing & Routing 128.123.234.033 128.229.244.109 Host X 3b4e87 3b6209 Network A Network B Network C 3b4e62 3b4e55 3b621a Host R Host S Host Y 128.123.234.063 128.123.234.188 128.229.244.006 • Host X Does Not Know How to Send to Host Y • Can Send a Frame to Host R for Forwarding • What Should it Tell Host R? • Internet Address Spans All Machines • Send Encapsulated Packet to Host R With Host Y

  23. Addressing & Routing 128.123.234.033 128.229.244.109 Host X 3b4e87 3b6209 Network A Network B Network C To: 3b621a From: ... 3b4e62 3b4e55 3b621a Host R Host Y To: 128.229.244.006 From: 128.123.234.033 Network Layer data 128.123.234.063 128.123.234.188 128.229.244.006 • Host X Does Not Know How to Send to Host Y • Can Send a Frame to Host R for Forwarding • What Should it Tell Host R? • Internet Address Spans All Machines • Send Encapsulated Packet to Host R With Host Y • Data Link Frame is Received by Host Y

  24. More on the Network Layer • Implements Internet Addressing & Routing • ARPAnet IP Protocol Underlies the Internet • Intermediate Hosts are Called Gateways • Connected to Two or More Networks • Runs IP Routing Software • Routing: Primary Responsibility of Network Layer • Sender Uses Local Routing Table to Select Intermediary Destination for First Hop • Sender Encapsulates Data into Frame and Sends • Intermediary Decapsulates Frame - it either Stays or is Routed to Another Intermediary • Eventually, will Arrive at Destination • Read Pages 471-477

  25. Transport Layer • Provides Yet Another Address Extension • IP References Only Networks and Hosts • Transport Layer Adds Ports -- Logical Endpoints • Address Form is <Net, Host, Port> • Two Primary Protocols (Both From Arpanet) • User Datagram Protocol (UDP) • User-space Interface to IP Packets • No Guarantee that Packet Will Be Delivered • Transmission Control Protocol (TCP) • Provides a Stream-Oriented Interface to Network • Reliable Delivery Guaranteed!

  26. Communication Ports P P P P • Global Name for a “Mailbox” • Will Be Many Ports at One <Net, Host> • Each Port Can Be Bound to an Address Transport Layer Network Layer Low Layers <net, host> Machine X

  27. BSD Sockets int socket(int addressFamily, int socketType, int protocolNo) s = socket(…) s • Sockets are Communication Ports in BSD UNIX • Semantics Resemble Pipes (Files) • Bidirectional

  28. BSD Sockets (Continued) int bind(int skt, struct sockadrr *addr, int addrLength) s P • Once a Socket Has Been Created, it Can Be Bound to an Internet Port

  29. User Datagram Protocol (UDP) • Datagram (“Connectionless”) Service • Similar to Disk I/O Level of Service • Logically Associated With an IP Packet & Data Link Frame (but Not Physically) • Best-Effort Delivery of Datagrams, But: • Datagram May be Dropped (Lost) • Datagrams May be Delivered Out of Order • Efficient, Relative to TCP • However, Lack of Reliability Makes it Unsuitable for Many Application Domains!

  30. TCP • Connected (or Virtual Circuit) Protocol • Interface Allows Programmer to Read/Write a Byte Stream Over the Network • Byte Stream is Mapped into a Series of Packets • Reliable Delivery • Each Packet Must Be Acknowledged • Effectively 2 Packets Per Transmission • Must Open/Close a Connection Before Use

  31. Client-Server Paradigm • Making a Connection in TCP is an Example of the Client-Server Paradigm for Distributed Computing • Active Component is the Client • Runs Autonomously • Decides When It Wants to Use Server • Passive Component is the Server • Persistent • Always Waiting for a Client to Request Service • Not a Machine -- Just Software • What are Different Ways that Client/Server can Be Supported in Java?

  32. Concluding Remarks/Looking Ahead • Review of Networking History and Concepts • Layered Approach Prevalent in All Computing • Networks have Significant Role • Please Read Chapter, Since Not all Issues Covered in Detail! • Looking Ahead to … • Remote Files (Chapter 16) • Distributed Computing (Chapter 17) • Linux Presentations

More Related