Network layer. Network Layer 4-1. application transport network data link physical. network data link physical. network data link physical

Network layer      transport segment from sending to receiving host on sending side encapsulates segments into datagrams on receiving side, de...
0 downloads 1 Views 2MB Size
Network layer  



 

transport segment from sending 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 network data link data link physical physical network data link physical

network data link physical

network data link physical

network data link physical

application transport network data link physical

Network Layer 4-1

Two key network-layer functions 



forwarding: move packets from router’s input to appropriate router output routing: determine route taken by packets from source to dest.  routing algorithms

analogy: 



routing: process of planning trip from source to dest forwarding: process of getting through single interchange

Network Layer 4-2

Network service model Q: What service model for “channel” transporting datagrams from sender to receiver? example services for individual datagrams:  

guaranteed delivery guaranteed delivery with less than 40 msec delay

example services for a flow of datagrams:   

in-order datagram delivery guaranteed minimum bandwidth to flow restrictions on changes in inter-packet spacing

Network Layer 4-3

Virtual circuits “source-to-dest path behaves much like telephone circuit”  performance-wise  network actions along source-to-dest path    

call setup, teardown for each call before data can flow each packet carries VC identifier (not destination host address) every router on source-dest path maintains “state” for each passing connection link, router resources (bandwidth, buffers) may be allocated to VC (dedicated resources = predictable service) Network Layer 4-4

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

application transport 2. receive datagrams network data link physical

Network Layer 4-5

Datagram or VC network: why? Internet (datagram) 

data exchange among computers

ATM (VC)  

 strict timing, reliability requirements  need for guaranteed service

 “elastic” service, no strict timing req. 

many link types  different characteristics  uniform service difficult



“smart” end systems (computers)

evolved from telephony human conversation:



“dumb” end systems  telephones  complexity inside network

 can adapt, perform control, error recovery  simple inside network, complexity at “edge” Network Layer 4-6

Router architecture overview two key router functions:  

run routing algorithms/protocol (RIP, OSPF, BGP) forwarding datagrams from incoming to outgoing link

forwarding tables computed, pushed to input ports

routing processor

routing, management control plane (software) forwarding data plane (hardware)

high-speed switching fabric router input ports

router output ports Network Layer 4-7

Input port functions link layer line termination protocol (receive)

lookup, forwarding

switch fabric

queueing

physical layer: bit-level reception data link layer: e.g., Ethernet see chapter 5

decentralized switching: 





given datagram dest., lookup output port using forwarding table in input port memory (“match plus action”) goal: complete input port processing at ‘line speed’ queuing: if datagrams arrive faster than forwarding rate into switch fabric Network Layer 4-8

Switching fabrics  

transfer packet from input buffer to appropriate output buffer switching rate: rate at which packets can be transfer from inputs to outputs  often measured as multiple of input/output line rate  N inputs: switching rate N times line rate desirable



three types of switching fabrics memory

memory

bus

crossbar Network Layer 4-9

Output ports switch fabric

datagram buffer queueing

 

link line layer protocol termination (send)

buffering required when datagrams arrive from fabric faster than the transmission rate scheduling discipline chooses among queued datagrams for transmission

Network Layer 4-10

IP datagram format 32 bits ver head. type of len service 16-bit identifier upper time to layer live

length flgs

fragment offset header checksum

32 bit source IP address 32 bit destination IP address options (if any) how much overhead?  20 bytes of TCP  20 bytes of IP  = 40 bytes + app layer overhead

data (variable length, typically a TCP or UDP segment)

Network Layer 4-11

IP addressing: introduction 



IP address: 32-bit

223.1.1.1

identifier for host, router interface 223.1.1.2 interface: connection between host/router and physical link

223.1.2.1

223.1.1.4

223.1.3.27

223.1.1.3

223.1.2.2

 router’s typically have multiple interfaces  host typically has one or two interfaces (e.g., wired Ethernet, wireless 802.11) 

IP addresses associated with each interface

223.1.2.9

223.1.3.1

223.1.3.2

223.1.1.1 = 11011111 00000001 00000001 00000001 223

1

1

1

Network Layer 4-12

Subnets  IP

address:

subnet part - high order bits host part - low order bits  what

’s a subnet ?

device interfaces with same subnet part of IP address can physically reach each other without intervening router

223.1.1.1 223.1.1.2 223.1.1.4

223.1.1.3

223.1.2.1 223.1.2.9

223.1.3.27

223.1.2.2

subnet 223.1.3.1

223.1.3.2

network consisting of 3 subnets

Network Layer 4-13

IP addressing: CIDR CIDR: Classless InterDomain Routing  subnet portion of address of arbitrary length  address format: a.b.c.d/x, where x is # bits in subnet portion of address subnet host part part 11001000 00010111 00010000 00000000 200.23.16.0/23

Network Layer 4-14

DHCP: Dynamic Host Configuration Protocol goal: allow host to dynamically obtain its IP address from network server when it joins network  can renew its lease on address in use  allows reuse of addresses (only hold address while connected/“on”)  support for mobile users who want to join network (more shortly)

DHCP overview:    

host broadcasts “DHCP discover” msg [optional] DHCP server responds with “DHCP offer” msg [optional] host requests IP address: “DHCP request” msg DHCP server sends address: “DHCP ack” msg Network Layer 4-15

Routing algorithm classification Q: global or decentralized information? global:  all routers have complete topology, link cost info  “link state” algorithms decentralized:  router knows physicallyconnected neighbors, link costs to neighbors  iterative process of computation, exchange of info with neighbors  “distance vector” algorithms

Q: static or dynamic? static:  routes change slowly over time dynamic:  routes change more quickly  periodic update  in response to link cost changes

Network Layer 4-16

A Link-State Routing Algorithm Dijkstra’s algorithm 



net topology, link costs known to all nodes  accomplished via “link state broadcast”  all nodes have same info



computes least cost paths from one node (‘source”) to all other nodes



 gives forwarding table for that node 

notation:  c(x,y): link cost from

iterative: after k iterations, know least cost path to k dest.’s



node x to y; = ∞ if not direct neighbors D(v): current value of cost of path from source to dest. v p(v): predecessor node along path from source to v N': set of nodes whose least cost path definitively known Network Layer 4-17

Dijsktra’s Algorithm 1 Initialization: 2 N' = {u} 3 for all nodes v 4 if v adjacent to u 5 then D(v) = c(u,v) 6 else D(v) = ∞ 7 8 Loop 9 find w not in N' such that D(w) is a minimum 10 add w to N' 11 update D(v) for all v adjacent to w and not in N' : 12 D(v) = min( D(v), D(w) + c(w,v) ) 13 /* new cost to v is either old cost to v or known 14 shortest path cost to w plus cost from w to v */ 15 until all nodes in N' Network Layer 4-18

Dijkstra’s algorithm: another example Step 0 1 2 3 4 5

N' u ux uxy uxyv uxyvw uxyvwz

D(v),p(v) D(w),p(w) 2,u 5,u 2,u 4,x 2,u 3,y 3,y

D(x),p(x) 1,u

D(y),p(y) ∞ 2,x

D(z),p(z) ∞ ∞

4,y 4,y 4,y

5 2

u

v 2

1

x

3

w 3

1

5

z

1

y

2 Network Layer 4-19

Dijkstra’s algorithm: example (2) resulting shortest-path tree from u: v

w

u

z x

y

resulting forwarding table in u: destination link v (u,v) x (u,x) y (u,x) w (u,x) z (u,x) Network Layer 4-20

Distance vector algorithm Bellman-Ford equation (dynamic programming) let dx(y) := cost of least-cost path from x to y then

dx(y) = min {c(x,v) + dv(y) } v

cost from neighbor v to destination y cost to neighbor v min taken over all neighbors v of x Network Layer 4-21

Distance vector algorithm 

Dx(y) = estimate of least cost from x to y

 x maintains distance vector Dx = [Dx(y): y є N ]



node x:  knows cost to each neighbor v: c(x,v)  maintains its neighbors’ distance vectors. For each neighbor v, x maintains Dv = [Dv(y): y є N ]

Network Layer 4-22

Distance vector algorithm key idea:  

from time-to-time, each node sends its own distance vector estimate to neighbors when x receives new DV estimate from neighbor, it updates its own DV using B-F equation: Dx(y) ← minv{c(x,v) + Dv(y)} for each node y



N

under minor, natural conditions, the estimate Dx(y) converge to the actual least cost dx(y)

Network Layer 4-23

Distance vector algorithm iterative, asynchronous:  

each local iteration caused by: local link cost change DV update message from neighbor

distributed: 

each node notifies neighbors only when its DV changes  neighbors then notify their neighbors if necessary

each node: wait for (change in local link cost or msg from neighbor)

recompute estimates if DV to any dest has changed, notify neighbors

Network Layer 4-24

Comparison of LS and DV algorithms message complexity  

LS: with n nodes, E links, O(nE) msgs sent DV: exchange between neighbors only  convergence time varies

speed of convergence 



O(n2)

LS: algorithm requires O(nE) msgs  may have oscillations DV: convergence time varies  may be routing loops  count-to-infinity problem

robustness: what happens if router malfunctions? LS:  node can advertise incorrect link cost  each node computes only its own table

DV:  DV node can advertise incorrect path cost  each node’s table used by others • error propagate thru network

Network Layer 4-25

Hierarchical routing 



aggregate routers into regions, “autonomous systems” (AS) routers in same AS run same routing protocol

gateway router:  

at “edge” of its own AS has link to router in another AS

 “intra-AS” routing protocol  routers in different AS can run different intraAS routing protocol

Network Layer 4-26

Interconnected ASes 3c

3a 3b AS3

2a 1c 1a

1d

1b AS1

Intra-AS Routing algorithm

Inter-AS Routing algorithm

Forwarding table

2c 2b

AS2 

forwarding table configured by both intraand inter-AS routing algorithm  intra-AS sets entries for internal dests  inter-AS & intra-AS sets entries for external dests Network Layer 4-27

Inter-AS tasks 

suppose router in AS1 receives datagram destined outside of AS1:  router should forward packet to gateway router, but which one?

AS1 must: 1. learn which dests are reachable through AS2, which through AS3 2. propagate this reachability info to all routers in AS1 job of inter-AS routing!

3c 3b other networks

3a AS3

1c 1a AS1

1d

2a 1b

2c 2b

other networks

AS2 Network Layer 4-28

RIP ( Routing Information Protocol)  

included in BSD-UNIX distribution in 1982 distance vector algorithm  distance metric: # hops (max = 15 hops), each link has cost 1  DVs exchanged with neighbors every 30 sec in response message (aka advertisement)  each advertisement: list of up to 25 destination subnets (in IP addressing sense)

u A

z C

from router A to destination subnets: subnet hops v u 1 B w v 2 w 2 x x 3 D y 3 y Network Layer 4-29 z 2

RIP: link failure, recovery if no advertisement heard after 180 sec --> neighbor/link declared dead  routes via neighbor invalidated  new advertisements sent to neighbors  neighbors in turn send out new advertisements (if tables changed)

Network Layer 4-30

OSPF (Open Shortest Path First)  

“open”: publicly available uses link state algorithm  LS packet dissemination  topology map at each node  route computation using Dijkstra’s algorithm

 

OSPF advertisement carries one entry per neighbor advertisements flooded to entire AS  carried in OSPF messages directly over IP (rather than TCP or UDP

Network Layer 4-31

Hierarchical OSPF 

  

two-level hierarchy: local area, backbone.  link-state advertisements only in area  each nodes has detailed area topology; only know direction (shortest path) to nets in other areas. area border routers: “summarize” distances to nets in own area, advertise to other Area Border routers. backbone routers: run OSPF routing limited to backbone. boundary routers: connect to other AS’s.

Network Layer 4-32

Internet inter-AS routing: BGP 

BGP (Border Gateway Protocol): the de facto inter-domain routing protocol  “glue that holds the Internet together”



BGP provides each AS a means to:  eBGP: obtain subnet reachability information from

neighboring ASs.  iBGP: propagate reachability information to all ASinternal routers.  determine “good” routes to other networks based on reachability information and policy.

Network Layer 4-33

BGP basics 

BGP session: two BGP routers (“peers”) exchange BGP messages:  advertising paths to different destination network prefixes  exchanged over TCP connections



when AS3 advertises a prefix to AS1:  AS3 promises it will forward datagrams towards that prefix  AS3 can aggregate prefixes in its advertisement 3c 3b

other networks

3a

BGP message

AS3

1c 1a AS1

1d

2a 1b

2c 2b

other networks

AS2 Network Layer 4-34

BGP basics: distributing path information 

using eBGP session between 3a and 1c, AS3 sends prefix reachability info to AS1.  1c can then use iBGP do distribute new prefix info to all routers in AS1  1b can then re-advertise new reachability info to AS2 over 1b-to2a eBGP session



when router learns of new prefix, it creates entry for prefix in its forwarding table.

eBGP session

3b other networks

3a AS3

iBGP session

1c 1a AS1

1d

2a 1b

2c 2b

other networks

AS2 Network Layer 4-35

Path attributes and BGP routes 

advertised prefix includes BGP attributes  prefix + attributes = “route”



two important attributes:  AS-PATH: contains ASs through which prefix advertisement has passed: e.g., AS 67, AS 17  NEXT-HOP: indicates specific internal-AS router to nexthop AS. (may be multiple links from current AS to nexthop-AS)



gateway router receiving route advertisement uses import policy to accept/decline  e.g., never route through AS x  policy-based routing Network Layer 4-36

BGP route selection 

router may learn about more than 1 route to destination AS, selects route based on: 1. 2. 3. 4.

local preference value attribute: policy decision shortest AS-PATH closest NEXT-HOP router: hot potato routing additional criteria

Network Layer 4-37

Link layer services 

framing, link access:  encapsulate datagram into frame, adding header, tailer  channel access if shared medium  “MAC” addresses used in frame headers to identify source, dest • different from IP address!



reliable delivery between adjacent nodes

 we learned how to do this already (chapter 3)!  seldom used on low bit-error link (fiber, some twisted pair)  wireless links: high error rates • Q: why both link-level and end-end reliability? Link Layer 5-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

Link Layer 5-39

Parity checking single bit parity: 



detect single bit errors even parity and odd parity scheme

two-dimensional bit parity: 

detect and correct single bit errors

0

0

Link Layer 5-40

Cyclic redundancy check    

more powerful error-detection coding view data bits, D, as a binary number choose r+1 bit pattern (generator), G goal: choose r CRC bits, R, such that  exactly divisible by G (modulo 2)  receiver knows G, divides by G. If non-zero remainder: error detected!  can detect all burst errors less than r+1 bits



widely used in practice (Ethernet, 802.11 WiFi, ATM)

Link Layer 5-41

CRC example want: D.2r XOR R = nG equivalently: D.2r = nG XOR R equivalently: if we divide D.2r by G, want remainder R to satisfy: D.2r R = remainder[ ] G

G

D

r=3

101011 1001 101110000 1001 101 000 1010 1001 110 000 1100 1001 R 1010 1001 011 Link Layer 5-42

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

Link Layer 5-43

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

3

4

1

3

4

Link Layer 5-44

Channel partitioning MAC protocols: FDMA FDMA: frequency division multiple access   

channel spectrum divided into frequency bands each station assigned fixed frequency band unused transmission time in frequency bands go idle example: 6-station LAN, 1,3,4 have pkt, frequency bands 2,5,6 idle

FDM cable

frequency bands



Link Layer 5-45

Slotted ALOHA assumptions:  

  

all frames same size time divided into equal size slots (time to transmit 1 frame) nodes start to transmit only slot beginning nodes are synchronized if 2 or more nodes transmit in slot, all nodes detect collision

operation: 

when node obtains fresh frame, transmits in next slot  if no collision: node can send new frame in next slot  if collision: node retransmits frame in each subsequent slot with prob. p until success

Link Layer 5-46

Slotted ALOHA node 1

1

1

node 2

2

2

node 3

3

1

1 2 3

3

C E C S E C E S S

Pros: 





single active node can continuously transmit at full rate of channel highly decentralized: only slots in nodes need to be in sync simple

Cons:   



collisions, wasting slots idle slots nodes may be able to detect collision in less than time to transmit packet clock synchronization Link Layer 5-47

Pure (unslotted) ALOHA  



unslotted Aloha: simpler, no synchronization when frame first arrives  transmit immediately collision probability increases:  frame sent at t0 collides with other frames sent in [t01,t0+1]

Link Layer 5-48

CSMA (carrier sense multiple access) CSMA: listen before transmit: if channel sensed idle: transmit entire frame  if channel sensed busy, defer transmission 

human analogy: don’t interrupt others!

Link Layer 5-49

CSMA/CD (collision detection) CSMA/CD: carrier sensing, deferral as in CSMA  collisions detected within short time  colliding transmissions aborted, reducing channel wastage 

collision detection:  easy in wired LANs: measure signal strengths, compare transmitted, received signals  difficult in wireless LANs: received signal strength overwhelmed by local transmission strength



human analogy: the polite conversationalist

Link Layer 5-50

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

data

poll

master data

slaves

Link Layer 5-51

“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 Link Layer 5-52

MAC addresses and ARP 

32-bit IP address:  network-layer address for interface  used for layer 3 (network layer) forwarding



MAC (or LAN or physical or Ethernet) address:  function: used ‘locally” to get frame from one interface to another physically-connected interface (same network, in IPaddressing sense)  48 bit MAC address (for most LANs) burned in NIC ROM, also sometimes software settable  e.g.: 1A-2F-BB-76-09-AD hexadecimal (base 16) notation (each “number” represents 4 bits) Link Layer 5-53

ARP: address resolution protocol Question: how to determine interface’s MAC address, knowing its IP address? 137.196.7.78 1A-2F-BB-76-09-AD 137.196.7.23 137.196.7.14

LAN 71-65-F7-2B-08-53

58-23-D7-FA-20-B0 0C-C4-11-6F-E3-98

ARP table: each IP node (host, router) on LAN has table  IP/MAC address mappings for some LAN nodes: < IP address; MAC address; TTL>

 TTL (Time To Live): time after which address mapping will be forgotten (typically 20 min)

137.196.7.88 Link Layer 5-54

ARP protocol: same LAN 

A wants to send datagram to B  B’s MAC address not in A’s ARP table.



A broadcasts ARP query packet, containing B's IP address  dest MAC address = FF-FFFF-FF-FF-FF  all nodes on LAN receive ARP query





B receives ARP packet, replies to A with its (B's) MAC address

A caches (saves) IP-toMAC address pair in its ARP table until information becomes old (times out)  soft state: information that times out (goes away) unless refreshed



ARP is “plug-and-play”:  nodes create their ARP tables without intervention from net administrator

 frame sent to A’s MAC address (unicast) Link Layer 5-55

Addressing: routing to another LAN walkthrough: send datagram from A to B via R  focus on addressing – at IP (datagram) and MAC layer (frame)  assume A knows B’s IP address  assume A knows IP address of first hop router, R (how?)  assume A knows R’s MAC address (how?)

A

R

111.111.111.111 74-29-9C-E8-FF-55

B 222.222.222.222 49-BD-D2-C7-56-2A

222.222.222.220 1A-23-F9-CD-06-9B 111.111.111.112 CC-49-DE-D0-AB-7D

111.111.111.110 E6-E9-00-17-BB-4B

222.222.222.221 88-B2-2F-54-1A-0F Link Layer 5-56

Ethernet “dominant” wired LAN technology:  cheap $20 for NIC  first widely used LAN technology  simpler, cheaper than token LANs and ATM  kept up with speed race: 10 Mbps – 10 Gbps

Metcalfe’s Ethernet sketch Link Layer 5-57

Ethernet: physical topology 

bus: popular through mid 90s

 all nodes in same collision domain (can collide with each other)



star: prevails today

 active switch in center  each “spoke” runs a (separate) Ethernet protocol (nodes do not collide with each other)

switch

bus: coaxial cable

star

Link Layer 5-58

Ethernet frame structure sending adapter encapsulates IP datagram (or other network layer protocol packet) in Ethernet frame type dest.

source

preamble address address

data (payload)

CRC

preamble:  7 bytes with pattern 10101010 followed by one byte with pattern 10101011  used to synchronize receiver, sender clock rates

Link Layer 5-59

Ethernet frame structure (more) 

addresses: 6 byte source, destination MAC addresses  if adapter receives frame with matching destination address, or with broadcast address (e.g. ARP packet), it passes data in frame to network layer protocol  otherwise, adapter discards frame

 

type: indicates higher layer protocol (mostly IP but others possible, e.g., Novell IPX, AppleTalk) CRC: cyclic redundancy check at receiver  error detected: frame is dropped type dest.

source

preamble address address

data (payload)

CRC

Link Layer 5-60

Ethernet switch 





link-layer device: takes an active role  store, forward Ethernet frames  examine incoming frame’s MAC address, selectively forward frame to one-or-more outgoing links when frame is to be forwarded on segment, uses CSMA/CD to access segment transparent  hosts are unaware of presence of switches plug-and-play, self-learning  switches do not need to be configured

Link Layer 5-61

Switch forwarding table Q: how does switch know A’ reachable via interface 4, B’ reachable via interface 5?  A: each switch has a switch table, each entry:  (MAC address of host, interface to reach host, time stamp)  looks like a routing table!

A B

C’

6 1

2 4

5 B’

3 C

A’

Q: how are entries created, maintained in switch table?  something like a routing protocol?

switch with six interfaces (1,2,3,4,5,6) Link Layer 5-62

Switch: frame filtering/forwarding when frame received at switch: 1. record incoming link, MAC address of sending host 2. index switch table using MAC destination address 3. if entry found for destination then { if destination on segment from which frame arrived then drop frame else forward frame on interface indicated by entry } else flood /* forward on all interfaces except arriving interface */ Link Layer 5-63

Interconnecting switches 

switches can be connected together S4 S1 A B

C

S3

S2 D

F E

I G

H

Q: sending from A to G - how does S1 know to forward frame destined to F via S4 and S3?  A: self learning! (works exactly the same as in single-switch case!) Link Layer 5-64

Switches vs. routers both are store-and-forward: routers: network-layer devices (examine networklayer headers) switches: link-layer devices (examine link-layer headers) both have forwarding tables: routers: compute tables using routing algorithms, IP addresses switches: learn forwarding table using flooding, learning, MAC addresses

datagram

frame

application transport network link physical

link frame physical

switch network datagram link frame physical application transport network link physical Link Layer 5-65

Infrastructure vs. ad-hoc networks infrastructure network AP AP

ad-hoc network

wired network

AP: Access Point

AP

802.11: Infrastructure 802.11 LAN

STA1

802.x LAN

Station

(STA)

 terminal with access mechanisms to the wireless medium and radio contact to the access point Access

BSS1

Portal

Access Point

Distribution System

 station integrated into the wireless LAN and the distribution system Basic

Service Set (BSS)

 group of stations using the same AP Portal

Access Point

ESS

Point

 bridge to other (wired) networks Distribution

BSS2

STA2

System

 interconnection network to form one logical network (EES: Extended Service Set) based on several BSS 802.11 LAN

STA3

802.11: Ad hoc mode 802.11 LAN

STA1



 Station (STA): terminal with access mechanisms to the wireless medium  Independent Basic Service Set (IBSS): group of stations using the same network

STA3

IBSS1

STA2

IBSS2 STA5 STA4

802.11 LAN

Direct communication within a limited range

IEEE standard 802.11 fixed terminal

mobile terminal

infrastructure network access point application

application

TCP

TCP

IP

IP

LLC

LLC

LLC

802.11 MAC

802.11 MAC

802.3 MAC

802.3 MAC

802.11 PHY

802.11 PHY

802.3 PHY

802.3 PHY

IEEE 802.11 Wireless MAC 

Distributed and centralized MAC components  Centralized – Point Coordination Function (PCF) • In infrastructure mode • Contention-free access protocol with a controller (AP) called a point coordinator within the BSS

 Distributed – Distributed Coordination Function (DCF) • In ad-hoc mode • DCF is a Carrier Sense Multiple Access/Collision Avoidance (CSMA/CA) protocol (distributed contention based protocol) 

Both the DCF and PCF can operate concurrently within the same BSS to provide alternative contention and contentionfree periods

PCF in 802.11 MAC 

Its objective is to provide QoS guarantees  E.g. bound the max access delay, bound the minimum guaranteed txmt rate

 

Centralized MAC – infrastructure mode Key idea  The AP polls the nodes in its BSS  A PC (point coordinator) at the AP splits the access time into super frame periods  A super frame period consists of alternating contention free periods (CFPs) and contention periods (CPs)  The PC then determines which station transmits at any point in time

DCF in 802.11 MAC  



The AP doesn’t control the medium access Use collision avoidance techniques, in conjunction with a (physical or virtual) carrier sense mechanism Carrier sense:  When a node wishes to transmit a packet, it first waits until the channel is idle



Collision avoidance:  Once channel becomes idle, the node waits for a randomly chosen duration before attempting to transmit  Nodes hearing RTS or CTS stay silent for the duration of the corresponding transmission

DCF Illustration Interframe space (IFS) Sender

Receiver Time

    

Before a node transmits, it listens for activity on the network If medium is busy, node waits to transmit After medium is clear, don't immediately start transmitting... Otherwise all nodes would start talking at the same time! Instead, delay a random amount of time (random backoff)

802.11 - MAC layer II 

Priorities

 defined through different inter frame spaces  no guarantee, hard priorities  SIFS (Short Inter Frame Spacing)

• highest priority, for ACK, CTS, polling response

 PIFS (PCF IFS)

• medium priority, for time-bounded service using PCF

 DIFS (DCF, Distributed Coordination Function IFS) • lowest priority, for asynchronous data service

DIFS medium busy

DIFS PIFS SIFS

contention

next frame t

Hidden Terminal Problem A

  

B

C

B can communicate with both A and C A and C cannot hear each other Problem  When A transmits to B, C cannot detect the transmission using the carrier sense mechanism  If C transmits, collision will occur at node B



Solution  Hidden sender C needs to defer

Solution for Hidden Terminal Problem A







B

C

When A wants to send a packet to B, A first sends a Request-to-Send (RTS) to B On receiving RTS, B responds by sending Clear-to-Send (CTS), provided that A is able to receive the packet When C overhears a CTS, it keeps quiet for the duration of the transfer  Transfer duration is included in both RTS and CTS

Backoff Interval 

Collision avoidance  Backoff intervals used to reduce collision probability



When transmitting a packet, choose a backoff interval in the range [0, CW]  CW is contention window



Count down the backoff interval when medium is idle  Count-down is suspended if medium becomes busy



Transmit when backoff interval reaches 0

DCF Example DIFS

DIFS

B1 = 25

B1 = 5 wait

data

data B2 = 20 DIFS

cw = 31

DIFS

wait B2 = 15 DIFS

B2 = 10 DIFS

B1 and B2 are backoff intervals at nodes 1 and 2

802.11 Overhead DIFS

Random Backoff

Data Transmission

SIFS



Overhead:

ACK Transmission

DIFS Random backoff ACK/SIFS Optional RTS/CTS handshake before transmission of data packet (often disabled due to its overhead)  Header overhead    



802.11 has room for improvement. How?

RF Wireless Data Rates & Ranges Faster

Wireless Video Applications

WAN

WLAN UWB 802.11g/n

Wireless Data Applications

/AC

Medium Power Peak Data Rate (Performance)

802.11a

(Medium Cost)

IrDA

Wi-Fi®

Medium-Power

802.11b

(Low- Cost)

BT (LE)

4G

Smart Converged Gateway

2.5G/3G

Bluetooth™

Slower

NFC

RFID

Low Data-Rate Transfer

Low-Power

Cellular

Sub-GHz Sensors

Closer

WSN (PAN)

High-Power

ZigBee™ WSN

(High Cost)

Wireless Sensor Networking

(Long Battery Life Low Cost)

3G/4G BB

Low-Power Mesh Network Range

(Long Battery Life, Medium Cost)

Farther

Suggest Documents