ECE4605: Advanced Internetworking Raghupathy Sivakumar http://www.ece.gatech.edu/research/GNAN
Administrative Information Office: 5164 Centergy Phone: 404-385-2257 Email: siva@ece.gatech.edu URL: http://www.ece.gatech.edu/~siva/ECE4605 By appointment
ECE4605: Goals To expose students to the state of the art in computer networking Material used in course primarily tapped from research publications and new industry standards Research oriented focus (includes project) Suggested Textbook Reading: Computer Networks (Tanenbaum), TCP/IP Illustrated Volume 1 (Stevens), Advanced Internet Technologies (Black), Internetworking with TCP/IP (Comer)
Focus of this course … Network Quality of Service OSI/TCP/IP Network Quality of Service Wireless and Mobile Networking Peer-to-peer/Overlay networking Network security Miscellaneous topics Puzzles!!
Grading for undergraduate and graduate students independent Evaluation & Grading Midterm 15% Final 35% Project 20% Presentations + Reviews/Disc 30% Grading for undergraduate and graduate students independent
Paper Presentations & Reviews Reading list to be put up on Web 2 students per team Send email to me by FRIDAY midnight about any preferences for teams Each team will present approximately 4 papers during the semester ALL students will review ALL papers Reviews to be turned in by email before the first class after each set of presentations
Presentations & Reviews (contd.) Introduction (setting up context and relating to lectures) Concepts/Algorithms/Main body of work Results/Performance Evaluation Critique/Suggestions for Improvement Discussions Concepts not understood Reviews Summary of paper
Projects List to be put up shortly Teams of 2 students each Students interested in other projects can talk to me Different projects Project-based meetings with me after the project assignment stage Regular interaction with me encouraged
Examinations Exams based on concepts in lectures/presentations/discussions If student does critique honestly, exams should require minimal additional preparation
Timeline
Overview of OSI & TCP/IP
Communication Networks Broadcast networks Each station can hear every other station in the network (fully connected network) Switched networks Stations interconnected through a (non-fully) connected mesh Packet switched vs. Circuit switched What kind of a network is the Internet?
Communication Protocols Rules used in communication Monolithic vs. Layered Protocol data units – used to exchange information between peer layers of protocol stack Examples of communication protocols?
OSI Open Systems Interconnection: ISO (International Standards Organization)’s standard for communication protocols Also referred to as the OSI reference model or simply the OSI model 7 layer protocol stack
OSI Protocol Standard Physical: mechanical/electrical rules for transferring bits Link Layer: flow control/error detection/error recovery Network: routing/congestion control Transport: end-to-end communication of data/reliability/sequencing/flow control/error control Session: application specific functionality, but generic to multiple applications (e.g. security) Presentation: Data formatting Application: http, ftp, smtp
OSI (contd.) Physical: mechanical/electrical rules for transferring bits Data link: flow control error detection error recovery
Data Link Layer Flow Control Error Detection Error Recovery Stop and Go Sliding Window Error Detection Parity Check Cyclic Redundancy Check (CRC) Checksum Error Recovery Stop and Wait ARQ Go back N ARQ Selective Reject ARQ
Medium Access Control Multiple stations sharing a common medium. Resolution of who gets access to the medium. ALOHA Slotted ALOHA CSMA (non-, 1-, p- persistant) CSMA/CD
OSI (contd.) Network Transport Routing Congestion control Quality of service Transport End-to-end communication of data Reliability Sequencing Flow control
OSI (contd.) Session Presentation Application Application specific functionality Still, generic to multiple applications (e.g. security) Presentation Data formatting Application
Overview of TCP/IP
TCP/IP Protocol Suite Differences between OSI and TCP/IP? 5 layers: Physical Data link/MAC (ARP, SLIP) Network (IP, ICMP, IGMP) Transport (TCP, UDP) Application (http, ftp, telnet, smtp)
Medium Access Control When multiple stations share a common channel, the protocol that determines which station gets access to the shared channel Key characteristics based on which MAC protocols are evaluated: utilization and fairness
ALOHA ALOHA When a station wants to transmit, it transmits … Collisions detected at a higher layer and retransmissions done as required Simple logic Highly inefficient at large loads. Maximum utilization of 18% at a mean load of 0.5 transmissions/slot
Slotted ALOHA Stations can transmit only at the beginning of pre-determined slots Reduces the “vulnerable period” for collisions More efficient Maximum utilization of 36% at a mean load of 1 transmission/slot
Carrier Sense Multiple Access Station wishing to transmit senses channel. If channel idle, transmits. Else, backs-off and tries later Carrier sensing hardware required More efficient than both versions of ALOHA 3 flavors of CSMA
CSMA (contd.) 1-persistent CSMA p-persistent CSMA non-persistent CSMA On finding channel busy, station continues listening and transmits when channel becomes idle p-persistent CSMA On finding channel idle, station transmits with a probability of p, backs-off and tries again when channel is busy non-persistent CSMA On finding channel busy, station backs-off for a random amount of time and tries later
CSMA/CD In CSMA, when there is a collision of two transmissions, it is detected only after the entire frames have been transmitted … irrespective of when the collision occurs CSMA/CD includes a collision detection mechanism that can detect collisions even as stations are transmitting Transmitting stations terminate transmissions upon collision detection and try later
CSMA/CD (Contd.) When will the performance of CSMA/CD be the same as that of CSMA? IEEE 802.3 Ethernet LAN Standard Full-duplex Ethernet
Other MAC Schemes Collision free protocols Bit map protocol Binary countdown protocol Limited contention protocols Adaptive tree walk protocol
Scheduling When a station gets to transmit, the protocol that determines which packet gets to be transmitted Fairness the primary consideration Weighted fairness … an extension Default scheduling in today’s Internet?
Scheduling Policies … FCFS Priority Packets queued on a first-come-first-served basis No fairness Priority Multiple queues with different priorities Packets belonging to queue k served only when queues with higher priorities are empty
Scheduling (Contd.) Generalized Processor Sharing (GPS) Ideal fair queuing approach based on a fluid flow system Complex, idealistic Packetized GPS (WFQ) Packetized version of GPS (practical) Finish times in a correponding GPS system used for prioritizing packets
Scheduling - WFQ 3 flows A, B, C Weights: A(1), B(2), C(3) Assume same packet sizes 8 7 Complex overhead due to computation of finishing times Simpler approach? 5 4 6 3 2 1 Tx Schedule: C B C C B A C B …
Scheduling (Contd.) Weighted Round Robin Simpler approximation of WFQ Assumes constant packet sizes Can cause unfair delay A Fixed Tx Schedule: C C C B B A A B C
Scheduling (Contd.) WRR with WFQ Spread For each flow k with weight wk generate wk elements of the form (1/wk,k), (2/wk,k), …, (wk/wk,k) Sort all such elements from all competing flows in lexicographic order Extracting the second element of each pair from the resulting sorted list gives the WRR with WFQ spread
WRR with WFQ Spread A (1) (1,A) B (2) (1/2,B), (1,B) C (3) (1/3,C), (1/2,C), (1,C) Lexicographically Sorted: (1/3,C), (1/2,B), (1/2,C), (1,A), (1,B), (1,C) Schedule: C B C A B C
Other scheduling policies… Deficit Round Robin (DRR) Handles varying size packets Frame of N bits split among the competing flows in the ratio of their weights Flows get to transmit HOL packet only when they have accumulated packet-length number of bits Class based queuing (CBQ) General scheduling and link-share scheduling Greater flexibility to control scheduling policy
TCP/IP Protocol Suite Physical layer Data-link layer – ARP, RARP, SLIP Network layer – IP, ICMP, IGMP, BootP Transport layer _ TCP, UDP, RTP Application layer – http, smtp, ftp
Internet Protocol (IP) Addressing Routing Fragmentation and Reassembly Quality of Service Multiplexing and Demultiplexing
Addressing Need unique identifier for every host in the Internet (analogous to postal address) IP addresses are 32 bits long Hierarchical addressing scheme Why? Conceptually … IPaddress =(NetworkAddress,HostAddress)
Address Classes Class A Class B Class C 0 netId hostId 7 bits 24 bits 1 0 netId hostId 14 bits 16 bits 1 1 0 netId hostId 21 bits 8 bits
IP Address Classes (contd.) Two more classes 1110 : multicast addressing 1111 : reserved Significance of address classes? Why this conceptual form?
Addresses and Hosts Since netId is encoded into IP address, each host will have a unique IP address for each of its network connections Hence, IP addresses refer to network connections and not hosts Why will hosts have multiple network connections?
Special Addresses hostId of 0 : network address hostId of all 1’s: directed broadcast All 1’s : limited broadcast netId of 0 : this network Loopback : 127.0.0.0 Dotted decimal notation: IP addresses are written as four decimal integers separated by decimal points, where each integer gives the value of one octet of the IP address.
Exceptions to Addressing Subnetting Splitting hostId into subnetId and hostId Achieved using subnet masks Useful for? Supernetting (Classless Inter-domain Routing or CIDR) Combining multiple lower class address ranges into one range Achieved using 32 bit masks and max prefix routing
Weaknesses Mobility Switching address classes Notion of host vs. IP address
IP Routing Direct Indirect If source and destination hosts are connected directly Still need to perform IP address to physical address translation. Why? Indirect Table driven routing Each entry: (NetId, RouterId) Default router Host-specific routes
IP Routing Algorithm RouteDatagram(Datagram, RoutingTable) Extract destination IP address, D, from the datagram and compute the netID N If N matches any directly connected network address deliver datagram to destination D over that network Else if the table contains a host-specific route for D, send datagram to next-hop specified in table Else if the table contains a route for network N send datagram to next-hop specified in table Else if the table contains a default route send datagram to the default router specified in table Else declare a routing error
Routing Protocols Interior Gateway Protocol (IGP) Within an autonomous domain RIP (distance vector protocol), OSPF (link state protocol) Exterior Gateway Protocol (EGP) Across autonomous domains BGP (border gateway protocol)
IP Fragmentation The physical network layers of different networks in the Internet might have different maximum transmission units The IP layer performs fragmentation when the next network has a smaller MTU than the current network MTU = 1500 MTU=500 IP fragmentation
IP Reassembly Fragmented packets need to be put together Where does reassembly occur? What are the trade-offs?
Multiplexing Web Email MP3 Web Email MP3 TCP UDP TCP UDP IP IP IP datagrams IP datagrams
IP Header Used for conveying information to peer IP layers Source Destn Application Application Transport Router Router Transport IP IP IP IP DataLink DataLink DataLink DataLink Physical Physical Physical Physical
IP Header (contd.) 4 bit version 4 bit hdr length 16 bit total length TOS 16 bit identification 3 bit flags 13 bit fragment offset 8 bit TTL 8 bit protocol 16 bit header checksum 32 bit source IP address 32 bit destination IP address Options (if any) (maximum 40 bytes) data
Puzzle 1 You have a chain consisting of 63 inter-linked gold links You have to stay at a motel where the charge per day is 1 gold link You do not trust the motel manager and neither does he trust you What is the minimum number of links you need to break in order to stay for 63 days? Clue: The manager will not sell the links till you check out