Forward platform is built on top of a mathematical model of network forwarding behavior along with computation techniques that enable us to compute the path of every single possible packet from every single ingress point to the network.
The key observation is that networking devices perform simple operations: they look at headers of packets, which are sequences of bits, and either transform those bits and forward the packet to the next device, or drop the packet. We use this observation to create a mathematical transfer function for every node in the network, in which the input to the function is ingress packet headers and ingress port, and the output is egress packet headers and egress ports. Then by putting these transfer functions together, we create a graph of transfer functions for the entire network.
Once we have captured the forwarding behavior of the network in the form of a function graph, we use a technique called symbolic function execution to find all execution paths of this function graph and the mapping between all inputs to the corresponding outputs. The result of this computation represents the forwarding path of every possible packet that can ever traverse through a given network. This computation is extremely hard to scale: we have more than 10240 possible packet headers and many ingress points in the network, so computing all these paths requires carefully-crafted models and computation algorithms.
Finally, by storing the result of this computation in an efficient and custom graph database, Forward platform allows the users to query for any network forwarding behavior, or verify forwarding properties of networks.
For example we can
⊛ Verify that HTTPS is the only open port between host A and host B
⊛ Find all the places that a compromised host could reach
⊛ Ensure that two segments of the network are fully isolated
⊛ Verify that traffic from subnet A can only get to subnet B if it has passed through a certain intermediate firewall
By enabling network operators to get answers to questions above and verify correctness properties of networks at all time, Forward makes networks to be agile, secure and predictable, which is the core of Forward networks’ mission statement.
Forward Networks is currently seeking experienced, self-motivated developers with technical and team leadership experience
to work as part of our Network team.
The first step in creating the Forward platform is to create an accurate and scalable mathematical model for every networking device (router, switch, firewall, load balancer, proxy, etc) and every protocol that is running in the network. Software engineers in the networking team bridge the gap between vendor and protocol dependent world of networking, and the purely mathematical, protocol and vendor agnostic network mathematical model! The models need to be both accurate (to capture all edge behaviors of the devices), as well as scalable (to help scale the massive computation of all paths through the network).
As a team lead, you are in charge of a team of 3-4 software engineers and 1-2 network engineers which help build support for new platforms and networking protocols, ensure the created model scales well, and can handle diverse sets of configuration and deployment scenarios seen in the real world.
⊛ Help bring the best ideas from the software development world into the networking industry
⊛ Contribute to our code base, systems and software architecture as a member of our engineering team
⊛ Manage and lead a group of 4-6 software developers and network engineers in building an accurate forwarding model for various devices and protocols
⊛ Ensure that projects are executed on time, and meet code quality, testing and documentation guidelines
⊛ 6+ years of work experience in software development.
⊛ 3+ years of work experience with Java, C++ or similar object oriented programming languages
⊛ 3+ years of experience as tech lead or technical project owner
⊛ BS in Computer Science or related degree
⊛ Solid software engineering experience with large code bases
⊛ Basic understanding of networking and TCP/IP
⊛ Strong verbal and written communication skills
⊛ Ability and willingness to closely collaborate and coordinate with teams in the Bay Area
⊛ Strong project management and project organization skills
⊛ Result-driven and self-motivated
Nice to haves
⊛ Working knowledge of how switches, routers, firewalls or load balancers work
⊛ Experience working with networking protocols such as BGP/OSPF/IS-IS, IPv4/IPv6, MPLS, VLAN, VXLAN, etc.
This position is a regular, full-time opportunity with Forward Networks in Bangalore, India.