1 / 25

# ECE 544 Project3 - PowerPoint PPT Presentation

ECE 544 Project3. Anup Mathur Anusha Sheelavant Prakhar Srivastava. Assumptions. Assumptions End hosts can only connect to routers Same content available at multiple end nodes All routers have static IP addresses Routing tables are updated periodically and on events

I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.

## PowerPoint Slideshow about ' ECE 544 Project3' - alice

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.

- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript

### ECE 544 Project3

Anup Mathur

Anusha Sheelavant

Prakhar Srivastava

• Assumptions

• End hosts can only connect to routers

• Same content available at multiple end nodes

• All routers have static IP addresses

• Routing tables are updated periodically and on events

• Routers are allowed to send ACK’s for reliable transmission

• Router can connect to a maximum 5 other routers and 254 hosts.

• Naming scheme and eventual address scheme

• Router- R1,R2 .. R255 -- A.B.Rid.255

• End hosts- H1, H2 .. H255 -- A.B.Rid.Hid

• Content- Filename Algorithm

.

Hashing with variable data

Break the input into a sequence of small units (bits, byte, words, etc.) and combine all the units b[1], b[2], …, b[m] sequentially, as follows

S ← S0; // Initialize the state.

for k in 1, 2, ..., m do // Scan the input data units.

S ← F(S, b[k]); // Combine data unit k into the state.

return G(S, n) // Extract the hash value from the state.

If b[k] are single bits, then F(S,b) could be

if highbit(S) = 0

thenreturn 2 * S + b

elsereturn (2 * S + b) ^ P

Here highbit(S) - the most significant bit of S; the '*' operator denotes unsigned integer multiplication with lost overflow. '^' is the bitwise exclusive OR operation applied to words; and P is a suitable fixed word.

• Content id:

• Type: format ex: jpg,txt,mpeg

• Hash table value

The content name : type-hashvalue

• Algorithm

• Routers and end hosts boot up (Hello packet?)

• Discovery

• Routers discover other routers

• Hosts discover their router

• Packet Format

• Starting from router 0, connect router 1

• Handshake packets are sent – informing the other router about the presence.

• Handshake packet contains the mac address and router id.

• If no router id is maintained, then the router with lower mac address becomes the network start router. Assigning id :0(start) to itself and the next number in the series of 5.

• If the router is already connected to a network, it will allocate the next router its number based on the formula = id*5 +[1-5].

• If the router already has an id, no new id is allocated.

• The routing table is built by using OSPF algorithm.

• The Algorithm also conveys the content id.

• If the router id is more than 255, then we use the 2nd octet of the Ip address.

• If two networks are to be connected, the mac address defines the subnet and is assigned in the first octet of the ip address.

• Each router then stores the mac address it was given and assigns itself the number given by the parent router.

• Whenever a host connects to a router, the router assigns the ip address to the host as

• A.B.Rid.Hid

• As a consequence each router can be connected to only 255 hosts as the id 255 cannot be given.

• The router maintains a table of the number of hosts connected, its sequentially assigned and the router maintains an alive table, which is refreshed with a timer overflow.

Identifier: HEL: Indicates that it is a “Hello” packet.

ASN : assigning value

ACK : Acknowledgement

My Router ID: The ID of the sender.

Guest Router ID: The ID of the router which is being assigned the ID.

Device ID: ID which indicates whether the device is a router or a end Host.

Baseline Algorithm

• Content routing algorithm

• Updating the content library

• Searching content

• Content Host selection

• Data transfer

• Host broadcasts the packet with :

• Content id

• Update Identifier

• #of hops

• At each router we forward to all nodes other than the source.

• At each router we keep a copy of packet.

• At each router we check if the number of hops is greater than the stored packet, discard.

• If the router already has a copy with greater number of hops replace the copy and forward.

• No acknowledgements are sent by the other host upon receiving the update- hosts update their content library.

• Host broadcasts the packet with

• Content id

• Search Identifier

• #ofhops

• At each router we forward to all nodes other than the source.

• At each router we keep a copy of packet.

• At each router we check if the number of hops is greater than the stored packet, discard.

• If the router already has a copy with greater number of hops replace the copy and forward.

• The content provider sends an acknowledgement back to the source.

• At each router the packet with the lesser number of hops or smaller time is forwarded.

• This removes the problem of cyclic transmission in broadcasting and also helps in selection of the acknowledgement.

• The first acknowledgement received by the host is the path/source is chosen.

• If two packets come at the same time, the acknowledgment with lower number of hops is considered.

• Once the host receives an acknowledgement, a transfer packet is sent to the host selected.

• The transfer packet should contain the destination address where the content was found.

• Once the transfer packet is received, the content host starts making packets of the content and starts transmitting to the Receiving host.

• In transit between the routers using Sliding window(selective repeat) algorithm with a window size of 4 packets and packet id of 3 bits

• End of file: identifier tag is filled with EOF after the last data packet is sent, this closes the data transmission.

• No of hops> 255 discard.

• Time to live for the copy is the N*x times the time stamp difference, for simplicity we are using the N=2.

• In sliding window, if the acknowledgment is not received for length of sliding window time, an event for updating the routing table is made.

• The time to live should be updated in the Selective sliding window if the acknowledgment is not received.

• Message Forward

• Multicast is not supported

• Unicast: we need the destination address

• Broadcast is supported for 255.255.255.255

• ARQ Scheme

• Hop-by-hop – Sliding Window

Sliding window uses selective request scheme

• Identifiers can be

• SEA (Search)

• UPD (Update)

• ACK (Acknowledgement)

• REQ (Request)

• DAT (Data)

• EOF (End of file)

• Scalable to other networks using the first octet of the IP address to define other networks if no gateway

• Latency – we have tried to maintain a fast hoh-hop link state, thus using a sliding window ARQ.

• Disadvantage: Does not support multicast

Appendix: Network Architecture

• Refer to the following example scenarios for analysis purposes:

Scenario 1: @host_H2: get (content_C3)

H2

C1

C2

R5

C3

H1

R1

R2

R3

R4

H3

Appendix: Network Architecture

Scenario 2: @host_H1: get (content_C2)

C2

H2

C3

C1

C2

R5

C3

H1

R1

R2

R3

R4

H3

Appendix: Network Architecture

Scenario 3: @host_H1: get (content_C1)

H1

H2

H3

H4

C2

C3

C1

C1

C1