2015-04-20 4 views
3

Недавно я заинтересовался протоколом DIAMETER, определенным RFC 6733. Поскольку я изучаю Python, я подумал, что было бы интересно узнать, могу ли я использовать любую библиотеку Diameter Python. Я нашел one, но, похоже, он больше не поддерживается. Поэтому я получил очень амбициозную идею о попытке построить один, по крайней мере, что-то скелетное, которое может быть расширено, чтобы иметь более богатые возможности сигнализации DIAMETER.Есть ли какая-нибудь библиотека python, которая абстрагирует транспорт на основе IP - TCP, UDP, SCTP, TLS и т. Д.?

С тех пор как я снова столкнулся с скрученной матрицей, я попытался проверить ее документацию, чтобы увидеть, есть ли поддержка для всех видов транспорта, на которую может поддерживаться протокол DIAMETER, но помимо TCP, UDP (а также TLS), я din't найти упоминание о покое, т.е. - SCTP/IP - SCTP/UDP - DTLS/SCTP

Так было интересно, если есть какие-либо другие библиотеки, которые можно было бы использовать, или я должен ожидать нужно рулить это? Расширение скрученных, выходит за рамки меня на этом этапе.

ответ

1

Если вы собираетесь катиться самостоятельно, вы можете сделать это с помощью Twisted, используя IFileDescriptor (и родственный) интерфейс (ы). Создайте SCTP-сокет, оберните вокруг него IFileDescriptor, который возвращает его fileno, затем реализует IReadDescriptor.doRead, чтобы позвонить sctp_sendmsg и IWriteDescriptor.doWrite, чтобы позвонить sctp_recvmsg. Теперь у вас есть транспорт SCTP. Вы можете реализовать его для вызова методов на любом интерфейсе протокола SCTP, который соответствует протоколу. Я не знаю достаточно о SCTP, чтобы сказать, какие методы должен иметь интерфейс протокола, к сожалению.

+0

Спасибо @ Glyph. Я медленно тяготею к Twisted, несмотря на мой первоначальный страх перед тем, что он слишком крутой кривой обучения, но если это один из идеальных способов сделать это, я могу пойти по этому пути. – icarus74

+1

Кривая обучения Twisted действительно не так крута. Проблема в том, что легко отвлечься и начать внедрять сервер IMAP-сервера, пока вы пытаетесь понять это. Просто сосредоточьтесь на слоях Twisted, которые вам нужны для вашего приложения, вместо того, чтобы пытаться изучить все это, и все должно быть в порядке. – Glyph

2

Я не знаю, что это один все еще поддерживается (последнее обновление в декабре 2014 г.) http://sourceforge.net/projects/pyprotosim/

Это расчеты радиус, диаметр, DHCP, LDAP, EAP

Вы не выбрали самый простой протокол. У многих провайдеров есть свои AVP, и иногда они даже используют стандартные номера для своих.

Вы также можете написать свой собственный lib для разбора DIAMETER, это не так сложно, вам просто нужно время (много) и хорошая документация (или эксперты). Если тот, который я сделал, не был разработан во время моей работы, я мог бы поделить его, но я не могу.

+0

Возможно, он не отвечает на ваши вопросы. Я разработал некоторые синтаксические анализаторы, потому что я не мог найти подходящие библиотеки, я думаю, вы можете сделать то же самое, если знаете питона достаточно. – Morb

+0

Спасибо @Morb. Я знаю ДИАМЕТРА. Будет проверять pyprotosim, так как это звучит многообещающе и близко к тому, что я надеялся достичь в качестве первого шага (но, очевидно, очень амбициозный первый шаг). – icarus74

 Смежные вопросы

  • Нет связанных вопросов^_^