- Can be done completely free of network information.
- The packet sent must include a source, uniq id, destination.
- Note: I made these algorithms up, there are bugs in them
- I assume that each node has a unique ID.
- A simple algorithm
Start:
send a packet to each adjacent node:
Receive a packet:
if source:
discard the packet
if destination:
if the id is new:
accept the packet
otherwise:
discard the packet
otherwise:
transmit the packet to all adjacent nodes
- We can add hop count to make the algorithm somewhat more efficient
Start:
send a packet with maximum hop count to each adjacent node:
Receive a packet:
if source:
discard the packet
if destination:
if the id is new:
accept the packet
otherwise:
discard the packet
otherwise:
if hop count is 0
discard the packet
otherwise
decrement the hop count by 1
transmit the packet to all adjacent nodes
- An algorithm to discover the a route
on source node:
start:
for each adjacent edge
Send a packet.
On any node:
on packet receipt:
If the packet is a query:
If the destination is this node:
If this is the first request received
Return a route packet with reverse of the path as route
otherwise:
discard the packet
If the source is this node:
discard the packet
If this node is listed in the path:
discard this packet
Otherwise:
append the source to the path
transmit the new packet to all adjacent nodes
If the packet is a route:
return the packet to previous node in route.
- This method will
- Always find the least cost path
- Work as long as there is a route between two nodes.
- Create a Butch of network traffic
- Visit all nodes from the source in a given radius
- It is extremely robust.
- Figure 12.3 takes just a bit of understanding.
- Each packet has the TTL as the data.
- There are two packets on the link from 2 to 1, each with a ttl of 1