Так надо чтоб ходили. Узел А отправляет пакет в сторону узла Б (он может быть не дойдёт), в это же время узел Б отправляет пакет в сторону узла А. Роутер узла А думает что это ответ на первый пакет и он (пакет) проходит внутрь и доходит до узла А.
С jabber ситуация практически такая же, только записи другие. Про svn ничего сказать не могу. Тут дело не в портах, а в возможности указать специфические записи домена, позволяющие задать соответствие сервиса и неосновного сервера.