It has appeared to me for some time (and I've mentioned it before) that
peering "restrictions" have gotten completely out of hand. I believe
this is because terminology and agreements for "peering" and "transit"
have become ill defined.
I can see no justification under any circumstances why any provider
would refuse to peer with another at an established exchange point for
exchanging their _own_ customers' traffic!
But note: this should not mean transit to others who are not customers
of the provider, or to other exchange points around the world.
I firmly believe that this is where the current model has gone awry.
Worse, the current technology used at the exchange points could
encourage abuse. What is to stop anyone connected to an exchange from
simply dumping packets anonymously at the link level into the various
inter-exchange providers' routers and getting free transit?
Instead of negotiating with other providers for inter-exchange transit,
I advocate that each attachment to an exchange negotiate with the
exchange _operator_ for transit to other exchanges, and the exchange
negotiate with inter-exchange providers for the aggregate.
Separating the peering from transit provides greater clarity in
agreements, with opportunity for better quality monitoring and control,
while promoting greater redundancy in the Internet mesh, and greater
competition in the inter-exchange transit market.