OpenFlow POF (Original, reproduced please specify)

Source: Internet
Author: User

Recently see the POF code to see the headache, but fortunately is done, the rest is the idea of POF can be integrated into the code of the EPC, I also for the future 5G point of view is not? First of all, say what POF is.

Introduction to POF

The full name of the POF (Protocol oblivious Forwarding) is the protocol is not aware of forwarding, Huawei proposed an improved forwarding method on the OpenFlow, this way do not need to know the protocol is what the packet can be forwarded out. It can improve the programmability of SDN and support new protocols without changing the forwarding device code. Only need to do is by the controller configuration of the corresponding flow table, issued to the forwarding device can be. POF can help operators deploy new protocol-based services quickly and easily. Although OpenFlow-based SDN networks are programmable, they are limited to existing protocols and cannot support new ones.

The basic principles of POF

Look at the above introduction think POF is very mysterious, in fact, the core idea is one, that is {length,offset}, it will all the data fields are {Length,offset} to represent

field {      type;     Offset;    length};   

Take the MAC protocol header as an example:

There are three areas:

dst{0,0,48} src{0,48,48} type{0,96,16} where type to represent the field type, 0 indicates that this is a packet. So there are existing protocols and new protocols that can be represented in this way.

Example

Suppose there is a IPVX protocol as shown:,

In PoF, the header of a packet is parsed by layers, and the offset of a protocol is relative to its protocol header, for example, the SRC_ADDR has a 64bit offset relative to the IPVX head.

People familiar with the OpenFlow know that gototable This command, it means how the IPVX package is handled by this command.

In flow table 0, the MAC header "Destination address" and "type" as the matching domain, flow table 0 has been configured by the Controller flow table entries, used to forward the package to flow table 1 for further processing. Src_addr as a matching field in flow table 1.

When the package enters the flow table 0 o'clock matches one of the flow table entries, the goto-table command in the Flow table item first moves the data processing pointer forward by 14bit. Then extract the src_addr according to the pointer and then offset 64bit, and finally, the extracted src_addr will be used as a matching keyword to search flow table 1 in the flow tables to find matches (this is not the same as the OpenFlow pipeline processing, added the lookup function)

There are other commands that do not explain much, and commands are used only as an understanding.

In addition, the POF also adds Metadata,group (a collection of actions), independently out of counter, and so on. I have to say that POF has brought great hope and Prospect to SDN!

OpenFlow POF (original, reprint please specify)

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.