版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、中國銀聯股份有限公司 發(fā)布2012-11-02實施2012-11-02發(fā)布中國銀聯銀行卡聯網聯合技術規(guī)范V2.1第5部分 通信接口規(guī)范Technical Specifications on Bankcard Interoperability V2.1Part 5 Specification on Communication InterfaceQ/CUP 006.52012代替Q/CUP 006.52011Q/CUP中國銀聯股份有限公司企業(yè)標準目 次前 言II1 范圍12 銀聯網絡概述12.1 規(guī)范要求12.2 銀聯網絡拓撲結構12.3 入網機構接入線路選擇13 網絡接口23.1 入網機構的物理
2、接入方式23.2 接入設備要求34 通信接口協議44.1 概述44.2 通信配置54.3 協議定義12參考文獻22附錄A (資料性附錄) 入網機構通訊線路數量計算原則23前 言本標準對中國銀聯跨行交易網絡中聯機交易與文件傳輸的通信接口應滿足的要求做了規(guī)定,包括通信鏈路的選擇、接入方式選擇、接入設備的要求和通信協議的規(guī)定。本標準由中國銀聯股份有限公司提出。本標準由中國銀聯股份有限公司制定。本標準起草單位:中國銀聯股份有限公司、國內入網機構。本標準主要起草人:戚躍民、郭銳、鄭澎、徐靜雯、李潔、吳金壇、王力斌、苗恒軒、萬高峰、陸爾東、蔣慧科、杜秉一、趙偉。中國銀聯銀行卡聯網聯合技術規(guī)范V2.1第5部
3、分 通信接口規(guī)范1 范圍本標準規(guī)定了中國銀聯跨行交易網絡中聯機交易與文件傳輸的通信接口應滿足的要求,包括通信鏈路的選擇、接入方式選擇、接入設備的要求和通信協議的規(guī)定。本標準適用于所有加入中國銀聯銀行卡信息交換網絡的入網機構。2 銀聯網絡概述2.1 規(guī)范要求銀聯網絡要求穩(wěn)定可靠、結構簡單、便于維護管理。入網機構必須遵照本規(guī)范對網絡通信接口方面的要求,建設與銀聯網絡的接口,保障各入網機構和銀聯網絡之間互聯互通,并提供銀行卡信息安全、穩(wěn)定、可靠的存取控制。2.2 銀聯網絡拓撲結構銀聯網絡是一個二層的網絡結構,其中的網絡節(jié)點按層次不同,可劃分為:核心節(jié)點:上海信息中心/北京信息中心;骨干節(jié)點:銀聯分公
4、司,如圖1所示。圖1 銀聯網絡結構示意圖全國性的入網機構與境內的外資銀行,(如全國性的商業(yè)銀行總行、匯豐銀行境內機構)直接與上海信息中心與北京信息中心連接,屬于直接接入機構。間接接入機構,如當地農村信用社或城市商業(yè)銀行,選擇當地銀聯分公司接入銀聯網絡;而全國性入網機構在各地的分之機構可選擇當地的銀聯分公司接入,也可以采用總對總的方式,通過其全國性入網機構接入銀聯網絡。2.3 入網機構接入線路選擇2.3.1 直接接入機構接入線路選擇根據目前運營商的分布情況,電信主要服務中國南方地區(qū),而新聯通主要服務中國北方地區(qū),因此對于全國性入網直接接入機構與境內外資銀行的接入要求如下:采用電信的SDH線路與上
5、海信息中心互聯,對于交易量大的機構可采用MSTP的方式進行接入。采用新聯通的SDH線路與北京信息中心互聯,對于交易量大的機構也可以采用MSTP的方式接入。2.3.2 間接接入機構接入線路選擇銀聯分公司與間接接入機構在通訊接入線路上的選擇視各地區(qū)具體情況確定,但每一個接入機構都應有主備通訊設備和主備通訊線路,并且主備線盡量選擇當地不同的運營商,防止通訊設備與線路的單點故障。3 網絡接口3.1 入網機構的物理接入方式3.1.1 直接接入機構接入方式對于全國性的入網機構與境內的外資銀行通過直接與上海信息中心、北京信息中心互聯的方式接入,并且選擇電信、新聯通運營商的SDH或MSTP線路。如下圖:圖2
6、直接接入機構接入方式 3.1.2 間接接入機構接入方式間接接入機構,可采取就近接入方式,根據當地的實際情況選擇1-2家不同運營商的專線接入當地的銀聯分公司。如下圖:圖3 間接接入機構接入方式對于上述兩種接入方式的說明如下:直接接入機構須采用電信與新聯通的兩個不同的運營商的SDH或MSTP線路與上海信息中心、北京信息中心互聯。間接接入機構可以根據具體情況選用其他通信鏈路方式(建議使用SDH、MSTP線路),但必須滿足本規(guī)范中的使用兩條通信鏈路和備份鏈路的規(guī)定。正常情況下,兩條鏈路分別承載實時交易數據和非實時數據,當任何一條鏈路中斷時,另外一條中繼線路可以承載全部的數據。為了保證實時交易數據總是被
7、優(yōu)先處理,建議在路由器上對交易數據流使用LLQ的Qos策略。3.2 接入設備要求3.2.1 基本要求銀聯要求各入網機構選擇路由器作為廣域網接入設備。路由器是廣域網(WAN)之間互連的關鍵設備。路由器支持不同的廣域網物理接口,能夠實現負載平衡,阻止廣播風暴,控制網絡流量以及提高系統(tǒng)容錯能力。3.2.2 設備接口要求3.2.2.1 物理接口入網機構與銀聯網絡互連的廣域網設備應支持下述接口:a) 高速同步串行接口b) G.703-E1接口c) 10Base-T和100Base-T接口3.2.2.2 互聯使用協議a) 互聯線路使用的封裝協議:HDCLPPPEthernetb) 互聯使用的路由協議: 靜
8、態(tài)路由常用動態(tài)路由協議c) 網絡管理/安全協議:SNMPTelnet Remote AccessAccess Lists (Routing)Debug CommandsPing CommandsSyslogEvent Logging3.2.3 網絡互聯與線路切換3.2.3.1 直接接入機構的互聯與線路切換直接接入機構采用浮動靜態(tài)路由或動態(tài)路由協議實現與上海信息中心或北京信息中心的互聯互通。在配置中確保互聯上海信息中心的線路為主用線路,當該線路故障時,機構路由能自動切換至與北京信息中心的備用線路上,而當主用線路故障恢復后,路由又能自動回切至主用線路上。如下圖:3.2.3.2 間接接入機構與銀聯分
9、公司的互聯與線路切換間接接入機構與銀聯分公司采用浮動靜態(tài)路由實現互聯互通。當主線中斷時,機構的路由能自動切換至備線上,當主線恢復時,路由能實現自動回切。如下圖:4 通信接口協議4.1 概述銀聯處理中心和入網機構在物理通訊線路連通的基礎上,需要雙方建立一定的通信連接并制定相應的通信控制協議,實現雙方之間聯機報文的處理和文件傳輸。銀聯處理中心和入網機構應根據實際的需要,在以下方面滿足通信的要求:a) 銀聯處理中心和入網機構建立的通信連接方式;b) 雙方采用的通信協議;c) 雙方通信設備上運行的通信軟件。4.1.1 通信連接的選擇在TCP/IP協議的基礎上,使用socket編程接口編寫通信程序。一個
10、socket連接由本地IP地址、端口號和遠端IP地址、端口號唯一確定。圖4 socket連接示意圖銀聯處理中心和入網機構建立的socket連接種類應能滿足業(yè)務的處理要求。對于實時性要求高的聯機交易,銀聯處理中心和入網機構建立的連接是長連接,銀聯處理中心將不再支持短連接的方式。對于實時性要求不高的文件傳輸,銀聯處理中心和入網機構采用短連接的方式。4.1.2 協議和通信設備要求銀聯處理中心向入網機構提供TCP/IP協議通信接口,與入網機構的通信程序使用套接字(socket)技術編寫。在銀聯處理中心一側,通信服務器上安裝有與入網機構通信的socket通信軟件,該軟件提供的通信接口符合本規(guī)范的通信控制
11、協議。在入網機構一側,通信主機上也應安裝有相應的通信軟件,該通信程序也應符合本規(guī)范規(guī)定的通信控制協議,實現與銀聯處理中心的通信。入網機構路由器廣域網口應對銀聯處理中心開放,使銀聯處理中心能夠通過簡單網絡管理協議或網絡連通測試等方法獲得與各入網機構通信連通狀況的信息,便于銀聯處理中心對通信網絡進行監(jiān)控和管理。4.2 通信配置4.2.1 IP地址和端口號配置各入網機構接入銀聯網絡使用的IP地址由銀聯處理中心統(tǒng)一分配。入網機構和銀聯處理中心通信所用的端口號由雙方各自決定。測試系統(tǒng)與生產系統(tǒng)使用不同的IP地址。4.2.1.1 聯機交易的IP地址和端口號配置銀聯處理中心使用多臺聯機交易通信服務器與一個入
12、網機構通信,每臺通信服務器應有一個IP地址。為了便于管理和配置以及提高系統(tǒng)的可用性,在每一個IP上,銀聯處理中心通過分配不同的端口號和入網機構建立多條連接,每個端口號只能建立一條socket連接,如下圖所示。圖5 銀聯處理中心和入網機構聯機交易連接示意圖在圖5中,IP1和IP2的port1和port2均用于和入網機構1連接,port3和port4用于和入網機構2連接。同樣,入網機構也要為銀聯處理中心發(fā)起建立的每條連接指定不同的端口號,指定的端口號均應介于1024與65535之間。4.2.1.2 文件傳輸的IP地址和端口號配置銀聯處理中心使用多臺文件服務器與入網機構進行文件傳輸。在分配給機構的i
13、p上,銀聯處理中心給入網機構指定建立連接的端口號,入網機構也要為銀聯處理中心指定建立連接的相應IP地址和端口號。圖6 銀聯處理中心和入網機構文件傳輸連接示意圖4.2.1.3 IP地址和端口限制在聯機交易中,銀聯處理中心為每個入網機構分配的聯機交易通信服務器或文件服務器的IP地址和端口號都已經確定。為了便于管理和保障系統(tǒng)安全性,銀聯處理中心不允許入網機構使用提供給其他入網機構的IP地址和端口號。銀聯處理中心通信程序對請求建立連接的遠端IP地址做合法性檢查,如果是規(guī)定的IP地址則允許建立連接,否則拒絕連接。圖7 IP地址和端口限制示意圖4.2.2 連接數目和方式4.2.2.1 聯機交易的連接數目和
14、方式聯機交易采用長連接的方式。Socket連接建立后,除非發(fā)生異常中斷,否則雙方不再關閉連接,始終保持連通狀態(tài),雙方可以直接發(fā)送或接收數據。銀聯支持入網機構采用單工和雙工兩種通訊方式的接入。4.2.2.1.1 單工方式單工方式是指一條連接只用于單方向的接收或發(fā)送。只用于發(fā)送交易報文的長連接稱為發(fā)送長連接,只用于接收交易報文的長連接稱為接收長連接。由一條發(fā)送長連接和一條接收長連接組成一個通訊連接對。對于單工方式本規(guī)范規(guī)定:(1)在一個連接對中,如果是入網機構發(fā)現它的發(fā)送長連接中斷,則關閉連接對中的接收長連接,并向處理中心重新發(fā)起連接請求,重建連接對的網絡連接,重建時不能對其他連接對斷鏈重連。(2
15、)在一個連接對中,如果入網機構檢測到,發(fā)送長連接或接收長連接已經被中斷,則認為該連接對已經中斷,將關閉本連接對中的所有連接,并向處理中心發(fā)起連接請求。如果入網機構檢測到3分鐘之內在接收連接上沒有收到任何報文(包括空閑連接查詢報文),則認為該接收連接已經中斷,將關閉本連接對中的發(fā)送長連接,并向處理中心發(fā)起連接請求,重建該連接對的網絡連接,重建時不能對其他連接對斷鏈重連。(3)在一個連接對中,如果處理中心發(fā)現連接對中的發(fā)送長連接中斷,而相應的接收長連接正常時,則處理中心首先關閉接收長連接,然后恢復到偵聽狀態(tài),等待入網機構重新發(fā)起建立連接的請求。如果處理中心檢測到3分鐘之內在接收連接上沒有收到任何報
16、文(包括空閑連接查詢報文),則認為該接收連接已經中斷,將關閉本連接對中的發(fā)送長連接,然后恢復到偵聽狀態(tài),等待入網機構重新發(fā)起建立連接的請求。(4)只要處理中心接收到入網機構建立發(fā)送長連接的請求,即使此時處理中心的發(fā)送長連接是正常的,也需要斷開當前發(fā)送長連接,按照入網機構請求重建新的發(fā)送長連接。圖8 聯機交易的連接示意圖入網機構和銀聯處理中心建立的長連接數應和入網機構的交易量有關。銀聯處理中心提供二進二出共四條單工長連接到八進八出共十六條單工長連接的連接方式,入網機構應根據自己的交易量大小選擇其中之一。圖9 二進二出單工長連接示意圖圖10 四進四出單工長連接示意圖銀聯處理中心給每個入網機構指定至
17、少兩臺通信服務器,因此入網機構和銀聯處理中心的連接對必須是偶數的,每臺通信服務器上的連接數至少是一進一出兩條單工長連接。六進六出單工長連接和八進八出單工長連接的示意圖均類似圖9和圖10。在系統(tǒng)運行中,應對具體的連接數目做參數化管理,可以根據入網機構具體交易量大小情況做調整。4.2.2.1.2 雙工方式雙工方式是指一條連接既做為接收長連接又作為發(fā)送長連接,僅由一條連接就完成了接收和發(fā)送的功能。對于雙工方式本規(guī)范規(guī)定:(1)在雙工方式中,如果入網機構檢測到,該連接已經被中斷,則關閉本連接,并向處理中心發(fā)起連接請求,重建連接對的網絡連接。(2)如果入網機構檢測到3分鐘之內在連接上沒有收到任何報文(包
18、括空閑連接查詢報文),則認為該連接已經中斷,將關閉本連接對,并向處理中心發(fā)起連接請求,重建該連接對的網絡連接。(3)在雙工方式中,如果處理中心發(fā)現連接中斷,則處理中心將恢復到偵聽狀態(tài),等待入網機構重新發(fā)起建立連接的請求。如果處理中心檢測到3分鐘之內在連接上沒有收到任何報文(包括空閑連接查詢報文),則認為該連接已經中斷,將關閉本連接對,處理中心將恢復到偵聽狀態(tài),等待入網機構重新發(fā)起建立連接的請求。(4)只要處理中心接收到了入網機構建立連接的請求就應該立刻響應。圖11 聯機交易的連接示意圖入網機構和處理中心建立的長連接數應和入網機構的交易量有關。處理中心提供兩條雙工長連接到八條雙工長連接的連接方式
19、,入網機構應根據自己的交易量大小選擇其中之一。處理中心給每個入網機構指定至少兩臺通信服務器,因此入網機構和銀聯處理中心的雙工長連接必須是偶數的,每臺通信服務器上的連接數至少是一條雙工長連接。在系統(tǒng)運行中,應對具體的連接數目做參數化管理,可以根據入網機構具體交易量大小情況做調整。4.2.2.1.3 支持應答報文原路返回應答報文原路返回的含義是:支持在回送應答報文時使用該交易請求報文上送時的線路進行回送,機構可以選擇是否要求CUPS對應答報文原路返回。如果入網機構沒有選擇開啟此功能,則入網機構作為受理方上送的交易經過CUPS處理后,將應答報文發(fā)送給入網機構時,將在入網機構與CUPS已經建立的通信線
20、路中任意選擇一條線路作為報文返回線路。如果入網機構選擇開啟此功能,則入網機構作為受理方上送的交易經過CUPS處理后,將應答報文發(fā)送給入網機構時,將選擇入網機構上送報文時的使用的線路作為報文返回線路。若在返回應答時,發(fā)送請求時的線路與CUPS斷開,機構可以選擇由CUPS將應答報文通過其他工作正常的線路返回,機構也可以選擇由CUPS丟棄此應答報文。雖然真正含義上的原路返回為上文定義的內容,但銀聯處理中心還支持更廣義的概念,能夠提供如下兩個粒度的原路返回功能:1、對機構的通訊主機,銀聯可提供通訊主機組管理,原路返回粒度可控制到該組。即,只通過該組內的連接返回,但并不是發(fā)起請求的連接。這樣可以控制是返
21、回到同一個處理中心,還是返回到同一臺通訊主機;2、對機構的通訊主機,銀聯還可提供單個IP管理,原路返回粒度可控制到該IP。即,只通過該IP中的連接返回,但并不是發(fā)起請求的連接。因此,銀聯處理中心是提供了更為廣義的“線路組原路返回”概念。即,交易應答可以通過與交易請求上送線路在同一組的任一線路返回。線路分組的方法可以應入網機構的要求采取不同的策略(比如:入網機構側屬于同一個中心/同一臺服務器/同一個IP的線路分在同一組)。4.2.2.2 文件傳輸的連接數目和方式入網機構和銀聯處理中心之間的文件傳輸不是實時性的聯機業(yè)務,因此規(guī)定使用短連接的方式。雙方建立一條全雙工的連接,連接建立后,雙方在同一條連
22、接上收發(fā)請求和應答。當文件傳送完成后,雙方關閉連接。圖12 文件傳輸的連接示意圖4.2.3 通信負載均衡銀聯處理中心和每個入網機構建立多條連接不僅為了防止單點故障,還應在多條通信連接上實現通信負載均衡。例如,銀聯處理中心通過兩條或四條發(fā)送連接向入網機構發(fā)送報文時,可以采用簡單輪詢的方式,即從第一條發(fā)送連接開始路由,第一個報文從第一條發(fā)送連接發(fā)送,第二個報文從第二條發(fā)送連接發(fā)送,依次類推,到最后一個連接時再路由到第一條可用的發(fā)送連接。圖13 簡單輪詢方式除了簡單輪詢的方法,還可以通過監(jiān)測各通信服務器和各條連接的負載情況動態(tài)調整各條連接的路由選擇。通過將銀聯處理中心和入網機構之間的通信負載合理的分
23、配到各條連接和各臺通信服務器上,可以防止出現某臺通信服務器上處理壓力過大的問題。4.2.4 Socket選項設置在利用socket技術編寫通信程序時,為了保證通信雙方可以正常通信,需要設置相關的選項,其中有的選項是協議相關的。在不同的系統(tǒng)中,socket選項有不同的默認值。這里只規(guī)定幾個主要的socket選項設置,其他選項均使用系統(tǒng)默認值。a) 保持socket的“LINGER”選項為缺省狀態(tài),即“關閉”狀態(tài)。這個選項影響到使用TCP協議的socket關閉操作的行為。設置該選項為“關閉”狀態(tài),使socket關閉操作保持默認行為,即close()函數調用立即返回,如果socket發(fā)送緩沖區(qū)中還有
24、數據,則系統(tǒng)會發(fā)送這些數據。b) 設置socket的“REUSEADDR”為“打開”狀態(tài)。設置這個選項可以保證socket監(jiān)聽進程在異常退出并重新啟動后,仍可以成功綁定到原監(jiān)聽端口。該選項主要用在監(jiān)聽socket連接請求的服務器端。c)設置socket的“KeepAlive”為“打開”狀態(tài),設置這個選項可以保證在socket連接沒有流量時,自動開始發(fā)送KeepAlive偵測包,偵測socket是否已經斷開。4.3 協議定義4.3.1 參考資料有關TCP/IP協議的背景信息和協議定義可以參考以下文檔:a) RFC 791 Internet Protocol for the IP protocol
25、;b) RFC 792 Internet Control Message Protocol for the ICMP protocol;c) RFC 793 Transmission Control Protocol for the TCP protocol;d) RFC 1122 Requirements for Internet Hosts Communication Layers;e) RFC 1123 Requirements for Internet Hosts Application and Support;g) RFC 959 File Transfer Protocol。4.3
26、.2 協議定義范圍本節(jié)論述的通信控制協議以TCP/IP協議為基礎,規(guī)定了銀聯處理中心和入網機構之間建立多條socket連接的方式,雙方在多條連接上傳輸報文的方法以及通信異常的檢測和處理方法。4.3.3 基本規(guī)定4.3.3.1 數據編碼格式銀聯處理中心和入網機構之間傳送的所有數據均是八位的二進制數據,沒有特殊含義字符和控制字符。4.3.3.2 通信接口和業(yè)務流程的無關性通信接口程序不對交易報文的類型作識別,不對報文內容作處理。因此,業(yè)務流程上的任何變動對通信接口程序無影響,反之亦然。4.3.4 聯機交易控制協議4.3.4.1 建立連接4.3.4.1.1 連接建立過程銀聯處理中心和入網機構在建立連
27、接時,采用的是clientserver方式。服務方監(jiān)聽客戶的連接請求,客戶方調用connect()發(fā)送連接請求,開始TCP的三步握手過程。雙方連接建立的過程如下:圖14 連接建立過程a) 服務方調用accept()準備接收連接請求;b) 客戶方調用connect()發(fā)起連接請求,使客戶方的TCP發(fā)送同步數據段(SYN段)。服務方TCP收到后返回應答(ACK段),同時發(fā)送自己的同步數據段??蛻舴絚onnect()調用返回;c) 客戶方TCP對服務方的同步數據段返回應答,連接建立,服務方accept()調用返回。當連接成功建立或發(fā)生錯誤時,客戶方的connect()調用返回??赡馨l(fā)生的錯誤有以下幾
28、種情況:a) 客戶方TCP在一定時間內沒有收到SYN段的應答,調用返回超時錯誤ETIMEDOUT。不同系統(tǒng)規(guī)定的超時時間從75秒到幾分鐘不等。b) 如果服務方TCP給客戶方TCP重置應答RST,調用返回連接拒絕錯誤,說明在服務方沒有監(jiān)聽進程運行,或監(jiān)聽進程已退出。c) 如果網絡中某路由器返回目的不可達的ICMP應答,則客戶機系統(tǒng)會重發(fā)連接請求直到超時,此時調用返回主機不可達錯誤EHOSTUNREACH。Connect調用使客戶端TCP從CLOSED狀態(tài)轉變到SYN_SENT狀態(tài)。如果連接成功建立,則轉變到ESTABLISHED狀態(tài)。如果出錯,則socket不再可用,必須被關閉。圖15 sock
29、et連接建立狀態(tài)轉換圖4.3.4.1.2 連接建立時序對于單工方式而言,在銀聯處理中心和入網機構初始建立連接時,要求先由入網機構發(fā)起連接請求。銀聯處理中心在監(jiān)聽端口監(jiān)聽入網機構的連接請求,在接收到入網機構的連接請求并通過合法性檢查后,根據入網機構的IP地址和監(jiān)聽端口號向入網機構發(fā)起連接請求,完成一進一出兩條單工長連接的建立。在該連接對的建立過程中,銀聯處理中心將設置一進一出兩條單工長連接建立的最長時間間隔參數值。如果中心建立好接收連接后,在最長1分鐘內仍無法建立與機構的發(fā)送連接,則中心主動斷開與該發(fā)送連接相對應的接收連接,回復到偵聽狀態(tài),等待接收入網機構重新建立連接的請求。建立其他連接的過程與
30、此相同。如果建立連接的過程超時或發(fā)生錯誤,則關閉本地socket后,重新建立連接。如果一條連接中斷需要重新建立,則應按照4.2.2.1.1節(jié)描述分情況處理。下圖說明連接建立的時序:圖16 銀聯處理中心和入網機構單工連接時序圖對于雙工方式而言,在銀聯處理中心和入網機構初始建立連接時,要求先由入網機構發(fā)起連接請求。銀聯處理中心在監(jiān)聽端口監(jiān)聽入網機構的連接請求,在接收到入網機構的連接請求并通過合法性檢查后,連接即告成功,完成了一條雙工長連接的建立。下圖說明連接建立的時序:圖17 銀聯處理中心和入網機構雙工連接時序圖4.3.4.2 報文格式銀聯處理中心和入網機構之間的交易報文封裝在IP數據包內,通過T
31、CP/IP協議傳送。每一個報文由四字節(jié)報文長度和報文數據構成,如圖18所示。由于TCP數據是一個“流”的概念,報文邊界不易確定,因此在每個報文前提供四個字節(jié)的報文長度值,用來確定每個報文的長度。本規(guī)范規(guī)定報文最大長度不超過2048字節(jié)。報文數據格式可參見報文接口規(guī)范的說明。報文長度是四個字節(jié)的ASCII碼串,指明后面的報文數據的長度,但該長度不包括報文長度域本身的四個字節(jié)值。通過報文長度域,報文的接收方可以很容易確定每個交易報文的長度。報文長度報文數據描述長度(字節(jié))報文長度4報文數據不定長圖18 數據報文格式說明4.3.4.3 數據傳輸控制4.3.4.3.1 傳輸方式銀聯處理中心和入網機構之
32、間的socket連接初始化過程完成后,雙方可開始報文交換。雙方采用異步傳輸方式傳輸交易報文,即一方發(fā)送一筆交易請求后,不必等待對方的應答,可以接著發(fā)送下一筆交易請求。因為銀聯處理中心和入網機構存在多條socket連接,應答報文從哪條連接返回不確定。對此,應用層上的業(yè)務處理流程必須加以判斷處理。發(fā)送方發(fā)送一個交易請求后,由于通信鏈路中斷或其他通信異常情況的發(fā)生,發(fā)送方將不能確保接收方一定能夠收到報文數據。在通信異常情況下,發(fā)送方多表現為發(fā)送數據超時,因此在應用層的業(yè)務流程上要有相應的超時控制。4.3.4.3.2 報文發(fā)送和接收報文發(fā)送一方發(fā)送報文數據,調用write()返回后,準備下一筆報文數據
33、的發(fā)送。報文接收一方調用read()接收報文,當有報文數據到達后讀調用返回。圖19 報文發(fā)送和接收示意圖接收方在讀取數據時,應按照長度加報文再長度加報文的方式,先讀取四個字節(jié)的長度,用于確定報文的實際長度,再按實際報文長度值讀取其后的報文數據。如果接收方一次讀取沒有接收到完整的報文,必須再次讀取直到接收到規(guī)定長度的報文數據。發(fā)送方發(fā)送報文時,先在報文前加上四個字節(jié)的報文長度值再與報文一起發(fā)送。圖20 報文流示意圖接收方在讀取數據的過程中,網絡有可能發(fā)生中斷或發(fā)送方寫數據進程意外退出甚至宕機,此時接收方要根據異常情況做相應處理。通信異常處理參見4.3.4.7節(jié)。4.3.4.4 關閉連接的處理這里
34、規(guī)定的是銀聯處理中心或入網機構需要正常關閉一個連接時要做的處理。正常關閉一個socket連接需要經過四個步驟:圖21 關閉socket連接過程a) 當客戶方調用close()主動關閉socket,該方TCP發(fā)送FIN段給服務方,表示結束發(fā)送數據;b) 服務方TCP接收到FIN段后,進入被動關閉socket過程。服務方TCP收到FIN段后,會通知服務方的應用進程,read()調用會返回0;c) 服務方讀調用返回0后,調用close()關閉socket,服務方TCP會向客戶方TCP發(fā)送FIN段;d) 客戶方TCP收到FIN段后,返回應答。從以上過程可以知道,當連接的一方關閉socket后,另一方的
35、socket會得到通知。對于銀聯處理中心和入網機構的接收連接,通過read()調用返回值可以獲得該通知。對于發(fā)送連接,通過select()調用查詢本地socket是否接收到通知數據。若有通知數據到達,調用read(),若返回0表示對方socket已關閉。當銀聯處理中心或入網機構需要關閉一條發(fā)送連接時,先停止在該條連接上發(fā)送數據,然后調用close()關閉本地socket。接收方調用read()讀取數據,當調用返回0時,表明發(fā)送方socket已關閉,并調用close()關閉本地socket。此時,雙方完成連接的關閉。4.3.4.5 空閑連接處理對于單工通信方式,如果銀聯處理中心或入網機構一條發(fā)送
36、連接上超過2分鐘沒有發(fā)送報文數據,則向接收方發(fā)送“空閑連接查詢”控制報文。該報文不帶任何附加數據,并置報文長度域的值為零。銀聯處理中心或入網機構通信層收到這樣的報文后,直接丟棄該報文。圖22 空閑連接查詢報文格式如果接收方socket收到該控制報文,說明雙方連接正常,如果在3分鐘之內沒有收到對方的“空閑連接查詢”控制報文,則說明接收長連接已經中斷,需要關閉該連接socket,并且斷開發(fā)送長連接。如果連接中斷或接收方宕機、通信進程異外退出,發(fā)送方TCP會向本地socket返回相應的錯誤通知,發(fā)送方根據read()調用返回的錯誤信息做相應的異常處理,參見4.3.4.7節(jié)。如果接收方在接收連接上有3
37、分鐘未收到任何數據,此時,若入網機構作為接收方,則關閉該連接對,并重新向銀聯處理中心發(fā)起建立連接的請求;若銀聯處理中心作為接收方,則關閉該連接對,并恢復到偵聽狀態(tài),等待入網機構重新發(fā)起建立連接的請求。圖23 空閑連接處理示意圖對于雙工的通信方式,如果發(fā)送方或者接收方中有一方檢測到一條連接空閑超過2分鐘,則通過該連接向對端發(fā)送一次空閑測試報文;對端收到該報文后直接丟棄。如果在3分鐘之內沒收到對端的空閑連接測試報文或者交易報文,此時,若入網機構作為接收方,則關閉該條連接,并重新向銀聯處理中心發(fā)起建立連接的請求;若銀聯處理中心作為接收方,則關閉該連接,并恢復到偵聽狀態(tài),等待入網機構重新發(fā)起建立連接的
38、請求。4.3.4.6 流量控制銀聯處理中心連接各入網機構,各入網機構的報文都要經銀聯處理中心轉接。為了防止銀聯處理中心在交易高峰時段,因處理數據量過大導致系統(tǒng)性能下降甚至崩潰,需要在銀聯處理中心和入網機構之間做通信流量控制。TCP協議的窗口機制能夠協調通信雙方的數據收發(fā)速度,具有一定的流量控制作用。當接收方監(jiān)測到應用層消息隊列已滿或將滿時,通過“緩讀”的方法適當延長從接收連接上讀取數據的間隔,沒有被讀取的數據緩存在socket連接的緩沖區(qū)內。隨著緩沖區(qū)的數據增加,TCP協議的窗口機制會使發(fā)送方TCP減小數據發(fā)送量,未發(fā)送的數據緩存在發(fā)送方緩沖區(qū)內。當發(fā)送緩沖區(qū)滿時,發(fā)送方的發(fā)送進程會被系統(tǒng)核心
39、阻塞。接收方的系統(tǒng)處理能力恢復正常后,恢復從接收連接上讀取數據的間隔,接收緩沖區(qū)數據的減少通過TCP窗口機制使發(fā)送方TCP增大數據發(fā)送量,從而使發(fā)送緩沖區(qū)數據減少,被阻塞的發(fā)送進程恢復運行。銀聯處理中心除了通信層的流量控制機制外,在應用層上也做了流量的控制。當銀聯處理中心應用系統(tǒng)過忙時,銀聯處理中心通信網關在原始報文前加上新增報文頭后返回給入網機構,新增報文頭中的拒絕原因碼為系統(tǒng)忙。除銀聯處理中心進行流量控制以外,建議入網機構也需要有與之對應的流量控制策略。這樣在銀聯系統(tǒng)異常恢復以后,對于積壓的大量請求、應答或沖正交易應能夠及時處理?;诖?,建議入網機構在自身系統(tǒng)設計的TPS(每秒交易量)峰值
40、情況下,能夠處理的交易持續(xù)時間不低于30分鐘。4.3.4.7 通信異常處理銀聯處理中心和入網機構的通信連接跨越了廣域網,廣域網線路距離長、通信環(huán)境復雜,會產生各種通信異常的情況。為此,通信程序必須能夠及時檢測到通信異常的發(fā)生并做相應的處理,保證銀聯處理中心和入網機構聯機交易的正常進行。4.3.4.7.1 通信異常分析a) 接收方通信進程終止。圖24 接收方進程退出導致的通信異常通信進程終止的原因包括正常退出、因執(zhí)行出錯導致的異常退出、進程被系統(tǒng)管理員強行終止等。此時,接收方的socket可能被通信進程正常關閉,也可能未被正常關閉。在這種情況下,接收方TCP會向發(fā)送方TCP發(fā)送FIN段,發(fā)送方T
41、CP向本地socket發(fā)送通知。在發(fā)送方通過select()調用可以捕獲該通知,調用read()會返回結果0。如果發(fā)送方繼續(xù)向接收方發(fā)送數據,因為接收方socket已經關閉,接收方TCP會向發(fā)送方TCP發(fā)送RST段。發(fā)送方收到RST段后,若調用read(),則返回連接重置錯誤信息。若調用write(),則返回寫錯誤信息。需要說明的是,在Unix平臺上,當調用write()出錯后,系統(tǒng)會向通信進程發(fā)送SIGPIPE信號,而該信號默認行為將終止通信進程,故需要設置忽略該信號。b) 網絡中斷或接收方宕機。圖25 接收方宕機造成的通信異常圖26 網絡中斷造成的通信異常如果接收方宕機或網絡發(fā)生中斷,發(fā)送
42、方socket不會收到任何通知報文。發(fā)送方發(fā)送數據后,發(fā)送方TCP的重傳機制會試圖重復嘗試發(fā)送數據。如果約9分鐘后發(fā)送方TCP一直收不到應答,則返回錯誤信息,此后的讀寫調用都會出錯返回。read()調用會返回超時錯誤或主機不可達錯誤。c) 接收方宕機后重啟。圖27 接收方宕機重啟導致的通信異常如果接收方宕機后重啟,則接收方TCP不保留原來的連接信息。接收方宕機后,如果發(fā)送方沒有發(fā)送數據,則發(fā)送方不會知道接收方已宕機。在接收方重起后,發(fā)送方向接收方發(fā)送數據,則接收方TCP會向發(fā)送方TCP發(fā)送RST段,發(fā)送方隨后的讀寫調用都會出錯,read()調用會返回連接重置錯誤信息。d) 如果發(fā)送方通信進程終
43、止,則接收方read()調用會返回0。e) 如果發(fā)送方宕機或網絡中斷,接收方收不到任何通知。4.3.4.7.2 通信異常處理通信異常處理,此處假設發(fā)送方為入網機構,接收方為銀聯處理中心。4.3.4.7.2.1 連接中斷的處理發(fā)送方發(fā)送交易報文或空閑測試報文出錯,說明連接發(fā)生中斷,則關閉該連接,并主動向接收方重新發(fā)起連接請求。接收方收到對方的重新連接請求,接收該請求并關閉原來的連接。4.3.4.7.2.2 接收方接收進程異常終止的處理接收方接收進程意外退出會使發(fā)送方發(fā)送進程返回錯誤。發(fā)送方應關閉本地socket,重新向接收方發(fā)起連接請求。4.3.4.7.2.3 發(fā)送方發(fā)送進程異常終止的處理發(fā)送方
44、發(fā)送進程異常終止,接收方read()調用會返回0。接收方應關閉本地socket,等待接收發(fā)送方重新建立連接的請求。4.3.4.7.2.4 接收方宕機的處理如果接收方宕機且不能及時重起時,發(fā)送方在未超時前不會獲得任何異常 通知,這種情況與連接中斷情況類似,按連接中斷的異常情況處理。如果接收方通信主機在發(fā)送方超時前重起,發(fā)送方TCP會收到接收方TCP返回的RST段,發(fā)送方的寫調用將返回出錯信息。此時,發(fā)送方關閉本地socket,并向接收方請求重新建立連接。4.3.4.7.2.5 發(fā)送方宕機的處理接收方不能獲知發(fā)送方已宕機。如果發(fā)送方在5分鐘之內重新發(fā)起連接請求,接收方收到連接請求后重新建立連接,在合法性檢查通過之后
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度二手房買賣合同線上線下融合營銷服務合同4篇
- 二零二五年度石子購銷合同的驗收標準3篇
- 二零二五年科研課題合作研究合同5篇
- 2025版特色旅游線路導游人員勞動合同范本4篇
- 2025年度綠色建筑個人工程承包施工合同范本2篇
- 2025年食品代加工食品安全與品質提升協議3篇
- 2025年高精度設備維護與技術支持合同3篇
- 2025版事業(yè)單位教師崗位聘用合同續(xù)簽協議3篇
- 二零二五版文化創(chuàng)意產業(yè)園區(qū)勞務分包合同3篇
- 個性化離婚合同書范本(2024)版B版
- 2025-2030年中國陶瓷電容器行業(yè)運營狀況與發(fā)展前景分析報告
- 二零二五年倉儲配送中心物業(yè)管理與優(yōu)化升級合同3篇
- 2025屆廈門高三1月質檢期末聯考數學答案
- 音樂作品錄制許可
- 江蘇省無錫市2023-2024學年高三上學期期終教學質量調研測試語文試題(解析版)
- 拉薩市2025屆高三第一次聯考(一模)英語試卷(含答案解析)
- 開題報告:AIGC背景下大學英語教學設計重構研究
- 師德標兵先進事跡材料師德標兵個人主要事跡
- 連鎖商務酒店述職報告
- 《實踐論》(原文)毛澤東
- 第三單元名著導讀《紅星照耀中國》(公開課一等獎創(chuàng)新教學設計+說課稿)
評論
0/150
提交評論