Creating ports

Introduction

All traffic in a ByteBlower is transmitted and received through ByteBlower Ports. Conceptually these Ports can be seen as small, virtual EndPoints in your network. As any other endpoint they need various network settings to communicate with the outside world. Physically they're docked (or attached) to a specific ByteBlower interface.  A ByteBlower port can be a sender and/or receiver for one or multiple flows.

The port view

Ports are created in the Port View. This is a typical example:

We will explain the different configuration parameters here.

Name

The given name to a ByteBlower port. This name is used solely within the ByteBlower GUI, it's not sent out over the network. To avoid confusion, all ports in the same project have different names. The names are also used in reporting.

MAC-address

As with any other network device, a ByteBlower port requires a MAC address. By default this address is used for all traffic in and out of the Port. Often, it's a good idea for this address to be unique, but this is not required (e.g. dual-stack IPv4 and IPv6). For IPv6 ByteBlower ports, the MAC address is used to generate the link-local address.

Configuration (IPv4)

The method used to obtain a global IPv4 address for the ByteBlower Port. This can either be:

  • Fixed, or user-supplied: The ByteBlower Port will use the values of the IPv4 Address, Default Gateway, and Netmask column. 
  • DHCPv4: A DHCP server offers an address to the ByteBlower port. In the ByteBlower GUI, you reuse the same DHCP-settings object between IPv4 and IPv6.
NAT (IPv4)

This option is very helpfull in a network configuration with NAT, like home gateways. If NAT is used in your network, have a look at  📄 Dealing with NAT for more details.

Configure (IPv6)

The method used to obtain a global IPv6 address for the ByteBlower Port. This can either be:

  • Fixed, or user-supplied: The ByteBlower Port will use the values of the IPv6 Address, Router Address, and Prefix Length column. Even in this mode, the ByteBlower port will still send out Neighbourhood solicitations and join the required Multicast groups.
  • Stateless Auto Configuration (SLAAC): The ByteBlower Port obtains its global address from the IPv6 router in the network. This method doesn't really have an analogue in IPv4. It's described in RFC 2462 or in http://ipv6.com/articles/general/Stateless-Auto-Configuration.htm
  • DHCPv6: A DHCPv6 server offers an address to the ByteBlower port. From a high-level perspective, this is very similar to DHCP in IPv4. In ByteBlower GUI you reuse the same DHCP-settings object between IPv4 and IPv6.

The IPv6 Address and Router Address and Prefix length columns are solely available for Fixed configurations. In the other configurations, they are obtained from the network. More info on these fields is found at https://tools.ietf.org/html/rfc3513.

VLAN Stack

A ByteBlower port can be configured with a VLAN tag or even a VLAN stack (QinQ). These tags are known as Layer 2.5 configurations. They are used to create virtual networks within a physical network. The ByteBlower GUI will automatically add these tags to all outgoing traffic. Similarly, all arriving traffic at a ByteBlower Ports needs the same Layer 2.5 configuration.

MTU

This column configures the maximum size of the payload of an Ethernet frame transmitted from a ByteBlower port. So it is the maximum size of the Ethernet frame excluding headers and FCS/CRC. You can also see this as the maximum size in the layer 3 packet (IPv4, IPv6, ARP, etc). TCP traffic from this port will respect this size, similarly one can't transmit FrameBlasting frames larger than this size. This limit doesn't apply to received frames. The size is counted in bytes.

Docked

As mentioned in the introduction, a ByteBlower port emulates an Endpoint in the network. For it to be useful it needs to be physically docked to a ByteBlower interface. All incoming and outgoing traffic of this ByteBlower Port goes through this interface.