![銀聯(lián)卡聯(lián)網(wǎng)聯(lián)合技術(shù)規(guī)范_第1頁](http://file3.renrendoc.com/fileroot_temp3/2022-4/21/257929b1-b9bf-4b13-82d6-501eb777be14/257929b1-b9bf-4b13-82d6-501eb777be141.gif)
![銀聯(lián)卡聯(lián)網(wǎng)聯(lián)合技術(shù)規(guī)范_第2頁](http://file3.renrendoc.com/fileroot_temp3/2022-4/21/257929b1-b9bf-4b13-82d6-501eb777be14/257929b1-b9bf-4b13-82d6-501eb777be142.gif)
![銀聯(lián)卡聯(lián)網(wǎng)聯(lián)合技術(shù)規(guī)范_第3頁](http://file3.renrendoc.com/fileroot_temp3/2022-4/21/257929b1-b9bf-4b13-82d6-501eb777be14/257929b1-b9bf-4b13-82d6-501eb777be143.gif)
![銀聯(lián)卡聯(lián)網(wǎng)聯(lián)合技術(shù)規(guī)范_第4頁](http://file3.renrendoc.com/fileroot_temp3/2022-4/21/257929b1-b9bf-4b13-82d6-501eb777be14/257929b1-b9bf-4b13-82d6-501eb777be144.gif)
![銀聯(lián)卡聯(lián)網(wǎng)聯(lián)合技術(shù)規(guī)范_第5頁](http://file3.renrendoc.com/fileroot_temp3/2022-4/21/257929b1-b9bf-4b13-82d6-501eb777be14/257929b1-b9bf-4b13-82d6-501eb777be145.gif)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、中國銀聯(lián)股份有限公司 發(fā)布2012-11-02實(shí)施2012-11-02發(fā)布中國銀聯(lián)銀行卡聯(lián)網(wǎng)聯(lián)合技術(shù)規(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中國銀聯(lián)股份有限公司企業(yè)標(biāo)準(zhǔn)目 次前 言II1 范圍12 銀聯(lián)網(wǎng)絡(luò)概述12.1 規(guī)范要求12.2 銀聯(lián)網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)12.3 入網(wǎng)機(jī)構(gòu)接入線路選擇13 網(wǎng)絡(luò)接口23.1 入網(wǎng)機(jī)構(gòu)的物理
2、接入方式23.2 接入設(shè)備要求34 通信接口協(xié)議44.1 概述44.2 通信配置54.3 協(xié)議定義12參考文獻(xiàn)22附錄A (資料性附錄) 入網(wǎng)機(jī)構(gòu)通訊線路數(shù)量計算原則23前 言本標(biāo)準(zhǔn)對中國銀聯(lián)跨行交易網(wǎng)絡(luò)中聯(lián)機(jī)交易與文件傳輸?shù)耐ㄐ沤涌趹?yīng)滿足的要求做了規(guī)定,包括通信鏈路的選擇、接入方式選擇、接入設(shè)備的要求和通信協(xié)議的規(guī)定。本標(biāo)準(zhǔn)由中國銀聯(lián)股份有限公司提出。本標(biāo)準(zhǔn)由中國銀聯(lián)股份有限公司制定。本標(biāo)準(zhǔn)起草單位:中國銀聯(lián)股份有限公司、國內(nèi)入網(wǎng)機(jī)構(gòu)。本標(biāo)準(zhǔn)主要起草人:戚躍民、郭銳、鄭澎、徐靜雯、李潔、吳金壇、王力斌、苗恒軒、萬高峰、陸爾東、蔣慧科、杜秉一、趙偉。中國銀聯(lián)銀行卡聯(lián)網(wǎng)聯(lián)合技術(shù)規(guī)范V2.1第5部
3、分 通信接口規(guī)范1 范圍本標(biāo)準(zhǔn)規(guī)定了中國銀聯(lián)跨行交易網(wǎng)絡(luò)中聯(lián)機(jī)交易與文件傳輸?shù)耐ㄐ沤涌趹?yīng)滿足的要求,包括通信鏈路的選擇、接入方式選擇、接入設(shè)備的要求和通信協(xié)議的規(guī)定。本標(biāo)準(zhǔn)適用于所有加入中國銀聯(lián)銀行卡信息交換網(wǎng)絡(luò)的入網(wǎng)機(jī)構(gòu)。2 銀聯(lián)網(wǎng)絡(luò)概述2.1 規(guī)范要求銀聯(lián)網(wǎng)絡(luò)要求穩(wěn)定可靠、結(jié)構(gòu)簡單、便于維護(hù)管理。入網(wǎng)機(jī)構(gòu)必須遵照本規(guī)范對網(wǎng)絡(luò)通信接口方面的要求,建設(shè)與銀聯(lián)網(wǎng)絡(luò)的接口,保障各入網(wǎng)機(jī)構(gòu)和銀聯(lián)網(wǎng)絡(luò)之間互聯(lián)互通,并提供銀行卡信息安全、穩(wěn)定、可靠的存取控制。2.2 銀聯(lián)網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)銀聯(lián)網(wǎng)絡(luò)是一個二層的網(wǎng)絡(luò)結(jié)構(gòu),其中的網(wǎng)絡(luò)節(jié)點(diǎn)按層次不同,可劃分為:核心節(jié)點(diǎn):上海信息中心/北京信息中心;骨干節(jié)點(diǎn):銀聯(lián)分公
4、司,如圖1所示。圖1 銀聯(lián)網(wǎng)絡(luò)結(jié)構(gòu)示意圖全國性的入網(wǎng)機(jī)構(gòu)與境內(nèi)的外資銀行,(如全國性的商業(yè)銀行總行、匯豐銀行境內(nèi)機(jī)構(gòu))直接與上海信息中心與北京信息中心連接,屬于直接接入機(jī)構(gòu)。間接接入機(jī)構(gòu),如當(dāng)?shù)剞r(nóng)村信用社或城市商業(yè)銀行,選擇當(dāng)?shù)劂y聯(lián)分公司接入銀聯(lián)網(wǎng)絡(luò);而全國性入網(wǎng)機(jī)構(gòu)在各地的分之機(jī)構(gòu)可選擇當(dāng)?shù)氐你y聯(lián)分公司接入,也可以采用總對總的方式,通過其全國性入網(wǎng)機(jī)構(gòu)接入銀聯(lián)網(wǎng)絡(luò)。2.3 入網(wǎng)機(jī)構(gòu)接入線路選擇2.3.1 直接接入機(jī)構(gòu)接入線路選擇根據(jù)目前運(yùn)營商的分布情況,電信主要服務(wù)中國南方地區(qū),而新聯(lián)通主要服務(wù)中國北方地區(qū),因此對于全國性入網(wǎng)直接接入機(jī)構(gòu)與境內(nèi)外資銀行的接入要求如下:采用電信的SDH線路與上
5、海信息中心互聯(lián),對于交易量大的機(jī)構(gòu)可采用MSTP的方式進(jìn)行接入。采用新聯(lián)通的SDH線路與北京信息中心互聯(lián),對于交易量大的機(jī)構(gòu)也可以采用MSTP的方式接入。2.3.2 間接接入機(jī)構(gòu)接入線路選擇銀聯(lián)分公司與間接接入機(jī)構(gòu)在通訊接入線路上的選擇視各地區(qū)具體情況確定,但每一個接入機(jī)構(gòu)都應(yīng)有主備通訊設(shè)備和主備通訊線路,并且主備線盡量選擇當(dāng)?shù)夭煌倪\(yùn)營商,防止通訊設(shè)備與線路的單點(diǎn)故障。3 網(wǎng)絡(luò)接口3.1 入網(wǎng)機(jī)構(gòu)的物理接入方式3.1.1 直接接入機(jī)構(gòu)接入方式對于全國性的入網(wǎng)機(jī)構(gòu)與境內(nèi)的外資銀行通過直接與上海信息中心、北京信息中心互聯(lián)的方式接入,并且選擇電信、新聯(lián)通運(yùn)營商的SDH或MSTP線路。如下圖:圖2
6、直接接入機(jī)構(gòu)接入方式 3.1.2 間接接入機(jī)構(gòu)接入方式間接接入機(jī)構(gòu),可采取就近接入方式,根據(jù)當(dāng)?shù)氐膶?shí)際情況選擇1-2家不同運(yùn)營商的專線接入當(dāng)?shù)氐你y聯(lián)分公司。如下圖:圖3 間接接入機(jī)構(gòu)接入方式對于上述兩種接入方式的說明如下:直接接入機(jī)構(gòu)須采用電信與新聯(lián)通的兩個不同的運(yùn)營商的SDH或MSTP線路與上海信息中心、北京信息中心互聯(lián)。間接接入機(jī)構(gòu)可以根據(jù)具體情況選用其他通信鏈路方式(建議使用SDH、MSTP線路),但必須滿足本規(guī)范中的使用兩條通信鏈路和備份鏈路的規(guī)定。正常情況下,兩條鏈路分別承載實(shí)時交易數(shù)據(jù)和非實(shí)時數(shù)據(jù),當(dāng)任何一條鏈路中斷時,另外一條中繼線路可以承載全部的數(shù)據(jù)。為了保證實(shí)時交易數(shù)據(jù)總是被
7、優(yōu)先處理,建議在路由器上對交易數(shù)據(jù)流使用LLQ的Qos策略。3.2 接入設(shè)備要求3.2.1 基本要求銀聯(lián)要求各入網(wǎng)機(jī)構(gòu)選擇路由器作為廣域網(wǎng)接入設(shè)備。路由器是廣域網(wǎng)(WAN)之間互連的關(guān)鍵設(shè)備。路由器支持不同的廣域網(wǎng)物理接口,能夠?qū)崿F(xiàn)負(fù)載平衡,阻止廣播風(fēng)暴,控制網(wǎng)絡(luò)流量以及提高系統(tǒng)容錯能力。3.2.2 設(shè)備接口要求3.2.2.1 物理接口入網(wǎng)機(jī)構(gòu)與銀聯(lián)網(wǎng)絡(luò)互連的廣域網(wǎng)設(shè)備應(yīng)支持下述接口:a) 高速同步串行接口b) G.703-E1接口c) 10Base-T和100Base-T接口3.2.2.2 互聯(lián)使用協(xié)議a) 互聯(lián)線路使用的封裝協(xié)議:HDCLPPPEthernetb) 互聯(lián)使用的路由協(xié)議: 靜
8、態(tài)路由常用動態(tài)路由協(xié)議c) 網(wǎng)絡(luò)管理/安全協(xié)議:SNMPTelnet Remote AccessAccess Lists (Routing)Debug CommandsPing CommandsSyslogEvent Logging3.2.3 網(wǎng)絡(luò)互聯(lián)與線路切換3.2.3.1 直接接入機(jī)構(gòu)的互聯(lián)與線路切換直接接入機(jī)構(gòu)采用浮動靜態(tài)路由或動態(tài)路由協(xié)議實(shí)現(xiàn)與上海信息中心或北京信息中心的互聯(lián)互通。在配置中確?;ヂ?lián)上海信息中心的線路為主用線路,當(dāng)該線路故障時,機(jī)構(gòu)路由能自動切換至與北京信息中心的備用線路上,而當(dāng)主用線路故障恢復(fù)后,路由又能自動回切至主用線路上。如下圖:3.2.3.2 間接接入機(jī)構(gòu)與銀聯(lián)分
9、公司的互聯(lián)與線路切換間接接入機(jī)構(gòu)與銀聯(lián)分公司采用浮動靜態(tài)路由實(shí)現(xiàn)互聯(lián)互通。當(dāng)主線中斷時,機(jī)構(gòu)的路由能自動切換至備線上,當(dāng)主線恢復(fù)時,路由能實(shí)現(xiàn)自動回切。如下圖:4 通信接口協(xié)議4.1 概述銀聯(lián)處理中心和入網(wǎng)機(jī)構(gòu)在物理通訊線路連通的基礎(chǔ)上,需要雙方建立一定的通信連接并制定相應(yīng)的通信控制協(xié)議,實(shí)現(xiàn)雙方之間聯(lián)機(jī)報文的處理和文件傳輸。銀聯(lián)處理中心和入網(wǎng)機(jī)構(gòu)應(yīng)根據(jù)實(shí)際的需要,在以下方面滿足通信的要求:a) 銀聯(lián)處理中心和入網(wǎng)機(jī)構(gòu)建立的通信連接方式;b) 雙方采用的通信協(xié)議;c) 雙方通信設(shè)備上運(yùn)行的通信軟件。4.1.1 通信連接的選擇在TCP/IP協(xié)議的基礎(chǔ)上,使用socket編程接口編寫通信程序。一個
10、socket連接由本地IP地址、端口號和遠(yuǎn)端IP地址、端口號唯一確定。圖4 socket連接示意圖銀聯(lián)處理中心和入網(wǎng)機(jī)構(gòu)建立的socket連接種類應(yīng)能滿足業(yè)務(wù)的處理要求。對于實(shí)時性要求高的聯(lián)機(jī)交易,銀聯(lián)處理中心和入網(wǎng)機(jī)構(gòu)建立的連接是長連接,銀聯(lián)處理中心將不再支持短連接的方式。對于實(shí)時性要求不高的文件傳輸,銀聯(lián)處理中心和入網(wǎng)機(jī)構(gòu)采用短連接的方式。4.1.2 協(xié)議和通信設(shè)備要求銀聯(lián)處理中心向入網(wǎng)機(jī)構(gòu)提供TCP/IP協(xié)議通信接口,與入網(wǎng)機(jī)構(gòu)的通信程序使用套接字(socket)技術(shù)編寫。在銀聯(lián)處理中心一側(cè),通信服務(wù)器上安裝有與入網(wǎng)機(jī)構(gòu)通信的socket通信軟件,該軟件提供的通信接口符合本規(guī)范的通信控制
11、協(xié)議。在入網(wǎng)機(jī)構(gòu)一側(cè),通信主機(jī)上也應(yīng)安裝有相應(yīng)的通信軟件,該通信程序也應(yīng)符合本規(guī)范規(guī)定的通信控制協(xié)議,實(shí)現(xiàn)與銀聯(lián)處理中心的通信。入網(wǎng)機(jī)構(gòu)路由器廣域網(wǎng)口應(yīng)對銀聯(lián)處理中心開放,使銀聯(lián)處理中心能夠通過簡單網(wǎng)絡(luò)管理協(xié)議或網(wǎng)絡(luò)連通測試等方法獲得與各入網(wǎng)機(jī)構(gòu)通信連通狀況的信息,便于銀聯(lián)處理中心對通信網(wǎng)絡(luò)進(jìn)行監(jiān)控和管理。4.2 通信配置4.2.1 IP地址和端口號配置各入網(wǎng)機(jī)構(gòu)接入銀聯(lián)網(wǎng)絡(luò)使用的IP地址由銀聯(lián)處理中心統(tǒng)一分配。入網(wǎng)機(jī)構(gòu)和銀聯(lián)處理中心通信所用的端口號由雙方各自決定。測試系統(tǒng)與生產(chǎn)系統(tǒng)使用不同的IP地址。4.2.1.1 聯(lián)機(jī)交易的IP地址和端口號配置銀聯(lián)處理中心使用多臺聯(lián)機(jī)交易通信服務(wù)器與一個入
12、網(wǎng)機(jī)構(gòu)通信,每臺通信服務(wù)器應(yīng)有一個IP地址。為了便于管理和配置以及提高系統(tǒng)的可用性,在每一個IP上,銀聯(lián)處理中心通過分配不同的端口號和入網(wǎng)機(jī)構(gòu)建立多條連接,每個端口號只能建立一條socket連接,如下圖所示。圖5 銀聯(lián)處理中心和入網(wǎng)機(jī)構(gòu)聯(lián)機(jī)交易連接示意圖在圖5中,IP1和IP2的port1和port2均用于和入網(wǎng)機(jī)構(gòu)1連接,port3和port4用于和入網(wǎng)機(jī)構(gòu)2連接。同樣,入網(wǎng)機(jī)構(gòu)也要為銀聯(lián)處理中心發(fā)起建立的每條連接指定不同的端口號,指定的端口號均應(yīng)介于1024與65535之間。4.2.1.2 文件傳輸?shù)腎P地址和端口號配置銀聯(lián)處理中心使用多臺文件服務(wù)器與入網(wǎng)機(jī)構(gòu)進(jìn)行文件傳輸。在分配給機(jī)構(gòu)的i
13、p上,銀聯(lián)處理中心給入網(wǎng)機(jī)構(gòu)指定建立連接的端口號,入網(wǎng)機(jī)構(gòu)也要為銀聯(lián)處理中心指定建立連接的相應(yīng)IP地址和端口號。圖6 銀聯(lián)處理中心和入網(wǎng)機(jī)構(gòu)文件傳輸連接示意圖4.2.1.3 IP地址和端口限制在聯(lián)機(jī)交易中,銀聯(lián)處理中心為每個入網(wǎng)機(jī)構(gòu)分配的聯(lián)機(jī)交易通信服務(wù)器或文件服務(wù)器的IP地址和端口號都已經(jīng)確定。為了便于管理和保障系統(tǒng)安全性,銀聯(lián)處理中心不允許入網(wǎng)機(jī)構(gòu)使用提供給其他入網(wǎng)機(jī)構(gòu)的IP地址和端口號。銀聯(lián)處理中心通信程序?qū)φ埱蠼⑦B接的遠(yuǎn)端IP地址做合法性檢查,如果是規(guī)定的IP地址則允許建立連接,否則拒絕連接。圖7 IP地址和端口限制示意圖4.2.2 連接數(shù)目和方式4.2.2.1 聯(lián)機(jī)交易的連接數(shù)目和
14、方式聯(lián)機(jī)交易采用長連接的方式。Socket連接建立后,除非發(fā)生異常中斷,否則雙方不再關(guān)閉連接,始終保持連通狀態(tài),雙方可以直接發(fā)送或接收數(shù)據(jù)。銀聯(lián)支持入網(wǎng)機(jī)構(gòu)采用單工和雙工兩種通訊方式的接入。4.2.2.1.1 單工方式單工方式是指一條連接只用于單方向的接收或發(fā)送。只用于發(fā)送交易報文的長連接稱為發(fā)送長連接,只用于接收交易報文的長連接稱為接收長連接。由一條發(fā)送長連接和一條接收長連接組成一個通訊連接對。對于單工方式本規(guī)范規(guī)定:(1)在一個連接對中,如果是入網(wǎng)機(jī)構(gòu)發(fā)現(xiàn)它的發(fā)送長連接中斷,則關(guān)閉連接對中的接收長連接,并向處理中心重新發(fā)起連接請求,重建連接對的網(wǎng)絡(luò)連接,重建時不能對其他連接對斷鏈重連。(2
15、)在一個連接對中,如果入網(wǎng)機(jī)構(gòu)檢測到,發(fā)送長連接或接收長連接已經(jīng)被中斷,則認(rèn)為該連接對已經(jīng)中斷,將關(guān)閉本連接對中的所有連接,并向處理中心發(fā)起連接請求。如果入網(wǎng)機(jī)構(gòu)檢測到3分鐘之內(nèi)在接收連接上沒有收到任何報文(包括空閑連接查詢報文),則認(rèn)為該接收連接已經(jīng)中斷,將關(guān)閉本連接對中的發(fā)送長連接,并向處理中心發(fā)起連接請求,重建該連接對的網(wǎng)絡(luò)連接,重建時不能對其他連接對斷鏈重連。(3)在一個連接對中,如果處理中心發(fā)現(xiàn)連接對中的發(fā)送長連接中斷,而相應(yīng)的接收長連接正常時,則處理中心首先關(guān)閉接收長連接,然后恢復(fù)到偵聽狀態(tài),等待入網(wǎng)機(jī)構(gòu)重新發(fā)起建立連接的請求。如果處理中心檢測到3分鐘之內(nèi)在接收連接上沒有收到任何報
16、文(包括空閑連接查詢報文),則認(rèn)為該接收連接已經(jīng)中斷,將關(guān)閉本連接對中的發(fā)送長連接,然后恢復(fù)到偵聽狀態(tài),等待入網(wǎng)機(jī)構(gòu)重新發(fā)起建立連接的請求。(4)只要處理中心接收到入網(wǎng)機(jī)構(gòu)建立發(fā)送長連接的請求,即使此時處理中心的發(fā)送長連接是正常的,也需要斷開當(dāng)前發(fā)送長連接,按照入網(wǎng)機(jī)構(gòu)請求重建新的發(fā)送長連接。圖8 聯(lián)機(jī)交易的連接示意圖入網(wǎng)機(jī)構(gòu)和銀聯(lián)處理中心建立的長連接數(shù)應(yīng)和入網(wǎng)機(jī)構(gòu)的交易量有關(guān)。銀聯(lián)處理中心提供二進(jìn)二出共四條單工長連接到八進(jìn)八出共十六條單工長連接的連接方式,入網(wǎng)機(jī)構(gòu)應(yīng)根據(jù)自己的交易量大小選擇其中之一。圖9 二進(jìn)二出單工長連接示意圖圖10 四進(jìn)四出單工長連接示意圖銀聯(lián)處理中心給每個入網(wǎng)機(jī)構(gòu)指定至
17、少兩臺通信服務(wù)器,因此入網(wǎng)機(jī)構(gòu)和銀聯(lián)處理中心的連接對必須是偶數(shù)的,每臺通信服務(wù)器上的連接數(shù)至少是一進(jìn)一出兩條單工長連接。六進(jìn)六出單工長連接和八進(jìn)八出單工長連接的示意圖均類似圖9和圖10。在系統(tǒng)運(yùn)行中,應(yīng)對具體的連接數(shù)目做參數(shù)化管理,可以根據(jù)入網(wǎng)機(jī)構(gòu)具體交易量大小情況做調(diào)整。4.2.2.1.2 雙工方式雙工方式是指一條連接既做為接收長連接又作為發(fā)送長連接,僅由一條連接就完成了接收和發(fā)送的功能。對于雙工方式本規(guī)范規(guī)定:(1)在雙工方式中,如果入網(wǎng)機(jī)構(gòu)檢測到,該連接已經(jīng)被中斷,則關(guān)閉本連接,并向處理中心發(fā)起連接請求,重建連接對的網(wǎng)絡(luò)連接。(2)如果入網(wǎng)機(jī)構(gòu)檢測到3分鐘之內(nèi)在連接上沒有收到任何報文(包
18、括空閑連接查詢報文),則認(rèn)為該連接已經(jīng)中斷,將關(guān)閉本連接對,并向處理中心發(fā)起連接請求,重建該連接對的網(wǎng)絡(luò)連接。(3)在雙工方式中,如果處理中心發(fā)現(xiàn)連接中斷,則處理中心將恢復(fù)到偵聽狀態(tài),等待入網(wǎng)機(jī)構(gòu)重新發(fā)起建立連接的請求。如果處理中心檢測到3分鐘之內(nèi)在連接上沒有收到任何報文(包括空閑連接查詢報文),則認(rèn)為該連接已經(jīng)中斷,將關(guān)閉本連接對,處理中心將恢復(fù)到偵聽狀態(tài),等待入網(wǎng)機(jī)構(gòu)重新發(fā)起建立連接的請求。(4)只要處理中心接收到了入網(wǎng)機(jī)構(gòu)建立連接的請求就應(yīng)該立刻響應(yīng)。圖11 聯(lián)機(jī)交易的連接示意圖入網(wǎng)機(jī)構(gòu)和處理中心建立的長連接數(shù)應(yīng)和入網(wǎng)機(jī)構(gòu)的交易量有關(guān)。處理中心提供兩條雙工長連接到八條雙工長連接的連接方式
19、,入網(wǎng)機(jī)構(gòu)應(yīng)根據(jù)自己的交易量大小選擇其中之一。處理中心給每個入網(wǎng)機(jī)構(gòu)指定至少兩臺通信服務(wù)器,因此入網(wǎng)機(jī)構(gòu)和銀聯(lián)處理中心的雙工長連接必須是偶數(shù)的,每臺通信服務(wù)器上的連接數(shù)至少是一條雙工長連接。在系統(tǒng)運(yùn)行中,應(yīng)對具體的連接數(shù)目做參數(shù)化管理,可以根據(jù)入網(wǎng)機(jī)構(gòu)具體交易量大小情況做調(diào)整。4.2.2.1.3 支持應(yīng)答報文原路返回應(yīng)答報文原路返回的含義是:支持在回送應(yīng)答報文時使用該交易請求報文上送時的線路進(jìn)行回送,機(jī)構(gòu)可以選擇是否要求CUPS對應(yīng)答報文原路返回。如果入網(wǎng)機(jī)構(gòu)沒有選擇開啟此功能,則入網(wǎng)機(jī)構(gòu)作為受理方上送的交易經(jīng)過CUPS處理后,將應(yīng)答報文發(fā)送給入網(wǎng)機(jī)構(gòu)時,將在入網(wǎng)機(jī)構(gòu)與CUPS已經(jīng)建立的通信線
20、路中任意選擇一條線路作為報文返回線路。如果入網(wǎng)機(jī)構(gòu)選擇開啟此功能,則入網(wǎng)機(jī)構(gòu)作為受理方上送的交易經(jīng)過CUPS處理后,將應(yīng)答報文發(fā)送給入網(wǎng)機(jī)構(gòu)時,將選擇入網(wǎng)機(jī)構(gòu)上送報文時的使用的線路作為報文返回線路。若在返回應(yīng)答時,發(fā)送請求時的線路與CUPS斷開,機(jī)構(gòu)可以選擇由CUPS將應(yīng)答報文通過其他工作正常的線路返回,機(jī)構(gòu)也可以選擇由CUPS丟棄此應(yīng)答報文。雖然真正含義上的原路返回為上文定義的內(nèi)容,但銀聯(lián)處理中心還支持更廣義的概念,能夠提供如下兩個粒度的原路返回功能:1、對機(jī)構(gòu)的通訊主機(jī),銀聯(lián)可提供通訊主機(jī)組管理,原路返回粒度可控制到該組。即,只通過該組內(nèi)的連接返回,但并不是發(fā)起請求的連接。這樣可以控制是返
21、回到同一個處理中心,還是返回到同一臺通訊主機(jī);2、對機(jī)構(gòu)的通訊主機(jī),銀聯(lián)還可提供單個IP管理,原路返回粒度可控制到該IP。即,只通過該IP中的連接返回,但并不是發(fā)起請求的連接。因此,銀聯(lián)處理中心是提供了更為廣義的“線路組原路返回”概念。即,交易應(yīng)答可以通過與交易請求上送線路在同一組的任一線路返回。線路分組的方法可以應(yīng)入網(wǎng)機(jī)構(gòu)的要求采取不同的策略(比如:入網(wǎng)機(jī)構(gòu)側(cè)屬于同一個中心/同一臺服務(wù)器/同一個IP的線路分在同一組)。4.2.2.2 文件傳輸?shù)倪B接數(shù)目和方式入網(wǎng)機(jī)構(gòu)和銀聯(lián)處理中心之間的文件傳輸不是實(shí)時性的聯(lián)機(jī)業(yè)務(wù),因此規(guī)定使用短連接的方式。雙方建立一條全雙工的連接,連接建立后,雙方在同一條連
22、接上收發(fā)請求和應(yīng)答。當(dāng)文件傳送完成后,雙方關(guān)閉連接。圖12 文件傳輸?shù)倪B接示意圖4.2.3 通信負(fù)載均衡銀聯(lián)處理中心和每個入網(wǎng)機(jī)構(gòu)建立多條連接不僅為了防止單點(diǎn)故障,還應(yīng)在多條通信連接上實(shí)現(xiàn)通信負(fù)載均衡。例如,銀聯(lián)處理中心通過兩條或四條發(fā)送連接向入網(wǎng)機(jī)構(gòu)發(fā)送報文時,可以采用簡單輪詢的方式,即從第一條發(fā)送連接開始路由,第一個報文從第一條發(fā)送連接發(fā)送,第二個報文從第二條發(fā)送連接發(fā)送,依次類推,到最后一個連接時再路由到第一條可用的發(fā)送連接。圖13 簡單輪詢方式除了簡單輪詢的方法,還可以通過監(jiān)測各通信服務(wù)器和各條連接的負(fù)載情況動態(tài)調(diào)整各條連接的路由選擇。通過將銀聯(lián)處理中心和入網(wǎng)機(jī)構(gòu)之間的通信負(fù)載合理的分
23、配到各條連接和各臺通信服務(wù)器上,可以防止出現(xiàn)某臺通信服務(wù)器上處理壓力過大的問題。4.2.4 Socket選項(xiàng)設(shè)置在利用socket技術(shù)編寫通信程序時,為了保證通信雙方可以正常通信,需要設(shè)置相關(guān)的選項(xiàng),其中有的選項(xiàng)是協(xié)議相關(guān)的。在不同的系統(tǒng)中,socket選項(xiàng)有不同的默認(rèn)值。這里只規(guī)定幾個主要的socket選項(xiàng)設(shè)置,其他選項(xiàng)均使用系統(tǒng)默認(rèn)值。a) 保持socket的“LINGER”選項(xiàng)為缺省狀態(tài),即“關(guān)閉”狀態(tài)。這個選項(xiàng)影響到使用TCP協(xié)議的socket關(guān)閉操作的行為。設(shè)置該選項(xiàng)為“關(guān)閉”狀態(tài),使socket關(guān)閉操作保持默認(rèn)行為,即close()函數(shù)調(diào)用立即返回,如果socket發(fā)送緩沖區(qū)中還有
24、數(shù)據(jù),則系統(tǒng)會發(fā)送這些數(shù)據(jù)。b) 設(shè)置socket的“REUSEADDR”為“打開”狀態(tài)。設(shè)置這個選項(xiàng)可以保證socket監(jiān)聽進(jìn)程在異常退出并重新啟動后,仍可以成功綁定到原監(jiān)聽端口。該選項(xiàng)主要用在監(jiān)聽socket連接請求的服務(wù)器端。c)設(shè)置socket的“KeepAlive”為“打開”狀態(tài),設(shè)置這個選項(xiàng)可以保證在socket連接沒有流量時,自動開始發(fā)送KeepAlive偵測包,偵測socket是否已經(jīng)斷開。4.3 協(xié)議定義4.3.1 參考資料有關(guān)TCP/IP協(xié)議的背景信息和協(xié)議定義可以參考以下文檔: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 協(xié)議定義范圍本節(jié)論述的通信控制協(xié)議以TCP/IP協(xié)議為基礎(chǔ),規(guī)定了銀聯(lián)處理中心和入網(wǎng)機(jī)構(gòu)之間建立多條socket連接的方式,雙方在多條連接上傳輸報文的方法以及通信異常的檢測和處理方法。4.3.3 基本規(guī)定4.3.3.1 數(shù)據(jù)編碼格式銀聯(lián)處理中心和入網(wǎng)機(jī)構(gòu)之間傳送的所有數(shù)據(jù)均是八位的二進(jìn)制數(shù)據(jù),沒有特殊含義字符和控制字符。4.3.3.2 通信接口和業(yè)務(wù)流程的無關(guān)性通信接口程序不對交易報文的類型作識別,不對報文內(nèi)容作處理。因此,業(yè)務(wù)流程上的任何變動對通信接口程序無影響,反之亦然。4.3.4 聯(lián)機(jī)交易控制協(xié)議4.3.4.1 建立連接4.3.4.1.1 連接建立過程銀聯(lián)處理中心和入網(wǎng)機(jī)構(gòu)在建立連
27、接時,采用的是clientserver方式。服務(wù)方監(jiān)聽客戶的連接請求,客戶方調(diào)用connect()發(fā)送連接請求,開始TCP的三步握手過程。雙方連接建立的過程如下:圖14 連接建立過程a) 服務(wù)方調(diào)用accept()準(zhǔn)備接收連接請求;b) 客戶方調(diào)用connect()發(fā)起連接請求,使客戶方的TCP發(fā)送同步數(shù)據(jù)段(SYN段)。服務(wù)方TCP收到后返回應(yīng)答(ACK段),同時發(fā)送自己的同步數(shù)據(jù)段??蛻舴絚onnect()調(diào)用返回;c) 客戶方TCP對服務(wù)方的同步數(shù)據(jù)段返回應(yīng)答,連接建立,服務(wù)方accept()調(diào)用返回。當(dāng)連接成功建立或發(fā)生錯誤時,客戶方的connect()調(diào)用返回??赡馨l(fā)生的錯誤有以下幾
28、種情況:a) 客戶方TCP在一定時間內(nèi)沒有收到SYN段的應(yīng)答,調(diào)用返回超時錯誤ETIMEDOUT。不同系統(tǒng)規(guī)定的超時時間從75秒到幾分鐘不等。b) 如果服務(wù)方TCP給客戶方TCP重置應(yīng)答RST,調(diào)用返回連接拒絕錯誤,說明在服務(wù)方?jīng)]有監(jiān)聽進(jìn)程運(yùn)行,或監(jiān)聽進(jìn)程已退出。c) 如果網(wǎng)絡(luò)中某路由器返回目的不可達(dá)的ICMP應(yīng)答,則客戶機(jī)系統(tǒng)會重發(fā)連接請求直到超時,此時調(diào)用返回主機(jī)不可達(dá)錯誤EHOSTUNREACH。Connect調(diào)用使客戶端TCP從CLOSED狀態(tài)轉(zhuǎn)變到SYN_SENT狀態(tài)。如果連接成功建立,則轉(zhuǎn)變到ESTABLISHED狀態(tài)。如果出錯,則socket不再可用,必須被關(guān)閉。圖15 sock
29、et連接建立狀態(tài)轉(zhuǎn)換圖4.3.4.1.2 連接建立時序?qū)τ趩喂し绞蕉?,在銀聯(lián)處理中心和入網(wǎng)機(jī)構(gòu)初始建立連接時,要求先由入網(wǎng)機(jī)構(gòu)發(fā)起連接請求。銀聯(lián)處理中心在監(jiān)聽端口監(jiān)聽入網(wǎng)機(jī)構(gòu)的連接請求,在接收到入網(wǎng)機(jī)構(gòu)的連接請求并通過合法性檢查后,根據(jù)入網(wǎng)機(jī)構(gòu)的IP地址和監(jiān)聽端口號向入網(wǎng)機(jī)構(gòu)發(fā)起連接請求,完成一進(jìn)一出兩條單工長連接的建立。在該連接對的建立過程中,銀聯(lián)處理中心將設(shè)置一進(jìn)一出兩條單工長連接建立的最長時間間隔參數(shù)值。如果中心建立好接收連接后,在最長1分鐘內(nèi)仍無法建立與機(jī)構(gòu)的發(fā)送連接,則中心主動斷開與該發(fā)送連接相對應(yīng)的接收連接,回復(fù)到偵聽狀態(tài),等待接收入網(wǎng)機(jī)構(gòu)重新建立連接的請求。建立其他連接的過程與
30、此相同。如果建立連接的過程超時或發(fā)生錯誤,則關(guān)閉本地socket后,重新建立連接。如果一條連接中斷需要重新建立,則應(yīng)按照4.2.2.1.1節(jié)描述分情況處理。下圖說明連接建立的時序:圖16 銀聯(lián)處理中心和入網(wǎng)機(jī)構(gòu)單工連接時序圖對于雙工方式而言,在銀聯(lián)處理中心和入網(wǎng)機(jī)構(gòu)初始建立連接時,要求先由入網(wǎng)機(jī)構(gòu)發(fā)起連接請求。銀聯(lián)處理中心在監(jiān)聽端口監(jiān)聽入網(wǎng)機(jī)構(gòu)的連接請求,在接收到入網(wǎng)機(jī)構(gòu)的連接請求并通過合法性檢查后,連接即告成功,完成了一條雙工長連接的建立。下圖說明連接建立的時序:圖17 銀聯(lián)處理中心和入網(wǎng)機(jī)構(gòu)雙工連接時序圖4.3.4.2 報文格式銀聯(lián)處理中心和入網(wǎng)機(jī)構(gòu)之間的交易報文封裝在IP數(shù)據(jù)包內(nèi),通過T
31、CP/IP協(xié)議傳送。每一個報文由四字節(jié)報文長度和報文數(shù)據(jù)構(gòu)成,如圖18所示。由于TCP數(shù)據(jù)是一個“流”的概念,報文邊界不易確定,因此在每個報文前提供四個字節(jié)的報文長度值,用來確定每個報文的長度。本規(guī)范規(guī)定報文最大長度不超過2048字節(jié)。報文數(shù)據(jù)格式可參見報文接口規(guī)范的說明。報文長度是四個字節(jié)的ASCII碼串,指明后面的報文數(shù)據(jù)的長度,但該長度不包括報文長度域本身的四個字節(jié)值。通過報文長度域,報文的接收方可以很容易確定每個交易報文的長度。報文長度報文數(shù)據(jù)描述長度(字節(jié))報文長度4報文數(shù)據(jù)不定長圖18 數(shù)據(jù)報文格式說明4.3.4.3 數(shù)據(jù)傳輸控制4.3.4.3.1 傳輸方式銀聯(lián)處理中心和入網(wǎng)機(jī)構(gòu)之
32、間的socket連接初始化過程完成后,雙方可開始報文交換。雙方采用異步傳輸方式傳輸交易報文,即一方發(fā)送一筆交易請求后,不必等待對方的應(yīng)答,可以接著發(fā)送下一筆交易請求。因?yàn)殂y聯(lián)處理中心和入網(wǎng)機(jī)構(gòu)存在多條socket連接,應(yīng)答報文從哪條連接返回不確定。對此,應(yīng)用層上的業(yè)務(wù)處理流程必須加以判斷處理。發(fā)送方發(fā)送一個交易請求后,由于通信鏈路中斷或其他通信異常情況的發(fā)生,發(fā)送方將不能確保接收方一定能夠收到報文數(shù)據(jù)。在通信異常情況下,發(fā)送方多表現(xiàn)為發(fā)送數(shù)據(jù)超時,因此在應(yīng)用層的業(yè)務(wù)流程上要有相應(yīng)的超時控制。4.3.4.3.2 報文發(fā)送和接收報文發(fā)送一方發(fā)送報文數(shù)據(jù),調(diào)用write()返回后,準(zhǔn)備下一筆報文數(shù)據(jù)
33、的發(fā)送。報文接收一方調(diào)用read()接收報文,當(dāng)有報文數(shù)據(jù)到達(dá)后讀調(diào)用返回。圖19 報文發(fā)送和接收示意圖接收方在讀取數(shù)據(jù)時,應(yīng)按照長度加報文再長度加報文的方式,先讀取四個字節(jié)的長度,用于確定報文的實(shí)際長度,再按實(shí)際報文長度值讀取其后的報文數(shù)據(jù)。如果接收方一次讀取沒有接收到完整的報文,必須再次讀取直到接收到規(guī)定長度的報文數(shù)據(jù)。發(fā)送方發(fā)送報文時,先在報文前加上四個字節(jié)的報文長度值再與報文一起發(fā)送。圖20 報文流示意圖接收方在讀取數(shù)據(jù)的過程中,網(wǎng)絡(luò)有可能發(fā)生中斷或發(fā)送方寫數(shù)據(jù)進(jìn)程意外退出甚至宕機(jī),此時接收方要根據(jù)異常情況做相應(yīng)處理。通信異常處理參見4.3.4.7節(jié)。4.3.4.4 關(guān)閉連接的處理這里
34、規(guī)定的是銀聯(lián)處理中心或入網(wǎng)機(jī)構(gòu)需要正常關(guān)閉一個連接時要做的處理。正常關(guān)閉一個socket連接需要經(jīng)過四個步驟:圖21 關(guān)閉socket連接過程a) 當(dāng)客戶方調(diào)用close()主動關(guān)閉socket,該方TCP發(fā)送FIN段給服務(wù)方,表示結(jié)束發(fā)送數(shù)據(jù);b) 服務(wù)方TCP接收到FIN段后,進(jìn)入被動關(guān)閉socket過程。服務(wù)方TCP收到FIN段后,會通知服務(wù)方的應(yīng)用進(jìn)程,read()調(diào)用會返回0;c) 服務(wù)方讀調(diào)用返回0后,調(diào)用close()關(guān)閉socket,服務(wù)方TCP會向客戶方TCP發(fā)送FIN段;d) 客戶方TCP收到FIN段后,返回應(yīng)答。從以上過程可以知道,當(dāng)連接的一方關(guān)閉socket后,另一方的
35、socket會得到通知。對于銀聯(lián)處理中心和入網(wǎng)機(jī)構(gòu)的接收連接,通過read()調(diào)用返回值可以獲得該通知。對于發(fā)送連接,通過select()調(diào)用查詢本地socket是否接收到通知數(shù)據(jù)。若有通知數(shù)據(jù)到達(dá),調(diào)用read(),若返回0表示對方socket已關(guān)閉。當(dāng)銀聯(lián)處理中心或入網(wǎng)機(jī)構(gòu)需要關(guān)閉一條發(fā)送連接時,先停止在該條連接上發(fā)送數(shù)據(jù),然后調(diào)用close()關(guān)閉本地socket。接收方調(diào)用read()讀取數(shù)據(jù),當(dāng)調(diào)用返回0時,表明發(fā)送方socket已關(guān)閉,并調(diào)用close()關(guān)閉本地socket。此時,雙方完成連接的關(guān)閉。4.3.4.5 空閑連接處理對于單工通信方式,如果銀聯(lián)處理中心或入網(wǎng)機(jī)構(gòu)一條發(fā)送
36、連接上超過2分鐘沒有發(fā)送報文數(shù)據(jù),則向接收方發(fā)送“空閑連接查詢”控制報文。該報文不帶任何附加數(shù)據(jù),并置報文長度域的值為零。銀聯(lián)處理中心或入網(wǎng)機(jī)構(gòu)通信層收到這樣的報文后,直接丟棄該報文。圖22 空閑連接查詢報文格式如果接收方socket收到該控制報文,說明雙方連接正常,如果在3分鐘之內(nèi)沒有收到對方的“空閑連接查詢”控制報文,則說明接收長連接已經(jīng)中斷,需要關(guān)閉該連接socket,并且斷開發(fā)送長連接。如果連接中斷或接收方宕機(jī)、通信進(jìn)程異外退出,發(fā)送方TCP會向本地socket返回相應(yīng)的錯誤通知,發(fā)送方根據(jù)read()調(diào)用返回的錯誤信息做相應(yīng)的異常處理,參見4.3.4.7節(jié)。如果接收方在接收連接上有3
37、分鐘未收到任何數(shù)據(jù),此時,若入網(wǎng)機(jī)構(gòu)作為接收方,則關(guān)閉該連接對,并重新向銀聯(lián)處理中心發(fā)起建立連接的請求;若銀聯(lián)處理中心作為接收方,則關(guān)閉該連接對,并恢復(fù)到偵聽狀態(tài),等待入網(wǎng)機(jī)構(gòu)重新發(fā)起建立連接的請求。圖23 空閑連接處理示意圖對于雙工的通信方式,如果發(fā)送方或者接收方中有一方檢測到一條連接空閑超過2分鐘,則通過該連接向?qū)Χ税l(fā)送一次空閑測試報文;對端收到該報文后直接丟棄。如果在3分鐘之內(nèi)沒收到對端的空閑連接測試報文或者交易報文,此時,若入網(wǎng)機(jī)構(gòu)作為接收方,則關(guān)閉該條連接,并重新向銀聯(lián)處理中心發(fā)起建立連接的請求;若銀聯(lián)處理中心作為接收方,則關(guān)閉該連接,并恢復(fù)到偵聽狀態(tài),等待入網(wǎng)機(jī)構(gòu)重新發(fā)起建立連接的
38、請求。4.3.4.6 流量控制銀聯(lián)處理中心連接各入網(wǎng)機(jī)構(gòu),各入網(wǎng)機(jī)構(gòu)的報文都要經(jīng)銀聯(lián)處理中心轉(zhuǎn)接。為了防止銀聯(lián)處理中心在交易高峰時段,因處理數(shù)據(jù)量過大導(dǎo)致系統(tǒng)性能下降甚至崩潰,需要在銀聯(lián)處理中心和入網(wǎng)機(jī)構(gòu)之間做通信流量控制。TCP協(xié)議的窗口機(jī)制能夠協(xié)調(diào)通信雙方的數(shù)據(jù)收發(fā)速度,具有一定的流量控制作用。當(dāng)接收方監(jiān)測到應(yīng)用層消息隊(duì)列已滿或?qū)M時,通過“緩讀”的方法適當(dāng)延長從接收連接上讀取數(shù)據(jù)的間隔,沒有被讀取的數(shù)據(jù)緩存在socket連接的緩沖區(qū)內(nèi)。隨著緩沖區(qū)的數(shù)據(jù)增加,TCP協(xié)議的窗口機(jī)制會使發(fā)送方TCP減小數(shù)據(jù)發(fā)送量,未發(fā)送的數(shù)據(jù)緩存在發(fā)送方緩沖區(qū)內(nèi)。當(dāng)發(fā)送緩沖區(qū)滿時,發(fā)送方的發(fā)送進(jìn)程會被系統(tǒng)核心
39、阻塞。接收方的系統(tǒng)處理能力恢復(fù)正常后,恢復(fù)從接收連接上讀取數(shù)據(jù)的間隔,接收緩沖區(qū)數(shù)據(jù)的減少通過TCP窗口機(jī)制使發(fā)送方TCP增大數(shù)據(jù)發(fā)送量,從而使發(fā)送緩沖區(qū)數(shù)據(jù)減少,被阻塞的發(fā)送進(jìn)程恢復(fù)運(yùn)行。銀聯(lián)處理中心除了通信層的流量控制機(jī)制外,在應(yīng)用層上也做了流量的控制。當(dāng)銀聯(lián)處理中心應(yīng)用系統(tǒng)過忙時,銀聯(lián)處理中心通信網(wǎng)關(guān)在原始報文前加上新增報文頭后返回給入網(wǎng)機(jī)構(gòu),新增報文頭中的拒絕原因碼為系統(tǒng)忙。除銀聯(lián)處理中心進(jìn)行流量控制以外,建議入網(wǎng)機(jī)構(gòu)也需要有與之對應(yīng)的流量控制策略。這樣在銀聯(lián)系統(tǒng)異常恢復(fù)以后,對于積壓的大量請求、應(yīng)答或沖正交易應(yīng)能夠及時處理?;诖?,建議入網(wǎng)機(jī)構(gòu)在自身系統(tǒng)設(shè)計的TPS(每秒交易量)峰值
40、情況下,能夠處理的交易持續(xù)時間不低于30分鐘。4.3.4.7 通信異常處理銀聯(lián)處理中心和入網(wǎng)機(jī)構(gòu)的通信連接跨越了廣域網(wǎng),廣域網(wǎng)線路距離長、通信環(huán)境復(fù)雜,會產(chǎn)生各種通信異常的情況。為此,通信程序必須能夠及時檢測到通信異常的發(fā)生并做相應(yīng)的處理,保證銀聯(lián)處理中心和入網(wǎng)機(jī)構(gòu)聯(lián)機(jī)交易的正常進(jìn)行。4.3.4.7.1 通信異常分析a) 接收方通信進(jìn)程終止。圖24 接收方進(jìn)程退出導(dǎo)致的通信異常通信進(jìn)程終止的原因包括正常退出、因執(zhí)行出錯導(dǎo)致的異常退出、進(jìn)程被系統(tǒng)管理員強(qiáng)行終止等。此時,接收方的socket可能被通信進(jìn)程正常關(guān)閉,也可能未被正常關(guān)閉。在這種情況下,接收方TCP會向發(fā)送方TCP發(fā)送FIN段,發(fā)送方T
41、CP向本地socket發(fā)送通知。在發(fā)送方通過select()調(diào)用可以捕獲該通知,調(diào)用read()會返回結(jié)果0。如果發(fā)送方繼續(xù)向接收方發(fā)送數(shù)據(jù),因?yàn)榻邮辗絪ocket已經(jīng)關(guān)閉,接收方TCP會向發(fā)送方TCP發(fā)送RST段。發(fā)送方收到RST段后,若調(diào)用read(),則返回連接重置錯誤信息。若調(diào)用write(),則返回寫錯誤信息。需要說明的是,在Unix平臺上,當(dāng)調(diào)用write()出錯后,系統(tǒng)會向通信進(jìn)程發(fā)送SIGPIPE信號,而該信號默認(rèn)行為將終止通信進(jìn)程,故需要設(shè)置忽略該信號。b) 網(wǎng)絡(luò)中斷或接收方宕機(jī)。圖25 接收方宕機(jī)造成的通信異常圖26 網(wǎng)絡(luò)中斷造成的通信異常如果接收方宕機(jī)或網(wǎng)絡(luò)發(fā)生中斷,發(fā)送
42、方socket不會收到任何通知報文。發(fā)送方發(fā)送數(shù)據(jù)后,發(fā)送方TCP的重傳機(jī)制會試圖重復(fù)嘗試發(fā)送數(shù)據(jù)。如果約9分鐘后發(fā)送方TCP一直收不到應(yīng)答,則返回錯誤信息,此后的讀寫調(diào)用都會出錯返回。read()調(diào)用會返回超時錯誤或主機(jī)不可達(dá)錯誤。c) 接收方宕機(jī)后重啟。圖27 接收方宕機(jī)重啟導(dǎo)致的通信異常如果接收方宕機(jī)后重啟,則接收方TCP不保留原來的連接信息。接收方宕機(jī)后,如果發(fā)送方?jīng)]有發(fā)送數(shù)據(jù),則發(fā)送方不會知道接收方已宕機(jī)。在接收方重起后,發(fā)送方向接收方發(fā)送數(shù)據(jù),則接收方TCP會向發(fā)送方TCP發(fā)送RST段,發(fā)送方隨后的讀寫調(diào)用都會出錯,read()調(diào)用會返回連接重置錯誤信息。d) 如果發(fā)送方通信進(jìn)程終
43、止,則接收方read()調(diào)用會返回0。e) 如果發(fā)送方宕機(jī)或網(wǎng)絡(luò)中斷,接收方收不到任何通知。4.3.4.7.2 通信異常處理通信異常處理,此處假設(shè)發(fā)送方為入網(wǎng)機(jī)構(gòu),接收方為銀聯(lián)處理中心。4.3.4.7.2.1 連接中斷的處理發(fā)送方發(fā)送交易報文或空閑測試報文出錯,說明連接發(fā)生中斷,則關(guān)閉該連接,并主動向接收方重新發(fā)起連接請求。接收方收到對方的重新連接請求,接收該請求并關(guān)閉原來的連接。4.3.4.7.2.2 接收方接收進(jìn)程異常終止的處理接收方接收進(jìn)程意外退出會使發(fā)送方發(fā)送進(jìn)程返回錯誤。發(fā)送方應(yīng)關(guān)閉本地socket,重新向接收方發(fā)起連接請求。4.3.4.7.2.3 發(fā)送方發(fā)送進(jìn)程異常終止的處理發(fā)送方
44、發(fā)送進(jìn)程異常終止,接收方read()調(diào)用會返回0。接收方應(yīng)關(guān)閉本地socket,等待接收發(fā)送方重新建立連接的請求。4.3.4.7.2.4 接收方宕機(jī)的處理如果接收方宕機(jī)且不能及時重起時,發(fā)送方在未超時前不會獲得任何異常 通知,這種情況與連接中斷情況類似,按連接中斷的異常情況處理。如果接收方通信主機(jī)在發(fā)送方超時前重起,發(fā)送方TCP會收到接收方TCP返回的RST段,發(fā)送方的寫調(diào)用將返回出錯信息。此時,發(fā)送方關(guān)閉本地socket,并向接收方請求重新建立連接。4.3.4.7.2.5 發(fā)送方宕機(jī)的處理接收方不能獲知發(fā)送方已宕機(jī)。如果發(fā)送方在5分鐘之內(nèi)重新發(fā)起連接請求,接收方收到連接請求后重新建立連接,在合法性檢查通過之后
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五年度戰(zhàn)略合作伙伴副總經(jīng)理聘用服務(wù)合同
- 二零二五年度私人倉儲物流園區(qū)道路租賃與管理合同
- 2025年度離婚房產(chǎn)贈與協(xié)議書及子女撫養(yǎng)費(fèi)支付合同
- 2025生物柴油供應(yīng)合同協(xié)議書
- 2025婚紗攝影服務(wù)合同書范本
- 2025個人民間借款合同
- 2025防水施工承包合同
- 2025廣州塔部分氣體滅火系統(tǒng)檢測、瓶組充裝項(xiàng)目合同
- 2025工業(yè)企業(yè)廠房租賃管理合同(參考樣板)
- 2025關(guān)于教育經(jīng)紀(jì)合同
- 銅礦隱蔽致災(zāi)普查治理工作計劃
- 《民航安全檢查(安檢技能實(shí)操)》課件-第一章 民航安全檢查員職業(yè)道德
- 學(xué)校食品安全教育學(xué)習(xí)活動食品安全講座課件
- DB34T4826-2024畜禽養(yǎng)殖業(yè)污染防治技術(shù)規(guī)范
- 腰麻課件教學(xué)課件
- 石油化工企業(yè)環(huán)境保護(hù)管理制度預(yù)案
- 2024年甘肅省高考?xì)v史試卷(含答案解析)
- 2024年山東省煙臺市初中學(xué)業(yè)水平考試地理試卷含答案
- 抗腫瘤治療所致惡心嘔吐護(hù)理
- 2024年廣東省中考地理試題(含解析)
- 西安經(jīng)濟(jì)技術(shù)開發(fā)區(qū)管委會招聘考試真題
評論
0/150
提交評論