實現TDLS特性協議基本功能進程。
TDLS是基于IEEE 802.11z標準。TDLS自動鏈接配置主要通過幾個進程來完成。
TDLS Discovery 進程由1部STA裝備通過AP或GO(群組具有者) 向另外1部STA裝備發送1個TDLS Discovery要求幀開始。如果目標裝備也兼容TDLS,它將直接向該發送裝備回復TDLS Discovery 響應幀,并提供有關裝備本身的能力信息。包括所有支持速率及信道。TDLS Discovery 進程除提供目標STA確切支援TDLS的相干能力信息外,TDLS Discovery進程的幀交互亦可以用作AP與目標TDLS STA裝備的相對信號強度的丈量。發起的STA能夠判斷與目標STA間的直接連接是不是有益于提供有效信息。通過對照分別由目標STA裝備與AP裝備收到的信號強度,發起的STA裝備可以評估建立直接連接是不是會比通過AP發送數據包更加有效。
TDLS Discovery進程不是必要選項。1個TDLS STA裝備可以選擇直接發起TDLS建立進程。
TDLS Setup進程需要進行1系列的幀交換。發起裝備首先發送1個TDLS傳輸要求,通過AP信道傳輸至目標裝備。封裝幀包括發送裝備的性能信息。目標裝備以后會回復TDLS Setup 建立響應,一樣通過AP信道傳送其性能信息,另外附加1個狀態代碼,表示接受或謝絕該建立要求。如果接受Setup要求,發送裝備將會通過AP傳送1個TDLS 確認幀(Confirm Frame)。至此,兩部裝備之間開始進行直接通訊。發送方或接受方裝備都可向另外1方直接發送TDLS拆解幀(Teardown Frame),而如果未處于訊號范圍內,該幀則可以通過AP信道傳輸。
當緩存裝備始終處于正常狀態時,這1操作與WMM U-APSD操作10分相似。具體操作以下:
1. TDLS對等緩存裝備為休眠裝備緩存數據包。
2. 緩存裝備通過AP向休眠裝備發送1個TDLS 對等流量唆使幀。
3. AP將在 Beacon幀上為休眠裝備發送1個流量唆使圖(TIM),提示休眠裝備有數據進程處于緩存狀態。
4. 休眠裝備恢復工作讀取 Beacon幀,注意到TIM並觸發AP發送TDLS對等流量唆使幀。
5. 當前恢復正常工作的裝備隨后直接向緩存裝備發送1個TDLS對等流量響應幀,在兩個裝備之間建立1段服務期。
6. 緩存裝備直接向接受裝備發送緩存數據包。
7. 如果緩存裝備顯示沒有剩于緩存包,接收裝備將會恢復休眠狀態。
亦有可能兩部TDLS裝備都進入省電模式處于休眠狀態。當出現這類情況,兩個站點都會作為緩存裝備運作,為他們的對等裝備緩存數據流程。這1進程除第2步外同上文所述類似,在向AP發送TDLS 對等流量唆使幀后,裝備將處于工作狀態直至其收到TDLS對等流量回應幀。然后,它會發送緩存數據流程,其后它可能會恢復休眠模式。
請注意,由于發布的緩存數據包通常由AP承載,處于TDLS連接中的裝備仍能與同1網絡內的其他裝備進行通訊。
TDLS 裝備可以建立協議切換到另外一個信道。例如,如果網絡處于1個擁堵的2.4GHz 信道運作,而兩部TDLS 裝備在TDLS 建立發送或回應中唆使二者全部以支援5GHz 信道處理,作為1個輔信道,切換到5GHz 信道將更加有益。以下圖示。
圖 1 TDLS連接從2.4G切換到5G信道
由主信道切換至輔信道之前,TDLS裝備將告知AP它們處于“休眠模式”,因此AP將會緩存數據包。當通過off信道傳輸時, TDLS裝備會定期返回base信道以便接收Beacon幀,查看TIM接收緩存數據包,同時與其他裝備保持通訊。而使用off信道時,TDLS裝備不可以處于休眠。
TDLS 信道切換的基本流程以下所示:
1. TDLS發起裝備在AP處進入省電模式,向第2部TDLS裝備發送TDLS信道切換要求。這1要求包括目標信道信息。
2. 第2部TDLS裝備在AP處進入省電模式,發送1個TDLS信道切換回應?;貍靼顟B代碼0 (接受)并確認目標信道為所需之輔信道。
3. 隨后,兩部裝備由主信道切換至輔信道。在建立切換時限到期前,數據必須通過輔信道進行流通。如果時限到期前沒有數據流程通,裝備將返回主信道。
4. 在使用輔信道時,任何1臺裝備都可主動向對等裝備發送1個以主信道為目標的TDLS 信道切換要求。對等裝備將返回ACK,然后兩部裝備返回主信道。
5. 兩部裝備將定期切換至主信道接收AP Beacon幀,同時同其他網絡裝備保持通訊。
可以在AP Beacon幀中設置“制止TDLS信道切換”來實現制止信道切換。
在建立 TDLS連接時,其基本安全防護通常建立為WPA2 加密,除非網絡啟用了開放、非加密建立,當出現這類情況,直接連接通常亦建立為開放。建立幀交換包括安全密匙交換,比如直接連接的安全是唯一無2的——與網絡整體安全域不同。無需輸入用戶密碼。
TDLS 性能可以由系統管理員關閉。比如,在企業環境中,系統管理員可能希望禁用直接連接,因此AP Beacon幀中可以建立“制止TDLS”。
首先是發現進程。1個STA裝備通過其連接的網絡發送發現要求到另外一個STA裝備。如果目標裝備也是TDLS兼容裝備,它隨后會向發起者直接發送1個回復,提供關于其支持率和信道等信息。這兩個STA裝備間的通訊還可以丈量接入點和TDLS的相對信號強度,并判斷直接鏈接是不是有價值。
TDLS技術允許兩個STA裝備接入無線網絡后,相互之間自動創建1個鏈接。從而實現兩個裝備間數據的直接傳輸。
TDLS連接使兩臺STA裝備直接跳過AP,從而不受AP的束縛,采取它們支持的最快速率標準(802.11b / g / n 等)進行數據傳輸。同1個BSS中的STA相互間數據的傳輸跳過AP直接傳輸。這個直接傳輸可以是在原來信道進行,也能夠切換到新的信道上進行(如圖1所示,base channel在2.4G頻段,而off channel在5G頻段),因此能夠避免了由網絡堵塞而引發的數據傳輸延遲。這對1些實時性要求比較高的業務,對保證用戶的業務體驗具有重要的意義。
TDLS用作與同1個AP關聯的兩個STA間進行Wi-Fi Display業務傳輸的連接模式,
源碼分析:
5.2 管理幀
5.2.1 TDLS Action幀細節
若干Action幀結構被定義支持TDLS,Action值關聯 每一個被定義在下表的幀結構。
表 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) 狀態碼( 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 幀結構主要包括信息在下表:
表 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個數據幀中,并且被傳送到a TDLS peer STA或通過AP傳送到廣播地址 , 去要求在相同BSS中具有TDLS的裝備給出TDLS Discovery Response frame響應。
5.2.3 TDLS Discovery Response幀格式
TDLS Discovery Response幀結構主要包括信息在下表:
表 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 強健安全網絡(RSN)IE可能被包括,如果安全被必須在直接連接上。
8 FTIE FTIE可能被包括,如果安全被必須在直接連接上。
9 Timeout Interval Timeout Interval可能被包括,如果安全被必須在直接連接上。
10 Link Identifier Link Identifier element被規定在Table 3⑵
The TDLS Discovery Response 幀被直接傳送(IE不觸及AP)至發送相應TDLS Discovery Request幀信息的 TDLS STA裝備。
5.2.4 TDLS Setup Request幀格式
TDLS Setup Request 幀結構主要包括信息在下表:
表 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 強健安全網絡(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可能出現在這個幀中
13 Link Identifier Link Identifier element
The TDLS Setup Request 幀被封裝在1個數據幀中,并且被傳送到STA(recipient),通過AP去要求開始1個TDLS直接鏈接。
5.2.5 TDLS Setup Response幀格式
TDLS Setup Response幀結構主要包括信息在下表:
表 6 TDLS Setup Response幀格式
Order Information Notes
1 Category Category建立TDLS的值12
2 Action Action值建立為1,表示TDLS Setup Response
3 Status Code 狀態碼
4 Capability STA的能力
5 Supported rates STA支持的rates
6 Extended supported rates STA支持額外的rates
7 Supported Channels 支持的信道元素被包括,如果TDLS信道切換被建立為1
8 RSNIE 強健安全網絡(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,包括狀態碼為0(成功)。
13 20/40 BSS Coexistence The 20/40 BSS Coexistence element可能出現在這個幀中
14 Link Identifier Link Identifier element
The TDLS Setup Response幀被封裝在1個數據幀中,并且被傳送到STA(initiator),通過AP去響應收到1個開始TDLS直接鏈接要求。
5.2.6 TDLS Setup Confirm幀格式
TDLS Setup Confirm幀結構主要包括信息在下表:
表 7 TDLS Setup Confirm幀格式
Order Information Notes
1 Category Category建立TDLS的值12
2 Action Action值建立為2,表示TDLS Setup Confirm.
3 Status Code 狀態碼
4 RSNIE 強健安全網絡(RSN)IE可能被包括,如果安全被必須在直接連接上。
5 EDCA Parameter Set The EDCA參數集建立被包括,當QoS被支持在直接連接上。
6 FTIE FTIE可能被包括,如果安全被必須在直接連接上。
7 Timeout Interval IE TPL Key生命周期可選被包括,如果安全被必須在直接連接上。
8 Link Identifier Link Identifier element
The TDLS Setup Confirm幀被封裝在1個數據幀中,并且被傳送到STA(responder),通過AP去答復1個標準TDLS響應幀。
5.2.7 TDLS Teardown幀格式
TDLS Teardown幀結構主要包括信息在下表:
表 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握手是成功的為這個session
5 Link Identifier Link Identifier element
The TDLS Teardown frame被封裝在1個數據幀中,并且被直接傳送至the TDLS peer STA或通過AP去拆卸TDLS直接鏈路。
5.2.8 TDLS Peer Traffic Indication幀格式
TDLS Peer Traffic Indication幀結構主要包括信息在下表:
表 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 裝備省電緩存狀態
The TDLS Peer Traffic Indication frame被封裝在1個數據幀中,并且通過AP被傳送至the TDLS peer STA。
5.2.9 TDLS Channel Switch Request幀格式
TDLS Channel Switch Request幀結構主要包括信息在下表:
表 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個8字節值指定目標信道的信道號
4 Regulatory Class 1個8字節值指定目標信道調劑的Class。
5 Secondary Channel Offset 輔助信道補償僅僅在被唆使切換到40MHz直接鏈接時才被包括
6 Link Identifier Link Identifier element
7 Channel Switch Timing The Channel Switch Timing element
The TDLS Channel Switch Request frame被封裝在1個數據幀中,并且被直接傳送至 the TDLS peer STA ,TDLS直接鏈接要求切換到另外一個信道上。
5.2.10 TDLS Channel Switch Response幀格式
TDLS Channel Switch Response幀結構主要包括信息在下表:
表 11 TDLS Channel Switch Response幀格式
Order Information Notes
1 Category Category建立表示TDLS的值12
2 Action Action建立為6,表示TDLS Channel Switch Response.
3 Status Code 狀態碼
4 Regulatory Class 1個8字節值指定目標信道調劑的Class
5 Link Identifier Link Identifier element
6 Channel Switch Timing The Channel Switch Timing element
The TDLS Channel Switch Response frame 被封裝在1個數據幀中,并且被直接傳送至the TDLS peer STA 用以表示對收到TDLS切換信道要求幀作出反應。
5.2.11 TDLS Peer PSM Request幀格式
TDLS Peer PSM Request幀結構主要包括信息在下表:
表 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個數據幀中,并且被直接或通過AP傳送至the TDLS peer
STA, 然后在TDLS直接鏈接中開始或改變周期的喚醒時間表。
5.2.12 TDLS Peer PSM Response幀格式
TDLS Peer PSM Response幀結構主要包括信息在下表:
表 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 狀態碼
5 Link Identifier Link Identifier element
6 Wakeup Schedule Wakeup Schedule
The TDLS Peer PSM Response frame 被封裝在1個數據幀中,并且被直接傳送至the TDLS peer STA, 表示對收到TDLS Peer PSM 要求幀作出反應。
5.2.13 TDLS Peer Traffic Response幀格式
TDLS Peer Traffic Response幀結構主要包括信息在下表:
表 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個數據幀中,并且被直接傳送至 the TDLS peer STA