Click Notes I - Overview

来源:互联网 发布:6080软件下载 编辑:程序博客网 时间:2024/04/26 07:43

Click is a modular router toolkit written mainly in C++, which can be run in both user space and OS kernel space. Since its invention in late 1990s by Eddie Kohler, Click is has gained great successes in both research and industry. This series of notes aims to (1)introduce Click platform, (2)analyze the implementation of Click, and (3) discuss some general problems related to Operating System and Network Programming.

  1. Router Models
  2. Click Architecture
  3. Elements
  4. Packets
  5. Connections
  6. References

Router Models

Click was developed based on an abstract router model. Routers are viewed as pure packet processors: packets arrive on one network interface, travel through the packet processor’s forwarding path, and are emitted on another network interface. In routers, packets flow through the forwarding paths, which behave just like the pipelines. Packets will lose their identity after they arrive the target - only data will be transferred to applications(running on host). One significant differences between routers and hosts is: in packet processors, packets move horizontally between peers, not vertically between application layers.

Click also used an important observation - the packet operation is be basis of computer networks. Firewall limits access to a protected network, often by dropping inappropriate packets. Network address translators allow a large set of machines to share a single public IP address; they work by rewriting packet headers, and occasionally some data. Load balancers send packets to one of a set of servers, dynamically choosing a server based on load or some application characteristic. Therefore, most Click elements center on packet operations.

- See full post at:http://www.bo-yang.net/2014/12/23/click-notes-overview/#sthash.UrhlbFtW.dpuf
0 0