Routers form a ring in the SILC network. However, routers may have other
direct connections to other routers in the network too. This can cause
-interesting routing problems in the network. Since the network is ring,
+interesting routing problems in the network. Since the network is a ring,
the packets usually should be routed into counter clock-wise direction,
or if it cannot be used then always clock-wise (primary route) direction.
Problems may arise when a faster direct route exists and router is routing
-a channel messages. Currently channel messages must be routed either
+a channel message. Currently channel messages must be routed either
in upstream or downstream, they cannot be routed to other direct routes.
The SILC protocol should have a shortest path discovery protocol, and some
-existing routing protocol, that can handle a ring network with other direct
-routes inside the ring (hybrid ring-mesh network), MAY be defined to be
-used with the SILC protocol. Additional specifications MAY be written
-on the subject.
+existing routing protocol, that can handle a ring network with other
+direct routes inside the ring (so called hybrid ring-mesh topology),
+MAY be defined to be used with the SILC protocol. Additional
+specifications MAY be written on the subject to permeate this
+specification.
.ti 0
--- /dev/null
+This directory includes example files for a small SILC network. The
+network conists of three (3) routers, and seven (7) servers. One of
+the cell also has a backup router too. The topology of the network is
+as follows:
+
+Cell 1:
+Router 212.146.42.250 cell1_router.conf
+ Backup router 212.146.42.100 cell1_backup.conf
+ Server1 212.146.42.101 cell1_server1.conf
+ Server2 212.146.42.102 cell1_server2.conf
+
+Cell 2:
+Router 212.146.42.251 cell2_router.conf
+ Server1 212.146.42.130 cell2_server1.conf
+ Server2 212.146.42.131 cell2_server2.conf
+
+Cell 3:
+Router 212.146.42.252 cell3_router.conf
+ Server1 212.146.42.150 cell3_server1.conf
+ Server2 212.146.42.151 cell3_server2.conf
+
+To make it simple all servers and routers use the same public and private
+keys. They are the silcd.pub and silcd.prv in this directory. Also, to
+make authentication simple all servers and routers authenticate themselves
+to other routers by simple password.
+
+If you want to test this network you should change the IP addresses
+in the configuration file or perhaps set IP aliases for you local
+machine.
--- /dev/null
+#
+# CELL 1 Backup Router 212.146.42.100 on port 706
+#
+
+[Cipher]
+aes-256-cbc::32:16
+
+[Hash]
+md5::64:16
+sha1::64:20
+
+[hmac]
+hmac-sha1-96:sha1:12
+hmac-md5-96:md5:12
+hmac-sha1:sha1:20
+hmac-md5:md5:16
+
+[PKCS]
+rsa
+
+[serverkeys]
+./silcd.pub:./silcd.prv
+
+[Identity]
+nobody:nobody
+
+[AdminInfo]
+Cell1:Backup:Administrator:admin@cell1backup.com
+
+[ServerInfo]
+backup.cell1.com:212.146.42.100:Kuopio, Finland:706
+
+[ListenPort]
+212.146.42.100:212.146.42.100:706
+
+[Logging]
+#infologfile:silcd2.log:10000
+#warninglogfile:/var/log/silcd_warning.log:10000
+#errorlogfile:silcd2.log:10000
+#fatallogfile:/var/log/silcd_error.log:
+
+[ConnectionClass]
+1:100:100:100
+2:200:300:400
+
+[ClientConnection]
+:::706:1
+
+[AdminConnection]
+*:priikone:*:passwd:testi
+
+[ServerConnection]
+# backup connections
+212.146.42.101:passwd:priikone:706:1:1
+212.146.42.102:passwd:priikone:706:1:1
+
+[RouterConnection]
+# my primary
+212.146.42.250:passwd:priikone:706:1:1:1:0
+# backup connection to my primary's primary
+212.146.42.251:passwd:priikone:706:1:1:1:1
+# this use my primary as it's primary and me as backup
+212.146.42.252:passwd:priikone:706:1:1:0:1
+
+[DenyConnection]
--- /dev/null
+#
+# CELL 1 Router 212.146.42.250 on port 706
+#
+# CELL 1 is:
+#
+# Router 212.146.42.250
+# Backup router 212.146.42.100
+# Server1 212.146.42.101
+# Server2 212.146.42.102
+#
+
+[Cipher]
+aes-256-cbc::32:16
+
+[Hash]
+md5::64:16
+sha1::64:20
+
+[hmac]
+hmac-sha1-96:sha1:12
+hmac-md5-96:md5:12
+hmac-sha1:sha1:20
+hmac-md5:md5:16
+
+[PKCS]
+rsa
+
+[serverkeys]
+./silcd.pub:./silcd.prv
+
+[Identity]
+nobody:nobody
+
+[AdminInfo]
+Cell1:Router:Administrator:admin@cell1router.com
+
+[ServerInfo]
+router.cell1.com:212.146.42.250:Kuopio, Finland:706
+
+[ListenPort]
+212.146.42.250:212.146.42.250:706
+
+[Logging]
+#infologfile:silcd2.log:10000
+#warninglogfile:/var/log/silcd_warning.log:10000
+#errorlogfile:silcd2.log:10000
+#fatallogfile:/var/log/silcd_error.log:
+
+[ConnectionClass]
+1:100:100:100
+2:200:300:400
+
+[ClientConnection]
+:::706:1
+
+[AdminConnection]
+*:priikone:*:passwd:testi
+
+[ServerConnection]
+212.146.42.101:passwd:priikone:706:1:1
+212.146.42.102:passwd:priikone:706:1:1
+
+[RouterConnection]
+# my primary
+212.146.42.251:passwd:priikone:706:1:1:1:0
+# this use me as primary
+212.146.42.252:passwd:priikone:706:1:1:0:0
+# our backup router
+212.146.42.100:passwd:priikone:706:1:1:0:1:1
+
+[DenyConnection]
--- /dev/null
+#
+# CELL 1 Server 212.146.42.101 on port 706
+#
+
+[Cipher]
+aes-256-cbc::32:16
+
+[Hash]
+md5::64:16
+sha1::64:20
+
+[hmac]
+hmac-sha1-96:sha1:12
+hmac-md5-96:md5:12
+hmac-sha1:sha1:20
+hmac-md5:md5:16
+
+[PKCS]
+rsa
+
+[serverkeys]
+./silcd.pub:./silcd.prv
+
+[Identity]
+nobody:nobody
+
+[AdminInfo]
+Cell1:Server1:Administrator:admin@cell1server1.com
+
+[ServerInfo]
+server1.cell1.com:212.146.42.101:Kuopio, Finland:706
+
+[ListenPort]
+212.146.42.101:212.146.42.101:706
+
+[Logging]
+#infologfile:silcd2.log:10000
+#warninglogfile:/var/log/silcd_warning.log:10000
+#errorlogfile:silcd2.log:10000
+#fatallogfile:/var/log/silcd_error.log:
+
+[ConnectionClass]
+1:100:100:100
+2:200:300:400
+
+[ClientConnection]
+:::706:1
+
+[AdminConnection]
+*:priikone:*:passwd:testi
+
+[ServerConnection]
+
+[RouterConnection]
+# my primary
+212.146.42.250:passwd:priikone:706:1:1:1:0
+# our backup router in the cell
+212.146.42.100:passwd:priikone:706:1:1:1:1
+
+[DenyConnection]
--- /dev/null
+#
+# CELL 1 Server 212.146.42.102 on port 706
+#
+
+[Cipher]
+aes-256-cbc::32:16
+
+[Hash]
+md5::64:16
+sha1::64:20
+
+[hmac]
+hmac-sha1-96:sha1:12
+hmac-md5-96:md5:12
+hmac-sha1:sha1:20
+hmac-md5:md5:16
+
+[PKCS]
+rsa
+
+[serverkeys]
+./silcd.pub:./silcd.prv
+
+[Identity]
+nobody:nobody
+
+[AdminInfo]
+Cell1:Server2:Administrator:admin@cell1server2.com
+
+[ServerInfo]
+server2.cell1.com:212.146.42.102:Kuopio, Finland:706
+
+[ListenPort]
+212.146.42.102:212.146.42.102:706
+
+[Logging]
+#infologfile:silcd2.log:10000
+#warninglogfile:/var/log/silcd_warning.log:10000
+#errorlogfile:silcd2.log:10000
+#fatallogfile:/var/log/silcd_error.log:
+
+[ConnectionClass]
+1:100:100:100
+2:200:300:400
+
+[ClientConnection]
+:::706:1
+
+[AdminConnection]
+*:priikone:*:passwd:testi
+
+[ServerConnection]
+
+[RouterConnection]
+# my primary
+212.146.42.250:passwd:priikone:706:1:1:1:0
+# our backup router in the cell
+212.146.42.100:passwd:priikone:706:1:1:1:1
+
+[DenyConnection]
--- /dev/null
+#
+# CELL 2 Router 212.146.42.251 on port 706
+#
+# CELL 2 is:
+#
+# Router 212.146.42.251
+# Server1 212.146.42.130
+# Server2 212.146.42.131
+#
+
+[Cipher]
+aes-256-cbc::32:16
+
+[Hash]
+md5::64:16
+sha1::64:20
+
+[hmac]
+hmac-sha1-96:sha1:12
+hmac-md5-96:md5:12
+hmac-sha1:sha1:20
+hmac-md5:md5:16
+
+[PKCS]
+rsa
+
+[serverkeys]
+./silcd.pub:./silcd.prv
+
+[Identity]
+nobody:nobody
+
+[AdminInfo]
+Cell2:Router:Administrator:admin@cell2router.com
+
+[ServerInfo]
+router.cell2.com:212.146.42.251:Kuopio, Finland:706
+
+[ListenPort]
+212.146.42.251:212.146.42.251:706
+
+[Logging]
+#infologfile:silcd2.log:10000
+#warninglogfile:/var/log/silcd_warning.log:10000
+#errorlogfile:silcd2.log:10000
+#fatallogfile:/var/log/silcd_error.log:
+
+[ConnectionClass]
+1:100:100:100
+2:200:300:400
+
+[ClientConnection]
+:::706:1
+
+[AdminConnection]
+*:priikone:*:passwd:testi
+
+[ServerConnection]
+212.146.42.130:passwd:priikone:706:1:1
+212.146.42.131:passwd:priikone:706:1:1
+
+[RouterConnection]
+# my primary
+212.146.42.252:passwd:priikone:706:1:1:1:0
+# this use me as primary
+212.146.42.250:passwd:priikone:706:1:1:0:0
+# this is the 212.146.42.250 router's backup router
+212.146.42.100:passwd:priikone:706:1:1:0:1:0
+
+[DenyConnection]
--- /dev/null
+#
+# CELL 2 Server 212.146.42.130 on port 706
+#
+
+[Cipher]
+aes-256-cbc::32:16
+
+[Hash]
+md5::64:16
+sha1::64:20
+
+[hmac]
+hmac-sha1-96:sha1:12
+hmac-md5-96:md5:12
+hmac-sha1:sha1:20
+hmac-md5:md5:16
+
+[PKCS]
+rsa
+
+[serverkeys]
+./silcd.pub:./silcd.prv
+
+[Identity]
+nobody:nobody
+
+[AdminInfo]
+Cell2:Server1:Administrator:admin@cell2server1.com
+
+[ServerInfo]
+server1.cell2.com:212.146.42.130:Kuopio, Finland:706
+
+[ListenPort]
+212.146.42.130:212.146.42.130:706
+
+[Logging]
+#infologfile:silcd2.log:10000
+#warninglogfile:/var/log/silcd_warning.log:10000
+#errorlogfile:silcd2.log:10000
+#fatallogfile:/var/log/silcd_error.log:
+
+[ConnectionClass]
+1:100:100:100
+2:200:300:400
+
+[ClientConnection]
+:::706:1
+
+[AdminConnection]
+*:priikone:*:passwd:testi
+
+[ServerConnection]
+
+[RouterConnection]
+# my primary
+212.146.42.251:passwd:priikone:706:1:1:1:0
+
+[DenyConnection]
--- /dev/null
+#
+# CELL 2 Server 212.146.42.131 on port 706
+#
+
+[Cipher]
+aes-256-cbc::32:16
+
+[Hash]
+md5::64:16
+sha1::64:20
+
+[hmac]
+hmac-sha1-96:sha1:12
+hmac-md5-96:md5:12
+hmac-sha1:sha1:20
+hmac-md5:md5:16
+
+[PKCS]
+rsa
+
+[serverkeys]
+./silcd.pub:./silcd.prv
+
+[Identity]
+nobody:nobody
+
+[AdminInfo]
+Cell2:Server2:Administrator:admin@cell2server2.com
+
+[ServerInfo]
+server2.cell2.com:212.146.42.131:Kuopio, Finland:706
+
+[ListenPort]
+212.146.42.131:212.146.42.131:706
+
+[Logging]
+#infologfile:silcd2.log:10000
+#warninglogfile:/var/log/silcd_warning.log:10000
+#errorlogfile:silcd2.log:10000
+#fatallogfile:/var/log/silcd_error.log:
+
+[ConnectionClass]
+1:100:100:100
+2:200:300:400
+
+[ClientConnection]
+:::706:1
+
+[AdminConnection]
+*:priikone:*:passwd:testi
+
+[ServerConnection]
+
+[RouterConnection]
+# my primary
+212.146.42.251:passwd:priikone:706:1:1:1:0
+
+[DenyConnection]
--- /dev/null
+#
+# CELL 3 Router 212.146.42.252 on port 706
+#
+# CELL 3 is:
+#
+# Router 212.146.42.252
+# Server1 212.146.42.150
+# Server2 212.146.42.151
+#
+
+[Cipher]
+aes-256-cbc::32:16
+
+[Hash]
+md5::64:16
+sha1::64:20
+
+[hmac]
+hmac-sha1-96:sha1:12
+hmac-md5-96:md5:12
+hmac-sha1:sha1:20
+hmac-md5:md5:16
+
+[PKCS]
+rsa
+
+[serverkeys]
+./silcd.pub:./silcd.prv
+
+[Identity]
+nobody:nobody
+
+[AdminInfo]
+Cell3:Router:Administrator:admin@cell3router.com
+
+[ServerInfo]
+router.cell3.com:212.146.42.252:Kuopio, Finland:706
+
+[ListenPort]
+212.146.42.252:212.146.42.252:706
+
+[Logging]
+#infologfile:silcd2.log:10000
+#warninglogfile:/var/log/silcd_warning.log:10000
+#errorlogfile:silcd2.log:10000
+#fatallogfile:/var/log/silcd_error.log:
+
+[ConnectionClass]
+1:100:100:100
+2:200:300:400
+
+[ClientConnection]
+:::706:1
+
+[AdminConnection]
+*:priikone:*:passwd:testi
+
+[ServerConnection]
+212.146.42.150:passwd:priikone:706:1:1
+212.146.42.151:passwd:priikone:706:1:1
+
+[RouterConnection]
+# my primary
+212.146.42.250:passwd:priikone:706:1:1:1:0
+# this use me as primary
+212.146.42.251:passwd:priikone:706:1:1:0:0
+# this is 212.146.42.250 router's (my primary's) backup router
+212.146.42.100:passwd:priikone:706:1:1:1:1:0
+
+
+[DenyConnection]
--- /dev/null
+#
+# CELL 2 Server 212.146.42.150 on port 706
+#
+
+[Cipher]
+aes-256-cbc::32:16
+
+[Hash]
+md5::64:16
+sha1::64:20
+
+[hmac]
+hmac-sha1-96:sha1:12
+hmac-md5-96:md5:12
+hmac-sha1:sha1:20
+hmac-md5:md5:16
+
+[PKCS]
+rsa
+
+[serverkeys]
+./silcd.pub:./silcd.prv
+
+[Identity]
+nobody:nobody
+
+[AdminInfo]
+Cell3:Server1:Administrator:admin@cell3server1.com
+
+[ServerInfo]
+server1.cell3.com:212.146.42.150:Kuopio, Finland:706
+
+[ListenPort]
+212.146.42.150:212.146.42.150:706
+
+[Logging]
+#infologfile:silcd2.log:10000
+#warninglogfile:/var/log/silcd_warning.log:10000
+#errorlogfile:silcd2.log:10000
+#fatallogfile:/var/log/silcd_error.log:
+
+[ConnectionClass]
+1:100:100:100
+2:200:300:400
+
+[ClientConnection]
+:::706:1
+
+[AdminConnection]
+*:priikone:*:passwd:testi
+
+[ServerConnection]
+
+[RouterConnection]
+# my primary
+212.146.42.252:passwd:priikone:706:1:1:1:0
+
+[DenyConnection]
--- /dev/null
+#
+# CELL 3 Server 212.146.42.151 on port 706
+#
+
+[Cipher]
+aes-256-cbc::32:16
+
+[Hash]
+md5::64:16
+sha1::64:20
+
+[hmac]
+hmac-sha1-96:sha1:12
+hmac-md5-96:md5:12
+hmac-sha1:sha1:20
+hmac-md5:md5:16
+
+[PKCS]
+rsa
+
+[serverkeys]
+./silcd.pub:./silcd.prv
+
+[Identity]
+nobody:nobody
+
+[AdminInfo]
+Cell3:Server2:Administrator:admin@cell3server2.com
+
+[ServerInfo]
+server2.cell3.com:212.146.42.151:Kuopio, Finland:706
+
+[ListenPort]
+212.146.42.151:212.146.42.151:706
+
+[Logging]
+#infologfile:silcd2.log:10000
+#warninglogfile:/var/log/silcd_warning.log:10000
+#errorlogfile:silcd2.log:10000
+#fatallogfile:/var/log/silcd_error.log:
+
+[ConnectionClass]
+1:100:100:100
+2:200:300:400
+
+[ClientConnection]
+:::706:1
+
+[AdminConnection]
+*:priikone:*:passwd:testi
+
+[ServerConnection]
+
+[RouterConnection]
+# my primary
+212.146.42.252:passwd:priikone:706:1:1:1:0
+
+[DenyConnection]
--- /dev/null
+-----BEGIN SILC PUBLIC KEY-----
+AAAA5wADcnNhAFBVTj1wcmlpa29uZSwgSE49c2lsYy5yYWtldHRpLm5ldCwgUk49UGVra2E
+gUmlpa29uZW4sIEU9cHJpaWtvbmVAc2lsYy5yYWtldHRpLm5ldAAAAAQAAAB/AAAAgCVP8Q
+JzCCCC3DUhJlTNABfFqvBIe+BheiAtpHc5D5+2dHqzoAQy99gTFlRGfnnqLvcz1YzYPjVEn
++mbVEL6jddJZ2C1YwqzCGa5lG6dr4Un5QSU/uSgFoMY8wRjmfB1Cp/7/CgEFb20JeD/cS6s
+Tl86ElyTwi+NIwPMFePjlBkx
+-----END SILC PUBLIC KEY-----