COM S 519: Computer NetworksWhy study computer networks?How much do you know already ?Internet: ExampleInternet: Locating ResourceInternet: ConnectionInternet: End-to-endInternet: PacketsInternet: Port NumbersInternet: BitsInternet: Points to rememberInternet : how does it do:Concepts at the heart of the InternetProtocolSlide 15Layered ArchitecturesSlide 17Layered ArchitectureInternet protocol stackAir travelProtocol stackProtocol encapsulationProtocol interfacesPacket SwitchingA small InternetProtocol stack: packet forwardingDistributed ControlOpen SystemInternet Standards ProcessHow is Internet “governed”?Backbones, NAPs and ISPsOnline ResourcesCOM S 519:Computer NetworksIntroduction and OverviewJeanna MatthewsSpring 2002Why study computer networks?They are engineering marvels!Scalability, layered protocols, lots of subtleties- worthy of studyThey are all around us!Understanding the nuts and bolts behind a technology you use every day is excitingThey are changing the world!Profound societal changes taking place in our lifetimeHow much do you know already ?How much do you know about what happens when you use networking applications?What do you hope to learn in this class?Internet: ExampleClick -> get pagepage from localor remote computerlink:http://www.cnn.comspecifies - protocol (http) - location (www.cnn.com)Internet: Locating Resourcewww.cnn.com is the name of a computer (and, implicitly, of a file in that computer)To find the address, the application uses a hierarchical directory service called theDomain Name System to translate human readable names to IP addressesl o c a lc o mh o s tc n n . c o m ?c n n . c o m ?I P = a . b . c . dI P = a . b . c . dInternet: ConnectionThe protocol (http) sets up a connection (another protocol, tcp) between the host and cnn.com to transfer the pageThe connection transfers the page as a byte stream, without errors: flow control + error controlH o s tc n n . c o mInternet: End-to-endThe byte stream flows from end to end across many links and switches: routing (+ addressing)That stream is regulated and controlled by both ends: retransmission of erroneous or missing bytes; flow controlH O S TC N N . C O Me n d - t o - e n d p a c i n g a n de r r o r c o n t r o lr o u t i n gInternet: PacketsThe network transports bytes grouped into packetsThe packets are “self-contained” and routers handle them one by oneThe end hosts worry about errors and pacing:Destination sends ACKsSource checks lossesCH O S T : BC N N . C O M : AA | B | # , C R C | b y t e sB : t oCInternet: Port NumbersWhen a packet arrives at its destination, the operating system uses the destination port number to identify which application should receive it.This is called demultiplexing.Internet: BitsEquipment in each node sends the packets as a string of bitsThat equipment is not aware of the meaning of the bits0 1 0 1 1 . . . 0 1 1 . . . 1 1 0T r a n s m i t t e r P h y s i c a l M e d i u m R e c e i v e r0 1 0 1 1 . . . 0 1 1 . . . 1 1 0O p t i c a lC o p p e rW i r e l e s sInternet: Points to rememberSeparation of taskssend bits on a link: transmitter/receiver [clock, modulation,…]send packet on each hop [framing, error detection,…]send packet end to end [addressing, routing]pace transmissions [detect congestion]retransmit erroneous or missing packets [acks, timeout]find destination address from name [DNS]Scalabilityrouters don’t know full pathnames and addresses are hierarchicalInternet :how does it do:Addressing ?Routing ?Reliable transmission ?Interoperability ?Resource management ?Quality of service ?Concepts at the heart of the InternetProtocolLayered ArchitecturePacket SwitchingDistributed ControlOpen SystemProtocolIf two entities are going to communicate, they must agree on the expected order and meaning of messages they exchange.Asking for the time protocolProtocolA protocol defines the format and the order of messages exchanged between communicating entities as well as the actions taken on the receipt or the transmission of a message.Layered ArchitecturesHuman beings are able to handle lots of complexity in their protocol processing.Ambiguously defined protocolsMany protocols all at onceHow do computers manage complex protocol processing?Specify well defined protocols to enact.Decompose complicated jobs into layers that each have a well defined taskLayered ArchitecturesBreak-up design problem intro smaller, more manageable problems.Modular design: easy to extend/modify.Difficult to implement (careful with interaction of layers for efficiency).Layered ArchitectureApplicationsMiddlewareRoutingPhysical LinksusersnetworkWeb, e-mail, file transfer, ...Reliable/ordered transmission, QOS,security, compression, ...End-to-end transmission,resource allocation, routing, ...Point-to-point links,LANs, radios, ...Internet protocol stackApplicationTransportNetworkPhysicalusersnetworkHTTP, SMTP, FTP, TELNET, DNS, …TCP, UDP.IPPoint-to-point links,LANs, radios, ...Air travelTicket (purchase)Baggage (check)Gates (load)Runway (take off)Passenger OriginTicket (complain)Baggage (claim)Gates (unload)Runway (landing)Passenger DestinationAirplane routingProtocol stacke-mail clientTCP serverIP serverethernetdriver/carduser XSMTPTCPIPe-mail serverTCP serverIP serverethernetdriver/carduser YIEEE 802.3 standardelectric signalsEnglishProtocol encapsulatione-mail clientTCP serverIP serverethernetdriver/carduser Xe-mail serverTCP serverIP serverethernetdriver/carduser Y“Hello”“Hello”“Hello”“Hello”“Hello”Protocol interfacese-mail clientTCP serverIP serverethernetdriver/carduser Xe-mail serverTCP serverIP serverethernetdriver/carduser Ys = open_socket();socket_write(s, buffer);…Packet SwitchingPackets indicate their destination No predetermined path for a packet to takeEach intermediate note routes the packet closer to its destinationA small InternetAVRBWr1,e1r2,e2r3a,e3w,e5b,e4Scenario:A wants to send datato B.Protocol stack:packet forwardingHTTPTCPIPethernetHost AIPethernetRouter RlinkHTTPTCPIPethernetRouter WHost BIPethernetlinkDistributed ControlWhere ever possible decompose the problem Examples:No one central name to IP address data base - Domain Name SystemNo one global routing table - Heirarchical network of networks – handle
View Full Document