Semester 1, 2014-2015 Course Instructor L. Nora Al-Hammad E-mail: noralhammad@ksu.edu.sa Office: room # 53, 3rd floor Office hours: Hanged on my office door Module Overview Objectives: To provide an introductory overview of the module and discuss the involved concepts. Course overview The module focuses on the upper layers of the TCP/IP Internet protocol and provides insight in recent networking topics like multimedia networking. It covers the following topics: Introduction to the Internet and the TCP/IP protocol Transport layer protocols and socket programming Application layer architectures and traditional applications (HTTP and WWW, FTP, e-mail, DNS, DHCP, and P2P applications) Multimedia Networks challenges and solutions. 4 Learning Outcomes (1) After completing the module you should be able to: Compare between circuit switching and packet switching technologies Evaluate the performance of a network in terms of delay and throughput Differentiate between requirements and challenges of client-server applications and Peer-to-peer applications Describe the operations and services of traditional network applications like WWW, HTTP & FTP and services provided by E-mail, DNS & DHCP applications 5 Learning Outcomes (2) Describe the architecture of P2P applications like bitTorrent & SKYPE Differentiate between the characteristics of the User Datagram Protocol (UDP) and Transmission Control Protocol (TCP). Use and apply socket programming with TCP and UDP to develop network application. Identify the challenges for multimedia networks and the possible solutions 6 Assessment Details Minimum pass mark 60%. 30% Two Mid Exams Mid_1: Tuesday 31 March 2015 (12:00 - 1:00) Mid_2: Tuesday 5 May 2015 (12:00 - 1:00) 10% Quizzes Quiz_1: Monday 17 March 2015 (12:00 - 12:30) Quiz_2: Monday 27 April 2015 (12:00 – 12:30) 20% Lab ( evaluation and project) 40% Final exam 7 Recommended reading (1) • Text books: – Computer Networking: A Top-Down Approach Featuring the Internet by Kurose, James F. Ross, Keith W. Addison Wesley, 2012 [Primary] – Data Communications and Networking. Behrouz A. Forouzan. McGraw Hill, 2007. – Computer Networks by Andrew S. Tanenbaum, 5th Edition, Prentice Hall, 2010. – TCP/IP Protocol Suite. Behrouz A. Forouzan. McGraw Hill, 2009. 8 Recommended reading (2) • Course Notes • Copies of lecture slides along with other relevant material will be available via blackboard LMS.ksu.edu.sa • Electronic resources • A large number of resources exist on the Internet. These include book chapters, academic papers, FAQs, online workshops, programs and other relevant material from academic institutes around the world. • http://www.networkworld.com/ • http://www.networksolutions.com/ • http://compnetworking.about.com/ • http://www.ietf.org/rfc.html 9 Outline Syllabus • The Internet TCP/IP suite of protocols • The Application layer requirements vs. the transport layer services • Application layer – Client-server applications • HTTP & WWW, FTP & e-mail, DNS & DHCP – P2P applications • Transport layer: UDP & TCP protocols and services • Multimedia Networks – Streamed stored video; VoIP; RTP, SIP ;network support for MM 10 Overview What are computer networks? Why networking? Classification of networks What is the Internet? Internet protocol stack The Physical Layer The Data Link Layer The Network Layer 12 What are computer networks? A collection of autonomous computers interconnected by a single technology Two computers are said to be connected if they are able to exchange information Connection could be via a copper wire, fiber optics, microwaves, infrared, and communication satellites 13 What Is Networking? Computer 1 Computer 2 • Hardware: computers + communications media • Software: communications programs (protocols) • Common encoding between computers • Error control capabilities 14 Networking over a distance Connect to public network Modems. 15 Why Networking? Resource and information Sharing Reliability Cost Efficiency Distributed Systems Transparent computing and communications 16 Uses of computer networks Business applications Home network applications Access to remote information Person-to-person communication Interactive entertainment Electronic commerce 17 Access to remote information 18 Person-to-person communication 19 E-commerce, some forms: 20 Classification of Networks (1) Personal Area Networks Local Area Networks Metropolitan Area Networks Wide Area Networks Internetworks 21 Classification of Networks (2) 22 Local Area Networks Bus Broadcast networks 23 Ring Metropolitan Area Networks A metropolitan area network based on cable TV. 24 Wide Area Networks 25 Wireless Networks 26 (a) Bluetooth configuration (b)Wireless LAN The Internet A network of networks A communication infrastructure enables distributed applications: WWW, email, games, e-commerce, file sharing Very complex and ever changing, both in terms of its hardware and software components, as well as the services it provides 27 WHAT’S A PROTOCOL? Human protocols: “What’s the time?” “I have a question” Introductions … Specific msgs sent … Specific actions taken when msgs received, or other events 28 Network protocols: Machines rather than humans All communication activity in internet governed by protocols Protocols define format, order of messages sent and received among network entities, and actions taken on message transmission, receipt WHAT’S A PROTOCOL? A human protocol and a computer network protocol: Hi TCP connection request Hi TCP connection response Got the time? Get http://www.awl.com/kurose-ross 2:00 <file> time Q: Other human protocols? 29 ISO/OSI reference model • Presentation: allow applications to interpret meaning of data, e.g., encryption, compression, machinespecific conventions Application Presentation Session Transport • • 30 Session: synchronization, checkpointing, recovery of data exchange Internet stack “missing” these layers! – these services, if needed, must be implemented in application – needed? Network Link Physical Internet protocol stack o o o o o 31 Application: supporting network applications o Ftp, smtp, http Transport: process-process data transfer o TCP, UDP Network: routing of datagrams from source to destination o IP, routing protocols Link: data transfer between neighboring network elements o Ethernet, 802.111 (wifi), PPP Physical: bits “on the wire” Application Transport Network Link Physical Physical Layer • • • Bit: propagates between transmitter/receiver pairs Physical link: what lies between transmitter & receiver Guided media: – Signals propagate in solid media: copper, fiber, coax • Unguided media: – Signals propagate freely, e.g., Radio 33 Twisted pair (TP) Two insulated copper wires Category 5: 100 mbps, 1 Gbps Ethernet Category 6: 10gbps Physical Media: Coax, Fiber Coaxial cable: Two concentric copper conductors Bidirectional Broadband: Fiber optic cable: • Glass fiber carrying light pulses, • Multiple channels on cable HFC (Hybrid Fybre Coaxial) 34 • each pulse a bit High-speed operation: • High-speed point-to-point transmission (e.g., 10’s100’s Gpbs transmission rate) Low error rate: • Repeaters spaced far apart • Immune to electromagnetic noise Data Link Layer Terminology: • Hosts and routers: nodes • Communication channels that connect adjacent nodes along communication path: links • Wired links • Wireless links • Lans • Layer-2 packet: frame, encapsulates datagram Data-link layer has responsibility of Transferring datagram from one node To physically adjacent nodes over a link 36 global ISP Link Layer: Context • Datagram transferred by different link protocols over different links: • E.G., Ethernet on first link, frame relay on intermediate links, 802.11 on last link • Each link protocol provides different services • E.G., May or may not provide reliable data transfer over link 37 global ISP Link Layer Services Framing, link access: Encapsulate datagram into frame, adding header, trailer Channel access if shared medium “MAC” addresses used in frame headers to identify source, destination Different from IP address! Reliable delivery between adjacent nodes Seldom used on low bit-error link (fiber, some twisted pair) Wireless links: high error rates 38 Link Layer Services (More) Flow control: Pacing between adjacent sending and receiving nodes Error detection: Errors caused by signal attenuation, noise. Receiver detects presence of errors: • Signals sender for retransmission or drops frame Error correction: Receiver identifies and corrects bit error(s) without resorting to retransmission Half-duplex and full-duplex With half duplex, nodes at both ends of link can transmit, but not at same time 39 Where Is The Link Layer Implemented? • In each and every host • Link layer implemented in “adaptor” (aka network interface card NIC) or on a chip – Ethernet card, 802.11 card; Ethernet chipset – Implements link, physical layer • Attaches into host’s system buses • Combination of hardware, software, firmware 40 application transport network link cpu memory controller link physical host bus (e.g., PCI) physical transmission network adapter card Adaptors Communicating datagram datagram controller controller receiving host sending host datagram frame Sending side: Encapsulates datagram in frame Adds error checking bits, rdt, flow control, etc. 41 Receiving side Looks for errors, rdt, flow control, etc Extracts datagram, passes to upper layer at receiving side Multiple Access Links, Protocols Two types of “links”: Point-to-point PPP for dial-up access Point-to-point link between Ethernet switch, host Broadcast (shared wire or medium) Old-fashioned Ethernet Upstream Hybrid Fibre-Coaxial (HFC) 802.11 wireless LAN 42 shared wire (e.g., cabled Ethernet) shared RF (e.g., 802.11 WiFi) shared RF (satellite) humans at a cocktail party (shared air, acoustical) Multiple Access Protocols Single shared broadcast channel Two or more simultaneous transmissions by nodes: interference Collision if node receives two or more signals at the same time Multiple access protocol Distributed algorithm that determines how nodes share channel, i.e., Determine when node can transmit Communication about channel sharing must use channel itself! No out-of-band channel for coordination 43 MAC Protocols: Taxonomy Three broad classes: Channel partitioning Divide channel into smaller “pieces” (time slots, frequency, code) Allocate piece to node for exclusive use Random access Channel not divided, allow collisions “Recover” from collisions “Taking turns” Nodes take turns, but nodes with more to send can take longer turns 44 Channel Partitioning MAC Protocols: TDMA TDMA: time division multiple access Access to channel in "rounds" Each station gets fixed length slot (length = pkt trans time) in each round Unused slots go idle Example: 6-station LAN, 1,3,4 have pkt, slots 2,5,6 idle 6-slot frame 6-slot frame 1 45 3 4 1 3 4 Random Access: CSMA/CD Algorithm CSMA/CD: Carrier sensing, Collisions detected within short time Colliding transmissions aborted, reducing channel wastage Human analogy: the polite conversation 46 bus: coaxial cable star Random Access: CSMA/CD Algorithm 4. If NIC detects another 1. NIC receives datagram from transmission while transmitting, network layer, creates frame aborts and sends jam signal 2. If NIC senses channel idle, starts frame transmission. If NIC senses 5. After aborting, NIC enters binary (exponential) backoff: channel busy, waits until channel – After mth collision, NIC chooses idle, then transmits. mK at random from {0,1,2, …, 2 3. If NIC transmits entire frame 1}. NIC waits K·512 bit times, without detecting another returns to step 2 transmission, NIC is done with – Longer backoff interval with frame ! more collisions 47 “Taking Turns” MAC Protocols Polling: Master node “invites” slave nodes to transmit in turn Typically used with “dumb” slave devices Concerns: Polling overhead Latency Single point of failure (master) 48 data poll master data slaves “Taking Turns” MAC Protocols Token passing: Control token passed from one node to next sequentially. Token message Concerns: Token overhead Latency Single point of failure (token) T (nothing to send) T data 49 Network Layer Transport segment from sending 51 to receiving host On sending side encapsulates segments into datagrams On receiving side, delivers segments to transport layer Network layer protocols in every host, router Router examines header fields in all IP datagrams passing through it application transport network data link physical network data link physical network data link physical network data link physical network data link physical network data link physical network data link physical network data link physical network data link physical network data link physical network data link physical network data link physical application transport network data link physical Datagram Networks No call setup at network layer Routers: no state about end-to-end connections No network-level concept of “connection” Packets forwarded using destination host address application transport network 1. send datagrams data link physical 52 application transport 2. receive datagrams network data link physical IP Addressing 223.1.1.1 • IP address: 32-bit identifier 223.1.2.1 for host, router interface 223.1.1.2 • Interface: connection 223.1.1.4 223.1.2.9 between host/router and physical link 223.1.3.27 223.1.1.3 223.1.2.2 – Routers typically have multiple interfaces – Host typically has one 223.1.3.2 223.1.3.1 active interface (e.g., Wired Ethernet, wireless 802.11) 223.1.1.1 = 11011111 00000001 00000001 00000001 • One IP address associated with each interface 223 1 1 1 53 Hierarchical Addressing: Route Aggregation Hierarchical addressing allows efficient advertisement of routing information: Organization 0 200.23.16.0/23 Organization 1 200.23.18.0/23 Organization 2 200.23.20.0/23 Organization 7 . . . . . . Fly-By-Night-ISP “Send me anything with addresses beginning 200.23.16.0/20” Internet 200.23.30.0/23 ISPs-R-Us 54 “Send me anything with addresses beginning 199.31.0.0/16” Interplay Between Routing And Forwarding routing algorithm determines routing algorithm end-end-path through network forwarding table determines local forwarding at this router local forwarding table header value output link 0100 0101 0111 1001 3 2 2 1 value in arriving packet’s header 0111 1 3 2 55 Datagram Forwarding Table routing algorithm local forwarding table dest address output link address-range 1 address-range 2 address-range 3 address-range 4 3 2 2 1 IP destination address in arriving packet’s header 1 3 2 56 4 billion IP addresses, so rather than list individual destination address list range of addresses (aggregate table entries) Routing Algorithms • • Goal: determine “good” path (sequence of routers) through network from source to destination. Graph abstraction for routing algorithms: 57 graph nodes are routers graph edges are physical links link cost: delay, $ cost, or congestion level “good” path: typically means minimum cost path 5 2 A B 2 1 D 3 C 3 1 5 F 1 E 2 Cost = sum of link costs between source and destination IP Datagram Format IP protocol version number header length (bytes) “type” of data max number remaining hops (decremented at each router) upper layer protocol to deliver payload to How much overhead? 20 bytes of TCP 20 bytes of IP = 40 bytes + app layer overhead 58 32 bits ver head. len type of service 16-bit identifier upper time to layer live total datagram length (bytes) length fragment offset flgs header checksum for fragmentation/ reassembly 32 bit source IP address 32 bit destination IP address options (if any) data (variable length, typically a TCP or UDP segment) e.g. timestamp, record route taken, specify list of routers to visit. IPv6 – 128 bit address space – Simplified header: • fixed-length 40 byte header • New fields: Traffic Class, Flow Label • no fragmentation • Dropped fields: Fragmentation, Checksum, Options – Version field allows backward compatibility 59 • Support for security – Authentication of addresses/packets – Encryption of packet headers/contents • Support for mobility – Similar to Mobile IP (IP protocol designed to support mobile users) but no need for separate agents • QoS – Class, Flow labels IPv6 Datagram Format Priority: identify priority among datagrams in flow Flow label: identify datagrams in same “flow.” (Concept of“flow” not well defined). Next header: identify upper layer protocol for data ver pri flow label hop limit payload len next hdr source address (128 bits) destination address (128 bits) data 60 32 bits The Internet Network Layer Host, router network layer functions: transport layer: TCP, UDP IP protocol Routing protocols network layer • addressing conventions • datagram format • packet handling conventions • path selection • RIP, OSPF, BGP forwarding table ICMP protocol • error reporting • router “signaling” link layer physical layer 61