140 likes | 264 Vues
ECE 544 Project3. Ali Rostami Mohsen Ghassemi Mahmoud Ramezani-Mayiami. Assumptions and Address Scheme. Naming scheme Devices: 0 - 255 Contents: 0 - 255 contents Assumptions End hosts can only connect to routers Single packet request/single packet response
E N D
ECE 544 Project3 Ali Rostami Mohsen Ghassemi Mahmoud Ramezani-Mayiami
Assumptions and Address Scheme • Naming scheme • Devices: 0 - 255 • Contents: 0 - 255 contents • Assumptions • End hosts can only connect to routers • Single packet request/single packet response • We don’t worry about fragmentation, rate control • The routing cost is the number of hops from ReqHost to content holder
Assumptions and Address Scheme • Terminology • Node • Either a router or a host • ReqHost • The host that requests the content • RepHost • The host who replies to the request • CID • Content ID
Bootstrapping and Discovery • Node Boot up • Send advertisement packets to its neighbors to say “Hello!” • Rescheduling its timer for the next round • Discovery • Content based distance vector • Only care about the content! • Advertisement packets are sent to neighbors at each timer expiration (e.g. 100 ms interval)
Bootstrapping and Discovery • Packet Format • ConReq • ConRep
Bootstrapping and Discovery • Packet Format Adv. Packet Max: 514 Bytes • No Ack Packet! This is a connectionless protocol • We only care about finding the content holder • Getting “reliability” as a service from the lower layer. • Hop by hop stop and wait • Using the first project as the lower layer protocol
Routing Tables Content lookup table (Routing table) Content lookup table is used to find the next hop towards the content holder Reverse route table When a router forwards ConReq to the next hop, it adds a reverse route entry to be able to find who requested this content
Content Lookup Table (CLT) • It keeps route information for the nearest content holder (Distance Vector) • Once a content is available at a closer host (lower cost), the CLT is updated • These guarantee the best routs to all the available contents
Advantages and Disadvantages • Advantages • Distributed control mechanism • Easy to implement • Code reuse (from the first project!) • Disadvantages • Scalability - Flat addressing for Content
Appendix: Network Architecture Scenario 1: @host_H2: get (content_C3) ConReq Packet H2 Content Lookup Table (CLT) Reverse Route Table R5 C3 C2 R2 H1 C1 H3 R1 R3 R4
Appendix: Network Architecture Scenario 1: @host_H2: get (content_C3) ConReq Packet H2 Content Lookup Table (CLT) Reverse Route Table R5 C3 C2 R2 H1 C1 H3 R1 R3 R4
Appendix: Network Architecture Scenario 1: @host_H2: get (content_C3) ConReq Packet H2 Content Lookup Table (CLT) Reverse Route Table R5 C3 C2 R2 H1 C1 H3 R1 R3 R4
Appendix: Network Architecture Scenario 1: @host_H2: get (content_C3) ConReq Packet H2 Content Lookup Table (CLT) Reverse Route Table R5 C3 C2 R2 H1 C1 H3 R1 R3 R4
Appendix: Network Architecture Scenario 3: @host_H1: get (content_C1) H1 H2 H3 H4 C2 C3 C1 C1 C1