Endpoint Initialization
sequenceDiagram
title Endpoint Initialization
participant Endpoint
participant Controller
participant Edge Router
autonumber 1
note over Endpoint : Load config.json
note over Endpoint : Create TUN Device
note over Endpoint : Create route for\n 100.64.0.0 to TUN
note over Endpoint : Initialize DNS Service
note over Endpoint : Load Identity
note over Endpoint : Initialize Logging
Endpoint->>Controller : Connect
Controller->>Endpoint : Network / Service Configuration
Endpoint->>Edge Router : Connect Channel(s)
note over Endpoint : Process Services <br> Insert DNS Names <br> Create routes to \n 100.64.0.0 IPs
note over Endpoint,Edge Router : Monitor Latency
note over Endpoint,Controller : Poll for Updates
Steps
- Init - Load config.json
- Create TUN device
- Create route for 100.64.0.0 network to TUN
- Initialize DNS service
- Load identity
- Initialize logging
- Connect to controller
- Download network configuration
- Initialize Channels to Edge Routers
- Initialize Services
- Insert DNS names
- Create routes for IPs to 100.64.0.0 block
- Collect latency information for ER selection
- Complete DNS initialization with Service names
- Periodically check for updates to services or other network config. Polling controlled by app, including desktop edges and tunnelers, 10 or 15 seconds in OpenZiti released software.
- Update services, add or delete Edge Routers, etc. as necessary.