Presentation is loading. Please wait.

Presentation is loading. Please wait.

ECE 6610: Wireless Networks

Similar presentations


Presentation on theme: "ECE 6610: Wireless Networks"— Presentation transcript:

1 ECE 6610: Wireless Networks
Raghupathy Sivakumar

2 Guest Lectures Professor Sivakumar traveling for a lecture at the WISARD (Wireless Systems: Advanced Research and Development) 2009 conference Guest lectures on January 6th and 8th

3 e-Handouts (online) Class information Schedule
0th assignment (does not need to be turned in)

4 Goals Fundamental concepts in wireless network protocols and algorithms Impact of wireless networks on the different layers of the network protocol stack Theoretical and practical exposure to problems and solutions in wireless network protocols

5 Requirements * See 0th assignment Knowledge of the OSI protocol stack*
Knowledge of the TCP/IP protocol suite and associated protocols* Experience in programming for assignments & project * See 0th assignment

6 Administrative Information
Raghupathy Sivakumar Room 5164, Centergy Office hours: By appointment Class website TA TBD

7 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: 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.

8 Textbook No textbook Primary material: Suggested reading
Class discussions + slides Suggested reading Supplementary reading to be suggested during lectures

9 Grading Exams Assignments Project Other 2 midterms (2 x 15% = 30%)
1 final (1 x 35% = 35%) Assignments 3 programming assignments (3 x 6% = 18%) Project 1 programming mini-project (1 x 12% = 12%) Other Class participation (1 x 5% = 5%) Active participation required Need to turn in a participation report at the end of the semester (make notes of interactions in class)

10 Programming Assignments
Students to complete assignments in groups of 5* 18% of your final grade All assignments will be based on the ns2 network simulator * Subject to change

11 Project 1 mini-project 18% of your final grade
Based on the ns2 network simulator* Project will be defined for you Deliverables: Preliminary report, demonstration and results, final report/presentation * A few test-bed project options available

12 Groups: Regular Students
Form groups of five Try to choose students with complimentary skills Send groups to TA (one per group w/ subject: ECE 6610 Groups) by end of day Thursday, 1/15

13 Distance Learning Students
Will work on theory assignments as opposed to programming assignments Deadlines one week after those for regular students

14 Schedule All deadlines for distance learning students will
be one week after the regular deadlines

15 References, Reading Material, and Lecture Notes
Most references – research papers in the concerned area. Available online. Follow lecture slides and class discussions closely

16 OSI Model

17 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?

18 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?

19 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

20 OSI Protocol Stack Physical Data link Network Transport Session
Presentation Application

21 OSI (contd.) Physical: mechanical/electrical rules for transferring bits Data link: flow control error detection error recovery

22 OSI (contd.) Network Transport Routing Congestion control
Quality of service Transport End-to-end communication of data Reliability Sequencing Flow control

23 OSI (contd.) Session Presentation Application
Application specific functionality Still, generic to multiple applications (e.g. security) Presentation Data formatting Application

24 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)

25 Medium Access Control

26 Overview Medium Access Control Scheduling
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

27 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

28 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

29 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

30 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

31 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

32 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

33 CSMA/CD (Contd.) When will the performance of CSMA/CD be the same as that of CSMA? IEEE Ethernet LAN Standard 802.3u – fast ethernet 802.3ab – gigabit ethernet 802.3ae – 10G ethernet Full-duplex Ethernet

34 Other MAC Schemes Collision free protocols
Bit map protocol Binary countdown protocol Limited contention protocols Adaptive tree walk protocol

35 Recap Class goals and overview Grading and other administrative stuff
Communication networks OSI Protocol Stack

36 Scheduling

37 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?

38 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

39 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

40 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 …

41 Scheduling (Contd.) Weighted Round Robin A Fixed Tx Schedule:
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

42 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

43 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

44 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

45 Internet Protocol (IP)

46 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

47 Internet Protocol (IP)
Addressing Routing Fragmentation and Reassembly Quality of Service Multiplexing and Demultiplexing

48 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)

49 Address Classes Class A Class B Class C 0 netId hostId
7 bits 24 bits netId hostId 14 bits 16 bits netId hostId 21 bits 8 bits

50 IP Address Classes (contd.)
Two more classes 1110 : multicast addressing 1111 : reserved Significance of address classes? Why this conceptual form?

51 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?

52 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 : 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.

53 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

54 Examples Subnetting Supernetting 192.168.1.0/24 – class C network
/26 and /26 – 2 subnetworks with upto 62 stations each! Supernetting /24 and /24 – 2 class C networks /23 – 1 super network with upto 126 stations!!

55 Weaknesses Mobility Switching address classes
Notion of host vs. IP address

56 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

57 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

58 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)

59 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 = MTU=500 IP fragmentation

60 IP Reassembly Fragmented packets need to be put together
Where does reassembly occur? What are the trade-offs?

61 Multiplexing Web Email MP3 Web Email MP3 TCP UDP TCP UDP IP IP
IP datagrams IP datagrams

62 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

63 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

64 Recap MAC Protocols: ALOHA, slotted-ALOHA, CSMA, CSMA/CD
Scheduling: FCFS, Priority, FQ, WFQ, WRR, CBQ Internet Protocol: Addressing, Routing, Fragmentation & Reassembly, Mux/Demux

65 Transmission Control Protocol (TCP)

66 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 ( ), chat Applications that don’t: multimedia (typically) – use UDP instead

67 Ports, End-points, & Connections
IP Layer TCP UDP http ftp smtptelnet A1 A2 A3 Transport Port IP address Protocol ID 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

68 TCP Connection Establishment Connection Maintenance
Reliability Congestion control Flow control Sequencing Connection Termination

69 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

70 Connection Establishment & Termination
3-way handshake used for connection establishment Randomly chosen sequence number is conveyed to the other end Similar FIN, FIN+ACK exchange used for connection termination Server does passive open Accept connection request Send acceptance Start connection Active open Send connection request SYN SYN+ACK ACK DATA

71 Reliability (Loss Recovery)
ack data Sequence Numbers TCP uses cumulative Acknowledgments (ACKs) Next expected in-sequence packet sequence number Pros and cons? Piggybacking 5 1 2 3 4 3 1 2 4 Timeout calculation Rttavg = k*Rttavg + (1-k)*Rttsample RTO = Rttavg + 4*Rttdeviation

72 Fundamental Mechanism
Simple stop and go protocol Timeout based reliability (loss recovery) ack data data retx ack data Multiple unacknowledged packets! Sliding Window Protocol: ….

73 Congestion Control Alternative: Fall to W/2 and start
Slow Start Start with W=1 For every ACK, W=W+1 Congestion Avoidance (linear increase) For every ACK, W = W+1/W Congestion Control (multiplicative decrease) ssthresh = W/2 W = 1 Alternative: Fall to W/2 and start congestion avoidance directly

74 Why LIMD? (fairness) W=1 W=W/2 100 10 diff = 90 1 1 diff = 0
Problem? – inefficient W=W/2 diff = 45 51 6 diff = 45 52 7 diff = 45 .. diff = 45 diff = 23.5 diff = 23.5 diff = 11.2

75 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)

76 Sequencing Starting sequence number randomly chosen during connection
3 1 2 4 Byte sequence numbers TCP receiver buffers out of order segments and reassembles them later Starting sequence number randomly chosen during connection establishment Why? 1 given to app 2 given to app Loss 4 buffered (not given to app) 3 & 4 given to app 4 discarded

77 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 Flags: URG, ACK, PSH, RST, SYN, FIN 16 bit TCP checksum 16 bit urgent pointer Options (if any) Data

78 TCP Flavors TCP-Tahoe TCP-Reno TCP-newReno TCP-Vegas, TCP-SACK
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

79 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

80 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 slow-start) performed only on time-out

81 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

82 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

83 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

84 Other TCP flavors TCP Vegas TCP FACK
Uses round-trip time as an early-congestion-feedback mechanism Reduces losses TCP FACK Intelligently uses TCP SACK information to optimize the fast recovery mechanism further

85 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

86 UDP Header Src Port Dst Port Length: length of header + data (min = 8)
Checksum

87 Recap TCP Connection management Reliability Flow control
Congestion control TCP flavors UDP


Download ppt "ECE 6610: Wireless Networks"

Similar presentations


Ads by Google