Presentation is loading. Please wait.

Presentation is loading. Please wait.

Vidur Nayyar Xueting Wang Weicong Zhao

Similar presentations


Presentation on theme: "Vidur Nayyar Xueting Wang Weicong Zhao"— Presentation transcript:

1 Vidur Nayyar Xueting Wang Weicong Zhao
ECE 544 Project3 Vidur Nayyar Xueting Wang Weicong Zhao

2 Assumptions and Address Scheme
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.

3 Routing Information Protocol
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 Content ID Hops Port C1 2 1 C2 3 C3

4 Bootstrapping and Discovery
Algorithm WE DON’T NEED TO KNOW who 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.)

5 Packet Format Type 1 Hello Packet: (Routing and Content Discovery)
  bits TYPES Hops Content ID #1 ARRAY NUM. Content ID #2 Type 1 Hello packet is the most important packet of our design. This is the packet used to advertise the contents and also form a routing table. It has been designed to be as small as possible and still successfully form the routing table and conduct the content advertisement. This packet is a maximum of 32K in case all the 255 contents are on the network, but in practice its size is smaller than 32K. It contains a Type field to specify that it is a Type 1 hello packet used to form routing tables and assists in content advertisement. The next field specifies the number of hops away the content is present. The third field is the field containing the Content ID. It is in a stack formation and can contain upto 255 contents with the information about the distance(hops) of each content. It even contains a field known as the array number. This field assists the router to point to the position in the memory array where that particular content is present. Hence quickens the routing. Every time the routing table needs to be updated, this type1 hello message is flooded in the network. The life of type 1 hello packet is just one hop, as it just needs to inform its next router about the contents it has access to. While flooding the node closest to the smallest file on the network is considered to be the main node. 7

6 Routing Table for Content Discovery
(32K Bits) Content ID Hops Port C1 2 1 C2 3 C3 C4 16 null C5 .... C255 5 RIP,Flooding

7 Packet Format Type 2 Hello Packet: (Dead or Alive) 0 4 8bits TYPES
TTL=1 Type 2 hello packet is used to sense if the router or host attached to a particular port of the router is dead or alive. It uses a time-based generation of a type 2 hello packet. Each router has a clock associated to each of its ports. If the timer runs out of a predefined time without receiving a hello packet on that port, it considers the port to be dead. Each node broadcasts this type 2 hello message on all its ports after a predefined interval of time. This acts as the 1st line of defense against errors generated due to add and drop of routers/host. Its extremely desirable due to its small size. It does not do any action if there is no hello message received on a port which does not contain any content(but might be connected to a router)(or if we don’t prefer that route to reach to a content). 10

8 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.

9 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. Each node/router is programmed to transmit the data over the desired port and wait for the next node on that port to send back an Ack message. If it receives this Ack message within a pre-defined period of time it considers the message to be successfully handed over and discards the copy of the message from its buffer. If it doesn’t receive the Ack within the pre-determined amount of time, it resends the message again on that port. After a number of failed attempts, it considers the link to be faulty or broken and a Type1 Hello message is flooded to reroute. 12

10 Packet Format Type 3 Packet: (Request) 0 4 8 8bits TYPES TTL
Content ID Host ID Source Port(optional) Destination Port(optional) Seq Num CRC

11 Packet Format Type 3 Packet: (Send Content) 0 4 8bits TYPES TTL
Content ID Host ID Source Port Destination Port Seq Num NOTE:jhdsbghjfdgsafk Payload CRC

12 Routing Table for Host Discovery (update)
Host Name Port H1 1 H2 3 H3 4 H4 2

13 Appendix: Network Architecture
Refer to the following example scenarios for analysis purposes: Scenario get (content_C3) Req Send C3 H2 P1 H2 P1 P1 C3 H2 P1 P2 C2 C1 R5 P2 C3 H1 P1 P1 P2 P2 P2 P1 P2 P3 P1 P1 P1 P2 P1 Req Arrived R1 R2 R3 R4 C3 H3 C3 H2 P1 P3 C3 H2 P1 P2 C3 H2 P1 P2

14 Routing Table for R5 Content ID Hops Port C1 4 2 C2 C3 5 C4 null C5
null C5 .... C255 So we form two parts for "routing", the first one is to found this connection and the other is to transfer. In foundation, broadcast is needed. While

15 Routing Table for R2 Content ID Hops Port C1 3 2 C2 C3 4 C4 null C5
null C5 .... C255 So we form two parts for "routing", the first one is to found this connection and the other is to transfer. In foundation, broadcast is needed. While

16 Routing Table for R3 Content ID Hops Port C1 2 1 C2 C3 5 C4 null C5
null C5 .... C255 So we form two parts for "routing", the first one is to found this connection and the other is to transfer. In foundation, broadcast is needed. While

17 Routing Table for R4 Content ID Hops Port C1 1 C2 2 C3 6 C4 null C5
null C5 .... C255 So we form two parts for "routing", the first one is to found this connection and the other is to transfer. In foundation, broadcast is needed. While

18 Appendix: Network Architecture
Refer to the following example scenarios for analysis purposes: Scenario get (content_C3) Content Arrived H2 P1 P1 C3 H2 P2 P1 C2 C1 R5 P2 C3 H1 P1 P1 P2 P2 P2 P1 P1 P2 P3 P1 P1 P1 P2 P1 Content Send R1 R2 R3 R4 H3 C3 C3 H2 P3 P1 C3 H2 P1 P2 C3 H2 P2 P1 C3 H2 P2 P1

19 Host Discovery Table for R3,4,5
Host Name Port H1 1 H2 Type 2 hello packet is used to sense if the router or host attached to a particular port of the router is dead or alive. It uses a time-based generation of a type 2 hello packet. Each router has a clock associated to each of its ports. If the timer runs out of a predefined time without receiving a hello packet on that port, it considers the port to be dead. Each node broadcasts this type 2 hello message on all its ports after a predefined interval of time. This acts as the 1st line of defense against errors generated due to add and drop of routers/host. Its extremely desirable due to its small size. It does not do any action if there is no hello message received on a port which does not contain any content(but might be connected to a router)(or if we don’t prefer that route to reach to a content). 23

20 Host Discovery Table for R2
Host Name Port H1 2 H2 1 Type 2 hello packet is used to sense if the router or host attached to a particular port of the router is dead or alive. It uses a time-based generation of a type 2 hello packet. Each router has a clock associated to each of its ports. If the timer runs out of a predefined time without receiving a hello packet on that port, it considers the port to be dead. Each node broadcasts this type 2 hello message on all its ports after a predefined interval of time. This acts as the 1st line of defense against errors generated due to add and drop of routers/host. Its extremely desirable due to its small size. It does not do any action if there is no hello message received on a port which does not contain any content(but might be connected to a router)(or if we don’t prefer that route to reach to a content). 24

21 Advantages and Disadvantages
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 may be attached 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.

22 Appendix: Network Architecture
Scenario get (content_C1) So we form two parts for "routing", the first one is to found this connection and the other is to transfer. In foundation, broadcast is needed. While H1 H2 H3 H4 C1 C2 C3 C1 C1


Download ppt "Vidur Nayyar Xueting Wang Weicong Zhao"

Similar presentations


Ads by Google