<p>When your node is not accepting inbound connections (either because there's NAT in the way or because you passed <code>-listen=0</code> to Bitcoin) it still makes "outbound connections." These are connections to other Bitcoin nodes that are listening on a public port. Your node makes a maximum of 8 outbound connections. (<a href="https://github.com/bitcoin/bitcoin/blob/2cdbf28cf395b110fe9dcfa1d27a45dfcf4c6f2b/src/net.cpp#L62" rel="nofollow noreferrer">Source.</a>)</p>

<p>When you make an outbound connection, your router notices that you opened the connection, and forwards any reply packets to you. See <a href="https://networkengineering.stackexchange.com/questions/12540/how-nat-portforwarding-tcp-ip-works">How NAT / PortForwarding / TCP/IP works?</a> Your router does the same thing when you browse the web.</p>

CC BY-SA 3.0
2016-02-05T03:39:26.920Z
Ok I think I understand now. I was completely misunderstanding how it worked. Thank you Nick!
m1xolyd1an
CC BY-SA 3.0
2017-05-08T07:06:43.830Z
So just to add an example suppose there are 3 btc nodes A,B,C.  A and C have port forwarding and B doesn't.  B performs outbound connections and can connect to A and to C and relay transactions between them even when A and C don't connect directly
thedrs
CC BY-SA 3.0
2016-02-05T03:19:02.933Z
2016-02-05T03:19:02.933Z
2017-04-13T12:57:10.470Z
Nick ODell
<p>First of all, this isn't a problem I am having, I'm just curious how this works. </p>

<p>If you run your node with port 8333 open, you'll receive a large amount of connections after being online for a while. </p>

<p>If you run your node without port 8333, you still have connections, but it usually won't exceed around 7 connections. </p>

<p>My stupid simpleton logic tells me I should have no connections if that port isn't open, but that clearly isn't the case.</p>

<p>So my specific questions are:<br>
How do I have any connections at all without using port 8333?<br>
If it is using another port, why is the limit at 7?<br>
The node still relays txs to peers, just less of them, so I'm assuming it is not a security issue?</p>

<nodes><peers><port><full-node>
How do I still have connections without forwarding port 8333?
m1xolyd1an
# How do I still have connections without forwarding port 8333?

(Asked by: username_0 on 2016-02-05)

First of all, this isn't a problem I am having, I'm just curious how this works.

If you run your node with port 8333 open, you'll receive a large amount of connections after being online for a while.

If you run your node without port 8333, you still have connections, but it usually won't exceed around 7 connections.

My stupid simpleton logic tells me I should have no connections if that port isn't open, but that clearly isn't the case.

So my specific questions are:  
How do I have any connections at all without using port 8333?  
If it is using another port, why is the limit at 7?  
The node still relays txs to peers, just less of them, so I'm assuming it is not a security issue?

**Tags:** nodes, peers, port, full-node


---

## 1 answers

### Answer by username_1 on 2016-02-05. Score: 6 | Accepted answer

When your node is not accepting inbound connections (either because there's NAT in the way or because you passed `-listen=0` to Bitcoin) it still makes "outbound connections." These are connections to other Bitcoin nodes that are listening on a public port. Your node makes a maximum of 8 outbound connections. ([Source.](https://github.com/bitcoin/bitcoin/blob/2cdbf28cf395b110fe9dcfa1d27a45dfcf4c6f2b/src/net.cpp#L62))

When you make an outbound connection, your router notices that you opened the connection, and forwards any reply packets to you. See [How NAT / PortForwarding / TCP/IP works?](https://networkengineering.stackexchange.com/questions/12540/how-nat-portforwarding-tcp-ip-works) Your router does the same thing when you browse the web.

> **Comments:**
> **username_0**: Ok I think I understand now. I was completely misunderstanding how it worked. Thank you Nick!  
> **username_2**: So just to add an example suppose there are 3 btc nodes A,B,C.  A and C have port forwarding and B doesn't.  B performs outbound connections and can connect to A and to C and relay transactions between them even when A and C don't connect directly  

---

