16
ECE 544 Project3 Kush Patel Siddharth Paradkar Ke Dong

ECE 544 Project3 Kush Patel Siddharth Paradkar Ke Dong

Embed Size (px)

Citation preview

Page 1: ECE 544 Project3 Kush Patel Siddharth Paradkar Ke Dong

ECE 544 Project3

Kush Patel

Siddharth Paradkar

Ke Dong

Page 2: ECE 544 Project3 Kush Patel Siddharth Paradkar Ke Dong

Assumptions and Address Scheme Assumptions

Network contains Routing Controllers Routing Controllers contain info of content files at each host Hosts connected to routers via Ethernet We will have multiple Routing Controllers serving multiple areas

of the network Routing Controllers will “talk” to each other to update their tables Other assumptions such as 255 hosts, 255 content files etc.

Naming scheme and eventual address scheme Routers: Identify them as 1,2,3… Content: Use ID for each File

Page 3: ECE 544 Project3 Kush Patel Siddharth Paradkar Ke Dong

Bootstrapping and Discovery

Methods “CreateEntry()”

Send all content id # stored to the Routing Controller upon boot Routing Controller creates a table entry with the end host that has

the content file

“GetContent()” Default dest. Routing Controller. If Routing Controller does not

contain file, Routing Controller performs table search and finds closest host

Routing Controller queries “GetContent()” from Host X

UpdateContent() Routing Controller runs method to match host content files with

table entries periodically

Page 4: ECE 544 Project3 Kush Patel Siddharth Paradkar Ke Dong

Bootstrapping and Discovery

Routes Routers use Dijkstra to build table of routes and

output ports Hosts have a default router to send requests to No 2 Routers connect to the same host for

simplicity

Page 5: ECE 544 Project3 Kush Patel Siddharth Paradkar Ke Dong

Baseline Algorithm

Content routing algorithm How are contents advertised?

Hosts update content periodically How to route a content-request packet?

Via the Routing Controller How is the content actually delivered?

UDP Protocol

Page 6: ECE 544 Project3 Kush Patel Siddharth Paradkar Ke Dong

Baseline Algorithm

Content routing algorithm How to choose the ‘best’, among multiple hosts

having the same content? By default, Host will send request to Routing Controller with its address

as destination The default router will check the hop count to the Routing Controller and

send a GetContent() broadcast message on all the nodes with a TTL = Distance to Routing Controller – 1

The router will flood its connected hosts for a response , If a router that is closer than to the host than the Routing Controller, it will respond with the packet.

The host will discard any duplicate packet it received

Page 7: ECE 544 Project3 Kush Patel Siddharth Paradkar Ke Dong

Baseline Algorithm

Content routing algorithmRouting Table for every Router:

Router will use the Hop Count of the Routing Controller and send a broadcast with a TTL = Hop Count - 1

IP Address Output Port # Hop Count

Routing Controller

2 5

Page 8: ECE 544 Project3 Kush Patel Siddharth Paradkar Ke Dong

Packet Structure

IP based packet structure Two separate packet structures based on

protocol being utilized . Initially when all of the hosts are being added they

will send a packet based on TCP packet structure, it will wait for a ACK from the central Routing Controller.Src Add Dest Addr Content Count Payload

C1, C2, C3, C4

Page 9: ECE 544 Project3 Kush Patel Siddharth Paradkar Ke Dong

Packet Structure

When a transmission from host to host happens, they will employ a UDP scheme for the packet structure.

Src Add Dest Addr Content ID# Payload

Page 10: ECE 544 Project3 Kush Patel Siddharth Paradkar Ke Dong

Data Transfer and Reliability

Message Forward Unicast – For sending contents to Routing Controllers Boradcast – For GetContent Queries() Use UDP for packet transfer – No need for TCP Control.

If Packet fails, host requests retransmission TCP for CreateEntry()

ARQ Scheme We will want to use a stop and wait ARQ method, where

the number of frames being sent are determined by the sliding window size, and the receiver buffers any out of order packets. We believe that because we have focused on reducing the number of hops needed to a transmission, the # of retransmissions required will be very low.

Page 11: ECE 544 Project3 Kush Patel Siddharth Paradkar Ke Dong

Advantages

Centralized Routing ControllersMore robust. Every host knows to send requests to one place. “Brain” of the network hereby managing nodes and periodic updates.There is not a complete flooding of the network.

Page 12: ECE 544 Project3 Kush Patel Siddharth Paradkar Ke Dong

Disadvantages

Centralized Routing Controllers bottleneck. Multiple request from multiple hosts can overload the Routing Controller scheduling

Flooding can introduce a network overload

Page 13: ECE 544 Project3 Kush Patel Siddharth Paradkar Ke Dong

Network Architecture

ARP Table

C1 C6

C4

C5

C9

R3

H1

H2

H3

R1

R2

R4

R5

DHCP Server

Routing Controller

C3

C2 C7

H4

Page 14: ECE 544 Project3 Kush Patel Siddharth Paradkar Ke Dong

2 Scenarios

Host wants to get file that has a hop count greater than the routing controller.

Host wants to get file from a node that is closer than the routing controller.

Page 15: ECE 544 Project3 Kush Patel Siddharth Paradkar Ke Dong

Scenario 1: H2 – GetContent (C3)

ARP Table

C1 C6

C4

C5

C9

R3

H1

H2

H3

R1

R2

R4

R5

DHCP Server

Routing Controller

C3

C2 C7

H4

C3

Hop Count to Routing Controller =3Broadcast with TTL = 2

TTL = 2

TTL = 1

TTL = 1

TTL = 1

TTL = 0

TTL = 0 TTL = 0

TTL = 0

C3

C3

Page 16: ECE 544 Project3 Kush Patel Siddharth Paradkar Ke Dong

Scenario 2: H2 – GetContent (C4)

ARP Table

C1 C6

C4

C5

C9

R3

H1

H2

H3

R1

R2

R4

R5

DHCP Server

Routing Controller

C3

C2 C7

H4

Hop Count to Routing Controller =3Broadcast with TTL = 2

TTL = 2

TTL = 1

TTL = 1

TTL = 1

TTL = 0

TTL = 0 TTL = 0

TTL = 0

C4

C3C4