220 likes | 354 Views
ECE 544 Project3. Vidur Nayyar Xueting Wang Weicong Zhao. Assumptions and Address Scheme. Assumptions Each router only connect to one host All the content can be fit in one packet (NO Segmentation required) Each router has enough capacity to support a specialized routing table (64k)
E N D
ECE 544 Project3 Vidur Nayyar Xueting Wang Weicong Zhao
Assumptions and Address Scheme Assumptions Each router only connect to one host All the content can be fit in one packet (NO Segmentation required) Each router has enough capacity to support a specialized routing table (64k) Each host knows which router it is attached to A router has at most 4 ports Not a Wireless network or Only a single router connected to a port. Naming scheme and eventual address scheme Router: R1, R2, R3....Rn End hosts: end hosts are recognized in the network by their host names. To describe in the diagram, they are given names from H1, H2, H3 ....H255 Content: Each content is given a content id(28 = 8 bits), from the hashing table which is presented as each host To describe in the diagram, they are given names from C1, C2, C3....C255 . Port number: Each router will randomly define their own ports adding to autonomous scalability.
Our Idea • We are Using RIP technique to locate the content, instead of discovering other routers • Maintenance of a Routing Table • Refreshing the Routing Table • Dead or Alive message • Actual Content transfer technique C Routing Information Protocol
Bootstrapping and Discovery Algorithm WE DON’T NEED TO KNOWwho is our neighboring router, all we need to know is that if that router is somehow attached to a particular content. We use the content id instead of the host id to be flooded throughout the network, thus creating a network that knows which all contents are on the network at any instance of time. Each router maintains a table specifying the nearest relative position of the content. It reduces the burden on the network and reduces the accessing time.(when Request is made, the packet knows where to go and the response with the content is instantaneous without any delay.)
Packet Format 0 4 8 8bits Hops Hops Content ID #1 Content ID #2 TYPES ARRAY NUM. Type 1 Hello Packet: (Routing and Content Discovery)
Routing Table for Content Discovery (32K Bits)
Packet Format TYPES TTL=1 Type 2 Hello Packet: (Dead or Alive) 0 4 8bits
When do we Refresh our routing tables? • The routing table on the network is refreshed by flooding the system with the the Type 1 Hello Packet: (Routing and Content Discovery)which helps all the routers to update the new relative position of the contents. • Our network is designed to refresh the tables if any of the following cases become true: • The Type 2 Hello Packet:(Dead or Alive) fails to reach a port considered to be active and was linked to a content file.(port could have been attached to a host or a router) this tells us if a router/ host is connected or detached. • If after a number of trials, a router fails to get Ack from the router to which it has sent the message.(depends on the timing taken for Type2 hello) • When a New file is added to a host.(optional) • Time based update, we can have a timer on the routers which triggers the update process.
Data Transfer and Reliability • As per the requirement of the project, the developed network is optimized to work in unicast mode where a client can fetch a content using a query containing the content ID number. • ARQ Scheme • To make the system simple and robust we chose to make the system hop-by-hop. • We use the Stop and Wait scheme to make our design reliable. A failure to get an Ack for a large number of events triggers the process of updating the routing table.
Packet Format Source Port(optional) Destination Port(optional) Seq Num TYPES TTL Content ID Host ID CRC Type 3 Packet: (Request) 0 4 8 8bits
Packet Format Payload Seq Num TYPES TTL Source Port Destination Port Type 3 Packet: (Send Content) 0 4 8bits Content ID Host ID CRC
Appendix: Network Architecture Refer to the following example scenarios for analysis purposes: H2 H2 H2 H2 H2 P1 P1 P1 0 P1 C3 C3 C3 C3 C3 P1 P2 P2 P2 P3 Req Send Req Arrived Scenario 1: @host_H2: get (content_C3) H2 P1 P1 C2 C1 R5 C3 P2 H1 P1 P1 P2 P2 P2 P1 P2 P3 P1 P1 P1 P2 P1 R1 R2 R3 R4 H3 C3
Appendix: Network Architecture Refer to the following example scenarios for analysis purposes: H2 H2 H2 H2 H2 P3 P2 P2 P1 P2 C3 C3 C3 C3 C3 P1 P1 P1 P2 P1 Content Arrived Content Send Scenario 1: @host_H2: get (content_C3) H2 P1 P1 C2 R5 C1 C3 P2 H1 P1 P1 P2 P2 P2 P1 P1 P2 P3 P1 P1 P1 P1 P2 R1 R2 R3 R4 H3 C3
Advantages and Disadvantages Advantages: Reduce network load by combining routing and file discovery protocol Robust routing scheme which supports adding and disconnecting nodes Use of devide and conquer algorithm to make routing process fast A router doesn’t need to know the addresses of its immediate routers Any router may be added or removed from the system at any time. Any host maybeattached or disconnected from any node Disadvantage: Does not support multicast Routing not via host address Limited scalability. Can increase the number of host but cant increase the number of contents as the memory storing the tables would need to be changed.
Appendix: Network Architecture Scenario 3: @host_H1: get (content_C1) H1 H2 H3 H4 C2 C3 C1 C1 C1