COS$461:$Computer$Networks$Spring$2008$(MW$1:30‐2:50$in$COS$105)$Mike$Freedman$hEp://www.cs.princeton.edu/courses/archive/spring09/cos461/$IP$Packet$Switching$Goals$of$Today’s$Lecture$• ConnecTvity$– Links$and$nodes$– Circuit$switching$– Packet$switching$• IP$ser vice$model$– Best‐effort$packet$delivery$– IP$as$the$Internet’s$“narrow$waist”$– Design$philosophy$of$IP$• IP$packet$structure$– Fields$in$the$IP$header$– Traceroute$using$TTL$field$– Source‐address$spoofing$2Simple$Network:$Nodes$and$a$Link$• Node:$computer$– End$host:$general‐purpose$computer,$cell$phone,$PDA$– Network$node:$switch$or$router$• Link:$physical$medium$connecTng$nodes$– Twisted$pair:$the$wire$that$connects$to$telephones$– Coaxial$cable:$the$wire$that$connects$to$TV$sets$– OpTcal$fiber:$high‐bandwidth$long‐distance$links$– Space:$propagaTon$of$radio$waves,$microwaves,$…$3 Node Link NodeNetwork$Components$4 Fibers Coaxial Cable Links Interfaces Switches/routers Ethernet card Wireless card Large router Telephone switchLinks:$Delay$and$Bandwidth$• Delay$– Latency$for$propagaTng$data$along$the$link$– Corresponds$to$the$“length”$of$the$link$– Typically$measured$in$seconds$• Bandwidth$– Amount$of$data$sent$(or$received)$per$unit$Tme$– Corresponds$to$the$“width”$of$the$link$– Typically$measured$in$bits$per$second$5 bandwidth delay delay x bandwidthConnecTng$More$Than$Two$Hosts$• MulT‐access$link:$Ethernet,$wireless$$– Single$physical$link,$shared$by$mulTple$nodes$– LimitaTons$on$distance$and$number$of$nodes$• Point‐to‐point$links:$fiber‐opTc$cable$– Only$two$nodes$(separate$link$per$pair$of$nodes)$– LimitaTons$on$the$number$of$adapters$per$node$6 multi-access link point-to-point linksBeyond$Directly‐Connected$Networks$• Switched$network$– End$hosts$at$the$edge$– Network$nodes$that$switch$traffic$– Links$between$the$nodes$• MulTplexing$– Many$end$hosts$communicate$over$the$network$– Traffic$shares$access$to$the$same$links$7Circuit$Switching$(e.g.,$Phone$Network)$• Source$establishes$connecTon$to$desTnaTon$– Node$along$the$path$store$connecTon$info$– Nodes$may$reserve$resources$for$the$connecTon$• Source$sends$data$over$the$connecTon$– No$desTnaTon$address,$since$nodes$know$path$• Source$tears$down$connecTon$when$done$8Circuit$Switching$With$Human$Operator$9Circuit$Switching:$MulTplexing$a$Link$• Time‐division$– Each$circuit$allocated$certain$Tme$slots$• Frequency‐division$– Each$circuit$allocated$certain$frequencies$10 time frequency timeAdvantages$of$Circuit$Switching$• Guaranteed$bandwidth$$– Predictable$communicaTon$performance$– Not$“best‐effort”$delivery$with$no$real$guarantees$• Simple$abstracTon$– Reliable$communicaTon$channel$between$hosts$– No$worries$about$lost$or$out‐of‐order$packets$• Simple$forwarding$$– Forwarding$based$on$Tme$slot$or$frequency$– No$need$to$inspect$a$packet$header$• Low$per‐packet$overhead$– Forwarding$based$on$Tme$slot$or$frequency$– No$IP$(and$TCP/UDP)$header$on$each$packet$11Disadvantages$of$Circuit$Switching$• Wasted$bandwidth$– Bursty$traffic$leads$to$idle$conn$during$silent$period$– Unable$to$achieve$gains$from$staTsTcal$mulTplexing$• Blocked$connecTons$– ConnecTon$refused$when$resources$are$not$sufficient$– Unable$to$offer$“okay”$service$to$everybody$• ConnecTon$set‐up$delay$$– No$communicaTon$unTl$the$connecTon$is$set$up$– Unable$to$avoid$extra$latency$for$small$data$transfers$• Network$state$– Network$nodes$must$store$per‐connecTon$informaTon$– Unable$to$avoid$per‐connecTon$storage$and$state$12Packet$Switching$(e.g.,$Internet)$• Data$traffic$divided$into$packets$– Each$packet$contains$a$header$(with$address)$• Packets$travel$separately$through$network$– Packet$forwarding$based$on$the$header$– Network$nodes$may$store$packets$temporarily$• DesTnaTon$reconstructs$the$message$13Packet$Switching:$StaTsTcal$MulTplexing$14 PacketsIP$Service:$Best‐Effort$Packet$Delivery$15 • Packet$switching$– Divide$messages$into$a$sequence$of$packets$– Headers$with$source$and$desTnaTon$address$• Best‐effort$delivery$– Packets$may$be$lost$– Packets$may$be$corrupted$– Packets$may$be$delivered$out$of$order$source destination IP networkIP$Service$Model:$Why$Packets?$• Data$traffic$is$bursty$– Logging$in$to$remote$machines$– Exchanging$e‐mail$messages$• Don’t$want$to$waste$bandwidth$– No$traffic$exchanged$during$idle$periods$• BeEer$to$allow$mulTplexing$– Different$transfers$share$access$to$same$links$• Packets$can$be$delivered$by$most$anything$– RFC$1149:$IP$Datagrams$over$Avian$Carriers$$• …$sTll,$packet$switching$can$be$inefficient$– Extra$header$bits$on$every$packet$16IP$Service$Model:$Why$Best‐Effort?$• IP$means$never$having$to$say$you’re$sorry…$– Don’t$need$to$reser ve$bandwidth$and$memory$– Don’t$need$to$do$error$detecTon$&$correcTon$– Don’t$need$to$remember$from$one$packet$to$next$• Easier$to$survive$failures$– Transient$disrupTons$are$okay$during$failover$• …$but,$applicaTons$do#want$efficient,$accurate$transfer$of$data$in$order,$in$a$Tmely$fashion$17IP$Service:$Best‐Effort$is$Enough$• No$error$detecTon$or$correcTon$– Higher‐level$protocol$can$provide$error$checking$• Successive$packets$may$not$follow$the$same$path$– Not$a$problem$as$long$as$packets$reach$the$desTnaTon$• Packets$can$be$delivered$out‐of‐order$– Receiver$can$put$packets$back$in$order$(if$necessary)$• Packets$may$be$lost$or$arbitrarily$delayed$– Sender$can$send$the$packets$again$(if$desired)$• No$network$congesTon$control$(beyond$“drop”)$– Sender$can$slow$down$in$response$to$loss$or$delay$18Layering$in$the$IP$Protocols$19 Internet Protocol Transmission Control Protocol (TCP) User Datagram Protocol (UDP) Telnet HTTP SONET ATM Ethernet RTP DNS FTPHistory:$Why$IP$Packets?$• IP$proposed$in$the$early$1970s$– Defense$Advanced$Research$Project$Agency$(DARPA)$• Goal:$connect$exisTng$networks$–
View Full Document