Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Computer Networking


Published on

  • Be the first to comment

Computer Networking

  1. 1. Computer Networking Yishay Mansour ( Nir Andelman (
  2. 2. Course Information <ul><li>Lectures: Tuesday 9-12 </li></ul><ul><li>Exercises: Wendsday 10-11 </li></ul>Web site: An Engineering Approach to Computer Networking / Keshav Computer Networks / Tanenbaum Data Networks / Bertsekas and Gallager A Top-down Approach to Computer Networking / Kurouse-Ross Books:
  3. 3. Practical Information Homework assignment: Mandatory Both theoretical and programming Done in pairs Grades: Final Exam: 60% February 5 and October 18 theory exercises: 20% Programming exercises: 20%
  4. 4. Motivation <ul><li>Today’s economy </li></ul><ul><ul><li>manufacturing, distributing, and retailing goods </li></ul></ul><ul><ul><li>but also creating and disseminating information </li></ul></ul><ul><ul><ul><li>publishing </li></ul></ul></ul><ul><ul><ul><li>banking </li></ul></ul></ul><ul><ul><ul><li>film making…. </li></ul></ul></ul><ul><ul><li>part of the ‘information economy’ </li></ul></ul><ul><li>Future economy is likely to be dominated by information! </li></ul>
  5. 5. Information? <ul><li>A representation of knowledge </li></ul><ul><li>Examples: </li></ul><ul><ul><li>books </li></ul></ul><ul><ul><li>bills </li></ul></ul><ul><ul><li>CDs </li></ul></ul><ul><li>Can be represented in two ways </li></ul><ul><ul><li>analog (atoms) </li></ul></ul><ul><ul><li>digital (bits) </li></ul></ul><ul><li>the Digital Revolution </li></ul><ul><ul><li>convert information as atoms to information as bits </li></ul></ul><ul><ul><li>use networks to move bits around instead of atoms </li></ul></ul>
  6. 6. The Challenges <ul><li>represent all types of information as bits. </li></ul><ul><li>move the bits </li></ul><ul><ul><li>In large quantities , </li></ul></ul><ul><ul><li>everywhere, </li></ul></ul><ul><ul><li>cheaply , </li></ul></ul><ul><ul><li>Securely, </li></ul></ul><ul><ul><li>with quality of service, </li></ul></ul><ul><ul><li>… . </li></ul></ul>
  7. 7. Today’s Networks are complex! <ul><ul><li>hosts </li></ul></ul><ul><ul><li>routers </li></ul></ul><ul><ul><li>links of various media </li></ul></ul><ul><ul><li>applications </li></ul></ul><ul><ul><li>protocols </li></ul></ul><ul><ul><li>hardware, software </li></ul></ul>Tomorrow’s will be even more!
  8. 8. This course’s Challenge <ul><li>To discuss this complexity in an organized way, that will make today’s computer networks (and their limitations) more comprehensive. </li></ul><ul><li>identification, and understanding relationship of complex system’s pieces. </li></ul><ul><li>Problems that are beyond a specific technology </li></ul>
  9. 9. Early communications systems <ul><li>I.e. telephone </li></ul><ul><li>point-to-point links </li></ul><ul><li>directly connect together the users wishing to communicate </li></ul><ul><li>use dedicated communication circuit </li></ul><ul><li>if distance between users increases beyond the length of the cable, the connection is formed by a number of sections connected end-to-end in series. </li></ul>
  10. 10. Data Networks <ul><li>set of interconnected nodes exchange information </li></ul><ul><li>sharing of the transmission circuits= &quot;switching&quot;. </li></ul><ul><li>many links allow more than one path between every 2 nodes. </li></ul><ul><li>network must select an appropriate path for each required connection. </li></ul>
  11. 11. Networking Issues - Telephone <ul><li>Addressing - identify the end user </li></ul><ul><li>phone number 1-201-222-2673 = country code + city code + exchange + number </li></ul><ul><li>Routing - How to get from source to destination. </li></ul><ul><li>Telephone circuit switching: Based on the phone number. </li></ul><ul><li>Information Units - How is information sent </li></ul><ul><li>telephone Samples @ Fixed sampling rate. not self descriptive! have to know where and when a sample came </li></ul>
  12. 12. Networking Issues - Internet <ul><li>Addressing - identify the end user </li></ul><ul><li>IP addresses, Refer to a host interface = network number + host number </li></ul><ul><li>Routing- How to get from source to destination </li></ul><ul><li>Packet switching: move packets (chunks) of data among routers from source to destination independently. </li></ul><ul><li>Information Units - How is information sent. </li></ul><ul><li>Self-descriptive data: packet = data + metadata (header). </li></ul>
  13. 13. <ul><li>Telephone networks support a single, end-to-end quality of service but is expensive to boot </li></ul>Internet supports no quality of service but is flexible and cheap A future network will have to support a range of service qualities at a reasonable cost
  14. 14. History 1961-1972: Early packet-switching principles <ul><li>1961: Kleinrock - queuing theory shows effectiveness of packet-switching </li></ul><ul><li>1964: Baran - packet-switching in military networks </li></ul><ul><li>1967: ARPAnet – conceived by Advanced Research Projects Agency </li></ul><ul><li>1969: first ARPAnet node operational </li></ul><ul><li>1972: ARPAnet demonstrated publicly </li></ul><ul><ul><li>NCP (Network Control Protocol) first host-host protocol </li></ul></ul><ul><ul><li>first e-mail program </li></ul></ul><ul><ul><li>ARPAnet has 15 nodes </li></ul></ul>
  15. 15. History 1972-1980: Internetworking, new and proprietary nets <ul><li>1970: ALOHAnet satellite network in Hawaii </li></ul><ul><li>1973: Metcalfe’s PhD thesis proposes Ethernet </li></ul><ul><li>1974: Cerf and Kahn - architecture for interconnecting networks </li></ul><ul><li>late70’s: proprietary architectures: DECnet, SNA, XNA </li></ul><ul><li>late 70’s: switching fixed length packets (ATM precursor) </li></ul><ul><li>1979: ARPAnet has 200 nodes </li></ul>
  16. 16. Cerf and Kahn’s internetworking principles: <ul><ul><li>minimalism, autonomy - no internal changes required to interconnect networks </li></ul></ul><ul><ul><li>best effort service model </li></ul></ul><ul><ul><li>stateless routers </li></ul></ul><ul><ul><li>decentralized control </li></ul></ul>Defines today’s Internet architecture
  17. 17. History 1980-1990: new protocols, proliferation of networks <ul><li>1983: deployment of TCP/IP </li></ul><ul><li>1982: SMTP e-mail protocol defined </li></ul><ul><li>1983: DNS defined for name-to-IP-address translation </li></ul><ul><li>1985: FTP protocol defined </li></ul><ul><li>1988: TCP congestion control </li></ul><ul><li>new national networks: CSnet, BITnet, NSFnet, Minitel </li></ul><ul><li>100,000 hosts connected to confederation of networks </li></ul>
  18. 18. History 1990 - : commercialization and WWW <ul><li>early 1990’s: ARPAnet decomissioned </li></ul><ul><li>1991: NSF lifts restrictions on commercial use of NSFnet (decommissioned, 1995) </li></ul><ul><li>early 1990s: WWW </li></ul><ul><ul><li>hypertext [Bush 1945, Nelson 1960’s] </li></ul></ul><ul><ul><li>HTML, http: Berners-Lee </li></ul></ul><ul><ul><li>1994: Mosaic, later Netscape </li></ul></ul><ul><ul><li>late 1990’s: commercialization of WWW </li></ul></ul>
  19. 19. Demand and Supply <ul><li>Huge growth in users </li></ul><ul><ul><li>The introduction of the web </li></ul></ul><ul><li>Faster home access </li></ul><ul><ul><li>Better user experience. </li></ul></ul><ul><li>Infrastructure </li></ul><ul><ul><li>Significant portion of telecommunication. </li></ul></ul><ul><li>New evolving industries </li></ul><ul><ul><li>Although, sometimes temporary setbacks </li></ul></ul>
  20. 20. Internet: Users
  21. 21. Users around the Globe (2002)
  22. 22. Users around the Globe (2005)
  23. 23. Users around the Globe (2005)
  24. 24. Technology: Modem speed
  25. 25. Today’s options <ul><li>Modem: 56 K </li></ul><ul><li>ISDN: 64K – 128K </li></ul><ul><li>Frame Relay: 56K ++ </li></ul><ul><li>Today High Speed Connections </li></ul><ul><ul><li>All are available at 5Mb (2005) </li></ul></ul><ul><ul><li>Cable, ADSL, Satellite. </li></ul></ul>
  26. 26. Coming soon:
  27. 27. Today
  28. 28. Protocol Layers <ul><li>A way for organizing structure of network </li></ul><ul><li>The idea: a series of steps </li></ul><ul><li>… Or at least our discussion of networks </li></ul>
  29. 29. JFK Transport Handling Routing To: Yishay From: Vered Haifa TLV BGN To: Boston From: TLV Shipment 792 Pack. 3 of 3 To: Yishay From: Vered To: Boston To: Yishay From: Vered Shipment 792 Pack. 3 of 3 To: Boston From: TLV To: Yishay From: Vered To: Yishay From: Vered Shipment 792 Pack. 3 of 3 Shipment 792 Pack. 2 of 3 Shipment 792 Pack. 1 of 3 To: Yishay From: Vered
  30. 30. To: Yishay From: Vered To: Yishay From: Vered To: Yishay From: Vered To: Yishay From: Vered Shipment 792 Pack. 3 of 3 Shipment 792 Pack. 2 of 3 Shipment 792 Pack. 1 of 3 N.Y. Boston JFK To: Yishay From: Vered To: Yishay From: Vered Shipment 792 Pack. 3 of 3 To: Boston From: TLV To: Boston Shipment 792 Pack. 3 of 3 To: Boston From: TLV
  31. 31. Layers: Person delivery of parcel Post office counter handling Ground transfer: loading on trucks Airport transfer: loading on airplane Airplane routing from source to destination <ul><li>each layer implements a service </li></ul><ul><ul><li>via its own internal-layer actions </li></ul></ul><ul><ul><li>relying on services provided by layer below </li></ul></ul>Peer entities
  32. 32. Advantages of Layering <ul><li>explicit structure allows identification & relationship of complex system’s pieces </li></ul><ul><ul><li>layered reference model for discussion </li></ul></ul><ul><li>modularization eases maintenance & updating of system </li></ul><ul><ul><li>change of implementation of layer’s service transparent to rest of system </li></ul></ul>
  33. 33. Protocols <ul><li>A protocol is a set of rules and formats that govern the communication between communicating peers </li></ul><ul><ul><li>set of valid messages </li></ul></ul><ul><ul><li>meaning of each message </li></ul></ul><ul><li>Necessary for any function that requires cooperation between peers </li></ul>
  34. 34. <ul><li>A protocol provides a service </li></ul><ul><ul><li>For example: the post office protocol for reliable parcel transfer service </li></ul></ul><ul><li>Peer entities use a protocol to provide a service to a higher-level peer entity </li></ul><ul><ul><li>for example, truck drivers use a protocol to present post offices with the abstraction of an unreliable parcel transfer service </li></ul></ul>Protocols
  35. 35. Protocol Layers <ul><li>A network that provides many services needs many protocols </li></ul><ul><li>Some services are independent, But others depend on each other </li></ul><ul><li>A Protocol may use another protocol as a step in its execution </li></ul><ul><ul><li>for example, ground transfer is one step in the execution of the example reliable parcel transfer protocol </li></ul></ul><ul><li>This form of dependency is called layering </li></ul><ul><ul><li>Post office handling is layered above parcel ground transfer protocol. </li></ul></ul>
  36. 36. Open protocols and systems <ul><li>A set of protocols is open if </li></ul><ul><ul><li>protocol details are publicly available </li></ul></ul><ul><ul><li>changes are managed by an organization whose membership and transactions are open to the public </li></ul></ul><ul><li>A system that implements open protocols is called an open system </li></ul><ul><li>International Organization for Standards (ISO) prescribes a standard to connect open systems </li></ul><ul><ul><li>open system interconnect (OSI) </li></ul></ul><ul><li>Has greatly influenced thinking on protocol stacks </li></ul>
  37. 37. ISO OSI reference model <ul><li>Reference model </li></ul><ul><ul><li>formally defines what is meant by a layer, a service etc. </li></ul></ul><ul><li>Service architecture </li></ul><ul><ul><li>describes the services provided by each layer and the service access point </li></ul></ul><ul><li>Protocol architecture </li></ul><ul><ul><li>set of protocols that implement the service architecture </li></ul></ul><ul><ul><li>compliant service architectures may still use non-compliant protocol architectures </li></ul></ul>
  38. 38. The seven Layers End system End system Intermediate system Presentation Application Session Transport Network Data Link Physical Presentation Application Session Transport Network Data Link Physical Network Data Link Physical
  39. 39. The seven Layers - protocol stack data DH+data+DT bits TH Network Data Link Physical <ul><li>Session and presentation layers are not so important, and are often ignored </li></ul>Presentation Application Session Transport Network Data Link Physical Presentation Application Session Transport Network Data Link Physical data data data data AH PH SH data NH
  40. 40. Postal network <ul><ul><li>Application: people using the postal system </li></ul></ul><ul><ul><li>Session and presentation: chief clerk sends some priority mail, and some by regular mail ; translator translates letters going abroad. </li></ul></ul><ul><ul><li>mail clerk sends a message, retransmits if not acked </li></ul></ul><ul><ul><li>postal system computes a route and forwards the letters </li></ul></ul><ul><ul><li>datalink layer: letters carried by planes, trains, automobiles </li></ul></ul><ul><ul><li>physical layer: the letter itself </li></ul></ul>
  41. 41. Internet protocol stack <ul><li>application: supporting network applications </li></ul><ul><ul><li>ftp, smtp, http </li></ul></ul><ul><li>transport: host-host data transfer </li></ul><ul><ul><li>tcp, udp </li></ul></ul><ul><li>network: routing of datagrams from source to destination </li></ul><ul><ul><li>ip, routing protocols </li></ul></ul><ul><li>link: data transfer between neighboring network elements </li></ul><ul><ul><li>ppp, ethernet </li></ul></ul><ul><li>physical: bits “on the wire” </li></ul>application transport network link physical
  42. 42. Protocol layering and data application transport network Link physical source destination message segment datagram frame application transport network Link physical M M M M H t H t H n H t H n H l M M M M H t H t H n H t H n H l
  43. 43. Physical layer <ul><li>Moves bits between physically connected end-systems </li></ul><ul><li>Standard prescribes </li></ul><ul><ul><li>coding scheme to represent a bit </li></ul></ul><ul><ul><li>shapes and sizes of connectors </li></ul></ul><ul><ul><li>bit-level synchronization </li></ul></ul><ul><li>Internet </li></ul><ul><ul><li>technology to move bits on a wire, wireless link, satellite channel etc. </li></ul></ul>
  44. 44. Datalink layer <ul><li>Reliable communication over a single link. </li></ul><ul><li>Introduces the notion of a frame </li></ul><ul><ul><li>set of bits that belong together </li></ul></ul><ul><li>Idle markers tell us that a link is not carrying a frame </li></ul><ul><li>Begin and end markers delimit a frame </li></ul><ul><li>Internet </li></ul><ul><ul><li>a variety of datalink layer protocols </li></ul></ul><ul><ul><li>most common is Ethernet </li></ul></ul><ul><ul><li>others are FDDI, SONET, HDLC </li></ul></ul>
  45. 45. Datalink layer (contd.) <ul><li>Datalink layer protocols are the first layer of software </li></ul><ul><li>Very dependent on underlying physical link properties </li></ul><ul><li>Usually bundle both physical and datalink in hardware. </li></ul><ul><li>Ethernet (broadcast link) </li></ul><ul><ul><li>end-system must receive only bits meant for it </li></ul></ul><ul><ul><li>need datalink-layer address </li></ul></ul><ul><ul><li>also need to decide who gets to speak next </li></ul></ul><ul><ul><li>these functions are provided by Medium ACcess sublayer (MAC) </li></ul></ul>
  46. 46. Network layer <ul><li>Carries data from source to destination. </li></ul><ul><li>Logically concatenates a set of links to form the abstraction of an end-to-end link </li></ul><ul><li>Allows an end-system to communicate with any other end-system by computing a route between them </li></ul><ul><li>Hides idiosyncrasies of datalink layer </li></ul><ul><li>Provides unique network-wide addresses </li></ul><ul><li>Found both in end-systems and in intermediate systems </li></ul>
  47. 47. Network layer types <ul><li>In datagram networks </li></ul><ul><ul><li>provides both routing and data forwarding </li></ul></ul><ul><li>In connection-oriented network </li></ul><ul><ul><li>separate data plane and control plane </li></ul></ul><ul><ul><li>data plane only forwards and schedules data (touches every byte) </li></ul></ul><ul><ul><li>control plane responsible for routing, call-establishment, call-teardown (doesn’t touch data bytes) </li></ul></ul>
  48. 48. Network layer (contd.) <ul><li>Internet </li></ul><ul><ul><li>network layer is provided by Internet Protocol </li></ul></ul><ul><ul><li>found in all end-systems and intermediate systems </li></ul></ul><ul><ul><li>provides abstraction of end-to-end link </li></ul></ul><ul><ul><li>segmentation and reassembly </li></ul></ul><ul><ul><li>packet-forwarding, routing, scheduling </li></ul></ul><ul><ul><li>unique IP addresses </li></ul></ul><ul><ul><li>can be layered over anything, but only best-effort service </li></ul></ul>
  49. 49. <ul><li>At intermediate systems </li></ul><ul><ul><li>participates in routing protocol to create routing tables </li></ul></ul><ul><ul><li>responsible for forwarding packets </li></ul></ul><ul><ul><li>schedules the transmission order of packets </li></ul></ul><ul><ul><li>chooses which packets to drop </li></ul></ul>Network layer (contd.) <ul><li>At end-systems </li></ul><ul><ul><li>primarily hides details of datalink layer </li></ul></ul><ul><ul><li>segments and reassemble </li></ul></ul><ul><ul><li>detects errors </li></ul></ul>
  50. 50. Transport layer <ul><li>Reliable end-to-end communication. </li></ul><ul><li>creates the abstraction of an error-controlled , flow-controlled and multiplexed end-to-end link </li></ul><ul><li>(Network layer provides only a ‘raw’ end-to-end service) </li></ul><ul><li>Some transport layers provide fewer services </li></ul><ul><ul><li>e.g. simple error detection, no flow control, and no retransmission </li></ul></ul><ul><li>Internet </li></ul><ul><ul><li>TCP provides error control, flow control, multiplexing </li></ul></ul><ul><ul><li>UDP provides only multiplexing </li></ul></ul>
  51. 51. Transport layer (contd.) <ul><li>Error control </li></ul><ul><ul><li>GOAL: message will reach destination despite packet loss, corruption and duplication </li></ul></ul><ul><ul><li>ACTIONS: retransmit lost packets; detect, discard, and retransmit corrupted packets; detect and discard duplicated packets </li></ul></ul><ul><li>Flow control </li></ul><ul><ul><li>match transmission rate to rate currently sustainable on the path to destination, and at the destination itself </li></ul></ul><ul><li>Multiplexes multiple applications to the same end-to-end connection </li></ul><ul><ul><li>adds an application-specific identifier ( port number) so that receiving end-system can hand in incoming packet to the correct application </li></ul></ul>
  52. 52. Session layer <ul><li>Not common </li></ul><ul><li>Provides full-duplex service, expedited data delivery, and session synchronization </li></ul><ul><li>Internet </li></ul><ul><ul><li>doesn’t have a standard session layer </li></ul></ul>
  53. 53. <ul><li>Duplex </li></ul><ul><ul><li>if transport layer is simplex, concatenates two transport endpoints together </li></ul></ul><ul><li>Expedited data delivery </li></ul><ul><ul><li>allows some messages to skip ahead in end-system queues, by using a separate low-delay transport layer endpoint </li></ul></ul><ul><li>Synchronization </li></ul><ul><ul><li>allows users to place marks in data stream and to roll back to a prespecified mark </li></ul></ul>Session layer (cont.)
  54. 54. Presentation layer <ul><li>Usually ad hoc </li></ul><ul><li>Touches the application data </li></ul><ul><li>(Unlike other layers which deal with headers) </li></ul><ul><li>Hides data representation differences between applications </li></ul><ul><ul><li>characters (ASCII, unicode, EBCDIC.) </li></ul></ul><ul><li>Can also encrypt data </li></ul><ul><li>Internet </li></ul><ul><ul><li>no standard presentation layer </li></ul></ul><ul><ul><li>only defines network byte order for 2- and 4-byte integers </li></ul></ul>
  55. 55. Application layer <ul><li>The set of applications that use the network </li></ul><ul><li>Doesn’t provide services to any other layer </li></ul>
  56. 56. Discussion <ul><li>Layers break a complex problem into smaller, simpler pieces. </li></ul><ul><li>Why seven layers? </li></ul><ul><ul><li>Need a top and a bottom  2 </li></ul></ul><ul><ul><li>Need to hide physical link; so need datalink  3 </li></ul></ul><ul><ul><li>Need both end-to-end and hop-by-hop actions; so need at least the network and transport layers  5 </li></ul></ul>
  57. 57. Course outline Multimedia and QoS 10 Distributed Algorithms 12 Network Security 11 Flow Control 9 End to End Window Based Protocols 8 Reliable Data Transfer 7 Routing 6 Switching Fabrics 5 Scheduling and Buffer Management 4 Hubs, Bridges and Routers 3 Data Link: Multi Access 2 Introduction and Layering 1