4605-l1 - ECE4605: Advanced Internetworking Raghupathy...

Info iconThis preview shows pages 1–7. Sign up to view the full content.

View Full Document Right Arrow Icon

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full DocumentRight Arrow Icon

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full DocumentRight Arrow Icon

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full DocumentRight Arrow Icon
This is the end of the preview. Sign up to access the rest of the document.

Unformatted text preview: ECE4605: Advanced Internetworking Raghupathy Sivakumar http://www.ece.gatech.edu/research/GNAN Class website: t-square/ECE-4605-A/Wiki 1 Administrative Information Office: 5164 Centergy Email: siva@ece.gatech.edu URL: t-square/ECE-4605-A/Wiki Office hours: By appointment TA TBD 2 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 and protocols 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) 3 Policies Slides: Lecture slides available on website by 12noon on the day of class Lecture slides are NOT comprehensive – students are expected to attend classes to “fill in” information Classes are interactive. Try to participate as much as possible. Classes: Miss classes at your own risk. Professor and TAs will not be responsible for any information you might not have because of a missed class. Cheating: Zero tolerance policy toward cheating. You will receive an F for the entire class if you are found cheating in any exam or assignment. Disturbance: No talking in class and disturbing other students when lecture is being delivered. Please turn OFF your cellphones before sitting down for lectures. You will be asked to leave the classroom if you violate this policy. Grading Exams 2 midterms (2 x 10% = 20%) 1 final (1 x 30% = 35%) Paper Reading/Presentation Assignments 20% (split between presentations and paper quizzes) Project 1 mini-project (1 x 20% = 20%) Other Peer participation grade (1 x 5% = 5%) Paper Presentations/Quizzes ? paper presentations per group (will be announced on the 30th) Students to complete assignments in groups of ? 20% of your final grade Papers to present will be put up on class website All students have to review papers their group is not presenting A short/simple in-class quiz will be administered after every paper Presentations & Participation (contd.) Presentations 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 Critique of approaches Suggestions for Improvement 7 Projects List to be put up shortly Same teams as presentations Students interested in other projects can talk to me Typically involves real-world technologies and applications E.g. : Comparison of 802.11b, 802.11g, 802.11a, 802.11n 8 Examinations Two mid-term exams and one final-exam Exams based on concepts in lectures/presentations/discussions If student participates in class and does reading list review honestly, exams should require minimal additional preparation 9 Focus of this class … OSI/TCP/IP basics Advanced protocols TCP flavors, IPv6 Network QoS & Real-time applications Intserv, diffserv, MPLS, VoIP, IPTV Internet Overlays P2P, CDNs, WAN optimization Wireless and Mobile Networking Wireless TCP, Mobile IP, 802.11 Miscellaneous topics Puzzles!! 10 References, Reading Material, and Lecture Notes Most references – research papers in the concerned area. Available online. Follow lecture slides and class discussions closely OSI Model 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 Stack Physical Data link Network Transport Session Presentation Application OSI (contd.) Physical: mechanical/electrical rules for transferring bits Data link: flow control error detection error recovery OSI (contd.) Network Routing Congestion control Quality of service Transport End-to-end communication of data Reliability Sequencing Flow control Congestion control OSI (contd.) Session Application specific functionality Still, generic to multiple applications (e.g. security) Presentation Data formatting Application 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 Overview Medium Access Control ALOHA, slotted-ALOHA, CSMA, CSMA/CD Scheduling FCFS, Priority scheduling Fair queuing, Weighted fair queuing Round robin, Weighted round robin Deficit round robin Class based queuing 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 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 802.3u – fast ethernet 802.3ab – gigabit ethernet 802.3ae – 10G ethernet Full-duplex Ethernet 29 Other MAC Schemes Collision free protocols Bit map protocol Binary countdown protocol Limited contention protocols Adaptive tree walk protocol Recap Class goals and overview Grading and other administrative stuff Communication networks OSI Protocol Stack Scheduling 32 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? 33 Scheduling Policies … FCFS 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 34 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 35 Scheduling - WFQ 3 flows A, B, C Weights: A(1), B(2), C(3) Assume same packet sizes 8 65 2 7 4 3 1 • Complex overhead due to computation of finishing times • Simpler approach? Tx Schedule: C B C C B A C B … 36 Scheduling (Contd.) Weighted Round Robin Simpler approximation of WFQ Assumes constant packet sizes Can cause unfair delay A B Fixed Tx Schedule: C C C B B A A C 37 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 38 WRR with WFQ Spread A (1) (1,A) B (2) (1/2,B), (1,B) C (3) (1/3,C), (2/3,C), (1,C) Lexicographically Sorted: (1/3,C), (1/2,B), (2/3,C), (1,A), (1,B), (1,C) Schedule: C B C A B C 39 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 40 Internet Protocol (IP) 41 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 42 Internet Protocol (IP) Multiplexing and Demultiplexing Addressing Routing Fragmentation and Reassembly Quality of Service 43 Multiplexing Web Email MP3 Web Email TCP UDP TCP UDP IP MP3 IP IP datagrams IP datagrams 44 Addressing Need unique identifier for every host in the Internet (analogous to postal address) IP addresses are 32 bits long Hierarchical addressing scheme Conceptually … IPaddress =(NetworkAddress,HostAddress) 45 Address Classes Class A 0 netId hostId 7 bits 24 bits Class B 1 0 Class C 1 1 0 netId 14 bits hostId 16 bits netId 21 bits hostId 8 bits 46 IP Address Classes (contd.) Two more classes 1110 : multicast addressing 1111 : reserved Significance of address classes? Why this conceptual form? 47 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? 48 Special Addresses hostId of 0 : hostId of all 1’s: All 1’s : netId of 0 : Loopback : network address directed broadcast limited broadcast this network 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. 49 Exceptions to Addressing (norm today) 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 Useful for? 50 Examples Subnetting 192.168.1.0/24 – class C network 192.168.1.64/26 and 192.168.1.128/26 – 2 subnetworks with upto 62 stations each Supernetting 192.168.2.0/24 and 192.168.3.0/24 – 2 class C networks 192.168.2.0/23 – 1 super network with upto 510 stations!! 51 IP Routing Direct 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: (Destination, Netmask, Nexthop) Specific routes: Default router, Host-specific routes Other fields: Metric, Interface 52 IP Routing Algorithm RouteDatagram(Datagram, RoutingTable) Extract destination IP address, D, from the datagram and compute the prefix N using the Netmask If N matches any directly connected destination 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 53 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) 54 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 IP fragmentation MTU = 1500 MTU=500 55 IP Reassembly Fragmented packets need to be put together Where does reassembly occur? What are the trade-offs? 56 IP Header Used for conveying information to peer IP layers Destn Source Application Transport IP DataLink Physical Router IP DataLink Physical Router IP DataLink Physical Application Transport IP DataLink Physical 57 IP Header (contd.) 4 bit 4 bit hdr version length 8 bit TOS 16 bit identification 8 bit TTL 16 bit total length 3 bit flags 8 bit protocol 13 bit fragment offset 16 bit header checksum 32 bit source IP address 32 bit destination IP address Options (if any) (maximum 40 bytes) data 58 Recap MAC Protocols: ALOHA, slotted-ALOHA, CSMA, CSMA/CD Scheduling: FCFS, Priority, FQ, WFQ, WRR, CBQ Internet Protocol: Addressing, Routing, Fragmentation & Reassembly, Mux/Demux 59 TCP/IP in relation to the OSI model 60 Transmission Control Protocol (TCP) 61 Transmission Control Protocol (TCP) End-to-end transport protocol Responsible for reliability, congestion control, flow control, and sequenced delivery Applications that use TCP: http (web), telnet, ftp (file transfer), smtp (email), chat Applications that don’t: multimedia (typically) – use UDP instead 62 Ports, End-points, & Connections http ftp smtptelnet TCP UDP IP Layer Protocol ID IP address A1 A2 A3 Transport Port Thus, an end-point is represented by (IP address,Port) Ports can be re-used between transport protocols A connection is (SRC IP address, SRC port, DST IP address, DST port) Same end-point can be used in multiple connections 63 TCP Connection Establishment Connection Maintenance Reliability Congestion control Flow control Sequencing Connection Termination 64 Active and Passive Open How do applications initiate a connection? One end (server) registers with the TCP layer instructing it to “accept” connections at a certain port The other end (client) initiates a “connect” request which is “accept”-ed by the server 65 Connection Establishment & Termination Active open SYN Send connection request SYN+ACK ACK DATA 3-way handshake used for connection Accept connection request Send acceptance establishment Randomly chosen Start connection sequence number is conveyed to the other end Similar FIN, FIN+ACK exchange used for connection termination Server does passive open 66 Reliability (Loss Recovery) data Sequence Numbers TCP uses cumulative Acknowledgments (ACKs) ack Next expected in-sequence packet sequence number Pros and cons? Piggybacking 1 2 33 44 5 1 2 33 4 3 3 4 Timeout calculation Rttavg = k*Rttavg + (1­k)*Rttsample RTO = Rttavg + 4*Rtt deviation 67 Fundamental Mechanism data data ack retx data ack Simple stop and go protocol Timeout based reliability (loss recovery) • Multiple unacknowledged packets! Sliding Window Protocol: 1 2 3 4 5 6 7 8 9 10 11 12 …. 68 Congestion Control Slow Start Start with W=1 For every ACK, W=W+1 Congestion Avoidance (linear increase) For every ACK, Alternative: Fall to W/2 and start W = W+1/W congestion avoidance directly Congestion Control (multiplicative decrease) ssthresh = W/2 W=1 69 Why LIMD? (fairness) • • W=1 • • • 100 10 1 Problem? – inefficient diff = 90 1 diff = 0 100 50 51 52 .. 73 37.5 .. 61.75 30.85 .. 10 5 6 7 diff = 90 diff = 45 diff = 45 diff = 45 28 14 diff = 45 diff = 23.5 38.25 19.65 diff = 23.5 diff = 11.2 W=W/2 • • • • • • • • • • • 70 Flow Control Prevent sender from overwhelming the receiver Receiver in every ACK advertises the available buffer space at its end Window calculation MIN(congestion control window, flow control window) 71 Sequencing 1 2 33 4 3 3 4 Byte sequence numbers 1 given to app TCP receiver buffers out 2 given to app of order segments and Loss 4 buffered (not given to app) reassembles them later Starting sequence 3 & 4 given to app 4 discarded number randomly chosen during connection establishment Why? 72 TCP Segment Format 16 bit SRC Port 16 bit DST Port 32 bit sequence number 32 bit ACK number HL resvd flags 16 bit window size 16 bit TCP checksum 16 bit urgent pointer Options (if any) Flags: URG, ACK, PSH, RST, SYN, FIN Data 73 TCP Flavors TCP-Tahoe W=1 adaptation on congestion TCP-Reno W=W/2 adaptation on fast retransmit, W=1 on timeout TCP-newReno TCP-Reno + intelligent fast recovery TCP-Vegas, TCP-SACK 74 TCP Tahoe Slow-start Congestion control upon time-out or DUP-ACKs When the sender receives 3 duplicate ACKs for the same sequence number, sender infers a loss Congestion window reduced to 1 and slow-start performed again Simple Congestion control too aggressive 75 TCP Reno Tahoe + Fast re-transmit Packet loss detected both through timeouts, and through DUP-ACKs Sender reduces window by half, the ssthresh is set to half of current window, and congestion avoidance is performed (window increases only by 1 every round-trip time) Fast recovery ensures that pipe does not become empty Window cut-down to 1 (and subsequent slowstart) performed only on time-out 76 TCP New-Reno TCP-Reno with more intelligence during fast recovery In TCP-Reno, the first partial ACK will bring the sender out of the fast recovery phase Results in timeouts when there are multiple losses In TCP New-Reno, partial ACK is taken as an indication of another lost packet (which is immediately retransmitted). Sender comes out of fast recovery only after all outstanding packets (at the time of first loss) are ACKed 77 TCP SACK TCP (Tahoe, Reno, and New-Reno) uses cumulative acknowledgements When there are multiple losses, TCP Reno and New-Reno can retransmit only one lost packet per round-trip time What about TCP-Tahoe? SACK enables receiver to give more information to sender about received packets allowing sender to recover from multiple-packet losses faster 78 TCP SACK (Example) Assume packets 5-25 are transmitted Let packets 5, 12, and 18 be lost Receiver sends back a CACK=5, and SACK=(6-11,13-17,19-25) Sender knows that packets 5, 12, and 18 are lost and retransmits them immediately 79 Other TCP flavors TCP Vegas Uses round-trip time as an early-congestionfeedback mechanism Reduces losses TCP FACK Intelligently uses TCP SACK information to optimize the fast recovery mechanism further 80 User Datagram Protocol (UDP) Simpler cousin of TCP No reliability, sequencing, congestion control, flow control, or connection management! Serves solely as a labeling mechanism for demultiplexing at the receiver end Use predominantly by protocols that do no require the strict service guarantees offered by TCP (e.g. real-time multimedia protocols) Additional intelligence built at the application layer if needed 81 UDP Header Src Port Dst Port Length Checksum Length: length of header + data (min = 8) 82 Recap TCP Connection management Reliability Flow control Congestion control TCP flavors UDP 83 Puzzle How can a toss be called over the phone (without requiring trust)? ...
View Full Document

This note was uploaded on 10/12/2011 for the course ECE 4605 taught by Professor Staff during the Fall '08 term at Georgia Institute of Technology.

Page1 / 84

4605-l1 - ECE4605: Advanced Internetworking Raghupathy...

This preview shows document pages 1 - 7. Sign up to view the full document.

View Full Document Right Arrow Icon
Ask a homework question - tutors are online