999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

LDAP消息編制方法認識和探索

2015-12-03 07:04:02張小揚
電子測試 2015年17期
關鍵詞:結構方法

張小揚

(蘭州軍區,730030)

LDAP消息編制方法認識和探索

張小揚

(蘭州軍區,730030)

數據中心在電信運營中地位日益重要,3GPP TR 32.808提出的統一數據庫框架(CPSF)是數據中心建設的一個方向。統一數據庫要求支持多種訪問接口,在XML應用轉化為LDAP應用的過程中,使用傳統的調用LDAP API函數的方法局限性很大,可控性不強,難以應付復雜的XML應用。因此,本文提出了基于基本編碼規則的LDAP應用實現機制,即放棄利用API函數實現應用,采用自編解碼LDAP消息,自行控制消息的收發的實現方法,以提高LDAP應用靈活度、可控性和擴展性。

ASN.1;BER;LDAP;自編解碼

1 問題的提出及分析

LDAP消息結構是實現自編碼消息的基本依據,它規定了消息中的結構層次和數據的排列方式,只有通過對各種消息的結構研究分析,找出消息的構造特點,從而找出自編解碼消息的思路。協議規定的LDAP消息是多種多樣,紛繁復雜的,這也正是利用ASN.1文法靈活性原因。它們有幾個特點,也就是需要解決的幾個問題,如下:

1.1 消息層次結構各不相同

各種消息盡管都是由SEQUENCE構成層次,但層次數差別很大,由于可選項使用與否造成同一種消息中的兩個層次也會存在不同,而且一個層次中可能還會出現多個子層次。因此對編碼來說每一個消息都是一個不同的結構,如何實現程序自編碼的通用性是一個重要的研究點。

1.2 消息包含的數據類型多種多樣

組成LDAP消息的數據類型有多種,而每一種消息中都包含兩個以上的數據類型,每一個層次上的數據類型又都有各自的排列方法。要實現消息編碼,對于每一種數據類型首先都必須給出壓入LDAP消息的實現方法,但每一種數據類型壓入的方法又是不同的,因此,實現各種數據類型的編碼壓入是一個必要的研究點。

1.3 每一個層次中的數據個數不確定

消息結構中存在很多可選項,除了造成層次上的不同,還會造成相同類型消息在某一層次上要壓入的數據個數不同,如何對一種類型的消息給出通用的編制格式是很重要的。

以上對LDAP消息的復雜性和不確定性的分析,要提高編解碼方法的可用、高效、靈活,實現編碼的通用方法是一個根本問題。可以看到,無論LDAP消息如何復雜,但組成它的最小粒度只有兩類,一類是表示消息結構的SEQUENCE結構,它劃分了LDAP消息的層次結構,另一種是消息中各種類型的數據,它包含了LDAP消息的內容。因此我們可以將LDAP消息分解成小粒度的這兩種元素,于是我們將SEQUENCE結構和各種數據類型原子化。

通過以上的分析,我們得出了消息編解碼的基本步驟:首先根據RFC4511協議規定的消息結構確定消息的層次結構,即消息層次由怎樣的SEQUENCE結構構成;其次在SEQUENCE結構中最大化的給出消息中包括的各種數據類型次序,將數據類型標識填入到標識SEQUENCE結構開始結束的“{”和“}”中,這樣就構造好了消息的標識符;最后,在編碼過程中將具體要壓入的數據根據消息數據類型的排列次序進行一一對應,完成消息的編碼。在解碼過程中,將要解碼后讀出的數據的存儲變量或空間一一對應到標識符的相應數據類型上,完成解碼過程。

2 SEQUENCE結構的處理

根據RFC4511 LDAP協議中的描述,SEQUENCE結構表示出了消息的層次嵌套關系,針對SEQUENCE結構及編碼的需要,設計了對應的結構體sequence,如下所示:

在Struct sequence結構體中,指針ber指向最終要生成的消息,它是系統針對BER提供的結構體BerElement(lber.h)定義的一個實例;tag指示生成的sequence結構體為SEQUENCE類型,具體值為一個宏定義的整數,ASN.1文法使用不同的整數宏指示各種類型;SEQUENCE結構中包含的數據需要按字節順序填進sequence結構體中,因此,必須有seq_first、seq_ptr的頭尾指針指出數據填入的位置;最后包含一個指向下一層次sequence結構的seq_next指針,表示出消息的層次。如圖3.1所示,表示了一個三層的SEQUENCE結構( {…{…{…}}} ):

Struct sequence也包含在BerElement結構的定義中,這樣使得BerElement結構成為一個可變長的結構,sequence結構就像是鏈表中的結點,按需要不斷加入結點,直到將消息所需內容全部填入BerElement結構體中,最終生成消息。

3 數據壓入BerElement中的方法

由于LDAP消息中的任何一個數據都是(T,L,V)的三元組,對一個消息每部分內容,首先要壓入其數據類型,然后計算壓入數據的長度,即所占八位組的個數,最后壓入其具體值。由于LDAP消息要同TCP通信的字節流映射,八位組的內容都要最終轉換為char型壓入。這些部分的壓入使用memcpy函數,從處理緩沖區中壓入到其中的某一層sequence結構體中。很重要的一點是在一層sequence中的多個內容是以字節連續壓入的,不需要做標識進行分隔。其中最復雜的是計算要壓入內容的有效字節長度,在LDAP消息中最常用的兩種類型為INTEGER型和STRING型,下面描述這兩種數據類型的處理步驟。

壓入INTEGER型的數據,步驟如下:判斷壓入整數的正負。通過對0xffU的移位,與要壓入的整數進行與操作,判斷出有效字節數,即ASN.1要求的8位組個數。對長度小于127的可直接壓入,大于127的頭個八位組表示長度標識需要占的長度數,后續八位組標示壓入內容的長度,一般小于127八位組的情況占絕大多數。壓入STRING型數據比壓入INTEGER型數據容易的多,對STRING型數據由多個char型數據組成,最終壓入的是char型,因此有效長度計算更簡單,步驟如下:以char型指針指向STRING數據;使用strlen函數得到STRING數據有效長度;依次壓入STRING數據的每一位。

4 小結

采用原子化的編解碼方式,使得LDAP消息生成形成了統一的模式,方便靈活,擺脫使用LDAP API將消息生成發送、接收讀取同時完成造成靈活度降低的問題,大大提高LDAP消息的接收發送效率。

[1] 王丹.基于LDAP的全網資源管理系統的設計與實現[D].北京郵電大學.2011

[2] 王海嬌.LDAP服務器關鍵技術研究[D].華北電力大學(河北).2009

張小揚.1979.09.28男 陜西興平.工程師.研究方向 輕量級數據庫

Understanding and exploration of LDAP message system

Zhang Xiaoyang
(Lanzhou military area command,730030)

Data center is becoming more important in telecom operation.The unified database framework (CPSF) proposed by TR 3GPP 32.808 is a direction of data center construction.The consolidated database requirements to support multiple access interfaces,in the application of XML transformation for LDAP application process,using the traditional calling LDAP API function limitation is very big,controllability is not strong.It is difficult to cope with the complexity of XML application.Therefore,this paper proposes the implementation mechanism based on LDAP application of basic encoding rules:give up using API function to achieve the application,using self-made decoding of LDAP messages,self control method to realize the sending and receiving of messages,to raise the LDAP application flexibility,controllability and scalability.

ASN.1;BER;LDAP;self decoding

圖1 SEQUENCE結構的程序處理結構

猜你喜歡
結構方法
《形而上學》△卷的結構和位置
哲學評論(2021年2期)2021-08-22 01:53:34
論結構
中華詩詞(2019年7期)2019-11-25 01:43:04
新型平衡塊結構的應用
模具制造(2019年3期)2019-06-06 02:10:54
學習方法
論《日出》的結構
用對方法才能瘦
Coco薇(2016年2期)2016-03-22 02:42:52
四大方法 教你不再“坐以待病”!
Coco薇(2015年1期)2015-08-13 02:47:34
賺錢方法
捕魚
創新治理結構促進中小企業持續成長
現代企業(2015年9期)2015-02-28 18:56:50
主站蜘蛛池模板: 老司机精品一区在线视频| 欧美特黄一免在线观看| 亚洲天堂色色人体| 一级毛片在线播放免费观看| 亚洲综合色婷婷中文字幕| 亚洲天堂网站在线| 国产精品美女免费视频大全| 欧美翘臀一区二区三区| 国产一区二区视频在线| 六月婷婷精品视频在线观看| 国产成人三级| 四虎国产成人免费观看| 国产精品尤物铁牛tv| 久久国产高潮流白浆免费观看| 国产另类乱子伦精品免费女| 2021亚洲精品不卡a| 无码粉嫩虎白一线天在线观看| 日韩欧美视频第一区在线观看| 国产玖玖视频| 久久久久国产精品免费免费不卡| 亚洲三级成人| 久久国产乱子伦视频无卡顿| 亚洲九九视频| 在线中文字幕网| 国产精品美女在线| 国产网友愉拍精品视频| 色欲不卡无码一区二区| 欧美在线导航| 精品视频在线一区| 天天做天天爱夜夜爽毛片毛片| 欧美狠狠干| 国产欧美日韩精品综合在线| 曰AV在线无码| 国禁国产you女视频网站| 欧美区一区| 日本色综合网| 欧美第二区| 四虎亚洲国产成人久久精品| 欧美www在线观看| 毛片大全免费观看| 91成人在线观看视频| 欧美a在线看| 欧美一区二区人人喊爽| 成人在线欧美| 国产精品自拍合集| 久久99国产乱子伦精品免| 欧美中文字幕在线二区| 99久久亚洲综合精品TS| 九九热免费在线视频| 一级福利视频| 小说区 亚洲 自拍 另类| 九九热视频精品在线| 国产福利不卡视频| 国产一区二区三区在线精品专区| 日韩精品专区免费无码aⅴ | 丁香五月亚洲综合在线| 欧美性猛交xxxx乱大交极品| 色吊丝av中文字幕| 国产剧情一区二区| 日韩欧美视频第一区在线观看| 国产精品亚洲天堂| 狠狠v日韩v欧美v| 欧美一级专区免费大片| 久久青草热| 999国产精品| 超薄丝袜足j国产在线视频| 国产色伊人| 91丝袜美腿高跟国产极品老师| 亚洲欧美天堂网| 8090成人午夜精品| 国产在线一区二区视频| 欧美人人干| 六月婷婷精品视频在线观看| 免费人成黄页在线观看国产| 91九色国产在线| 国产亚洲欧美另类一区二区| 成人午夜久久| 亚洲欧美日韩精品专区| 色婷婷狠狠干| 欧美精品在线视频观看| 91精品国产自产在线观看| 国产屁屁影院|