1 / 26

Chapter 1: roadmap

Chapter 1: roadmap. 1.1 What is the Internet? 1.2 Network edge end systems, access networks, links 1.3 Network core circuit switching, packet switching, network structure 1.4 Delay, loss and throughput in packet-switched networks 1.5 Protocol layers, service models

hope
Download Presentation

Chapter 1: roadmap

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 1: roadmap 1.1 What is the Internet? 1.2 Network edge • end systems, access networks, links 1.3 Network core • circuit switching, packet switching, network structure 1.4 Delay, loss and throughput in packet-switched networks 1.5 Protocol layers, service models 1.6 Networks under attack: security 1.7 History

  2. 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”

  3. What is layering? • Thru layering most networks • Are organized as a stack of layers or levels • Each layer • offers a certain service to the higher layers • provides a service to the layer above • Idea: create layers of abstraction • Encapsulate complex details in the lower layers • While providing access at higher layers • explicit structure allows identification of relationship between • Complex system’s pieces

  4. Interface 2/3 Interface 1/2 Multilayer communication: analogy I like rabbits Translate message Into French We have Agreed on a neutral language

  5. peers Protocol hierarchies: example

  6. Network architecture • A set of layers and protocols • is called a network architecture • One implication behind layering approach • One protocol per layer • => a list of protocols used by a certain system • => protocol stack

  7. Network layering revisited: interface

  8. Interface • Interfaces • provide well defined mechanisms • For interaction between adjacent layers of abstraction • defines • Which primitive operations and services • The lower layer makes available to the upper one • In other words, • Adjacent layers communicates via interface

  9. Technical example • Information flow • Supporting virtual communication in layer 5

  10. application: supporting network applications FTP, SMTP, HTTP transport: process-process 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

  11. network link physical link physical M M M Ht M Hn Hn Hn Hn Ht Ht Ht Ht M M M M Hn Ht Ht Hl Hl Hl Hn Hn Hn Ht Ht Ht M M M Encapsulation source message application transport network link physical segment datagram frame switch destination application transport network link physical router

  12. Connection oriented service • Model • Telephone system • Similarly, to use a connection-oriented service • The user • establishes a connection • Uses the connection • Releases the resources

  13. Connectionless service • Model • Postal system • Connectionless • Each data unit has the complete destination address • And is routed thru the network to the destination

  14. 2.1 Principles of network applications 2.2 Web and HTTP 2.3 FTP 2.4 Electronic Mail SMTP, POP3, IMAP 2.5 DNS 2.6 P2P applications 2.7 Socket programming with TCP 2.8 Socket programming with UDP Chapter 2: Application layer 2: Application Layer

  15. Our goals: conceptual, implementation aspects of network application protocols transport-layer service models client-server paradigm peer-to-peer paradigm learn about protocols by examining popular application-level protocols HTTP FTP SMTP / POP3 / IMAP DNS programming network applications socket API Chapter 2: Application Layer 2: Application Layer

  16. e-mail web instant messaging remote login P2P file sharing multi-user network games streaming stored video clips voice over IP real-time video conferencing grid computing Some network apps 2: Application Layer

  17. write programs that run on (different) end systems communicate over network e.g., web server software communicates with browser software No need to write software for network-core devices Network-core devices do not run user applications applications on end systems allows for rapid app development, propagation application transport network data link physical application transport network data link physical application transport network data link physical Creating a network app 2: Application Layer

  18. Process: program running within a host. within same host, two processes communicate using inter-process communication (defined by OS). processes in different hosts communicate by exchanging messages Client process: process that initiates communication Server process: process that waits to be contacted Processes communicating • Note: applications with P2P architectures have client processes & server processes 2: Application Layer

  19. host or server host or server process process socket socket TCP with buffers, variables TCP with buffers, variables Sockets • process sends/receives messages to/from its socket • socket analogous to door • sending process shoves message out door • sending process relies on transport infrastructure on other side of door which brings message to socket at receiving process controlled by app developer Internet controlled by OS • API: (1) choice of transport protocol; (2) ability to fix a few parameters (lots more on this later) 2: Application Layer

  20. to receive messages, process must have identifier host device has unique 32-bit IP address Q: does IP address of host suffice for identifying the process? Addressing processes 2: Application Layer

  21. to receive messages, process must have identifier host device has unique 32-bit IP address Q: does IP address of host on which process runs suffice for identifying the process? A: No, many processes can be running on same host identifierincludes both IP address and port numbers associated with process on host. Example port numbers: HTTP server: 80 Mail server: 25 to send HTTP message to gaia.cs.umass.edu web server: IP address:128.119.245.12 Port number:80 more shortly… Addressing processes 2: Application Layer

  22. Types of messages exchanged, e.g., request, response Message syntax: what fields in messages & how fields are delineated Message semantics meaning of information in fields Rules for when and how processes send & respond to messages Public-domain protocols: defined in RFCs allows for interoperability e.g., HTTP, SMTP Proprietary protocols: e.g., Skype App-layer protocol defines 2: Application Layer

  23. Data loss some apps (e.g., audio) can tolerate some loss other apps (e.g., file transfer, telnet) require 100% reliable data transfer Timing some apps (e.g., Internet telephony, interactive games) require low delay to be “effective” What transport service does an app need? Throughput • some apps (e.g., multimedia) require minimum amount of throughput to be “effective” • other apps (“elastic apps”) make use of whatever throughput they get Security • Encryption, data integrity, … 2: Application Layer

  24. Transport service requirements of common apps Time Sensitive no no no yes, 100’s msec yes, few secs yes, 100’s msec yes and no Application file transfer e-mail Web documents real-time audio/video stored audio/video interactive games instant messaging Throughput elastic elastic elastic audio: 5kbps-1Mbps video:10kbps-5Mbps same as above few kbps up elastic Data loss no loss no loss no loss loss-tolerant loss-tolerant loss-tolerant no loss 2: Application Layer

  25. TCP service: connection-oriented: setup required between client and server processes reliable transport between sending and receiving process flow control: sender won’t overwhelm receiver congestion control: throttle sender when network overloaded does not provide: timing, minimum throughput guarantees, security UDP service: unreliable data transfer between sending and receiving process does not provide: connection setup, reliability, flow control, congestion control, timing, throughput guarantee, or security Q: why bother? Why is there a UDP? Internet transport protocols services 2: Application Layer

  26. Internet apps: application, transport protocols Application layer protocol SMTP [RFC 2821] Telnet [RFC 854] HTTP [RFC 2616] FTP [RFC 959] HTTP (eg Youtube), RTP [RFC 1889] SIP, RTP, proprietary (e.g., Skype) Underlying transport protocol TCP TCP TCP TCP TCP or UDP typically UDP Application e-mail remote terminal access Web file transfer streaming multimedia Internet telephony 2: Application Layer

More Related