computer communication networks final review
play

Computer Communication Networks Final Review ICEN/ICSI 416 Fall - PowerPoint PPT Presentation

Computer Communication Networks Final Review ICEN/ICSI 416 Fall 2017 Prof. Dola Saha 1 What is included? Network Layer Link Layer Physical Layer Network Security 2 IP datagram format IP protocol version 32 bits total


  1. Computer Communication Networks Final Review ICEN/ICSI 416 – Fall 2017 Prof. Dola Saha 1

  2. What is included? Ø Network Layer Ø Link Layer Ø Physical Layer Ø Network Security 2

  3. IP datagram format IP protocol version 32 bits total datagram number length (bytes) header length type of head. ver length (bytes) service len for fragment “ type ” of data fragmentation/ 16-bit identifier flgs offset reassembly max number upper time to header remaining hops layer live checksum (decremented at 32 bit source IP address each router) 32 bit destination IP address upper layer protocol to deliver payload to e.g. timestamp, options (if any) record route data taken, specify how much overhead? (variable length, list of routers v 20 bytes of TCP typically a TCP to visit. v 20 bytes of IP or UDP segment) v = 40 bytes + app layer overhead 3

  4. Router architecture overview Ø high-level view of generic router architecture: routing, management control plane (software) routing operates in millisecond processor time frame forwarding data plane (hardware) operttes in nanosecond timeframe high-speed switching fabric router input ports router output ports 4

  5. Longest prefix matching longest prefix matching when looking for forwarding table entry for given destination address, use longest address prefix that matches destination address. Destination Address Range Link Interface 11001000 00010111 00010*** ********* 0 11001000 00010111 00011000 ********* 1 11001000 00010111 00011*** ********* 2 otherwise 3 examples: DA: 11001000 00010111 00010110 10100001 which interface? which interface? DA: 11001000 00010111 00011000 10101010 5

  6. Input port queuing fabric slower than input ports combined -> queueing may occur at input Ø queues § queueing delay and loss due to input buffer overflow! Head-of-the-Line (HOL) blocking: queued datagram at front of queue Ø prevents others in queue from moving forward switch switch fabric fabric output port contention: one packet time later: only one red datagram can be green packet experiences transferred. HOL blocking lower red packet is blocked 6

  7. Output port queueing switch switch fabric fabric one packet time later at t, packets more from input to output Ø buffering when arrival rate via switch exceeds output line speed Ø queueing (delay) and loss due to output port buffer overflow! 7

  8. Scheduling mechanisms Ø scheduling: choose next packet to send on link Ø FIFO (first in first out) scheduling: send in order of arrival to queue § real-world example? § discard policy: if packet arrives to full queue: who to discard? o tail drop: drop arriving packet o priority: drop/remove on priority basis o random: drop/remove randomly packet packet arrivals queue link departures (waiting area) (server) 8

  9. Scheduling policies: priority priority scheduling: send highest high priority queue (waiting area) priority queued packet arrivals departures Ø multiple classes , with different priorities classify link (server) low priority queue § class may depend on marking or (waiting area) other header info, e.g. IP 2 5 1 4 3 source/dest, port numbers, etc. arrivals § real world example? packet in 1 4 3 2 5 service departures 1 3 2 4 5 9

  10. Scheduling policies: still more Round Robin (RR) scheduling: Ø multiple classes Ø cyclically scan class queues, sending one complete packet from each class (if available) Ø real world example? 2 5 1 4 3 arrivals packet in 2 1 3 4 5 service departures 3 1 3 4 5 10

  11. Scheduling policies: still more Weighted Fair Queuing (WFQ): Ø generalized Round Robin Ø each class gets weighted amount of service in each cycle Ø real-world example? 11

  12. IP fragmentation, reassembly length ID fragflag offset example: =4000 =x =0 =0 v 4000 byte datagram one large datagram becomes v MTU = 1500 bytes several smaller datagrams 1480 bytes in length ID fragflag offset data field =1500 =x =1 =0 offset = length ID fragflag offset 1480/8 =1500 =x =1 =185 length ID fragflag offset =1040 =x =0 =370 12

  13. IP addressing: introduction Ø IP address: 32-bit 223.1.1.1 identifier for host, router 223.1.2.1 interface 223.1.1.2 223.1.1.4 223.1.2.9 Ø interface: connection between host/router and 223.1.3.27 physical link 223.1.1.3 223.1.2.2 router ’ s typically have multiple § interfaces § host typically has one or two 223.1.3.2 223.1.3.1 interfaces (e.g., wired Ethernet, wireless 802.11) IP addresses associated with 223.1.1.1 = 11011111 00000001 00000001 00000001 Ø each interface 223 1 1 1 13

  14. 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 host subnet part part 11001000 00010111 0001000 0 00000000 200.23.16.0/23 14

  15. DHCP client-server scenario DHCP server: 223.1.2.5 arriving DHCP discover client src : 0.0.0.0, 68 Broadcast: is there a DHCP server dest.: 255.255.255.255,67 out there? yiaddr: 0.0.0.0 transaction ID: 654 DHCP offer src: 223.1.2.5, 67 Broadcast: I’m a DHCP server! dest: 255.255.255.255, 68 Here’s an IP address you can use yiaddrr: 223.1.2.4 transaction ID: 654 lifetime: 3600 secs DHCP request src: 0.0.0.0, 68 dest:: 255.255.255.255, 67 Broadcast: OK. I’ll take that IP yiaddrr: 223.1.2.4 address! transaction ID: 655 lifetime: 3600 secs DHCP ACK src: 223.1.2.5, 67 dest: 255.255.255.255, 68 Broadcast: OK. You’ve got that IP yiaddrr: 223.1.2.4 address! transaction ID: 655 lifetime: 3600 secs 15

  16. NAT: network address translation NAT translation table 1: host 10.0.0.1 2: NAT router WAN side addr LAN side addr sends datagram to changes datagram 128.119.40.186, 80 138.76.29.7, 5001 10.0.0.1, 3345 source addr from …… …… 10.0.0.1, 3345 to 138.76.29.7, 5001, updates table S: 10.0.0.1, 3345 D: 128.119.40.186, 80 10.0.0.1 1 S: 138.76.29.7, 5001 2 10.0.0.4 D: 128.119.40.186, 80 10.0.0.2 138.76.29.7 S: 128.119.40.186, 80 4 D: 10.0.0.1, 3345 S: 128.119.40.186, 80 3 10.0.0.3 D: 138.76.29.7, 5001 4: NAT router 3: reply arrives changes datagram dest. address: dest addr from 138.76.29.7, 5001 138.76.29.7, 5001 to 10.0.0.1, 3345 16

  17. Internet Control Message Protocol (ICMP) Defines a collection of error messages that are sent back to the source Ø host whenever a router or host is unable to process an IP datagram successfully § Destination host unreachable due to link /node failure § Reassembly process failed § TTL had reached 0 (so datagrams don't cycle forever) § IP header checksum failed ICMP-Redirect Ø § From router to a source host § With a better route information 17

  18. Traceroute and ICMP Ø source sends series of UDP segments when ICMP message arrives, to destination source records RTTs § first set has TTL =1 § second set has TTL=2, etc. stopping criteria: § unlikely port number § UDP segment eventually Ø when datagram in n th set arrives to arrives at destination host nth router: § destination returns ICMP “port unreachable” message (type 3, § router discards datagram and sends source code 3) ICMP message (type 11, code 0) § source stops § ICMP message include name of router & IP address 3 probes 3 probes 3 probes 18

  19. Dijkstra’s algorithm: example D( v ) D( w ) D( x ) D( y ) D( z ) Step N' p(v) p(w) p(x) p(y) p(z) u 3,u ∞ ∞ 0 7,u 5,u 1 uw 11 ,w ∞ 6,w 5,u uwx 11, w 14 ,x 2 6,w uwxv 10, v 14 ,x 3 4 uwxvy 12 ,y x uwxvyz 5 9 notes: 7 5 4 v construct shortest path tree by 8 tracing predecessor nodes 3 w z v ties can exist (can be broken y u 2 arbitrarily) 3 4 7 v 19

  20. D x (z) = min{ c(x,y) + D x (y) = min{c(x,y) + D y (y),c(x,z) + D z (y)} D y (z),c(x,z) + D z (z) } = min{2+0 ,7+1} = 2 = min{2+1 ,7+0} = 3 node x cost to cost to x y z x y z table x 0 2 7 x 0 3 2 from y y from 2 0 1 ∞ ∞ ∞ z z 7 1 0 ∞ ∞ ∞ node y cost to y table x y z 2 1 x ∞ ∞ z ∞ x y 7 from 2 0 1 z ∞ ∞ ∞ node z cost to x y z table x ∞ ∞ ∞ from y ∞ ∞ ∞ z 7 1 0 time 20

  21. Comparison of LS and DV algorithms message complexity robustness: what happens if router malfunctions? LS: with n nodes, E links, O(nE) msgs Ø sent LS: DV: exchange between neighbors only Ø § node can advertise incorrect link cost § convergence time varies § each node computes only its own table speed of convergence DV: LS: O(n 2 ) algorithm requires O(nE) Ø § DV node can advertise incorrect path msgs cost § may have oscillations § each node’s table used by others DV: convergence time varies Ø error propagates thru network o § may be routing loops § count-to-infinity problem 21

  22. What’s unique about MANET? Ø Moving nodes à ever changing topology Ø Wireless links § à various and volatile link quality Ø Pervasive (cheap) devices § à Power constraints Ø Security § Confidentiality, other attacks 22

Recommend


More recommend