ISPs are often concerned about: Cost of Peering, and Loss of Revenue due
to peering -- ISPs usually like to charge for internet services they provide.
Free peering is only beneficial to both sides of a peering relationship when
it does reduce costs more than it reduces expected revenue.
(a) Costs of peering; both in terms of administrative overhead,
ports, circuits, cabinet space,
and system resources on existing equipment. Creating a presence in an
exchange or building
media connections from one ISP to another is not free, ISPs don't
naturally all have equipment
within range of a free patch cable.
Every peering connection a router deals with requires some computing power,
some memory, table entries on the router, and, depending on the exchange,
possibly additional physical connections.
And of course, there are man hours to maintain peering sessions.
ISPs are more likely to peer when cost is low relative to advantages
after all considered.
(B) Loss of revenue due to peering. An extreme example is a very
large ISP peering
with a small ISP, to allow the small ISP to reach large ISP's customers.
The large ISP loses revenue, if they provide the peering for free,
since it would mean
the small ISP is not paying for that transit.
Example: If Level3 peered with anyone who wanted, for free...
that would mean noone
would have to buy transit from Level3 to send traffic to Level3 customers.
There is an analogous situation for ISPs of all sizes though.
And if they do agree to peer, there is usually some stipulation about the ratio
of traffic beng sent versus received.
ISPs do not want to peer for free, if there is a chance their partner
would need to buy services from them directly, or indirectly
(without the peering),
that exceed the benefit/cost reduction of peering.
And once a customer, never a peer.