1 / 71

ECE544: Communication Networks-II, Spring 2014

ECE544: Communication Networks-II, Spring 2014. D. Raychaudhuri Lecture 4. Includes teaching materials from L. Peterson. Today’s Lecture. IP basics Routing principles distance vector (RIP) link state (OSPF). IP Basics. Best Effort Service Model Global Addressing Scheme ARP & DHCP.

trella
Download Presentation

ECE544: Communication Networks-II, Spring 2014

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. ECE544: Communication Networks-II, Spring 2014 D. Raychaudhuri Lecture 4 Includes teaching materials from L. Peterson

  2. Today’s Lecture • IP basics • Routing principles • distance vector (RIP) • link state (OSPF)

  3. IP Basics Best Effort Service Model Global Addressing Scheme ARP & DHCP

  4. Network 1 (Ethernet) H7 R3 H8 H1 H8 H2 H1 H3 TCP TCP Network 4 R1 R2 R3 (point-to-point) Network 2 (Ethernet) R1 IP IP IP IP IP R2 FDDI PPP ETH ETH ETH FDDI PPP ETH H4 Network 3 (FDDI) H5 H6 IP Internet • Concatenation of Networks • Protocol Stack

  5. 0 4 8 16 19 31 TOS Length V ersion HLen Ident Flags Offset TTL Protocol Checksum SourceAddr DestinationAddr Pad Options (variable) (variable) Data Service Model • Connectionless (datagram-based) • Best-effort delivery (unreliable service) • packets are lost • packets are delivered out of order • duplicate copies of a packet are delivered • packets can be delayed for a long time • Datagram format

  6. Fragmentation and Reassembly • Each network has some MTU • Strategy • fragment when necessary (MTU < Datagram) • try to avoid fragmentation at source host • re-fragmentation is possible • fragments are self-contained datagrams • use CS-PDU (not cells) for ATM • delay reassembly until destination host • do not recover from lost fragments

  7. Start of header Ident = x Offset = 0 0 Rest of header 1400 data bytes Start of header Ident = x 1 Offset = 0 Rest of header 512 data bytes Start of header Ident = x 1 Offset = 512 Rest of header 512 data bytes Start of header Ident = x 0 Offset = 1024 Rest of header 376 data bytes Example

  8. 7 24 A: 0 Network Host 14 16 B: 1 0 Network Host 21 8 C: 1 1 0 Network Host Global Addresses • Properties • globally unique • hierarchical: network + host • Dot Notation • 10.3.2.4 • 128.96.33.81 • 192.12.69.77

  9. Datagram Forwarding • Strategy • every datagram contains destination’s address • if directly connected to destination network, then forward to host • if not directly connected to destination network, then forward to some router • forwarding table maps network number into next hop • each host has a default router • each router maintains a forwarding table • Example (R2) Network Number Next Hop 1 R3 2 R1 3 interface 1 4 interface 0

  10. Address Translation • Map IP addresses into physical addresses • destination host • next hop router • Techniques • encode physical address in host part of IP address • table-based • ARP • table of IP to physical address bindings • broadcast request if IP address not in table • target machine responds with its physical address • table entries are discarded if not refreshed

  11. ARP Details • Request Format • HardwareType: type of physical network (e.g., Ethernet) • ProtocolType: type of higher layer protocol (e.g., IP) • HLEN & PLEN: length of physical and protocol addresses • Operation: request or response • Source/Target-Physical/Protocol addresses • Notes • table entries timeout in about 10 minutes • update table with source when you are the target • update table if already have an entry • do not refresh table entries upon reference

  12. 0 8 16 31 Hardware type = 1 ProtocolT ype = 0x0800 HLen = 48 PLen = 32 Operation SourceHardwareAddr (bytes 0 – 3) SourceHardwareAddr (bytes 4 – 5) SourceProtocolAddr (bytes 0 – 1) SourceProtocolAddr (bytes 2 – 3) T argetHardwareAddr (bytes 0 – 1) T argetHardwareAddr (bytes 2 – 5) T argetProtocolAddr (bytes 0 – 3) ARP Packet Format

  13. ATM ARP • ATM ARP for mapping IP<->ATM addr • medium is not a broadcast type unlike Ethernet • requires servers which maintain ARP tables • concept of multiple “logical IP subnets” (LIS)

  14. Dynamic Host Control Protocol (DHCP) • DHCP server per network for IP address assignment • Static list of IP<->physical addr or dynamic binding from common pool • Host boot-up via well-known address 255.255.255.255 • DHCP “relay agent” can be used to avoid one server per network

  15. Dynamic Host Control Protocol (DHCP) • DHCP packet format (runs over UDP) Operation HType HLen Hops Xid Flag Secs ciaddr yiaddr siaddr giaddr chaddr (16B) ....

  16. Internet Control Message Protocol (ICMP) • Echo (ping) • Redirect (from router to source host) • Destination unreachable (protocol, port, or host) • TTL exceeded (so datagrams don’t cycle forever) • Checksum failed • Reassembly failed • Cannot fragment

  17. Routing Basics

  18. Routing Problem • Network as a Graph Problem: Find lowest cost path between two nodes • Factors • static: topology • dynamic: load

  19. Two main approaches • DV: Distance-vector protocols • LS: Link state protocols • Variations of above methods applied to: • Intra-domain routing (small/med networks) • RIP, OSPF • Inter-domain routing (large/global networks) • BGP-4

  20. Distance Vector Protocols • Employed in the early Arpanet • Distributed next hop computation • adaptive • Unit of information exchange • vector of distances to destinations • Distributed Bellman-Ford Algorithm

  21. Distance Vector • Each node maintains a set of triples • (Destination, Cost, NextHop) • Exchange updates directly connected neighbors • periodically (on the order of several seconds) • whenever table changes (called triggered update) • Each update is a list of pairs: • (Destination, Cost) • Update local table if receive a “better” route • smaller cost • came from next-hop • Refresh existing routes; delete if they time out

  22. Distributed Bellman-Ford Start Conditions: Each router starts with a vector of (zero) distances to all directly attached networks Send step: Each router advertises its current vector to all neighboring routers. Receive step: Upon receiving vectors from each of its neighbors, router computes its own distance to each neighbor. Then, for every network X, router finds that neighbor who is closer to X than to any other neighbor. Router updates its cost to X. After doing this for all X, router goes to send step.

  23. Example - initial distances 1 Distance to node B C Info at node A B C D E 7 0 7 ~ ~ 1 A 8 2 B A 7 0 1 ~ 8 C ~ 1 0 2 ~ 1 2 D ~ ~ 2 0 2 D E E 1 8 ~ 2 0

  24. E receives D’s routes 1 Distance to node B C Info at node A B C D E 7 0 7 ~ ~ 1 A 8 2 B A 7 0 1 ~ 8 C ~ 1 0 2 ~ 1 2 D ~ ~ 2 0 2 D E E 1 8 ~ 2 0

  25. E updates cost to C 1 Distance to node B C Info at node A B C D E 7 0 7 ~ ~ 1 A 8 2 B A 7 0 1 ~ 8 C ~ 1 0 2 ~ 1 2 D ~ ~ 2 0 2 D E E 1 8 4 2 0

  26. A receives B’s routes 1 Distance to node B C Info at node A B C D E 7 0 7 ~ ~ 1 A 8 2 B A 7 0 1 ~ 8 C ~ 1 0 2 ~ 1 2 D ~ ~ 2 0 2 D E E 1 8 4 2 0

  27. A updates cost to C 1 Distance to node B C Info at node A B C D E 7 0 7 8 ~ 1 A 8 2 B A 7 0 1 ~ 8 C ~ 1 0 2 ~ 1 2 D ~ ~ 2 0 2 D E E 1 8 4 2 0

  28. A receives E’s routes 1 Distance to node B C Info at node A B C D E 7 0 7 8 ~ 1 A 8 2 B A 7 0 1 ~ 8 C ~ 1 0 2 ~ 1 2 D ~ ~ 2 0 2 D E E 1 8 4 2 0

  29. A updates cost to C and D 1 Distance to node B C Info at node A B C D E 7 0 7 5 3 1 A 8 2 B A 7 0 1 ~ 8 C ~ 1 0 2 ~ 1 2 D ~ ~ 2 0 2 D E E 1 8 4 2 0

  30. Final distances 1 Distance to node B C Info at node A B C D E 7 0 6 5 3 1 A 8 2 B A 6 0 1 3 5 C 5 1 0 2 4 1 2 D 3 3 2 0 2 D E E 1 5 4 2 0

  31. Final distances after link failure 1 Distance to node B C Info at node A B C D E 7 0 7 8 10 1 A 8 2 B 7 0 1 3 8 A C 8 1 0 2 9 1 2 D 10 3 2 0 11 D E E 1 8 9 11 0

  32. View from a node E’s routing table 1 Next hop B C dest A B D 7 1 14 5 A B 8 2 7 8 5 A C 6 9 4 D 4 11 2 1 2 D E

  33. Distance Vector Example 2 R3 9 R5 R1 4 R2 1 4 R4

  34. DV Example (cont.) 2 R3 9 R5 R1 4 R2 1 4 R4

  35. DV Example (cont.) 2 R3 9 R5 R1 4 R2 1 4 R4

  36. DV Example – after link R2-R3 breaks R3 9 R5 R1 4 R2 1 4 R4

  37. DV Example – after link R2-R3 breaks R3 9 R5 R1 4 R2 1 4 R4

  38. DV Example – after link R2-R3 breaks R3 9 R5 R1 4 R2 1 4 R4

  39. The bouncing effect dest cost dest cost 1 A 1 A B B 1 C 1 C 2 1 25 C dest cost A 2 B 1

  40. C sends routes to B dest cost dest cost A ~ A B B 1 C 1 C 2 1 25 C dest cost A 2 B 1

  41. B updates distance to A dest cost dest cost A 3 A B B 1 C 1 C 2 1 25 C dest cost A 2 B 1

  42. B sends routes to C dest cost dest cost A 3 A B B 1 C 1 C 2 1 25 C dest cost A 4 B 1

  43. C sends routes to B dest cost dest cost A 5 A B B 1 C 1 C 2 1 25 C dest cost A 4 B 1

  44. How are these loops caused? • Observation 1: • B’s metric increases • Observation 2: • C picks B as next hop to A • But, the implicit path from C to A includes itself!

  45. Avoiding the Bouncing Effect • Select loop-free paths • One way of doing this: • each route advertisement carries entire path • if a router sees itself in path, it rejects the route • BGP does it this way • Space proportional to diameter Cheng, Riley et al

  46. Computing Implicit Paths • To reduce the space requirements • propagate for each destination not only the cost but also its predecessor • can recursively compute the path • space requirements independent of diameter v x z y w u

  47. Distance Vector in Practice • RIP and RIP2 • uses split-horizon/poison reverse • BGP/IDRP • propagates entire path • path also used for effecting policies

  48. RIP Packet Format Command, Ver Zeros Net 1 Family Net 1 Addr Net 1 Addr (cont.) (net addr, distance pairs) Distance to Net 1 Net 2 Family Net 2 Addr Updates sent ~30 sec Distance to Net 2 ……

  49. Link State Routing • Each node assumed to know state of links to its neighbors • Step 1: Each node broadcasts its state to all other nodes • Step 2: Each node locally computes shortest paths to all other nodes from global state

  50. Link State Routing: Building blocks • Reliable broadcast mechanism • flooding • sequence number issues • Shortest path tree (SPT) algorithm • Dijkstra’s SPT algorithm

More Related