public void requestPortForward(
      final int port, final NetworkProtocol protocol, final NatServiceType serviceType) {
    checkState(isStarted(), "Cannot call requestPortForward() when in stopped state");
    checkArgument(port != 0, "Cannot map to internal port zero.");
    this.requestPortForward(
        new PortMapping(
            true,
            new UnsignedIntegerFourBytes(0),
            null,
            new UnsignedIntegerTwoBytes(port),
            new UnsignedIntegerTwoBytes(port),
            null,
            toJupnpProtocol(protocol),
            serviceType.getValue()));
  }
Convenience function to call {@link #requestPortForward(PortMapping)} with the following
defaults:

<p>enabled: true leaseDurationSeconds: 0 (indefinite) remoteHost: null internalClient: the
local address used to discover gateway

<p>In addition, port is used for both internal and external port values.

@param port is the port to be used for both internal and external port values
@param protocol is either UDP or TCP {@link NetworkProtocol}
@param serviceType {@link NatServiceType}, often displayed in router UIs
nat/src/main/java/org/hyperledger/besu/nat/upnp/UpnpNatManager.java