Vidur Nayyar Xueting Wang Weicong Zhao

Slides:



Advertisements
Similar presentations
Project3 Malabika Das Prajna Setty Preeti Rao. Assumptions and Address Scheme Assumptions End hosts can only connect to one router and knows which router.
Advertisements

ITIS 6010/8010 Wireless Network Security Dr. Weichao Wang.
Internet Networking Spring 2003
ROUTING PROTOCOLS Rizwan Rehman. Static routing  each router manually configured with a list of destinations and the next hop to reach those destinations.
ECE 544 Project 3 Content Based Routing Neelakantan Nurani Krishnan Shikha Kakkar Suja Srinivasan.
ECE 544 Project3 Kush Patel Siddharth Paradkar Ke Dong.
Routing Information Protocol (RIP). Intra-and Interdomain Routing An internet is divided into autonomous systems. An autonomous system (AS) is a group.
Distance Vector Routing Protocols W.lilakiatsakun.
Dynamic Routing Protocols  Function(s) of Dynamic Routing Protocols: – Dynamically share information between routers (Discover remote networks). – Automatically.
Slide /2009COMM3380 Routing Algorithms Distance Vector Routing Each node knows the distance (=cost) to its directly connected neighbors A node sends.
Unicast Routing Protocols  A routing protocol is a combination of rules and procedures that lets routers in the internet inform each other of changes.
ECE 544 Project3 Team member. Assumptions and Address Scheme Assumptions End hosts can only connect to routers Same content available at multiple end.
1 Network Layer Lecture 13 Imran Ahmed University of Management & Technology.
Routing Protocols of On- Demand Dynamic Source Routing (DSR) Ad-Hoc On-Demand Distance Vector (AODV)
Chapter 22 Network Layer: Delivery, Forwarding, and Routing Part 5 Multicasting protocol.
ECE 544 Project3 Amith V.S Pavan Kulkarni Suneet Dixit.
Page 110/27/2015 A router ‘knows’ only of networks attached to it directly – unless you configure a static route or use routing protocols Routing protocols.
Error and Control An IP datagram travels from node to node on the way to its destination Each router operates autonomously Failures or problems may occur.
An Efficient Wireless Mesh Network A New Architecture 指導教授:許子衡 教授 學生:王志嘉.
Content Routing Protocol Design Karthikeyan Ganesan Shruti Venkatesh Rafay Zamir.
ECE 544 Project3 Group 9 Brien Range Sidhika Varshney Sanhitha Rao Puskuru.
RIP Routing Protocol. 2 Routing Recall: There are two parts to routing IP packets: 1. How to pass a packet from an input interface to the output interface.
ECE 544 Project3 Ali Rostami Mohsen Ghassemi Mahmoud Ramezani-Mayiami.
CS 6401 Intra-domain Routing Outline Introduction to Routing Distance Vector Algorithm.
ECE 544 Protocol Design Project 2016 Nirali Shah Thara Philipson Nithin Raju Chandy.
ECE 544 Protocol Design Project 2016 Michael Sherman Murtadha Aldeer Leonard T. Park.
ECE 544 Project3 Parishad Karimi Mehrnaz Tavan Sai Teja Lingam.
1 CMPT 471 Networking II OSPF © Janice Regan,
ECE 544 Protocol Design Project 2016 Kiran Jatty Lasya Nandamuri Varun Vinnakota.
Network Layer.
Dynamic Routing Protocols part2
CMPT 371 Data Communications and Networking Routing in the Internet
21-2 ICMP(Internet control message protocol)
Routing Information Protocol (RIP)
ECE 544 Protocol Design Project 2016
Routing Protocols and Concepts
Link-State Routing Protocols
Chapter 6 Delivery & Forwarding of IP Packets
Internet Networking recitation #4
ODMRP Enhancement.
CBRP: A Cluster-based Routing Protocol for Mobile Ad hoc Networks
Switching Techniques In large networks there might be multiple paths linking sender and receiver. Information may be switched as it travels through various.
Internet Networking recitation #12
IS3120 Network Communications Infrastructure
THE NETWORK LAYER.
Routing.
ECE 544 Protocol Design Project 2016
ECE 544 Project3 Team member.
ECE 544 Protocol Design Project 2016
Dynamic Routing Protocols part2
Mobile and Wireless Networking
ECE 544 Protocol Design Project 2016
ECE 544 Protocol Design Project 2016
by Saltanat Mashirova & Afshin Mahini
Anup Mathur Anusha Sheelavant Prakhar Srivastava
Switching Techniques In large networks there might be multiple paths linking sender and receiver. Information may be switched as it travels through various.
Link-State Routing Protocols
Intradomain Routing Outline Introduction to Routing
ECE 544 Project3 Team member: BIAO LI, BO QU, XIAO ZHANG 1 1.
Aayush Patidar Ashwin Ramakrishnan Manoj Juneja
PRESENTATION COMPUTER NETWORKS
Switching Techniques.
Viet Nguyen Jianqing Liu Yaqin Tang
Christopher Beyer Hajar Mahdavi-Doost Tony Thayil
Link-State Routing Protocols
ECE 544 Project3 Team member.
Packet Switching Outline Store-and-Forward Switches
Network Layer.
Routing.
ECE 544 Project3 Dheeraj Medikonda Ravi Chandra Godavarthi 1.
Presentation transcript:

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

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.

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

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

Packet Format Type 1 Hello Packet: (Routing and Content Discovery) 0 4   8 8bits 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

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

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

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

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

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

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

Appendix: Network Architecture Refer to the following example scenarios for analysis purposes: Scenario 1: @host_H2: 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

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

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

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

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

Appendix: Network Architecture Refer to the following example scenarios for analysis purposes: Scenario 1: @host_H2: 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

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

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

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.

Appendix: Network Architecture Scenario 3: @host_H1: 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