- 1.54 MB
- 28页
- 1、本文档共5页,可阅读全部内容。
- 2、本文档内容版权归属内容提供方,所产生的收益全部归内容提供方所有。如果您对本文有版权争议,可选择认领,认领后既往收益都归您。
- 3、本文档由用户上传,本站不保证质量和数量令人满意,可能有诸多瑕疵,付费之前,请仔细先通过免费阅读内容等途径辨别内容交易风险。如存在严重挂羊头卖狗肉之情形,可联系本站下载客服投诉处理。
- 文档侵权举报电话:19940600175。
'Q/CUP001.5—2004中国银联股份有限公司发布2011-06-16实施2011-06-16发布中国银联银行卡联网联合技术规范V2.1第5部分通信接口规范TechnicalSpecificationsonBankcardInteroperabilityV2.1Part5SpecificationonCommunicationInterfaceQ/CUP006.5—2011代替Q/CUP006.5—2010Q/CUP中国银联股份有限公司企业标准1
Q/CUP006.5—2011目次前言II1范围12银联网络概述12.1规范要求12.2银联网络拓扑结构12.3入网机构接入线路选择13网络接口23.1入网机构的物理接入方式23.2接入设备要求34通信接口协议44.1概述44.2通信配置54.3协议定义12参考文献22附 录 A(资料性附录)入网机构通讯线路数量计算原则2321
Q/CUP006.5—2011前言本标准对中国银联跨行交易网络中联机交易与文件传输的通信接口应满足的要求做了规定,包括通信链路的选择、接入方式选择、接入设备的要求和通信协议的规定。本标准由中国银联股份有限公司提出。本标准由中国银联股份有限公司制定。本标准起草单位:中国银联股份有限公司、国内入网机构。本标准主要起草人:戚跃民、郭锐、郑澎、徐静雯、李洁、吴金坛、王力斌、苗恒轩、万高峰、陆尔东、蒋慧科、杜秉一、赵伟。21
Q/CUP006.5—2011中国银联银行卡联网联合技术规范V2.1第5部分通信接口规范1 范围本标准规定了中国银联跨行交易网络中联机交易与文件传输的通信接口应满足的要求,包括通信链路的选择、接入方式选择、接入设备的要求和通信协议的规定。本标准适用于所有加入中国银联银行卡信息交换网络的入网机构。2 银联网络概述2.1 规范要求银联网络要求稳定可靠、结构简单、便于维护管理。入网机构必须遵照本规范对网络通信接口方面的要求,建设与银联网络的接口,保障各入网机构和银联网络之间互联互通,并提供银行卡信息安全、稳定、可靠的存取控制。2.2 银联网络拓扑结构银联网络是一个二层的网络结构,其中的网络节点按层次不同,可划分为:核心节点:上海信息中心/北京信息中心;骨干节点:银联分公司,如图1 所示。图1 银联网络结构示意图全国性的入网机构与境内的外资银行,(如全国性的商业银行总行、汇丰银行境内机构)直接与上海信息中心与北京信息中心连接,属于直接接入机构。间接接入机构,如当地农村信用社或城市商业银行,选择当地银联分公司接入银联网络;而全国性入网机构在各地的分之机构可选择当地的银联分公司接入,也可以采用总对总的方式,通过其全国性入网机构接入银联网络。2.3 入网机构接入线路选择2.3.1 直接接入机构接入线路选择根据目前运营商的分布情况,电信主要服务中国南方地区,而新联通主要服务中国北方地区,因此对于全国性入网直接接入机构与境内外资银行的接入要求如下:采用电信的SDH线路与上海信息中心互联,对于交易量大的机构可采用MSTP的方式进行接入。21
Q/CUP006.5—2011采用新联通的SDH线路与北京信息中心互联,对于交易量大的机构也可以采用MSTP的方式接入。1.1.1 间接接入机构接入线路选择银联分公司与间接接入机构在通讯接入线路上的选择视各地区具体情况确定,但每一个接入机构都应有主备通讯设备和主备通讯线路,并且主备线尽量选择当地不同的运营商,防止通讯设备与线路的单点故障。2 网络接口2.1 入网机构的物理接入方式2.1.1 直接接入机构接入方式对于全国性的入网机构与境内的外资银行通过直接与上海信息中心、北京信息中心互联的方式接入,并且选择电信、新联通运营商的SDH或MSTP线路。如下图:图1 直接接入机构接入方式2.1.2 间接接入机构接入方式间接接入机构,可采取就近接入方式,根据当地的实际情况选择1-2家不同运营商的专线接入当地的银联分公司。如下图:图2 间接接入机构接入方式21
Q/CUP006.5—2011对于上述两种接入方式的说明如下:直接接入机构须采用电信与新联通的两个不同的运营商的SDH或MSTP线路与上海信息中心、北京信息中心互联。间接接入机构可以根据具体情况选用其他通信链路方式(建议使用SDH、MSTP线路),但必须满足本规范中的使用两条通信链路和备份链路的规定。正常情况下,两条链路分别承载实时交易数据和非实时数据,当任何一条链路中断时,另外一条中继线路可以承载全部的数据。为了保证实时交易数据总是被优先处理,建议在路由器上对交易数据流使用LLQ的Qos策略。1.1 接入设备要求1.1.1 基本要求银联要求各入网机构选择路由器作为广域网接入设备。路由器是广域网(WAN)之间互连的关键设备。路由器支持不同的广域网物理接口,能够实现负载平衡,阻止广播风暴,控制网络流量以及提高系统容错能力。1.1.2 设备接口要求1.1.2.1 物理接口入网机构与银联网络互连的广域网设备应支持下述接口:a)高速同步串行接口b)G.703-E1接口c)10Base-T和100Base-T接口1.1.2.2 互联使用协议a)互联线路使用的封装协议:HDCLPPPEthernetb)互联使用的路由协议:静态路由常用动态路由协议c)网络管理/安全协议:SNMPTelnetRemoteAccessAccessLists(Routing)DebugCommandsPingCommandsSyslogEventLogging1.1.3 网络互联与线路切换1.1.3.1 直接接入机构的互联与线路切换直接接入机构采用浮动静态路由或动态路由协议实现与上海信息中心或北京信息中心的互联互通。在配置中确保互联上海信息中心的线路为主用线路,当该线路故障时,机构路由能自动切换至与北京信息中心的备用线路上,而当主用线路故障恢复后,路由又能自动回切至主用线路上。如下图:21
Q/CUP006.5—20111.1.1.1 间接接入机构与银联分公司的互联与线路切换间接接入机构与银联分公司采用浮动静态路由实现互联互通。当主线中断时,机构的路由能自动切换至备线上,当主线恢复时,路由能实现自动回切。如下图:2 通信接口协议2.1 概述银联处理中心和入网机构在物理通讯线路连通的基础上,需要双方建立一定的通信连接并制定相应的通信控制协议,实现双方之间联机报文的处理和文件传输。银联处理中心和入网机构应根据实际的需要,在以下方面满足通信的要求:a)银联处理中心和入网机构建立的通信连接方式;b)双方采用的通信协议;c)双方通信设备上运行的通信软件。21
Q/CUP006.5—20111.1.1 通信连接的选择在TCP/IP协议的基础上,使用socket编程接口编写通信程序。一个socket连接由本地IP地址、端口号和远端IP地址、端口号唯一确定。图1 socket连接示意图银联处理中心和入网机构建立的socket连接种类应能满足业务的处理要求。对于实时性要求高的联机交易,银联处理中心和入网机构建立的连接是长连接,银联处理中心将不再支持短连接的方式。对于实时性要求不高的文件传输,银联处理中心和入网机构采用短连接的方式。1.1.2 协议和通信设备要求银联处理中心向入网机构提供TCP/IP协议通信接口,与入网机构的通信程序使用套接字(socket)技术编写。在银联处理中心一侧,通信服务器上安装有与入网机构通信的socket通信软件,该软件提供的通信接口符合本规范的通信控制协议。在入网机构一侧,通信主机上也应安装有相应的通信软件,该通信程序也应符合本规范规定的通信控制协议,实现与银联处理中心的通信。入网机构路由器广域网口应对银联处理中心开放,使银联处理中心能够通过简单网络管理协议或网络连通测试等方法获得与各入网机构通信连通状况的信息,便于银联处理中心对通信网络进行监控和管理。1.2 通信配置1.2.1 IP地址和端口号配置各入网机构接入银联网络使用的IP地址由银联处理中心统一分配。入网机构和银联处理中心通信所用的端口号由双方各自决定。测试系统与生产系统使用不同的IP地址。1.2.1.1 联机交易的IP地址和端口号配置银联处理中心使用多台联机交易通信服务器与一个入网机构通信,每台通信服务器应有一个IP地址。为了便于管理和配置以及提高系统的可用性,在每一个IP上,银联处理中心通过分配不同的端口号和入网机构建立多条连接,每个端口号只能建立一条socket连接,如下图所示。21
Q/CUP006.5—2011图1 银联处理中心和入网机构联机交易连接示意图在图5 中,IP1和IP2的port1和port2均用于和入网机构1连接,port3和port4用于和入网机构2连接。同样,入网机构也要为银联处理中心发起建立的每条连接指定不同的端口号,指定的端口号均应介于1024与65535之间。1.1.1.1 文件传输的IP地址和端口号配置银联处理中心使用多台文件服务器与入网机构进行文件传输。在分配给机构的ip上,银联处理中心给入网机构指定建立连接的端口号,入网机构也要为银联处理中心指定建立连接的相应IP地址和端口号。图2 银联处理中心和入网机构文件传输连接示意图1.1.1.2 IP地址和端口限制21
Q/CUP006.5—2011在联机交易中,银联处理中心为每个入网机构分配的联机交易通信服务器或文件服务器的IP地址和端口号都已经确定。为了便于管理和保障系统安全性,银联处理中心不允许入网机构使用提供给其他入网机构的IP地址和端口号。银联处理中心通信程序对请求建立连接的远端IP地址做合法性检查,如果是规定的IP地址则允许建立连接,否则拒绝连接。图1 IP地址和端口限制示意图1.1.1 连接数目和方式1.1.1.1 联机交易的连接数目和方式联机交易采用长连接的方式。Socket连接建立后,除非发生异常中断,否则双方不再关闭连接,始终保持连通状态,双方可以直接发送或接收数据。银联支持入网机构采用单工和双工两种通讯方式的接入。1.1.1.1.1 单工方式单工方式是指一条连接只用于单方向的接收或发送。只用于发送交易报文的长连接称为发送长连接,只用于接收交易报文的长连接称为接收长连接。由一条发送长连接和一条接收长连接组成一个通讯连接对。对于单工方式本规范规定:(1)在一个连接对中,如果是入网机构发现它的发送长连接中断,则关闭连接对中的接收长连接,并向处理中心重新发起连接请求,重建连接对的网络连接。(2)在一个连接对中,如果入网机构检测到,发送长连接或接收长连接已经被中断,则认为该连接对已经中断,将关闭本连接对中的所有连接,并向处理中心发起连接请求。如果入网机构检测到3分钟之内在接收连接上没有收到任何报文(包括空闲连接查询报文),则认为该接收连接已经中断,将关闭本连接对中的发送长连接,并向处理中心发起连接请求,重建该连接对的网络连接。21
Q/CUP006.5—2011(3)在一个连接对中,如果处理中心发现连接对中的发送长连接中断,而相应的接收长连接正常时,则处理中心首先关闭接收长连接,然后恢复到侦听状态,等待入网机构重新发起建立连接的请求。如果处理中心检测到3分钟之内在接收连接上没有收到任何报文(包括空闲连接查询报文),则认为该接收连接已经中断,将关闭本连接对中的发送长连接,然后恢复到侦听状态,等待入网机构重新发起建立连接的请求。(4)只要处理中心接收到入网机构建立发送长连接的请求,即使此时处理中心的发送长连接是正常的,也需要断开当前发送长连接,按照入网机构请求重建新的发送长连接。图1 联机交易的连接示意图入网机构和银联处理中心建立的长连接数应和入网机构的交易量有关。银联处理中心提供二进二出共四条单工长连接到八进八出共十六条单工长连接的连接方式,入网机构应根据自己的交易量大小选择其中之一。图2 二进二出单工长连接示意图21
Q/CUP006.5—2011图1 四进四出单工长连接示意图银联处理中心给每个入网机构指定至少两台通信服务器,因此入网机构和银联处理中心的连接对必须是偶数的,每台通信服务器上的连接数至少是一进一出两条单工长连接。六进六出单工长连接和八进八出单工长连接的示意图均类似图9 和图10 。在系统运行中,应对具体的连接数目做参数化管理,可以根据入网机构具体交易量大小情况做调整。1.1.1.1.1 双工方式双工方式是指一条连接既做为接收长连接又作为发送长连接,仅由一条连接就完成了接收和发送的功能。对于双工方式本规范规定:(1)在双工方式中,如果入网机构检测到,该连接已经被中断,则关闭本连接,并向处理中心发起连接请求,重建连接对的网络连接。(2)如果入网机构检测到3分钟之内在连接上没有收到任何报文(包括空闲连接查询报文),则认为该连接已经中断,将关闭本连接对,并向处理中心发起连接请求,重建该连接对的网络连接。(3)在双工方式中,如果处理中心发现连接中断,则处理中心将恢复到侦听状态,等待入网机构重新发起建立连接的请求。如果处理中心检测到3分钟之内在连接上没有收到任何报文(包括空闲连接查询报文),则认为该连接已经中断,将关闭本连接对,处理中心将恢复到侦听状态,等待入网机构重新发起建立连接的请求。(4)只要处理中心接收到了入网机构建立连接的请求就应该立刻响应。21
Q/CUP006.5—2011图1 联机交易的连接示意图入网机构和处理中心建立的长连接数应和入网机构的交易量有关。处理中心提供两条双工长连接到八条双工长连接的连接方式,入网机构应根据自己的交易量大小选择其中之一。处理中心给每个入网机构指定至少两台通信服务器,因此入网机构和银联处理中心的双工长连接必须是偶数的,每台通信服务器上的连接数至少是一条双工长连接。在系统运行中,应对具体的连接数目做参数化管理,可以根据入网机构具体交易量大小情况做调整。1.1.1.1.1 支持应答报文原路返回应答报文原路返回的含义是:支持在回送应答报文时使用该交易请求报文上送时的线路进行回送,机构可以选择是否要求CUPS对应答报文原路返回。如果入网机构没有选择开启此功能,则入网机构作为受理方上送的交易经过CUPS处理后,将应答报文发送给入网机构时,将在入网机构与CUPS已经建立的通信线路中任意选择一条线路作为报文返回线路。如果入网机构选择开启此功能,则入网机构作为受理方上送的交易经过CUPS处理后,将应答报文发送给入网机构时,将选择入网机构上送报文时的使用的线路作为报文返回线路。若在返回应答时,发送请求时的线路与CUPS断开,机构可以选择由CUPS将应答报文通过其他工作正常的线路返回,机构也可以选择由CUPS丢弃此应答报文。虽然真正含义上的原路返回为上文定义的内容,但银联处理中心还支持更广义的概念,能够提供如下两个粒度的原路返回功能:1、对机构的通讯主机,银联可提供通讯主机组管理,原路返回粒度可控制到该组。即,只通过该组内的连接返回,但并不是发起请求的连接。这样可以控制是返回到同一个处理中心,还是返回到同一台通讯主机;2、对机构的通讯主机,银联还可提供单个IP管理,原路返回粒度可控制到该IP。即,只通过该IP中的连接返回,但并不是发起请求的连接。因此,银联处理中心是提供了更为广义的“线路组原路返回”概念。即,交易应答可以通过与交易请求上送线路在同一组的任一线路返回。线路分组的方法可以应入网机构的要求采取不同的策略(比如:入网机构侧属于同一个中心/同一台服务器/同一个IP的线路分在同一组)。1.1.1.2 文件传输的连接数目和方式入网机构和银联处理中心之间的文件传输不是实时性的联机业务,因此规定使用短连接的方式。双方建立一条全双工的连接,连接建立后,双方在同一条连接上收发请求和应答。当文件传送完成后,双方关闭连接。21
Q/CUP006.5—2011图1 文件传输的连接示意图1.1.1 通信负载均衡银联处理中心和每个入网机构建立多条连接不仅为了防止单点故障,还应在多条通信连接上实现通信负载均衡。例如,银联处理中心通过两条或四条发送连接向入网机构发送报文时,可以采用简单轮询的方式,即从第一条发送连接开始路由,第一个报文从第一条发送连接发送,第二个报文从第二条发送连接发送,依次类推,到最后一个连接时再路由到第一条可用的发送连接。图2 简单轮询方式除了简单轮询的方法,还可以通过监测各通信服务器和各条连接的负载情况动态调整各条连接的路由选择。通过将银联处理中心和入网机构之间的通信负载合理的分配到各条连接和各台通信服务器上,可以防止出现某台通信服务器上处理压力过大的问题。1.1.2 Socket选项设置在利用socket技术编写通信程序时,为了保证通信双方可以正常通信,需要设置相关的选项,其中有的选项是协议相关的。在不同的系统中,socket选项有不同的默认值。这里只规定几个主要的socket选项设置,其他选项均使用系统默认值。a)保持socket的“LINGER”选项为缺省状态,即“关闭”状态。这个选项影响到使用TCP协议的socket关闭操作的行为。设置该选项为“关闭”状态,使socket关闭操作保持默认行为,即close()函数调用立即返回,如果socket发送缓冲区中还有数据,则系统会发送这些数据。b)设置socket的“REUSEADDR”为“打开”状态。设置这个选项可以保证socket监听进程在异常退出并重新启动后,仍可以成功绑定到原监听端口。该选项主要用在监听socket连接请求的服务器端。c)设置socket的“KeepAlive”为“打开”状态,设置这个选项可以保证在socket连接没有流量时,自动开始发送KeepAlive侦测包,侦测socket是否已经断开。21
Q/CUP006.5—20111.1 协议定义1.1.1 参考资料有关TCP/IP协议的背景信息和协议定义可以参考以下文档:a)RFC791InternetProtocolfortheIPprotocol;b)RFC792InternetControlMessageProtocolfortheICMPprotocol;c)RFC793TransmissionControlProtocolfortheTCPprotocol;d)RFC1122RequirementsforInternetHosts—CommunicationLayers;e)RFC1123RequirementsforInternetHosts—ApplicationandSupport;g)RFC959FileTransferProtocol。1.1.2 协议定义范围本节论述的通信控制协议以TCP/IP协议为基础,规定了银联处理中心和入网机构之间建立多条socket连接的方式,双方在多条连接上传输报文的方法以及通信异常的检测和处理方法。1.1.3 基本规定1.1.3.1 数据编码格式银联处理中心和入网机构之间传送的所有数据均是八位的二进制数据,没有特殊含义字符和控制字符。1.1.3.2 通信接口和业务流程的无关性通信接口程序不对交易报文的类型作识别,不对报文内容作处理。因此,业务流程上的任何变动对通信接口程序无影响,反之亦然。1.1.4 联机交易控制协议1.1.4.1 建立连接1.1.4.1.1 连接建立过程银联处理中心和入网机构在建立连接时,采用的是client-server方式。服务方监听客户的连接请求,客户方调用connect()发送连接请求,开始TCP的三步握手过程。双方连接建立的过程如下:图1 连接建立过程a)服务方调用accept()准备接收连接请求;b)客户方调用connect()发起连接请求,使客户方的TCP发送同步数据段(SYN段)。服务方TCP收到后返回应答(ACK段),同时发送自己的同步数据段。客户方connect()调用返回;21
Q/CUP006.5—2011c)客户方TCP对服务方的同步数据段返回应答,连接建立,服务方accept()调用返回。当连接成功建立或发生错误时,客户方的connect()调用返回。可能发生的错误有以下几种情况:a)客户方TCP在一定时间内没有收到SYN段的应答,调用返回超时错误ETIMEDOUT。不同系统规定的超时时间从75秒到几分钟不等。b)如果服务方TCP给客户方TCP重置应答RST,调用返回连接拒绝错误,说明在服务方没有监听进程运行,或监听进程已退出。c)如果网络中某路由器返回目的不可达的ICMP应答,则客户机系统会重发连接请求直到超时,此时调用返回主机不可达错误EHOSTUNREACH。Connect调用使客户端TCP从CLOSED状态转变到SYN_SENT状态。如果连接成功建立,则转变到ESTABLISHED状态。如果出错,则socket不再可用,必须被关闭。图1 socket连接建立状态转换图1.1.1.1.1 连接建立时序对于单工方式而言,在银联处理中心和入网机构初始建立连接时,要求先由入网机构发起连接请求。银联处理中心在监听端口监听入网机构的连接请求,在接收到入网机构的连接请求并通过合法性检查后,根据入网机构的IP地址和监听端口号向入网机构发起连接请求,完成一进一出两条单工长连接的建立。在该连接对的建立过程中,银联处理中心将设置一进一出两条单工长连接建立的最长时间间隔参数值。如果中心建立好接收连接后,在最长1分钟内仍无法建立与机构的发送连接,则中心主动断开与该发送连接相对应的接收连接,回复到侦听状态,等待接收入网机构重新建立连接的请求。建立其他连接的过程与此相同。如果建立连接的过程超时或发生错误,则关闭本地socket后,重新建立连接。如果一条连接中断需要重新建立,则应按照4.2.2.1.1 节描述分情况处理。下图说明连接建立的时序:21
Q/CUP006.5—2011图1 银联处理中心和入网机构单工连接时序图对于双工方式而言,在银联处理中心和入网机构初始建立连接时,要求先由入网机构发起连接请求。银联处理中心在监听端口监听入网机构的连接请求,在接收到入网机构的连接请求并通过合法性检查后,连接即告成功,完成了一条双工长连接的建立。下图说明连接建立的时序:21
Q/CUP006.5—2011图1 银联处理中心和入网机构双工连接时序图1.1.1.1 报文格式银联处理中心和入网机构之间的交易报文封装在IP数据包内,通过TCP/IP协议传送。每一个报文由四字节报文长度和报文数据构成,如图18 所示。由于TCP数据是一个“流”的概念,报文边界不易确定,因此在每个报文前提供四个字节的报文长度值,用来确定每个报文的长度。本规范规定报文最大长度不超过2048字节。报文数据格式可参见报文接口规范的说明。报文长度是四个字节的ASCII码串,指明后面的报文数据的长度,但该长度不包括报文长度域本身的四个字节值。通过报文长度域,报文的接收方可以很容易确定每个交易报文的长度。报文长度报文数据描述长度(字节)报文长度4报文数据不定长图2 数据报文格式说明1.1.1.2 数据传输控制1.1.1.2.1 传输方式21
Q/CUP006.5—2011银联处理中心和入网机构之间的socket连接初始化过程完成后,双方可开始报文交换。双方采用异步传输方式传输交易报文,即一方发送一笔交易请求后,不必等待对方的应答,可以接着发送下一笔交易请求。因为银联处理中心和入网机构存在多条socket连接,应答报文从哪条连接返回不确定。对此,应用层上的业务处理流程必须加以判断处理。发送方发送一个交易请求后,由于通信链路中断或其他通信异常情况的发生,发送方将不能确保接收方一定能够收到报文数据。在通信异常情况下,发送方多表现为发送数据超时,因此在应用层的业务流程上要有相应的超时控制。1.1.1.1.1 报文发送和接收报文发送一方发送报文数据,调用write()返回后,准备下一笔报文数据的发送。报文接收一方调用read()接收报文,当有报文数据到达后读调用返回。图1 报文发送和接收示意图接收方在读取数据时,应按照长度加报文再长度加报文的方式,先读取四个字节的长度,用于确定报文的实际长度,再按实际报文长度值读取其后的报文数据。如果接收方一次读取没有接收到完整的报文,必须再次读取直到接收到规定长度的报文数据。发送方发送报文时,先在报文前加上四个字节的报文长度值再与报文一起发送。图2 报文流示意图接收方在读取数据的过程中,网络有可能发生中断或发送方写数据进程意外退出甚至宕机,此时接收方要根据异常情况做相应处理。通信异常处理参见4.3.4.7 节。21
Q/CUP006.5—20111.1.1.1 关闭连接的处理这里规定的是银联处理中心或入网机构需要正常关闭一个连接时要做的处理。正常关闭一个socket连接需要经过四个步骤:图1 关闭socket连接过程a)当客户方调用close()主动关闭socket,该方TCP发送FIN段给服务方,表示结束发送数据;b)服务方TCP接收到FIN段后,进入被动关闭socket过程。服务方TCP收到FIN段后,会通知服务方的应用进程,read()调用会返回0;c)服务方读调用返回0后,调用close()关闭socket,服务方TCP会向客户方TCP发送FIN段;d)客户方TCP收到FIN段后,返回应答。从以上过程可以知道,当连接的一方关闭socket后,另一方的socket会得到通知。对于银联处理中心和入网机构的接收连接,通过read()调用返回值可以获得该通知。对于发送连接,通过select()调用查询本地socket是否接收到通知数据。若有通知数据到达,调用read(),若返回0表示对方socket已关闭。当银联处理中心或入网机构需要关闭一条发送连接时,先停止在该条连接上发送数据,然后调用close()关闭本地socket。接收方调用read()读取数据,当调用返回0时,表明发送方socket已关闭,并调用close()关闭本地socket。此时,双方完成连接的关闭。1.1.1.2 空闲连接处理对于单工通信方式,如果银联处理中心或入网机构一条发送连接上超过2分钟没有发送报文数据,则向接收方发送“空闲连接查询”控制报文。该报文不带任何附加数据,并置报文长度域的值为零。银联处理中心或入网机构通信层收到这样的报文后,直接丢弃该报文。21
Q/CUP006.5—2011图1 空闲连接查询报文格式如果接收方socket收到该控制报文,说明双方连接正常,如果在3分钟之内没有收到对方的“空闲连接查询”控制报文,则说明接收长连接已经中断,需要关闭该连接socket,并且断开发送长连接。如果连接中断或接收方宕机、通信进程异外退出,发送方TCP会向本地socket返回相应的错误通知,发送方根据read()调用返回的错误信息做相应的异常处理,参见4.3.4.7 节。如果接收方在接收连接上有3分钟未收到任何数据,此时,若入网机构作为接收方,则关闭该连接对,并重新向银联处理中心发起建立连接的请求;若银联处理中心作为接收方,则关闭该连接对,并恢复到侦听状态,等待入网机构重新发起建立连接的请求。图2 空闲连接处理示意图对于双工的通信方式,如果发送方或者接收方中有一方检测到一条连接空闲超过2分钟,则通过该连接向对端发送一次空闲测试报文;对端收到该报文后直接丢弃。如果在3分钟之内没收到对端的空闲连接测试报文或者交易报文,此时,若入网机构作为接收方,则关闭该条连接,并重新向银联处理中心发起建立连接的请求;若银联处理中心作为接收方,则关闭该连接,并恢复到侦听状态,等待入网机构重新发起建立连接的请求。1.1.1.1 流量控制银联处理中心连接各入网机构,各入网机构的报文都要经银联处理中心转接。为了防止银联处理中心在交易高峰时段,因处理数据量过大导致系统性能下降甚至崩溃,需要在银联处理中心和入网机构之间做通信流量控制。TCP协议的窗口机制能够协调通信双方的数据收发速度,具有一定的流量控制作用。当接收方监测到应用层消息队列已满或将满时,通过“缓读”的方法适当延长从接收连接上读取数据的间隔,没有被读取的数据缓存在socket连接的缓冲区内。随着缓冲区的数据增加,TCP协议的窗口机制会使发送方TCP减小数据发送量,未发送的数据缓存在发送方缓冲区内。当发送缓冲区满时,发送方的发送进程会被系统核心阻塞。接收方的系统处理能力恢复正常后,恢复从接收连接上读取数据的间隔,接收缓冲区数据的减少通过TCP窗口机制使发送方TCP增大数据发送量,从而使发送缓冲区数据减少,被阻塞的发送进程恢复运行。银联处理中心除了通信层的流量控制机制外,在应用层上也做了流量的控制。当银联处理中心应用系统过忙时,银联处理中心通信网关在原始报文前加上新增报文头后返回给入网机构,新增报文头中的拒绝原因码为系统忙。除银联处理中心进行流量控制以外,建议入网机构也需要有与之对应的流量控制策略。这样在银联系统异常恢复以后,对于积压的大量请求、应答或冲正交易应能够及时处理。基于此,建议入网机构在自身系统设计的TPS(每秒交易量)峰值情况下,能够处理的交易持续时间不低于30分钟。21
Q/CUP006.5—20111.1.1.1 通信异常处理银联处理中心和入网机构的通信连接跨越了广域网,广域网线路距离长、通信环境复杂,会产生各种通信异常的情况。为此,通信程序必须能够及时检测到通信异常的发生并做相应的处理,保证银联处理中心和入网机构联机交易的正常进行。1.1.1.1.1 通信异常分析a)接收方通信进程终止。图1 接收方进程退出导致的通信异常通信进程终止的原因包括正常退出、因执行出错导致的异常退出、进程被系统管理员强行终止等。此时,接收方的socket可能被通信进程正常关闭,也可能未被正常关闭。在这种情况下,接收方TCP会向发送方TCP发送FIN段,发送方TCP向本地socket发送通知。在发送方通过select()调用可以捕获该通知,调用read()会返回结果0。如果发送方继续向接收方发送数据,因为接收方socket已经关闭,接收方TCP会向发送方TCP发送RST段。发送方收到RST段后,若调用read(),则返回连接重置错误信息。若调用write(),则返回写错误信息。需要说明的是,在Unix平台上,当调用write()出错后,系统会向通信进程发送SIGPIPE信号,而该信号默认行为将终止通信进程,故需要设置忽略该信号。b)网络中断或接收方宕机。图2 接收方宕机造成的通信异常21
Q/CUP006.5—2011图1 网络中断造成的通信异常如果接收方宕机或网络发生中断,发送方socket不会收到任何通知报文。发送方发送数据后,发送方TCP的重传机制会试图重复尝试发送数据。如果约9分钟后发送方TCP一直收不到应答,则返回错误信息,此后的读写调用都会出错返回。read()调用会返回超时错误或主机不可达错误。c)接收方宕机后重启。图2 接收方宕机重启导致的通信异常如果接收方宕机后重启,则接收方TCP不保留原来的连接信息。接收方宕机后,如果发送方没有发送数据,则发送方不会知道接收方已宕机。在接收方重起后,发送方向接收方发送数据,则接收方TCP会向发送方TCP发送RST段,发送方随后的读写调用都会出错,read()调用会返回连接重置错误信息。d)如果发送方通信进程终止,则接收方read()调用会返回0。e)如果发送方宕机或网络中断,接收方收不到任何通知。1.1.1.1.1 通信异常处理通信异常处理,此处假设发送方为入网机构,接收方为银联处理中心。1.1.1.1.1.1 连接中断的处理发送方发送交易报文或空闲测试报文出错,说明连接发生中断,则关闭该连接,并主动向接收方重新发起连接请求。接收方收到对方的重新连接请求,接收该请求并关闭原来的连接。1.1.1.1.1.2 接收方接收进程异常终止的处理接收方接收进程意外退出会使发送方发送进程返回错误。发送方应关闭本地socket,重新向接收方发起连接请求。1.1.1.1.1.3 发送方发送进程异常终止的处理发送方发送进程异常终止,接收方read()调用会返回0。接收方应关闭本地socket,等待接收发送方重新建立连接的请求。1.1.1.1.1.4 接收方宕机的处理如果接收方宕机且不能及时重起时,发送方在未超时前不会获得任何异常21
Q/CUP006.5—2011通知,这种情况与连接中断情况类似,按连接中断的异常情况处理。如果接收方通信主机在发送方超时前重起,发送方TCP会收到接收方TCP返回的RST段,发送方的写调用将返回出错信息。此时,发送方关闭本地socket,并向接收方请求重新建立连接。1.1.1.1.1.1 发送方宕机的处理接收方不能获知发送方已宕机。如果发送方在5分钟之内重新发起连接请求,接收方收到连接请求后重新建立连接,在合法性检查通过之后,关闭原来的连接并建立新的连接。1.1.2 文件传输控制协议这里只涉及利用流传输文件的控制,FTP建议参考标准FTP协议。1.1.2.1 报文格式利用流传输传送文件的报文格式与联机交易使用的报文格式类似,由四字节报文长度和报文数据构成。报文数据格式可参见《文件接口规范》的说明。1.1.2.2 建立连接银联处理中心和入网机构之间的文件传输采用全双工的socket连接,可以同时存在多条连接。文件收发双方应支持多条连接并发,具体条数由收发双方根据实际需要协商确定。银联处理中心支持对每个文件接收机构线路数的参数化配置,最少2条,最多40条。一般而言,多为2条每条连接每次只能传输一个文件。一个文件传输结束以后,需要断开这个双工长连接。需要再次传输文件时,再重建一个双工长连接。如果是银联处理中心向入网机构发送文件,则银联处理中心作为客户方向入网机构发起连接请求,入网机构作为服务方监听银联处理中心的连接请求。反之,如果是入网机构向银联处理中心发送文件,则入网机构作为客户方向银联处理中心发起连接请求,银联处理中心作为服务方监听入网机构的连接请求。1.1.2.3 关闭连接文件发送方完成发送后,调用close()主动关闭连接。文件接收方等待read()调用返回0后,调用close()关闭连接。1.1.2.4 报文发送和接收报文发送一方发送报文数据,调用write()返回后,准备下一笔报文数据的发送。报文接收一方调用read()接收报文,当有报文数据到达后读调用返回。1.1.2.5 流量控制为防止入网机构短时间内收发大量文件而造成拥塞,银联处理中心提供流量控制功能。可在发送m个数据包后暂停n秒。m和n均可根据入网机构的不同要求分别配置,且n可精确到微秒级。21
Q/CUP006.5—2011参考文献[1]VISA国际信用卡公司:《V.I.P.SystemDocumentationINT’L》[2]VISA国际信用卡公司:《VisaSmartDebit/VisaSmartCreditSystemTechnicalManual》,2001.4[3]MASTERCARD国际信用卡公司:《MemberPublication》,2002.6[4]ISO8583Financialtransactioncardoriginatedmessages-Interchangemessagespecifications(5Firstedition2003-06-15)[5]中国银联股份有限公司:《中国银联信息交换处理中心系统业务需求》2004.1[6]银行卡信息交换总中心:《技术业务文档汇编》,1999.8[7]全国银行卡办公室:《银行卡文件汇编》1993-1999,2000.1[8]中国标准出版社:《信息系统安全技术国家标准汇编》,2000.921
Q/CUP006.5—2011附 录 A(资料性附录)入网机构通讯线路数量计算原则入网机构在无法确定和银联处理中心应建立几条连接时,可使用如下公式确定理论需要配置的通讯线路数,公式如下:注:数据单位均为字节根据实际经验,目前按照入网机构每秒交易数量级分布可参照如下表格确定线路数量(假设成员机构单条线路缓存为320K):日常TPS高位值参考通讯线路数n<25单工连接模式:2进2出双工连接模式:225≤n≤50单工连接模式:4进4出双工连接模式:4n>50单工连接模式:8进8出双工连接模式:821
Q/CUP006.5—201121'
您可能关注的文档
- gbt 16857.3-2009 产品几何技术规范(gps)坐标测量机的验收检测和复检测 第3部分:配置转台的轴线为第四轴的坐标测量机
- gbt 23392.3-2009 十字花科蔬菜病虫害测报技术规范 第3部分:小菜蛾
- gbt 3177-2009 产品几何技术规范(gps)光滑工件尺寸的检验
- gbt 3505-2009 产品几何技术规范(gps) 表面结构 轮廓法 术语、定义及表面结构参数
- gbt 23391.1-2009 玉米大、小斑病和玉米螟防治技术规范 第1部分:玉米大斑病
- 0081025《建筑施工高处作业安全技术规范》(修订)征求意见稿
- gbt 16671-2009 产品几何技术规范(gps)几何公差 最大实体要求、最小实体要求和可逆要求
- 南方电网配电网自动化系统技术规范(报批稿)
- 循环水工厂化养鱼技术规范[1]
- 精品文档】热能表检定装置技术规范和鉴定方法
- 华电国际十里泉发电厂2×300mw机组电除尘改造技术规范书.doc
- 通信线路铁附件产品技术规范书-修改.doc
- 西气东输二线管道工程线路工程清管试压技术规范
- 源地消毒技术规范
- 危重患者护理常规及技术规范、工作流程及应急预案,危重
- 借力可信运维技术规范运维管理
- 组合箱式变电站(欧式)技术规范tds
- 直流远供电源招标技术规范书