Manual:Packet Flow

From MikroTik Wiki
Revision as of 13:13, 27 November 2008 by Megis (talk | contribs)
Jump to navigation Jump to search

MikroTik RouterOS is designed to be easy to operate in various aspects of network configuration. Therefore creating limitation for individual IP or natting internal clients to a public address or Hotspot configuration can be done without the knowledge about how the packets are processed in the router - you just go to corresponding menu and create necessary configuration.

However more complicated tasks, such as traffic prioritization, routing policies, where it is necessary to utilize more than one RouterOS facility, requires knowledge: How these facilities work together? What happens when and why?

To address these questions we created a packet flow diagram.

Diagram

As it was impossible to get everything in one diagram, Packet flow diagram for Mikrotik RouterOS v3.x was created in 2 parts:

  • Bridging or Layer-2 (MAC) where Routing part is simplified to one "Layer-3" box
  • Routing or Layer-3 (IP) where Bridging part is simplified to one "Bridging" box


Packet Flow in Layer-2



Packet Flow in Layer-3

Input Interface

Output Interface

Filter Output

Filter Output

Connection Tracking

Filter Input Filter Forward Filter Output

Source NAT

Destination NAT

Mangle Prerouting Mangle Input Mangle Forward Mangle Output Mangle Postrouting

Routing Adjustment

Global-in HTB

Global-Out HTB

Interface HTB

Hotspot In

Hotspot Out

Accounting

TTL Adjustment

Bridge Decision

IPSec_Policy

IPSec_Decryption

IPSec_Encryption

In-interface Bridge

Out-interface Bridge

Use IP Firewall

Bridge Forward Bridge Input Bridge Output

Bridge Destination NAT

Bridge Source NAT

Bridge Decision





Analysis

Routed traffic

Bridged traffic

Examples

Example1: Bridging with use-ip-firewall=yes

Example2: Routing - from Ethernet to Ethernet interface

Example3: Routing from one Bridge interface to another

Example4: IPsec encryption and sending to the peer

Example5: IPsec data receiving and decryption