Information Technology Reference
In-Depth Information
Algorithm 1.
Produce and send route validation request
1:
if
Validate
(
R
,
K
M
) is VALID or INVALID
then
2:
return
;
3:
end if
4:
if
Validate
(
R
,
K
M
) is UNCERTAIN
then
5: Initialize
newM
and add it into
I
M
;
6:
for
I ∈I
M
do
7:
if
I
.
Route
is routing correlative with
R
then
8: Add validator of
I
into
authSet
;
9: Add producer of
I
into
applicantSet
;
10:
end if
11:
end for
12:
if
authSet
and
applicantSet
is NULL
then
13: Add monitor in
R
.
AS-PATH
into
authSet
;
14:
end if
15:
for
all monitor in
authSet
and
applicantSet
do
16:
if
newM
.
TTL
equal THRESHOLD
then
17: break;
18:
end if
19: Send
newM
to the monitor;
20: emphnewM.
TTL
++;
21:
if
ackM
.
result
is VALID or INVALID
then
22: Update
K
M
and
newM
;
23:
return
;
24:
end if
25:
if
emphackM.
suggestedList
is not NULL
then
26: Add suggested monitor into
authSet
;
goto 12
;
27:
end if
28:
end for
29:
end if
30:
return
;
Algorithm 2.
Receive and reply route validation request
1:
newM
=
Listen
();
2:
if
Validate
(
newM.Route
,
K
M
) is VALID or INVALID
then
3: Add
newM
into
I
M
;
4: Update fields of
newM
and reply
ackM
;
5:
return
;
6:
end if
7:
if
auth(
newM
,
K
M
) is UNCERTAIN
then
8: Search
I
M
for validation request which is routing correlative with
R
;
9: Add requests validator into
ackM
.
suggestedList
;
10: Add requests producer into
ackM
.
suggestedList
;
11: Update fields of
newM
and reply
ackM
;
12:
end if
13:
goto
1;