Networking, its all about the apps! CSIS 3230 Chapter 2: Layer Concepts Chapter 5.4: Link Layer Addressing Networks exist to support apps Web Social ing Multimedia Communications Email File transfer Remote login/execution Some slides from: Computer Networking: A Top Down Approach, 5 th edition. Apps on the Edge Network apps run on end systems and communicate over the data Architectures Client-Server Peer-to-Peer (P2) Hybrid Different parts of an app may run on different end systems data data Client-Server Architecture client/server Server Always-on Waits to be contacted Clients Initiates communication with server May be intermittently connected Do not communicate directly with each other Pure P2P Architecture always-on server Arbitrary end systems directly communicate Peers are intermittently connected Peers can be both client and server Highly scalable but difficult to manage peer-peer net05 1
Client-Server and P2P Hybrid Skype Voice-over-IP P2P Centralized server: finds address of remote party Client-client connection: direct Instant messaging Chatting is P2P Centralized server: detect/locate client user registers IP address with central server when it comes online user contacts central server to find IP addresses of buddies Process: program running within a host Same host: processes communicate using interprocess communication (defined by OS). Different hosts: processes communicate by exchanging messages sent through the underlying An s interface with the underlying is called a socket To receive a message, a process must have an identifier An Internet host has a unique IP address But is this a sufficient identifier to deliver the message to the right process? Individual processes on a host are identified by a port number HTTP server = 80, mail server = 25 The identifier used to deliver messages on the Internet consists of An IP address A port number Send a request to the web server at www.stockton.edu IP address: 134.210.1.99 Port number: 80 App-layer Protocols Internet Protocol Stack 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 e.g., HTTP, SMTP Proprietary protocols: e.g., Skype Process to process data transfer net05 2
Transport Services for s Requirements of Common Network Apps Reliable Data Transfer Guaranteed delivery Some apps are losstolerant Timing Some apps require low delay to be effective Security Encryption, data integrity, Throughput Can change due to shared bandwidth Some apps have a minimum required throughput (bandwidthsensitive) apps use of whatever throughput they get File transfer E-mail Web documents Internet telephony/ Video conferencing Stored audio/video Interactive games Instant messaging Data loss Figure 2.4 Bandwidth Audio: 5kbps-1Mbps Video:10kbps-5Mbps Same as above few kbps up elastic Time Sensitive Yes, 100s msec Yes, few secs Yes, 100s msec Yes and no Internet Transport Services Internet Apps: & Transport Protocols services Connection-oriented: Setup required between client and server processes (handshake) Reliable data transfer: thing missing, duplicated, or out of order Congestion control: Throttle sender when is overloaded Does not provide: timing, minimum throughput guarantees, security UDP services Minimal Connectionless: setup Unreliable data transfer : guarantees congestion control, timing, throughput guarantee, or security E-mail Remote terminal access Web File transfer Streaming multimedia Internet telephony layer protocol SMTP [RFC 2821] Telnet [RFC 854] HTTP [RFC 2616] FTP [RFC 959] HTTP (e.g., YouTube), RTP [RFC 1889] SIP, RTP, proprietary (e.g., Skype) Underlying protocol or UDP Typically UDP Figure 2.5 Internet Protocol Stack Where is the layer implemented? Transfer data from a node to ly adjacent node Every host has an adaptor ( interface card or NIC) Ethernet card, PCMCI card, 802.11 card implements, layer Attaches into host s system buses Combination of hardware, software, firmware host schematic cpu memory host bus controller (e.g., PCI) transmission adapter card net05 3
LAN Addressing Each host assigned a unique 48-bit address Address assigned when the interface card (NIC) is manufactured 24-bits for manufacturer ID 24-bits for NIC serial number Also known as the Media Access Control (MAC) address Specifying a Destination In all LAN topologies, data sent across a shared reaches all attached hosts Each packet contains the address of intended recipient If destination address matches the NIC's address, a copy of the packet is passed to the attached computer Otherwise, the packet is ignored NIC handles all details of frame transmission and reception MAC Addresses and ARP MAC (or LAN or or Ethernet) address: function: get frame from one interface to another ly-connected interface IP address: -layer address used to get datagram to destination IP subnet ( where receiving host is located) LAN Addresses and ARP Each adapter on LAN has unique LAN address 71-65-F7-2B-08-53 LAN (wired or wireless) 1A-2F-BB-76-09-AD 58-23-D7-FA-20-B0 0C-C4-11-6F-E3-98 = adapter LAN Address (more) MAC address allocation administered by IEEE Manufacturers buys a portion of MAC address space (to assure uniqueness) MAC flat address portability information about its location in the LAN, which LAN its on, where the LAN resides Can move LAN card from one LAN to another IP hierarchical address NOT portable address depends on IP subnet to which node is attached net05 4
ARP: Address Resolution Protocol ARP protocol: Same LAN () How to determine MAC address of B knowing B s IP address? 137.196.7.23 71-65-F7-2B-08-53 137.196.7.88 LAN 137.196.7.78 1A-2F-BB-76-09-AD 137.196.7.14 58-23-D7-FA-20-B0 0C-C4-11-6F-E3-98 Each IP node (host, router) on LAN has ARP table ARP table: IP/MAC address mappings for some LAN nodes A wants to send datagram to B, and B s MAC address not in A s ARP table. A broadcasts ARP query packet, containing B's IP address dest MAC address = FF-FF-FF-FF-FF-FF all machines on LAN receive ARP query B receives ARP packet, replies to A with its (B's) MAC address frame sent to A s MAC address A caches (saves) IP-to-MAC address pair in its ARP table until information becomes old (times out) soft state: information that times out (goes away) unless refreshed ARP is "plug-and-play": nodes create their ARP tables without intervention from net administrator net05 5