In reviewing the bitcoind endpoints I found that Core has a "feature" that allows the node to be configured to stop providing blocks once the byte upload has exceeded a threshold in a 24hr period. It drops peers that make block requests after this limit is reached. The node keeps advertising NODE_NETWORK, which makes this a bug. We implement DoS protection via a continuously imposed rate limit on outbound traffic. We throttle the next request reader based on the previous response size, so as to not exceed the outbound rate (except instantaneously). Since we also manage peer count, the combination allows the admin to set an overall rate limit. This prevents one channel from eating the bandwidth limit for all others.