1 / 33

ECE 544 Project3

ECE 544 Project3. Team member: BIAO LI, BO QU, XIAO ZHANG. Assumptions and Address Scheme. Assumptions End hosts can only connect to one router Same content available at multiple end nodes the path cost between adjacent router is 1. Host and content can move at any time

tea
Download Presentation

ECE 544 Project3

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. ECE 544 Project3 Team member: BIAO LI, BO QU, XIAO ZHANG

  2. Assumptions and Address Scheme • Assumptions • End hosts can only connect to one router • Same content available at multiple end nodes • the path cost between adjacent router is 1. • Host and content can move at any time • Naming scheme and eventual address scheme • Router ID (statically assigned, range 0~255) • End hosts ID (statically assigned, range 0~255) • Content ID (statically assigned, range 0~255)

  3. Our Goal Keep it simple

  4. We Don't care • How to assign a Address to a Host • How to assign a Address to a Router • How to generate a ID for a Content

  5. We Do care • How to forward a packet • How to build a forwarding table

  6. Forwarding Table (@ R1) H2 C1 C2 R5 C3 H1 2 2 1 1 3 R1 R2 R3 R4 H3

  7. Scenario 1: @host_H1: get (content_C2) Packet FilePacket C2 H2 1 C1 R5 2 C3 H1 2 1 2 1 3 R1 R2 R3 R4 H3

  8. Then … ... How to build a Forwarding table?

  9. Resource Table • maintained at each router • contains the location information regarding host and content • when ID is content, owner ID is a list of hosts. • when ID is host, owner ID is its directly connected router. H2 C1 C2 R5 C3 H1 2 2 1 1 3 R1 R2 R3 R4 H3

  10. Routing Table • need not to be computed every time unless something changed in link-state table H2 C1 C2 R5 C3 H1 2 2 1 1 3 R1 R2 R3 R4 H3

  11. Then … ... How to build a Routing table?

  12. Routing Table (shortest path) • need not to be computed every time unless something changed in link-state table (for example: @R2) H2 R5 2 2 1 3 R1 R2 R3 R4

  13. Link-State Table ( the same at each router ) • remain unchanged after routers boot up unless some new router is added or failure of some router is detected. R5 2 2 1 3 R1 R2 R3 R4

  14. Router Bootstrapping and Discovery • Each Router find its directly connected neighbors • Exchange the information of neighbors • Each router would have the same view of the global topology • Each router can computes its shortest path to reach other router

  15. Neighbor R5 2 2 1 3 R1 R2 R3 R4

  16. Neighbor @ R5 @R5 H2 C1 C2 R5 C3 1 2 H1 1 2 1 1 2 2 3 R1 H3 R2 R3 R4

  17. Loop-free Note that we includes the complete paths as a enumerated list of routers when flooding the message.As long as a router finds itself included in the path, it would ignore this message to avoid path loop. When R1 receives the message sent by R2 that <R1 is neighbor of @R2, PATH: R1- R2>, R1 no longer relays the message. R5 2 2 1 3 R1 R2 R3 R4

  18. Then … ... How to build a Resource table?

  19. Host Bootstrapping and Discovery Consider H1 that first gets configured in R1 R5 R5 H1 H1 2 2 2 2 2 1 1 1 1 3 3 R1 R1 R2 R2 R3 R3 R4 R4

  20. Resource table in each router R5 R5 H1 H1 2 2 2 2 2 1 1 1 1 3 3 R1 R1 R2 R2 R3 R3 R4 R4

  21. Disconnection of host Do it in the same way! R5 R5 H1 H1 2 2 2 2 X 1 1 1 2 1 3 3 R1 R1 R2 R2 R3 R3 R4 R4

  22. Content Bootstrapping and Discovery Use the same approach as host advertisement H2 H2 C1 R5 R5 H1 H1 2 2 2 2 1 1 1 1 2 1 3 3 R1 R1 R2 R2 R3 R3 R4 R4 H3 H3

  23. One forwarding table does all !!! • For every packet, the destination is either Host ID or Content ID. The router always find the next-hop from the forwarding table.

  24. Packet format

  25. Header format All packets have the same header structure! Header | Version 3 bit | Type 5 bits | | Dest ID 8 bits | | Src ID 8 bits | | Type: • Heartbeat: monitor the liveness of router and host • Neighbor: exchange the neighbor info. • Host Discovery: host actively joins or leaves the network • Content Discovery: content adds to or withdraw from the network • Get Content Request • Get Content Respond: reply with content data • ACK

  26. Data Transfer and Reliability • Message Forward • Not support Multicast • ARQ Scheme • receive windows • timeout for each data request packet • ACK for routing information packet • NO ACK for data packet

  27. Scenario 2: @host_H1: get (content_C2) C2 H2 C3 C1 C2 R5 C3 H1 R1 R2 R3 R4 H3 C

  28. Scenario 3: @host_H1: get (content_C1) X H1 Send C1 H2 H3 H4 Send C1 C2 C3 Get C1 C1 C1 C1 Get C1

  29. Advantages and Disadvantages Pros • Simple and Scalable • Efficient: can choose the nearest provider • Automatically forward a packet to other provider if the original one unavailable. Cons • Throughput is not perfect by using timeout scheme for data packet.

  30. Content Request Packet | Version 3 bit | Request | | Content ID 8 bits | | Src Host ID 8 bits | | offset 16 bits | | size 16 bits | Header extension

  31. Content Respond Packet | Version 3 bit | Respond | | Dest Host ID 8 bits | | Content ID 8 bits | | offset 16 bits | | size 16 bits | | Flags | | Payload | Header extension

  32. Host Discovery Packet | Version 3 bit | Host Discovery | | R2 | | R1 | | random seq 16 bits | | Add / DEL | | HOST ID = H1 | | Owner ID =R1 | | Len of PATH=1 | | R1 | Header extension

  33. Content Discovery Packet | Version 3 bit |Content Discovery | | R2 | | R1 | | random seq 16 bits | | Add / DEL | | HOST ID = C1 | | Owner ID = H1 | | Len of PATH=1 | | R1 | Header extension

More Related