1 / 29

L11: Protocols and Network layer

L11: Protocols and Network layer. Frans Kaashoek 6.033 Spring 2012 http://web.mit.edu/6.033 Some slides are from lectures by Nick Mckeown, Ion Stoica,Dina Katabi, Hari Balakrishnan, Sam Madden, and Robert Morris. Internet: Best Effort. No Guarantees: Variable Delay (jitter) Variable rate

vesna
Download Presentation

L11: Protocols and Network layer

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. L11: Protocols and Network layer Frans Kaashoek 6.033 Spring 2012 http://web.mit.edu/6.033 Some slides are from lectures by Nick Mckeown, Ion Stoica,Dina Katabi, Hari Balakrishnan, Sam Madden, and Robert Morris

  2. Internet: Best Effort No Guarantees: • Variable Delay (jitter) • Variable rate • Packet loss • Duplicates • Reordering • Maximum length

  3. End hosts implement everything else Email addresses, To, Cc, etc. SMTP email email SMTP Reliable, flow-controlled connection TCP TCP IP: best-effort

  4. Protocol • Defines the structure of a conversation • Typical a sequence of messages, each with its own header • Examples: DHCP, DNS, UDP, SMTP, TCP, IP, … • Internet protocols defined in text documents (RFCs) vers HLen TOS Total Length ID Flags FRAG Offset Hop count TTL Protocol checksum SRC IP Address DST IP Address (OPTIONS) (PAD)

  5. Layering of protocols • Each layer adds/strips off its own header • Each layer may split up higher-level data • Each layer multiplexes multiple higher layers • Each layer is (mostly) transparent to higher layers data Email TCP TCP IP IP IP Ethernet Ethernet WIFI

  6. The Internet Stack Protocol Stack App Transport TCP / UDP Data Hdr TCP packet Network IP Data Hdr IP packet Link

  7. The Internet “Hour glass” +------+------+------+------+------+ |Email | Web | VoIP | P2P | RTSP| +------+------+------+------+------+ | TCP | UDP | ICMP | +------+------+------+ | IP | +------+------+------+ |Ether |Sonet | ATM | +------+------+------+------+------+ |Fiber | TP | CAT5 | WiFi | GSM | +------+------+------+------+------+ App Transport Network Link "Everything over IP, and IP over everything"

  8. Link Layer Problem: Deliver data from one end of the link to the other Need to address (6.02): • Bits Analog  Bits • Framing • Errors • Medium Access Control

  9. Network Layer: finds a path to the destination and forwards packets along that path • Difference between routing and forwarding • Routing is finding the path • Forwarding is the action of sending the packet to the next-hop toward its destination

  10. Forwarding A • Each router has a forwarding table • Forwarding tables are created by a routing protocol R1 C R 1 2 B R2 3 E R3 Forwarding table at R Link Dst. Addr 1 A 2 B 1 C 3 E

  11. Inside a router Forwarding Table Link 1, ingress Link 1, egress Forwarding Decision Link 2, ingress Choose Egress Link 2, egress Link 3, ingress Choose Egress Link 3, egress Link 4, ingress Choose Egress Link 4, egress

  12. The IP Header vers HLen TOS Total Length ID Flags FRAG Offset Hop count TTL Protocol checksum SRC IP Address DST IP Address (OPTIONS) (PAD)

  13. Forwarding an IP Packet • Lookup packet’s DST in forwarding table • If known, find the corresponding outgoing link • If unknown, drop packet • Decrement TTL and drop packet if TTL is zero; update header Checksum • Forward packet to outgoing port • Transmit packet onto link

  14. Alcatel 7670 RSP And switches today… TX8 Juniper TX8/T640 Avici TSR Lucent 5ESS telephone switch Cisco GSR 12416 6ft x 2ft x 1.5ft 4.2 kW power 160 Gb/s cap.

  15. 1 1 2 1 B C E A D 3 2 1 3 2 1 The Routing Problem: • Generate forwarding tables Goals: No loops, short paths, etc.

  16. 1 1 2 1 A D C B E 3 2 1 3 2 1 Path Vector Routing Protocol • Initialization • Each node knows the path to itself For example, D initializes its paths Link Path DST End layer null D

  17. 1 1 2 1 B C E A D 3 2 1 3 For example, D receives: 2 1 From E: From C: From A: Path Path Path To To To null null null C E A Path Vector • Step 1: Advertisement • Each node tells its neighbors its path to each node in the graph

  18. Link Path DST End layer null D 1 <A> A From C: From E: From A: 3 <C> C 2 <E> E Path Path Path To To To null null null E C A Path Vector • Step 2: Update Route Info • Each node use the advertisements to update its paths D received: D updates its paths: Link Path DST End layer null D Note: At the end of first round, each node has learned all one-hop paths

  19. Link Path DST End layer null D 1 <A> A 3 <C> C 2 <E> E 3 <C, B> B Path Vector In round 2, D receives: • Periodically repeat Steps 1 & 2 From A: From C: From E: Path Path Path To To To null null null A C E <D> D <D> <D> D D <E> E <C> C <B> B D updates its paths: Link Path DST End layer null D 1 <A> A 3 <C> C 2 <E> E Note: At the end of round 2, each node has learned all two-hop paths

  20. Questions About Path Vector • How do we avoid permanent loops? • What happens when a node hears multiple paths to the same destination? • What happens if the graph changes?

  21. Questions About Path Vector • How do we ensure no loops? • When a node updates its paths, it never accepts a path that has itself • What happens when a node hears multiple paths to the same destination? • It picks the better path (e.g., the shorter number of hops) • What happens if the graph changes? • Algorithm deals well with new links • To deal with links that go down, each router should discard any path that a neighbor stops advertising

  22. Hierarchical Routing Interior router Border router domain-1 domain-3 domain-2 • Internet: collection of domains/networks • Inside a domain: Route over a graph of routers • Between domains: Route over a graph of domains • Address consists of “Domain Id”, “Node Id”

  23. Hierarchical Routing • Advantage • Scalable • Smaller tables • Smaller messages • Delegation • Each domain can run its own routing protocol • Disadvantage • Mobility is difficult • Address depends on geographic location • Sup-optimal paths • E.g., in the figure, the shortest path between the two machines should traverse the yellow domain.

  24. Routing: many open issues • Misconfigurations between domains? • Flat addresses and scalable? • Routing in multihop WiFi networks? • Routing in peer-to-peer networks?

  25. Summary • Protocols • Layering of protocols • Network layer: forwarding & Routing • Path-vector routing protocol

More Related