1 / 68

CE80N Introduction to Networks & The Internet

CE80N Introduction to Networks & The Internet. Dr. Chane L. Fullmer UCSC Winter 2002. Reading. Chapter 15 – IP: Software To Create A Virtual Network. Communication Protocol. A common language computers use to exchange messages. Specifying exact format and meaning of each message

onan
Download Presentation

CE80N Introduction to Networks & The Internet

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. CE80NIntroduction to Networks&The Internet Dr. Chane L. Fullmer UCSC Winter 2002 CE80N -- Lecture #6

  2. Reading • Chapter 15 – • IP: Software To Create A Virtual Network CE80N -- Lecture #6

  3. Communication Protocol • A common language computers use to exchange messages. • Specifying exact format and meaning of each message • Sending and receiving CE80N -- Lecture #6

  4. human protocols: “what’s the time?” “I have a question” Introductions … specific msgs sent … specific actions taken when msgs received, or other events network protocols: machines rather than humans all communication activity in Internet governed by protocols What’s a protocol? CE80N -- Lecture #6

  5. TCP connection reply. Get http://gaia.cs.umass.edu/index.htm Got the time? 2:00 <file> time What’s a protocol? Human Protocol Computer Protocol Hi TCP connection req. Hi Q: Other human protocol? CE80N -- Lecture #6

  6. Networks are complex! many “pieces”: hosts routers links of various media applications protocols hardware, software Question: Is there any hope of organizing structure of network? Or at least our discussion of networks? Protocol “Layers” CE80N -- Lecture #6

  7. Departure from airport baggage (claim) gates (unload) runway landing airplane routing Arrival at airport baggage (check) gates (load) runway takeoff airplane routing airplane routing Organization of air travel • a series of steps CE80N -- Lecture #6

  8. Airport departure baggage (claim) gates (unload) runway landing airplane routing Airport arrival baggage (check) gates (load) runway takeoff airplane routing airplane routing Organization of air travel: a different view Layers: each layer implements a service • via its own internal-layer actions • relying on services provided by layer below CE80N -- Lecture #6

  9. Airport-to-Airport delivery of person+bags baggage-claim-to-baggage-claim delivery people transfer: loading gate to arrival gate runway-to-runway delivery of plane airplane routing from source to destination Layered air travel: services CE80N -- Lecture #6

  10. Departure baggage (claim) gates (unload) runway landing airplane routing Arrival baggage (check) gates (load) runway takeoff airplane routing arriving airport Departing airport airplane routing airplane routing airplane routing intermediate air traffic sites Distributed implementation of layer functionality

  11. gates (load) runway takeoff airplane routing gates (unload) runway landing airplane routing arriving Departing Distributed implementation of layer functionality intermediate air traffic sites

  12. Layering Model • Purpose is to divide and conquer complex software and hardware needed to implement services • Partition services and functions needed in system into layers • Each layer of service is provided by peer protocol entities • Extensibility (new protocols and services easily added) • Communication can be point-to-point or multipoint Layer N packets Layer-N Protocol Entity Layer-N Protocol Entity NODE B NODE A (virtual communication) protocol interface Layer-(N - 1) Protocol Entity Layer-(N - 1) Protocol Entity CE80N -- Lecture #6

  13. Why layering? Dealing with complex systems: • explicit structure allows identification, relationship of complex system’s pieces • layered reference model for discussion • modularization eases maintenance, updating of system • change of implementation of layer’s service transparent to rest of system • e.g., change in gate procedure doesn’t affect rest of system • Is layering considered harmful? CE80N -- Lecture #6

  14. application: supporting network applications ftp, smtp, http transport: host-host data transfer tcp, udp network: routing of datagrams from source to destination ip, routing protocols link: data transfer between neighboring network elements ppp, ethernet physical: bits “on the wire” application transport network link physical Internet protocol stack CE80N -- Lecture #6

  15. Each layer: distributed “entities” implement layer functions at each node entities perform actions, exchange messages with peers network link physical application transport network link physical application transport network link physical application transport network link physical application transport network link physical Layering: logical communication CE80N -- Lecture #6

  16. E.g.: transport take data from application add addressing, reliability check info to form “datagram” send datagram to peer wait for peer to ack receipt analogy: post office network link physical application transport network link physical application transport network link physical application transport network link physical application transport network link physical data data data ack Layering: logical communication transport transport CE80N -- Lecture #6

  17. network link physical application transport network link physical application transport network link physical application transport network link physical application transport network link physical data data Layering: physical communication CE80N -- Lecture #6

  18. M M H H H H H H H H H H H H t t t n l n l t n t n t M M M M application transport network link physical application transport network link physical M M Protocol layering and data Each layer takes data from above • adds header information to create new data unit • passes new data unit to layer below source destination message segment datagram frame CE80N -- Lecture #6

  19. Open Systems Interconnect (OSI) Stack • Proposed by the International Standards Organization • Specifies the functions at each layer, not the protocols that implement them End-user services (mail, file transfer) Formatting, encryption, compression of data Setup and management of end-to-end dialogue End-to-end delivery of messages to processes End-to-end transmission of packets in net Transmission of packets over a link Transmission of bit over physical media APPLICATION Web access TCP IP PPP, CSMA/CD SONET PRESENTATION SESSION TRANSPORT NETWORK LINK PHYSICAL CE80N -- Lecture #6

  20. Open Systems Interconnect Source: Link 2 Semiconductor http://www.link2semiconductor.com/articles/dob010911_p.htm CE80N -- Lecture #6

  21. Description of OSI layers • Application layer: The application layer provides services to a calling computer program. An application layer might take care of all the downloads involved in transferring a web page (that is, the text, graphics, and other files) to a browser (the client program or application). • Presentation layer: Takes care of any data format translations that might be needed to take the particular bits representing, for example, a number in the client computer and convert them to a "universal" number representation recognized by the communications system. • Session layer: This layer is responsible for controlling exchange of information, for example by having the client and server take turns transmitting data. CE80N -- Lecture #6

  22. OSI Layers (continued) • Transport layer: The transport layer is responsible for getting messages from one computer to another. Network layer: The network layer is responsible for getting data across a communications network from one host computer to another. Data Link layer: The data link layer (often abbreviated to "link" layer or DLL) gets data from one network node (e.g. a computer or router) to another. Physical layer: The physical layer is the set of specifications that describe the actual medium of transmission. For example, a physical layer specification might include the type of connectors and wire to be used in a cable linking two machines, as well as the function of each wire and voltage levels that specify a "1" or "0", allowed rate of transmission, and so on. CE80N -- Lecture #6

  23. Basic Functionality: Internet Protocol (IP) • IP defines computer communication details. • Specifying how packets are formed • Specifying how routers forward each packet • IP Forwarding • Computers connecting to the Internet must follow the IP rules. CE80N -- Lecture #6

  24. IP Software On Every Machine • Computer hardware does not understand IP. • Connecting a computer to the Internet does not mean it can use the Internet • Computers need IP software before using the Internet. • Windows • Unix • Mac OS CE80N -- Lecture #6

  25. Internet Packets Are Called Datagrams • IP Datagrams are packets that follow the IP specifications. • Traveling across the Internet independent of sender CE80N -- Lecture #6

  26. The Illusion Of A Giant Network • Any computer can send IP datagrams to any other computer providing they have IP software installed (Universal Service) • The Internet operates like a virtual network. CE80N -- Lecture #6

  27. The Virtual Network Figure 15.1 The view of the Internet that IP software provides. Users and application programs treat the Internet like a single large network that allow arbitrary numbers of computers to communicate.

  28. The Reality Of Internal Structure • The Internet contains a complex physical structure users never see • Interconnecting networks with routers CE80N -- Lecture #6

  29. Internet Internal Structure Figure 15.2 A small example of the physical structure that remains hidden inside the Internet. Each computer attaches to a single network; routers interconnect the networks.

  30. Datagrams Travel In Packets • IP datagram defines a standard for all Internet packets. Routers: • Encloses the data before sending out the packet • “Data Encapsulation” CE80N -- Lecture #6

  31. IP datagram format IP protocol version number 32 bits total datagram length (bytes) header length (bytes) type of service head. len ver length for fragmentation/ reassembly fragment offset “type” of data flgs 16-bit identifier max number remaining hops (decremented at each router) upper layer time to live Internet checksum 32 bit source IP address 32 bit destination IP address upper layer protocol to deliver payload to E.g. timestamp, record route taken, specify list of routers to visit. Options (if any) data (variable length, typically a TCP or UDP segment) CE80N -- Lecture #6

  32. Every Computer Is Assigned A Unique Address • Each computer attached to the Internet must be assigned a unique address. • One computer must know the address of another before it can communicate CE80N -- Lecture #6

  33. IP Internet Addresses • The unique number assigned to a computer is its Internet (IP) address. • Each computer (including routers) need to have an IP address. Address CE80N -- Lecture #6

  34. An Odd IP Address Syntax • Computer stores IP address in four binary units called bytes. 128.114.1.0 “one twenty-eight dot one fourteen dot one dot zero” CE80N -- Lecture #6

  35. IP Addresses Are Not Random • IP addresses are not random. • Computers on the same network have the same prefix. CE80N -- Lecture #6

  36. IP address: 32-bit identifier for host, router interface interface: connection between host, router and physical link router’s typically have multiple interfaces host may have multiple interfaces IP addresses associated with interface, not host, router 223.1.1.2 223.1.2.2 223.1.2.1 223.1.3.2 223.1.3.1 223.1.3.27 IP Addressing: introduction 223.1.1.1 223.1.2.9 223.1.1.4 223.1.1.3 223.1.1.1 = 11011111 00000001 00000001 00000001 223 1 1 1 CE80N -- Lecture #6

  37. IP address: network part (high order bits) host part (low order bits) What’s a network ? (from IP address perspective) device interfaces with same network part of IP address can physically reach each other without intervening router IP Addressing 223.1.1.1 223.1.2.1 223.1.1.2 223.1.1.4 223.1.2.9 223.1.2.2 223.1.1.3 223.1.3.27 LAN 223.1.3.1 223.1.3.2 network consisting of 3 IP networks (for IP addresses starting with 223, first 24 bits are network address) CE80N -- Lecture #6

  38. How to find the networks? Detach each interface from router, host create “islands of isolated networks IP Addressing 223.1.1.2 223.1.1.1 223.1.1.4 223.1.1.3 223.1.7.0 223.1.9.2 223.1.9.1 223.1.7.1 223.1.8.1 223.1.8.0 223.1.2.6 223.1.3.27 Interconnected system consisting of six networks 223.1.2.1 223.1.2.2 223.1.3.1 223.1.3.2 CE80N -- Lecture #6

  39. multicast address 1110 network host 110 network 10 host IP Addresses given notion of “network”, let’s re-examine IP addresses: “class-full” addressing: class 1.0.0.0 to 127.255.255.255 A network 0 host 128.0.0.0 to 191.255.255.255 B 192.0.0.0 to 223.255.255.255 C 224.0.0.0 to 239.255.255.255 D 32 bits CE80N -- Lecture #6

  40. host part network part 11001000 0001011100010000 00000000 200.23.16.0/23 IP addressing: CIDR • Classful addressing: • inefficient use of address space, address space exhaustion • e.g., class B net allocated enough addresses for 65K hosts, even if only 2K hosts in that network • CIDR:Classless InterDomain Routing • network portion of address of arbitrary length • address format: a.b.c.d/x, where x is # bits in network portion of address CE80N -- Lecture #6

  41. IP addresses: how to get one? Q: How does host get IP address? • hard-coded by system admin in a file • Wintel: control-panel->network->config->tcp/ip->properties (reboot) • UNIX: /etc/rc.config • DHCP:Dynamic Host Configuration Protocol: • dynamically get address: “plug-and-play” • host broadcasts “DHCP discover” msg • DHCP server responds with “DHCP offer” msg • host requests IP address: “DHCP request” msg • DHCP server sends address: “DHCP ack” msg CE80N -- Lecture #6

  42. IP addresses: how to get one? Network (network portion): • get allocated portion of ISP’s address space: ISP's block 11001000 00010111 00010000 00000000 200.23.16.0/20 Organization 0 11001000 00010111 00010000 00000000 200.23.16.0/23 Organization 1 11001000 00010111 00010010 00000000 200.23.18.0/23 Organization 2 11001000 00010111 00010100 00000000 200.23.20.0/23 ... ….. …. …. Organization 7 11001000 00010111 00011110 00000000 200.23.30.0/23 CE80N -- Lecture #6

  43. IP addressing: the last word... Q: How does an ISP get block of addresses? A: ICANN: Internet Corporation for Assigned Names and Numbers • allocates addresses • manages DNS • assigns domain names, resolves disputes CE80N -- Lecture #6

  44. 200.23.16.0/23 200.23.18.0/23 200.23.30.0/23 200.23.20.0/23 . . . . . . Hierarchical addressing: route aggregation • Hierarchical addressing allows efficient advertisement of routing information: Organization 0 Organization 1 “Send me anything with addresses beginning 200.23.16.0/20” Organization 2 Fly-By-Night-ISP Internet Organization 7 “Send me anything with addresses beginning 199.31.0.0/16” ISPs-R-Us CE80N -- Lecture #6

  45. 200.23.16.0/23 200.23.18.0/23 200.23.30.0/23 200.23.20.0/23 . . . . . . Hierarchical addressing: more specific routes • ISPs-R-Us has a more specific route to Organization 1 Organization 0 “Send me anything with addresses beginning 200.23.16.0/20” Organization 2 Fly-By-Night-ISP Internet Organization 7 “Send me anything with addresses beginning 199.31.0.0/16 or 200.23.18.0/23” ISPs-R-Us Organization 1 CE80N -- Lecture #6

  46. A Trip Through The Internet • A router must choose between two paths that both lead to the destination. • Choosing the shortest path CE80N -- Lecture #6

  47. IP datagram: E B A source IP addr misc fields dest IP addr data Dest. Net. next router Nhops 223.1.1 1 223.1.2 223.1.1.4 2 223.1.3 223.1.1.4 2 Getting a datagram from source to dest. routing table in A 223.1.1.1 • datagram remains unchanged, as it travels source to destination • addr fields of interest here 223.1.2.1 223.1.1.2 223.1.2.9 223.1.1.4 223.1.2.2 223.1.3.27 223.1.1.3 223.1.3.2 223.1.3.1 CE80N -- Lecture #6

  48. E B A Dest. Net. next router Nhops 223.1.1 1 223.1.2 223.1.1.4 2 223.1.3 223.1.1.4 2 Getting a datagram from source to dest. misc fields data 223.1.1.1 223.1.1.3 Starting at A, given IP datagram addressed to B: • look up net. address of B • find B is on same net. as A • link layer will send datagram directly to B inside link-layer frame • B and A are directly connected 223.1.1.1 223.1.2.1 223.1.1.2 223.1.2.9 223.1.1.4 223.1.2.2 223.1.3.27 223.1.1.3 223.1.3.2 223.1.3.1 CE80N -- Lecture #6

  49. E B A Dest. Net. next router Nhops 223.1.1 1 223.1.2 223.1.1.4 2 223.1.3 223.1.1.4 2 Getting a datagram from source to dest. misc fields data 223.1.1.1 223.1.2.3 Starting at A, dest. E: • look up network address of E • E on different network • A, E not directly attached • routing table: next hop router to E is 223.1.1.4 • link layer sends datagram to router 223.1.1.4 inside link-layer frame • datagram arrives at 223.1.1.4 • continued….. 223.1.1.1 223.1.2.1 223.1.1.2 223.1.2.9 223.1.1.4 223.1.2.2 223.1.3.27 223.1.1.3 223.1.3.2 223.1.3.1 CE80N -- Lecture #6

  50. Dest. next network router Nhops interface E B A 223.1.1 - 1 223.1.1.4 223.1.2 - 1 223.1.2.9 223.1.3 - 1 223.1.3.27 Getting a datagram from source to dest. misc fields data 223.1.1.1 223.1.2.3 Arriving at 223.1.4, destined for 223.1.2.2 • look up network address of E • E on same network as router’s interface 223.1.2.9 • router, E directly attached • link layer sends datagram to 223.1.2.2 inside link-layer frame via interface 223.1.2.9 • datagram arrives at 223.1.2.2!!! (hooray!) 223.1.1.1 223.1.2.1 223.1.1.2 223.1.2.9 223.1.1.4 223.1.2.2 223.1.1.3 223.1.3.27 223.1.3.2 223.1.3.1 CE80N -- Lecture #6

More Related