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
主站蜘蛛池模板: 波多野结衣一区二区三区四区| 日本免费一区视频| 尤物精品国产福利网站| 国产在线观看一区精品| 亚洲精品免费网站| 亚洲另类色| 欧美区一区二区三| 四虎影院国产| 欧美五月婷婷| 九九久久精品免费观看| 91精品视频在线播放| av色爱 天堂网| 女人18毛片水真多国产| 国产青榴视频| 国产成人无码AV在线播放动漫 | 日本午夜影院| 丁香婷婷久久| 成人福利在线视频| 欧美一级黄片一区2区| 国产青青草视频| 欧美性久久久久| 亚洲国产成人麻豆精品| 欧美国产日韩在线| 永久成人无码激情视频免费| 色国产视频| 欧美午夜性视频| 久久亚洲国产一区二区| 国产高清在线丝袜精品一区| 国产麻豆va精品视频| 凹凸精品免费精品视频| 美女视频黄又黄又免费高清| 伊人久久大香线蕉综合影视| 91口爆吞精国产对白第三集| 人妻无码一区二区视频| 亚洲欧美色中文字幕| 欧美啪啪网| 真人免费一级毛片一区二区| 亚洲91精品视频| 熟女视频91| 国产靠逼视频| 欧美色视频网站| 久久毛片免费基地| 福利国产微拍广场一区视频在线| 伊人久久婷婷五月综合97色| 亚洲高清无码久久久| 午夜视频免费一区二区在线看| 久久香蕉国产线| 亚洲国产欧美国产综合久久| 久久综合AV免费观看| 伊人福利视频| 91欧美在线| 污视频日本| 国产本道久久一区二区三区| 国产特级毛片aaaaaa| 亚洲精品爱草草视频在线| 日韩毛片免费视频| 久久精品国产电影| 日韩毛片视频| 无码免费的亚洲视频| 成年人福利视频| 国产欧美日韩另类精彩视频| 国产综合欧美| 久久亚洲国产视频| 国产免费高清无需播放器| 狠狠色成人综合首页| 国产亚洲高清视频| 91探花国产综合在线精品| YW尤物AV无码国产在线观看| 久久久久夜色精品波多野结衣| 久久人妻系列无码一区| 国产毛片高清一级国语| 色婷婷久久| 国产一区二区福利| yy6080理论大片一级久久| 亚洲大尺码专区影院| 一本无码在线观看| 国产在线观看一区精品| 国产女人爽到高潮的免费视频| 久久综合丝袜日本网| 国产欧美日韩另类| 亚洲国产天堂久久综合226114| 欧美一级夜夜爽www|