Computer Networks More on Standards & Protocols Quality of Service Week 10 College of Information Science and Engineering Ritsumeikan University
Introduction to Protocols l A protocol is a set of rules for communication or exchange l Different protocols operate at different levels of the OSI model l A set of protocols that works together to provide end-to-end communication is called a protocol suite or protocol stack l Popular suites: TCP/IP, and the obsolete IPX/SPX (Win) and AppleTalk (Mac)
TCP/IP Protocol Suite Overview OSI layers TCP/IP Suite Application Presentation Session HTTP HyperText Transfer (WWW) FTP File Transfer SMTP IMAP POP e-mail DNS Name Lookup RIP Routing Information Protocol SNMP Simple Network Management Protocol Transport TCP Transmission control protocol UDP User datagram protocol Network ICMP Internet Control Messaging Protocol BootP Bootstrap Protocol IP ARP Address Resolution IGMP Internet Group Management Data Link Physical Ethernet Wi-Fi FDDI Fiber Distributed Data Interface DSL Digital Subscriber Line
DHCP l Dynamic Host Configuration Protocol l Machines on a LAN or other segment often do not have permanent global IP addresses l DHCP assigns local devices IP addresses as they are needed l The DHCP server may allocate Dynamically, from a range of addresses as needed or requested Automatically, more or less permanently but as needed from the range Statically, as defined by the configuration
Address Resolution Protocol l ARP is the protocol used to translate network addresses into link layer addresses on a LAN l Devices on the LAN send out information about themselves, including their physical address, the type of device, etc. l Sending devices first determine the network address through other protocols l If the physical address is unknown, a broadcast is sent asking the receiving machine to respond with its address
File Transfer Services l File Transfer Protocol (FTP) was one of the first protocols established for the ARPANET l FTP uses Transmission Control Protocol (TCP), which is connection-oriented (unlike User Datagram Protocol, UDP) l FTP does not specify any user interface details so the services are available in all kinds of UIs, command-line to browser l Many file transfers are now done with more protocols, such as Secure Shell FTP (SFTP)
E-mail Services l E-mail (originally meaning electronic mail) was also one of the earliest services l An e-mail message is typically required to have two items in each header: the To item and the From item l Optional header items include Date, Subject, CC (carbon copy), BCC (blind CC), Reply-to, Charset, Mailer l E-mail was intended to carry ASCII text only so other uses have various implementations
E-mail Services l The Simple Mail Transfer Protocol (SMTP) is used by the sender s e-mail client to contact its Mail Transfer Agent (MTA), a software process which handles outgoing mail l The e-mail is forwarded to a remote Mail Delivery Agent (MDA), a software process which stores incoming mail l The receiver s e-mail client contacts its MDA, using either the Post Office Protocol (POP) or Internet Message Access Protocol (IMAP), to retrieve stored e-mail messages
HTTP l Hyper-Text Transfer Protocol l Used to request and receive web pages from a World Wide Web (www) server l A GET request includes the URL, HTTP protocol version, and the name of the server advertising the page l Response begins with a status code (200 = OK, 301 = page moved, 401/403 = access denied, 404 = page not found, etc.), then l The data (e.g., the web page as HTML)
ICMP l Internet Control Message Protocol l Used for network configuration, diagnostics, and error reporting; e.g: address mask request, message redirect echo request time-to-live exceeded, destination unreachable l Routes can be recorded in the ICMP payload l Popular tools like ping and traceroute work by sending ICMP messages
IGMP l Internet Group Membership Protocol l A host-to-router and router-to-router protocol for setting up and managing multicast groups l Hosts can send requests to create, join, and leave a group l Routers exchange messages to discover and manage multicast routes l To join a group, a host sends a message to the creator of the group l This allows intermediate routers to create and manage routes for the group s traffic
Name Services l Since all packet transfer in networks is done with network and physical addresses, name servers return addresses when given names l The set of (possible) names (or possible names) a server is intended to provide is its name space l Getting an address for a name is called translation or resolution
Domain Name System l A local resolver process handles requests on behalf of Internet applications, and can cache results of recent queries to improve performance l A typical request might look like this: QUERY www.google.com. IN A (lookup www.google.com s INternet Address) l The response gives the numeric IP address for the name, or an error code such as NXDOMAIN (nonexistent domain) l Other types of query exist, e.g., MX to find the address of the SMTP Mail exchanger (MTA) for a given domain (e.g., gmail.com)
Domain Names l The name space of the Internet is hierarchical, with the top-level domain (TLD) placed at the end of the name string l Typical TLDs are.com,.org,.jp, etc l.jp is a two-character country code TLD l Domain names may only contain ASCII characters but, since 2010, Internationalized Domain Names in Applications (IDNA) has been implemented to translate special ASCII strings to Unicode at the Application layer
DNS l DNS is a hierarchy of name servers distributed throughout the world that provide the name services for the Internet l A name server translates symbolic host and domain names into numeric IP addresses l Symbolic domain names are hierarchical (using `. as a separator) l A name server manages a zone (containing one or more domains) and answers queries directly or delegates to a sub-zone
Domains vs. Zones
Evaluating Connectivity l Best- effort services (or best effort delivery) are provided without any guarantee of quality or priority (eg ) l Quality of service (QoS), unlike best effort, assigns explicit priorities in order to maintain a predictable result l QoS is an attempt to avoid dropped packets, delay, out-of-order delivery and errors l Asynchronous Transfer Mode (ATM) is a layer 2 technology with QoS guarantees
Throughput l In network connectivity, throughput is the rate of packets successfully delivered l The study of packets in queues and stacks is called Queueing Theory l Packets in a queue arriving per time unit are usually designated λ (typically packets per second) l Throughput is often measured as up for uploading and down for downloading (very different from uptime and downtime!)
Delay or Latency l Delay is the amount of time for each packet to be delivered l When the delay varies greatly from packet to packet, this is called jitter l There are many types of delay on a network: Processing delay: time for header processing Queing delay: time a packet is waiting in queues Transmission delay: time to get the bits onto the physical medium Propagation delay: time to go through a medium
Out of Order Delivery and Packet Loss l Packets sent in a queue may, due to traveling over different routes at different speeds, arrive in a different order l Packet loss is when a packet that is sent fails to arrive at the correct destination l Connection-oriented protocols, such as TCP, are intended to request retransmission of lost packets and reorder out-of-order packets l Connection free protocols such as UDP have no specific way of recovering lost packets
QoS Priorities l 0 (zero) Lowest priority is best effort l 1 Background l 2 Standard l 3 Excellent load (for business critical) l 4 Controlled load (streaming multimedia) l 5 Voice and video (less than 100ms latency) l 6 Network Control (less than 10ms) l 7 Network Control (lowest latency)
QoS Levels l Best- effort services (or best effort delivery) are provided without any guarantee of quality or priority (eg ) l Quality of service (QoS), unlike best effort, assigns explicit priorities in order to maintain a predictable result l QoS is an attempt to avoid dropped packets, delay, out-of-order delivery and errors