實(shí)現(xiàn)TDLS特性協(xié)議基本功能進(jìn)程。
TDLS是基于IEEE 802.11z標(biāo)準(zhǔn)。TDLS自動(dòng)鏈接配置主要通過(guò)幾個(gè)進(jìn)程來(lái)完成。
TDLS Discovery 進(jìn)程由1部STA裝備通過(guò)AP或GO(群組具有者) 向另外1部STA裝備發(fā)送1個(gè)TDLS Discovery要求幀開(kāi)始。如果目標(biāo)裝備也兼容TDLS,它將直接向該發(fā)送裝備回復(fù)TDLS Discovery 響應(yīng)幀,并提供有關(guān)裝備本身的能力信息。包括所有支持速率及信道。TDLS Discovery 進(jìn)程除提供目標(biāo)STA確切支援TDLS的相干能力信息外,TDLS Discovery進(jìn)程的幀交互亦可以用作AP與目標(biāo)TDLS STA裝備的相對(duì)信號(hào)強(qiáng)度的丈量。發(fā)起的STA能夠判斷與目標(biāo)STA間的直接連接是不是有益于提供有效信息。通過(guò)對(duì)照分別由目標(biāo)STA裝備與AP裝備收到的信號(hào)強(qiáng)度,發(fā)起的STA裝備可以評(píng)估建立直接連接是不是會(huì)比通過(guò)AP發(fā)送數(shù)據(jù)包更加有效。
TDLS Discovery進(jìn)程不是必要選項(xiàng)。1個(gè)TDLS STA裝備可以選擇直接發(fā)起TDLS建立進(jìn)程。
TDLS Setup進(jìn)程需要進(jìn)行1系列的幀交換。發(fā)起裝備首先發(fā)送1個(gè)TDLS傳輸要求,通過(guò)AP信道傳輸至目標(biāo)裝備。封裝幀包括發(fā)送裝備的性能信息。目標(biāo)裝備以后會(huì)回復(fù)TDLS Setup 建立響應(yīng),一樣通過(guò)AP信道傳送其性能信息,另外附加1個(gè)狀態(tài)代碼,表示接受或謝絕該建立要求。如果接受Setup要求,發(fā)送裝備將會(huì)通過(guò)AP傳送1個(gè)TDLS 確認(rèn)幀(Confirm Frame)。至此,兩部裝備之間開(kāi)始進(jìn)行直接通訊。發(fā)送方或接受方裝備都可向另外1方直接發(fā)送TDLS拆解幀(Teardown Frame),而如果未處于訊號(hào)范圍內(nèi),該幀則可以通過(guò)AP信道傳輸。
當(dāng)緩存裝備始終處于正常狀態(tài)時(shí),這1操作與WMM U-APSD操作10分相似。具體操作以下:
1. TDLS對(duì)等緩存裝備為休眠裝備緩存數(shù)據(jù)包。
2. 緩存裝備通過(guò)AP向休眠裝備發(fā)送1個(gè)TDLS 對(duì)等流量唆使幀。
3. AP將在 Beacon幀上為休眠裝備發(fā)送1個(gè)流量唆使圖(TIM),提示休眠裝備有數(shù)據(jù)進(jìn)程處于緩存狀態(tài)。
4. 休眠裝備恢復(fù)工作讀取 Beacon幀,注意到TIM並觸發(fā)AP發(fā)送TDLS對(duì)等流量唆使幀。
5. 當(dāng)前恢復(fù)正常工作的裝備隨后直接向緩存裝備發(fā)送1個(gè)TDLS對(duì)等流量響應(yīng)幀,在兩個(gè)裝備之間建立1段服務(wù)期。
6. 緩存裝備直接向接受裝備發(fā)送緩存數(shù)據(jù)包。
7. 如果緩存裝備顯示沒(méi)有剩于緩存包,接收裝備將會(huì)恢復(fù)休眠狀態(tài)。
亦有可能兩部TDLS裝備都進(jìn)入省電模式處于休眠狀態(tài)。當(dāng)出現(xiàn)這類(lèi)情況,兩個(gè)站點(diǎn)都會(huì)作為緩存裝備運(yùn)作,為他們的對(duì)等裝備緩存數(shù)據(jù)流程。這1進(jìn)程除第2步外同上文所述類(lèi)似,在向AP發(fā)送TDLS 對(duì)等流量唆使幀后,裝備將處于工作狀態(tài)直至其收到TDLS對(duì)等流量回應(yīng)幀。然后,它會(huì)發(fā)送緩存數(shù)據(jù)流程,其后它可能會(huì)恢復(fù)休眠模式。
請(qǐng)注意,由于發(fā)布的緩存數(shù)據(jù)包通常由AP承載,處于TDLS連接中的裝備仍能與同1網(wǎng)絡(luò)內(nèi)的其他裝備進(jìn)行通訊。
TDLS 裝備可以建立協(xié)議切換到另外一個(gè)信道。例如,如果網(wǎng)絡(luò)處于1個(gè)擁堵的2.4GHz 信道運(yùn)作,而兩部TDLS 裝備在TDLS 建立發(fā)送或回應(yīng)中唆使二者全部以支援5GHz 信道處理,作為1個(gè)輔信道,切換到5GHz 信道將更加有益。以下圖示。
圖 1 TDLS連接從2.4G切換到5G信道
由主信道切換至輔信道之前,TDLS裝備將告知AP它們處于“休眠模式”,因此AP將會(huì)緩存數(shù)據(jù)包。當(dāng)通過(guò)off信道傳輸時(shí), TDLS裝備會(huì)定期返回base信道以便接收Beacon幀,查看TIM接收緩存數(shù)據(jù)包,同時(shí)與其他裝備保持通訊。而使用off信道時(shí),TDLS裝備不可以處于休眠。
TDLS 信道切換的基本流程以下所示:
1. TDLS發(fā)起裝備在AP處進(jìn)入省電模式,向第2部TDLS裝備發(fā)送TDLS信道切換要求。這1要求包括目標(biāo)信道信息。
2. 第2部TDLS裝備在AP處進(jìn)入省電模式,發(fā)送1個(gè)TDLS信道切換回應(yīng)。回傳包括狀態(tài)代碼0 (接受)并確認(rèn)目標(biāo)信道為所需之輔信道。
3. 隨后,兩部裝備由主信道切換至輔信道。在建立切換時(shí)限到期前,數(shù)據(jù)必須通過(guò)輔信道進(jìn)行流通。如果時(shí)限到期前沒(méi)有數(shù)據(jù)流程通,裝備將返回主信道。
4. 在使用輔信道時(shí),任何1臺(tái)裝備都可主動(dòng)向?qū)Φ妊b備發(fā)送1個(gè)以主信道為目標(biāo)的TDLS 信道切換要求。對(duì)等裝備將返回ACK,然后兩部裝備返回主信道。
5. 兩部裝備將定期切換至主信道接收AP Beacon幀,同時(shí)同其他網(wǎng)絡(luò)裝備保持通訊。
可以在AP Beacon幀中設(shè)置“制止TDLS信道切換”來(lái)實(shí)現(xiàn)制止信道切換。
在建立 TDLS連接時(shí),其基本安全防護(hù)通常建立為WPA2 加密,除非網(wǎng)絡(luò)啟用了開(kāi)放、非加密建立,當(dāng)出現(xiàn)這類(lèi)情況,直接連接通常亦建立為開(kāi)放。建立幀交換包括安全密匙交換,比如直接連接的安全是唯一無(wú)2的——與網(wǎng)絡(luò)整體安全域不同。無(wú)需輸入用戶(hù)密碼。
TDLS 性能可以由系統(tǒng)管理員關(guān)閉。比如,在企業(yè)環(huán)境中,系統(tǒng)管理員可能希望禁用直接連接,因此AP Beacon幀中可以建立“制止TDLS”。
首先是發(fā)現(xiàn)進(jìn)程。1個(gè)STA裝備通過(guò)其連接的網(wǎng)絡(luò)發(fā)送發(fā)現(xiàn)要求到另外一個(gè)STA裝備。如果目標(biāo)裝備也是TDLS兼容裝備,它隨后會(huì)向發(fā)起者直接發(fā)送1個(gè)回復(fù),提供關(guān)于其支持率和信道等信息。這兩個(gè)STA裝備間的通訊還可以丈量接入點(diǎn)和TDLS的相對(duì)信號(hào)強(qiáng)度,并判斷直接鏈接是不是有價(jià)值。
TDLS技術(shù)允許兩個(gè)STA裝備接入無(wú)線網(wǎng)絡(luò)后,相互之間自動(dòng)創(chuàng)建1個(gè)鏈接。從而實(shí)現(xiàn)兩個(gè)裝備間數(shù)據(jù)的直接傳輸。
TDLS連接使兩臺(tái)STA裝備直接跳過(guò)AP,從而不受AP的束縛,采取它們支持的最快速率標(biāo)準(zhǔn)(802.11b / g / n 等)進(jìn)行數(shù)據(jù)傳輸。同1個(gè)BSS中的STA相互間數(shù)據(jù)的傳輸跳過(guò)AP直接傳輸。這個(gè)直接傳輸可以是在原來(lái)信道進(jìn)行,也能夠切換到新的信道上進(jìn)行(如圖1所示,base channel在2.4G頻段,而off channel在5G頻段),因此能夠避免了由網(wǎng)絡(luò)堵塞而引發(fā)的數(shù)據(jù)傳輸延遲。這對(duì)1些實(shí)時(shí)性要求比較高的業(yè)務(wù),對(duì)保證用戶(hù)的業(yè)務(wù)體驗(yàn)具有重要的意義。
TDLS用作與同1個(gè)AP關(guān)聯(lián)的兩個(gè)STA間進(jìn)行Wi-Fi Display業(yè)務(wù)傳輸?shù)倪B接模式,
源碼分析:
5.2 管理幀
5.2.1 TDLS Action幀細(xì)節(jié)
若干Action幀結(jié)構(gòu)被定義支持TDLS,Action值關(guān)聯(lián) 每一個(gè)被定義在下表的幀結(jié)構(gòu)。
表 2 TDLS Action幀
Action field value Meaning
0 TDLS Setup Request
1 TDLS Setup Response
2 TDLS Setup Confirm
3 TDLS Teardown
4 TDLS Peer Traffic Indication
5 TDLS Channel Switch Request
6 TDLS Channel Switch Response
7 TDLS Peer PSM Request
8 TDLS Peer PSM Response
9 TDLS Peer Traffic Response
10 TDLS Discovery Request
11⑵55 Reserved
1) RSN information element
a) 3.2.2.2.1 Cipher suites
OUI Suite type Meaning
00-0F-AC 7 Group addressed traffic not allowed
b) 3.2.2.2.2 AKM suites
OUI Suite type Authentication type Key management type
00-0F-AC 7 TDLS TPK Handshake
2) 狀態(tài)碼( Status Code field)
Status code Meaning
2 TDLS wakeup schedule rejected but alternative schedule provided
3 TDLS wakeup schedule rejected
5 Security disabled
6 Unacceptable lifetime
7 Not in same BSS
72 Invalid contents of RSNIE
3) 緣由碼( Reason Code field)
Reason code Meaning
25 TDLS direct-link teardown due to TDLS peer STA unreachable via the TDLS direct link
26 TDLS direct-link teardown for unspecified reason
5.2.2 TDLS Discovery Request幀格式
TDLS Discovery Request 幀結(jié)構(gòu)主要包括信息在下表:
表 3 TDLS Discovery Request幀格式
Order Information Notes
1 Category Category建立成表示TDLS的值12
2 Action Action建立為10,表示TDLS Discovery Request
3 Dialog Token
4 Link Identifier Link Identifier element
The TDLS Discovery Request幀被封裝在1個(gè)數(shù)據(jù)幀中,并且被傳送到a TDLS peer STA或通過(guò)AP傳送到廣播地址 , 去要求在相同BSS中具有TDLS的裝備給出TDLS Discovery Response frame響應(yīng)。
5.2.3 TDLS Discovery Response幀格式
TDLS Discovery Response幀結(jié)構(gòu)主要包括信息在下表:
表 4 TDLS Discovery Response幀格式
Order Information Notes
1 Category Category建立表示TDLS的值12
2 Action Action建立為14,表示TDLS Discovery Response
3 Capability STA的能力
4 Supported rates STA支持的rates
5 Extended supported rates STA支持額外的rates
6 Supported Channels 支持的信道元素被包括,如果TDLS信道切換被建立為1
7 RSNIE 強(qiáng)健安全網(wǎng)絡(luò)(RSN)IE可能被包括,如果安全被必須在直接連接上。
8 FTIE FTIE可能被包括,如果安全被必須在直接連接上。
9 Timeout Interval Timeout Interval可能被包括,如果安全被必須在直接連接上。
10 Link Identifier Link Identifier element被規(guī)定在Table 3⑵
The TDLS Discovery Response 幀被直接傳送(IE不觸及AP)至發(fā)送相應(yīng)TDLS Discovery Request幀信息的 TDLS STA裝備。
5.2.4 TDLS Setup Request幀格式
TDLS Setup Request 幀結(jié)構(gòu)主要包括信息在下表:
表 5 TDLS Setup Request幀格式
Order Information Notes
1 Category Category表示TDLS的值12
2 Action Action建立為0,表示TDLS Setup Request
3 Capability STA的能力
4 Supported rates STA支持的rates
5 Extended supported rates STA支持額外的rates
6 Supported Channels 支持的信道元素被包括,如果TDLS信道切換被建立為1
7 RSNIE 強(qiáng)健安全網(wǎng)絡(luò)(RSN)IE可能被包括,如果安全被必須在直接連接上。RSNIE
8 QoS Capability The QoS Capability element存在,如果dot11Qos選擇生效是ture
9 FTIE FTIE可能被包括,如果安全被必須在直接連接上。
10 Timeout Interval Timeout Interval可能被包括,如果安全被必須在直接連接上。
11 Supported Regulatory
Classes The Supported Regulatory Classes element被定義,如果TDLS信道切換功能被建立為1
12 20/40 BSS Coexistence The 20/40 BSS Coexistence element可能出現(xiàn)在這個(gè)幀中
13 Link Identifier Link Identifier element
The TDLS Setup Request 幀被封裝在1個(gè)數(shù)據(jù)幀中,并且被傳送到STA(recipient),通過(guò)AP去要求開(kāi)始1個(gè)TDLS直接鏈接。
5.2.5 TDLS Setup Response幀格式
TDLS Setup Response幀結(jié)構(gòu)主要包括信息在下表:
表 6 TDLS Setup Response幀格式
Order Information Notes
1 Category Category建立TDLS的值12
2 Action Action值建立為1,表示TDLS Setup Response
3 Status Code 狀態(tài)碼
4 Capability STA的能力
5 Supported rates STA支持的rates
6 Extended supported rates STA支持額外的rates
7 Supported Channels 支持的信道元素被包括,如果TDLS信道切換被建立為1
8 RSNIE 強(qiáng)健安全網(wǎng)絡(luò)(RSN)IE可能被包括,如果安全被必須在直接連接上。
9 QoS Capability The QoS Capability element存在,如果dot11Qos選擇生效是ture
10 FTIE FTIE可能被包括,如果安全被必須在直接連接上。
11 Timeout Interval IE TPL Key生命周期可選被包括,如果安全被必須在直接連接上。
12 Supported Regulatory
Classes The Supported Regulatory Classes element被定義,如果TDLS信道切換功能位組被建立為1,包括狀態(tài)碼為0(成功)。
13 20/40 BSS Coexistence The 20/40 BSS Coexistence element可能出現(xiàn)在這個(gè)幀中
14 Link Identifier Link Identifier element
The TDLS Setup Response幀被封裝在1個(gè)數(shù)據(jù)幀中,并且被傳送到STA(initiator),通過(guò)AP去響應(yīng)收到1個(gè)開(kāi)始TDLS直接鏈接要求。
5.2.6 TDLS Setup Confirm幀格式
TDLS Setup Confirm幀結(jié)構(gòu)主要包括信息在下表:
表 7 TDLS Setup Confirm幀格式
Order Information Notes
1 Category Category建立TDLS的值12
2 Action Action值建立為2,表示TDLS Setup Confirm.
3 Status Code 狀態(tài)碼
4 RSNIE 強(qiáng)健安全網(wǎng)絡(luò)(RSN)IE可能被包括,如果安全被必須在直接連接上。
5 EDCA Parameter Set The EDCA參數(shù)集建立被包括,當(dāng)QoS被支持在直接連接上。
6 FTIE FTIE可能被包括,如果安全被必須在直接連接上。
7 Timeout Interval IE TPL Key生命周期可選被包括,如果安全被必須在直接連接上。
8 Link Identifier Link Identifier element
The TDLS Setup Confirm幀被封裝在1個(gè)數(shù)據(jù)幀中,并且被傳送到STA(responder),通過(guò)AP去答復(fù)1個(gè)標(biāo)準(zhǔn)TDLS響應(yīng)幀。
5.2.7 TDLS Teardown幀格式
TDLS Teardown幀結(jié)構(gòu)主要包括信息在下表:
表 8 TDLS Teardown幀格式
Order Information Notes
1 Category Category建立表示TDLS的值12
2 Action Action建立為3,表示TDLS Teardown.
3 Reason Code The Reason Code的值
4 FTIE 可選被包括如果TPK握手是成功的為這個(gè)session
5 Link Identifier Link Identifier element
The TDLS Teardown frame被封裝在1個(gè)數(shù)據(jù)幀中,并且被直接傳送至the TDLS peer STA或通過(guò)AP去拆卸TDLS直接鏈路。
5.2.8 TDLS Peer Traffic Indication幀格式
TDLS Peer Traffic Indication幀結(jié)構(gòu)主要包括信息在下表:
表 9 TDLS Peer Traffic Indication幀格式
Order Information Notes
1 Category Category建立表示TDLS的值12
2 Action Action建立為4,表示TDLS Peer Traffic Indication.
3 Dialog Token
4 Link Identifier Link Identifier element
5 PTI Control Peer Traffic Indication控制
6 PU Buffer Status 裝備省電緩存狀態(tài)
The TDLS Peer Traffic Indication frame被封裝在1個(gè)數(shù)據(jù)幀中,并且通過(guò)AP被傳送至the TDLS peer STA。
5.2.9 TDLS Channel Switch Request幀格式
TDLS Channel Switch Request幀結(jié)構(gòu)主要包括信息在下表:
表 10 TDLS Channel Switch Request幀格式
Order Information Notes
1 Category Category建立表示TDLS的值12
2 Action Action建立為5,表示TDLS Channel Switch Request.
3 Target Channel 1個(gè)8字節(jié)值指定目標(biāo)信道的信道號(hào)
4 Regulatory Class 1個(gè)8字節(jié)值指定目標(biāo)信道調(diào)劑的Class。
5 Secondary Channel Offset 輔助信道補(bǔ)償僅僅在被唆使切換到40MHz直接鏈接時(shí)才被包括
6 Link Identifier Link Identifier element
7 Channel Switch Timing The Channel Switch Timing element
The TDLS Channel Switch Request frame被封裝在1個(gè)數(shù)據(jù)幀中,并且被直接傳送至 the TDLS peer STA ,TDLS直接鏈接要求切換到另外一個(gè)信道上。
5.2.10 TDLS Channel Switch Response幀格式
TDLS Channel Switch Response幀結(jié)構(gòu)主要包括信息在下表:
表 11 TDLS Channel Switch Response幀格式
Order Information Notes
1 Category Category建立表示TDLS的值12
2 Action Action建立為6,表示TDLS Channel Switch Response.
3 Status Code 狀態(tài)碼
4 Regulatory Class 1個(gè)8字節(jié)值指定目標(biāo)信道調(diào)劑的Class
5 Link Identifier Link Identifier element
6 Channel Switch Timing The Channel Switch Timing element
The TDLS Channel Switch Response frame 被封裝在1個(gè)數(shù)據(jù)幀中,并且被直接傳送至the TDLS peer STA 用以表示對(duì)收到TDLS切換信道要求幀作出反應(yīng)。
5.2.11 TDLS Peer PSM Request幀格式
TDLS Peer PSM Request幀結(jié)構(gòu)主要包括信息在下表:
表 12 TDLS Peer PSM Request幀格式
Order Information Notes
1 Category Category建立表示TDLS的值12
2 Action Action建立為7,表示TDLS Peer PSM Request.
3 Dialog Token
4 Link Identifier Link Identifier element
5 Wakeup Schedule Wakeup Schedule
The TDLS Peer PSM Request frame被封裝在1個(gè)數(shù)據(jù)幀中,并且被直接或通過(guò)AP傳送至the TDLS peer
STA, 然后在TDLS直接鏈接中開(kāi)始或改變周期的喚醒時(shí)間表。
5.2.12 TDLS Peer PSM Response幀格式
TDLS Peer PSM Response幀結(jié)構(gòu)主要包括信息在下表:
表 13 TDLS Peer PSM Response幀格式
Order Information Notes
1 Category Category建立表示TDLS的值12
2 Action Action建立為8,表示TDLS Peer PSM Response.
3 Dialog Token
4 Status Code 狀態(tài)碼
5 Link Identifier Link Identifier element
6 Wakeup Schedule Wakeup Schedule
The TDLS Peer PSM Response frame 被封裝在1個(gè)數(shù)據(jù)幀中,并且被直接傳送至the TDLS peer STA, 表示對(duì)收到TDLS Peer PSM 要求幀作出反應(yīng)。
5.2.13 TDLS Peer Traffic Response幀格式
TDLS Peer Traffic Response幀結(jié)構(gòu)主要包括信息在下表:
表 14 TDLS Peer Traffic Response幀格式
Order Information Notes
1 Category Category建立表示TDLS的值12
2 Action Action建立為9,表示TDLS Peer PSM Traffic Response.
3 Dialog Token The Dialog Token field被建立為與TDLS Peer Traffic Indication
Frame相1致的非零值。
4 Link Identifier Link Identifier element
The Peer Traffic Response frame被封裝在1個(gè)數(shù)據(jù)幀中,并且被直接傳送至 the TDLS peer STA