-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathPROTOCOLS.txt
More file actions
69 lines (53 loc) · 2.15 KB
/
PROTOCOLS.txt
File metadata and controls
69 lines (53 loc) · 2.15 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
listaglobal com todos os pacotes e cada vez q uma dependencia é carregada colocar ela na lista
NETWORK
(Datagramas de comunicação interna da rede)
NetworkDatagram (É aceito vindo de clients)
[NDT-%TTD%-(%ROUTE%)-%TYPE%-(%DATA%)]
-- verificar roteadores, se não existir verificar conexões
-- na array de protocolos de rede colocar um listener de mensagens para todas as interfaces
-- É bom colocar o remetente também, já que a rota vai diminuindo
DiscoveryDatagram
[DDT-%ASK%-%REPLY%-%IDENTIFIER%]
-- Usado no mapeamento de rede
ASK = roteador que está mapeando
REPLY = nil | roteador que responde
IDENTIFIER = id unico
ConnectionsDatagram
[CDT-%TTD%-(%VISITED_ROUTERS%)-[%ORIGIN_NAME%]-(%ROUTER_KNOWN_CONNECTIONS%)-[%ORIGIN_SENT_TIME%]]
--- Usado no mapeamento de rede, uma vez que um roteador conhece seus vizinhos ele deve fazer
--- broadcast de toda a sua área conhecida peara o resto da rede
--- %VISITED_ROUTERS% = (A)(B)(C)
--- %KNOWN_ROUTER_CONNECTIONS% = (A)(B)(C)
NetworkStateDatagram
[NSD-%ROUTER_NAME%-(%DATA%)]
(%DATA%) =
(REQUEST) ||
(MEMORY=(%ROUTER_MEMORY%) CONFIG=(%ROUTER_CONFIG%))
MulticastDatagram
BroadcastDatagram
(Datagramas de contato com clientes)
EndpointContractDatagram
[ECD-[%TASK%]-[%DESTINATION%]-(%TASK_DATA%)]
%TASK% = 'ASK_CONNECTION'|'CONFIRM_CONNECTION'|'RENEW_CONNECTION'|'PING_NEARBY'|'NEARBY_ROUTER'|'ASK_ADDRESSES'|'REPLY_ADDRESSES'|'STILL_VALID'
%TASK_DATA% =
%TASK% = 'ASK_CONNECTION' -> Prefixo requerido
= 'CONFIRM_CONNECTION' -> Endereço do endpoint na rede
= 'RENEW_CONNECTION' -> Nada
= 'PING_NEARBY' -> Nada
= 'NEARBY_ROUTER' -> Nome do roteador
= 'ASK_ADDRESSES' -> Nada
= 'REPLY_ADDRESSES' -> '(R1)(R2)...'
= 'STILL_VALID' -> Nome do endpoint
%DESTINATION% = O roteador / cliente de destino
Durante o estabelecimento de conexão o cliente terá um ID único temporário
No PING_NEARBY, NEARBY_ROUTER esse parâmetro é vazio
TransportDatagram
[TDT-%DEST_NAME%-(%DATA%)]
-- É criado quando a mensagem deve sair da rede
TRANSPORT
SingleMessagePacket
[SMP-%DEST%-(%DATA%)]
-- Meio que um UDP
APPLICATION
Routers:
PingMessage