2015-04-20 26 views
3

最近我對RFC 6733定義的DIAMETER協議感興趣。自從我學習Python以來,我認爲看看我是否可以使用任何DIAMETER Python庫可能很有趣。我確實發現了one,但它似乎不再被維護。所以我得到了一個非常雄心勃勃的想法,試圖建立一個至少是骨架的東西,可以擴展到具有更豐富的DIAMETER信號功能。由於我之前也遇到了扭曲矩陣,我試圖檢查它的文檔以查看是否支持DIAMETER協議可以支持的所有類型的傳輸,但除了TCP,UDP(還有TLS ),我din't找到休息一提,即 - SCTP/IP - SCTP/UDP - DTLS/SCTP是否有任何提取IP傳輸的python庫 - TCP,UDP,SCTP,TLS等?

所以不知道是否有可用於任何其他庫,或者我應該期待必須手卷這個?延伸扭曲,在這一步超越了我。

回答

1

如果您打算推出自己的產品,可以使用IFileDescriptor(及相關)接口進行Twisted。製作一個SCTP套接字,在其周圍圍繞一個IFileDescriptor返回它的fileno,然後執行IReadDescriptor.doRead以調用sctp_sendmsgIWriteDescriptor.doWrite來調用sctp_recvmsg。現在你有一個SCTP傳輸。您可以實現它來調用適用於該協議的任何SCTP協議接口的方法。不幸的是,我不太瞭解SCTP說明協議接口應該有什麼方法。

+0

謝謝@Glyph。儘管我最初擔心它是一條陡峭的學習曲線 - 但如果這是做這件事的理想方式之一,我可能會沿着這條路走下去,但我慢慢地向Twisted傾斜。 – icarus74

+1

Twisted的學習曲線並不是那麼陡峭。問題在於,分散注意力很容易,並且在嘗試弄清楚時開始實施IMAP服務器後端。只要專注於你的應用程序需要的Twisted層,而不是試圖學習整個事情,你應該沒問題。 – Glyph

2

我不知道這個人是仍然支持(最後更新於2014年12月) http://sourceforge.net/projects/pyprotosim/

它半徑,直徑,DHCP,LDAP,EAP計算

您沒有選擇最簡單的協議。很多供應商都有自己的AVP,有時他們甚至使用他們的標準數字。你也可以編寫自己的lib來解析DIAMETER,這並不難,你只需要時間(很多)和良好的文檔(或專家)。 如果我的工作在我的工作中沒有完成,我可以分享它,但是我做不到。

+0

也許它不會回答你的問題。 我開發了一些協議解析器,因爲我找不到合適的庫,我認爲如果你足夠了解python,你可以做同樣的工作。 – Morb

+0

Thanks @Morb。我知道DIAMETER了一下。將檢查pyprotosim,因爲它聽起來很有希望,並接近我希望作爲第一步(但顯然,一個非常雄心勃勃的第一步)實現。 – icarus74