中国银联银行卡联网联合技术规范V21 第5部分 通讯接口.docx
《中国银联银行卡联网联合技术规范V21 第5部分 通讯接口.docx》由会员分享,可在线阅读,更多相关《中国银联银行卡联网联合技术规范V21 第5部分 通讯接口.docx(32页珍藏版)》请在冰豆网上搜索。
![中国银联银行卡联网联合技术规范V21 第5部分 通讯接口.docx](https://file1.bdocx.com/fileroot1/2023-2/5/efbeccb5-37e5-49dc-a6c5-509327af9d87/efbeccb5-37e5-49dc-a6c5-509327af9d871.gif)
中国银联银行卡联网联合技术规范V21第5部分通讯接口
中国银联股份有限公司发布
中国银联银行卡联网联合技术规范V2.1
第5部分通信接口规范
TechnicalSpecificationsonBankcardInteroperabilityV2.1
Part5SpecificationonCommunicationInterface
目次
1前言
本标准对中国银联跨行交易网络中联机交易与文件传输的通信接口应满足的要求做了规定,包括通信链路的选择、接入方式选择、接入设备的要求和通信协议的规定。
本标准由中国银联股份有限公司提出。
本标准由中国银联股份有限公司制定。
本标准起草单位:
中国银联股份有限公司、国内入网机构。
本标准主要起草人:
戚跃民、郭锐、郑澎、徐静雯、李洁、吴金坛、王力斌、苗恒轩、万高峰、陆尔东、蒋慧科、杜秉一、赵伟。
中国银联银行卡联网联合技术规范V2.1
第5部分通信接口规范
11 范围
本标准规定了中国银联跨行交易网络中联机交易与文件传输的通信接口应满足的要求,包括通信链路的选择、接入方式选择、接入设备的要求和通信协议的规定。
本标准适用于所有加入中国银联银行卡信息交换网络的入网机构。
12 银联网络概述
12.1 规范要求
银联网络要求稳定可靠、结构简单、便于维护管理。
入网机构必须遵照本规范对网络通信接口方面的要求,建设与银联网络的接口,保障各入网机构和银联网络之间互联互通,并提供银行卡信息安全、稳定、可靠的存取控制。
12.2 银联网络拓扑结构
银联网络是一个二层的网络结构,其中的网络节点按层次不同,可划分为:
核心节点:
上海信息中心/北京信息中心;骨干节点:
银联分公司,如图1 所示。
图1 银联网络结构示意图
全国性的入网机构与境内的外资银行,(如全国性的商业银行总行、汇丰银行境内机构)直接与上海信息中心与北京信息中心连接,属于直接接入机构。
间接接入机构,如当地农村信用社或城市商业银行,选择当地银联分公司接入银联网络;而全国性入网机构在各地的分之机构可选择当地的银联分公司接入,也可以采用总对总的方式,通过其全国性入网机构接入银联网络。
12.3 入网机构接入线路选择
12.3.1 直接接入机构接入线路选择
根据目前运营商的分布情况,电信主要服务中国南方地区,而新联通主要服务中国北方地区,因此对于全国性入网直接接入机构与境内外资银行的接入要求如下:
采用电信的SDH线路与上海信息中心互联,对于交易量大的机构可采用MSTP的方式进行接入。
采用新联通的SDH线路与北京信息中心互联,对于交易量大的机构也可以采用MSTP的方式接入。
12.3.2 间接接入机构接入线路选择
银联分公司与间接接入机构在通讯接入线路上的选择视各地区具体情况确定,但每一个接入机构都应有主备通讯设备和主备通讯线路,并且主备线尽量选择当地不同的运营商,防止通讯设备与线路的单点故障。
13 网络接口
13.1 入网机构的物理接入方式
13.1.1 直接接入机构接入方式
对于全国性的入网机构与境内的外资银行通过直接与上海信息中心、北京信息中心互联的方式接入,并且选择电信、新联通运营商的SDH或MSTP线路。
如下图:
图2 直接接入机构接入方式
13.1.2 间接接入机构接入方式
间接接入机构,可采取就近接入方式,根据当地的实际情况选择1-2家不同运营商的专线接入当地的银联分公司。
如下图:
图3 间接接入机构接入方式
对于上述两种接入方式的说明如下:
直接接入机构须采用电信与新联通的两个不同的运营商的SDH或MSTP线路与上海信息中心、北京信息中心互联。
间接接入机构可以根据具体情况选用其他通信链路方式(建议使用SDH、MSTP线路),但必须满足本规范中的使用两条通信链路和备份链路的规定。
正常情况下,两条链路分别承载实时交易数据和非实时数据,当任何一条链路中断时,另外一条中继线路可以承载全部的数据。
为了保证实时交易数据总是被优先处理,建议在路由器上对交易数据流使用LLQ的Qos策略。
13.2 接入设备要求
13.2.1 基本要求
银联要求各入网机构选择路由器作为广域网接入设备。
路由器是广域网(WAN)之间互连的关键设备。
路由器支持不同的广域网物理接口,能够实现负载平衡,阻止广播风暴,控制网络流量以及提高系统容错能力。
13.2.2 设备接口要求
13.2.2.1 物理接口
入网机构与银联网络互连的广域网设备应支持下述接口:
a)高速同步串行接口
b)G.703-E1接口
c)10Base-T和100Base-T接口
13.2.2.2 互联使用协议
a)互联线路使用的封装协议:
HDCL
PPP
Ethernet
b)互联使用的路由协议:
静态路由
常用动态路由协议
c)网络管理/安全协议:
SNMP
TelnetRemoteAccess
AccessLists(Routing)
DebugCommands
PingCommands
Syslog
EventLogging
13.2.3 网络互联与线路切换
13.2.3.1 直接接入机构的互联与线路切换
直接接入机构采用浮动静态路由或动态路由协议实现与上海信息中心或北京信息中心的互联互通。
在配置中确保互联上海信息中心的线路为主用线路,当该线路故障时,机构路由能自动切换至与北京信息中心的备用线路上,而当主用线路故障恢复后,路由又能自动回切至主用线路上。
如下图:
13.2.3.2 间接接入机构与银联分公司的互联与线路切换
间接接入机构与银联分公司采用浮动静态路由实现互联互通。
当主线中断时,机构的路由能自动切换至备线上,当主线恢复时,路由能实现自动回切。
如下图:
14 通信接口协议
14.1 概述
银联处理中心和入网机构在物理通讯线路连通的基础上,需要双方建立一定的通信连接并制定相应的通信控制协议,实现双方之间联机报文的处理和文件传输。
银联处理中心和入网机构应根据实际的需要,在以下方面满足通信的要求:
a)银联处理中心和入网机构建立的通信连接方式;
b)双方采用的通信协议;
c)双方通信设备上运行的通信软件。
14.1.1 通信连接的选择
在TCP/IP协议的基础上,使用socket编程接口编写通信程序。
一个socket连接由本地IP地址、端口号和远端IP地址、端口号唯一确定。
图4 socket连接示意图
银联处理中心和入网机构建立的socket连接种类应能满足业务的处理要求。
对于实时性要求高的联机交易,银联处理中心和入网机构建立的连接是长连接,银联处理中心将不再支持短连接的方式。
对于实时性要求不高的文件传输,银联处理中心和入网机构采用短连接的方式。
14.1.2 协议和通信设备要求
银联处理中心向入网机构提供TCP/IP协议通信接口,与入网机构的通信程序使用套接字(socket)技术编写。
在银联处理中心一侧,通信服务器上安装有与入网机构通信的socket通信软件,该软件提供的通信接口符合本规范的通信控制协议。
在入网机构一侧,通信主机上也应安装有相应的通信软件,该通信程序也应符合本规范规定的通信控制协议,实现与银联处理中心的通信。
入网机构路由器广域网口应对银联处理中心开放,使银联处理中心能够通过简单网络管理协议或网络连通测试等方法获得与各入网机构通信连通状况的信息,便于银联处理中心对通信网络进行监控和管理。
14.2 通信配置
14.2.1 IP地址和端口号配置
各入网机构接入银联网络使用的IP地址由银联处理中心统一分配。
入网机构和银联处理中心通信所用的端口号由双方各自决定。
测试系统与生产系统使用不同的IP地址。
14.2.1.1 联机交易的IP地址和端口号配置
银联处理中心使用多台联机交易通信服务器与一个入网机构通信,每台通信服务器应有一个IP地址。
为了便于管理和配置以及提高系统的可用性,在每一个IP上,银联处理中心通过分配不同的端口号和入网机构建立多条连接,每个端口号只能建立一条socket连接,如下图所示。
图5 银联处理中心和入网机构联机交易连接示意图
在图5 中,IP1和IP2的port1和port2均用于和入网机构1连接,port3和port4用于和入网机构2连接。
同样,入网机构也要为银联处理中心发起建立的每条连接指定不同的端口号,指定的端口号均应介于1024与65535之间。
14.2.1.2 文件传输的IP地址和端口号配置
银联处理中心使用多台文件服务器与入网机构进行文件传输。
在分配给机构的ip上,银联处理中心给入网机构指定建立连接的端口号,入网机构也要为银联处理中心指定建立连接的相应IP地址和端口号。
图6 银联处理中心和入网机构文件传输连接示意图
14.2.1.3 IP地址和端口限制
在联机交易中,银联处理中心为每个入网机构分配的联机交易通信服务器或文件服务器的IP地址和端口号都已经确定。
为了便于管理和保障系统安全性,银联处理中心不允许入网机构使用提供给其他入网机构的IP地址和端口号。
银联处理中心通信程序对请求建立连接的远端IP地址做合法性检查,如果是规定的IP地址则允许建立连接,否则拒绝连接。
图7 IP地址和端口限制示意图
14.2.2 连接数目和方式
14.2.2.1 联机交易的连接数目和方式
联机交易采用长连接的方式。
Socket连接建立后,除非发生异常中断,否则双方不再关闭连接,始终保持连通状态,双方可以直接发送或接收数据。
银联支持入网机构采用单工和双工两种通讯方式的接入。
14.2.2.1.1 单工方式
单工方式是指一条连接只用于单方向的接收或发送。
只用于发送交易报文的长连接称为发送长连接,只用于接收交易报文的长连接称为接收长连接。
由一条发送长连接和一条接收长连接组成一个通讯连接对。
对于单工方式本规范规定:
(1)在一个连接对中,如果是入网机构发现它的发送长连接中断,则关闭连接对中的接收长连接,并向处理中心重新发起连接请求,重建连接对的网络连接,重建时不能对其他连接对断链重连。
(2)在一个连接对中,如果入网机构检测到,发送长连接或接收长连接已经被中断,则认为该连接对已经中断,将关闭本连接对中的所有连接,并向处理中心发起连接请求。
如果入网机构检测到3分钟之内在接收连接上没有收到任何报文(包括空闲连接查询报文),则认为该接收连接已经中断,将关闭本连接对中的发送长连接,并向处理中心发起连接请求,重建该连接对的网络连接,重建时不能对其他连接对断链重连。
(3)在一个连接对中,如果处理中心发现连接对中的发送长连接中断,而相应的接收长连接正常时,则处理中心首先关闭接收长连接,然后恢复到侦听状态,等待入网机构重新发起建立连接的请求。
如果处理中心检测到3分钟之内在接收连接上没有收到任何报文(包括空闲连接查询报文),则认为该接收连接已经中断,将关闭本连接对中的发送长连接,然后恢复到侦听状态,等待入网机构重新发起建立连接的请求。
(4)只要处理中心接收到入网机构建立发送长连接的请求,即使此时处理中心的发送长连接是正常的,也需要断开当前发送长连接,按照入网机构请求重建新的发送长连接。
图8 联机交易的连接示意图
入网机构和银联处理中心建立的长连接数应和入网机构的交易量有关。
银联处理中心提供二进二出共四条单工长连接到八进八出共十六条单工长连接的连接方式,入网机构应根据自己的交易量大小选择其中之一。
图9 二进二出单工长连接示意图
图10 四进四出单工长连接示意图
银联处理中心给每个入网机构指定至少两台通信服务器,因此入网机构和银联处理中心的连接对必须是偶数的,每台通信服务器上的连接数至少是一进一出两条单工长连接。
六进六出单工长连接和八进八出单工长连接的示意图均类似图9 和图10 。
在系统运行中,应对具体的连接数目做参数化管理,可以根据入网机构具体交易量大小情况做调整。
14.2.2.1.2 双工方式
双工方式是指一条连接既做为接收长连接又作为发送长连接,仅由一条连接就完成了接收和发送的功能。
对于双工方式本规范规定:
(1)在双工方式中,如果入网机构检测到,该连接已经被中断,则关闭本连接,并向处理中心发起连接请求,重建连接对的网络连接。
(2)如果入网机构检测到3分钟之内在连接上没有收到任何报文(包括空闲连接查询报文),则认为该连接已经中断,将关闭本连接对,并向处理中心发起连接请求,重建该连接对的网络连接。
(3)在双工方式中,如果处理中心发现连接中断,则处理中心将恢复到侦听状态,等待入网机构重新发起建立连接的请求。
如果处理中心检测到3分钟之内在连接上没有收到任何报文(包括空闲连接查询报文),则认为该连接已经中断,将关闭本连接对,处理中心将恢复到侦听状态,等待入网机构重新发起建立连接的请求。
(4)只要处理中心接收到了入网机构建立连接的请求就应该立刻响应。
图11 联机交易的连接示意图
入网机构和处理中心建立的长连接数应和入网机构的交易量有关。
处理中心提供两条双工长连接到八条双工长连接的连接方式,入网机构应根据自己的交易量大小选择其中之一。
处理中心给每个入网机构指定至少两台通信服务器,每台通信服务器上的连接数至少是一条双工长连接。
在系统运行中,应对具体的连接数目做参数化管理,可以根据入网机构具体交易量大小情况做调整。
14.2.2.1.3 支持应答报文原路返回
应答报文原路返回的含义是:
支持在回送应答报文时使用该交易请求报文上送时的线路进行回送,机构可以选择是否要求CUPS对应答报文原路返回。
如果入网机构没有选择开启此功能,则入网机构作为受理方上送的交易经过CUPS处理后,将应答报文发送给入网机构时,将在入网机构与CUPS已经建立的通信线路中任意选择一条线路作为报文返回线路。
如果入网机构选择开启此功能,则入网机构作为受理方上送的交易经过CUPS处理后,将应答报文发送给入网机构时,将选择入网机构上送报文时的使用的线路作为报文返回线路。
若在返回应答时,发送请求时的线路与CUPS断开,机构可以选择由CUPS将应答报文通过其他工作正常的线路返回,机构也可以选择由CUPS丢弃此应答报文。
虽然真正含义上的原路返回为上文定义的内容,但银联处理中心还支持更广义的概念,能够提供如下两个粒度的原路返回功能:
1、对机构的通讯主机,银联可提供通讯主机组管理,原路返回粒度可控制到该组。
即,只通过该组内的连接返回,但并不是发起请求的连接。
这样可以控制是返回到同一个处理中心,还是返回到同一台通讯主机;
2、对机构的通讯主机,银联还可提供单个IP管理,原路返回粒度可控制到该IP。
即,只通过该IP中的连接返回,但并不是发起请求的连接。
因此,银联处理中心是提供了更为广义的“线路组原路返回”概念。
即,交易应答可以通过与交易请求上送线路在同一组的任一线路返回。
线路分组的方法可以应入网机构的要求采取不同的策略(比如:
入网机构侧属于同一个中心/同一台服务器/同一个IP的线路分在同一组)。
14.2.2.2 文件传输的连接数目和方式
入网机构和银联处理中心之间的文件传输不是实时性的联机业务,因此规定使用短连接的方式。
双方建立一条全双工的连接,连接建立后,双方在同一条连接上收发请求和应答。
当文件传送完成后,双方关闭连接。
图12 文件传输的连接示意图
14.2.3 通信负载均衡
银联处理中心和每个入网机构建立多条连接不仅为了防止单点故障,还应在多条通信连接上实现通信负载均衡。
例如,银联处理中心通过两条或四条发送连接向入网机构发送报文时,可以采用简单轮询的方式,即从第一条发送连接开始路由,第一个报文从第一条发送连接发送,第二个报文从第二条发送连接发送,依次类推,到最后一个连接时再路由到第一条可用的发送连接。
图13 简单轮询方式
除了简单轮询的方法,还可以通过监测各通信服务器和各条连接的负载情况动态调整各条连接的路由选择。
通过将银联处理中心和入网机构之间的通信负载合理的分配到各条连接和各台通信服务器上,可以防止出现某台通信服务器上处理压力过大的问题。
14.2.4 Socket选项设置
在利用socket技术编写通信程序时,为了保证通信双方可以正常通信,需要设置相关的选项,其中有的选项是协议相关的。
在不同的系统中,socket选项有不同的默认值。
这里只规定几个主要的socket选项设置,其他选项均使用系统默认值。
a)保持socket的“LINGER”选项为缺省状态,即“关闭”状态。
这个选项影响到使用TCP协议的socket关闭操作的行为。
设置该选项为“关闭”状态,使socket关闭操作保持默认行为,即close()函数调用立即返回,如果socket发送缓冲区中还有数据,则系统会发送这些数据。
b)设置socket的“REUSEADDR”为“打开”状态。
设置这个选项可以保证socket监听进程在异常退出并重新启动后,仍可以成功绑定到原监听端口。
该选项主要用在监听socket连接请求的服务器端。
c)设置socket的“KeepAlive”为“打开”状态,设置这个选项可以保证在socket连接没有流量时,自动开始发送KeepAlive侦测包,侦测socket是否已经断开。
14.3 协议定义
14.3.1 参考资料
有关TCP/IP协议的背景信息和协议定义可以参考以下文档:
a)RFC791InternetProtocolfortheIPprotocol;
b)RFC792InternetControlMessageProtocolfortheICMPprotocol;
c)RFC793TransmissionControlProtocolfortheTCPprotocol;
d)RFC1122RequirementsforInternetHosts—CommunicationLayers;
e)RFC1123RequirementsforInternetHosts—ApplicationandSupport;
g)RFC959FileTransferProtocol。
14.3.2 协议定义范围
本节论述的通信控制协议以TCP/IP协议为基础,规定了银联处理中心和入网机构之间建立多条socket连接的方式,双方在多条连接上传输报文的方法以及通信异常的检测和处理方法。
14.3.3 基本规定
14.3.3.1 数据编码格式
银联处理中心和入网机构之间传送的所有数据均是八位的二进制数据,没有特殊含义字符和控制字符。
14.3.3.2 通信接口和业务流程的无关性
通信接口程序不对交易报文的类型作识别,不对报文内容作处理。
因此,业务流程上的任何变动对通信接口程序无影响,反之亦然。
14.3.4 联机交易控制协议
14.3.4.1 建立连接
14.3.4.1.1 连接建立过程
银联处理中心和入网机构在建立连接时,采用的是client-server方式。
服务方监听客户的连接请求,客户方调用connect()发送连接请求,开始TCP的三步握手过程。
双方连接建立的过程如下:
图14 连接建立过程
a)服务方调用accept()准备接收连接请求;
b)客户方调用connect()发起连接请求,使客户方的TCP发送同步数据段(SYN段)。
服务方TCP收到后返回应答(ACK段),同时发送自己的同步数据段。
客户方connect()调用返回;
c)客户方TCP对服务方的同步数据段返回应答,连接建立,服务方accept()调用返回。
当连接成功建立或发生错误时,客户方的connect()调用返回。
可能发生的错误有以下几种情况:
a)客户方TCP在一定时间内没有收到SYN段的应答,调用返回超时错误ETIMEDOUT。
不同系统规定的超时时间从75秒到几分钟不等。
b)如果服务方TCP给客户方TCP重置应答RST,调用返回连接拒绝错误,说明在服务方没有监听进程运行,或监听进程已退出。
c)如果网络中某路由器返回目的不可达的ICMP应答,则客户机系统会重发连接请求直到超时,此时调用返回主机不可达错误EHOSTUNREACH。
Connect调用使客户端TCP从CLOSED状态转变到SYN_SENT状态。
如果连接成功建立,则转变到ESTABLISHED状态。
如果出错,则socket不再可用,必须被关闭。
图15 socket连接建立状态转换图
14.3.4.1.2 连接建立时序
对于单工方式而言,在银联处理中心和入网机构初始建立连接时,要求先由入网机构发起连接请求。
银联处理中心在监听端口监听入网机构的连接请求,在接收到入网机构的连接请求并通过合法性检查后,根据入网机构的IP地址和监听端口号向入网机构发起连接请求,完成一进一出两条单工长连接的建立。
在该连接对的建立过程中,银联处理中心将设置一进一出两条单工长连接建立的最长时间间隔参数值。
如果中心建立好接收连接后,在最长1分钟内仍无法建立与机构的发送连接,则中心主动断开与该发送连接相对应的接收连接,回复到侦听状态,等待接收入网机构重新建立连接的请求。
建立其他连接的过程与此相同。
如果建立连接的过程超时或发生错误,则关闭本地socket后,重新建立连接。
如果一条连接中断需要重新建立,则应按照4.2.2.1.1 节描述分情况处理。
下图说明连接建立的时序:
图16 银联处理中心和入网机构单工连接时序图
对于双工方式而言,在银联处理中心和入网机构初始建立连接时,要求先由入网机构发起连接请求。
银联处理中心在监听端口监听入网机构的连接请求,在接收到入网机构的连接请求并通过合法性检查后,连接即告成功,完成了一条双工长连接的建立。
下图说明连接建立的时序:
图17 银联处理中心和入网机构双工连接时序图
14.3.4.2 报文格式
银联处理中心和入网机构之间的交易报文封装在IP数据包内,通过TCP/IP协议传送。
每一个报文由四字节报文长度和报文数据构成,如图18 所示。
由于TCP数据是一个“流”的概念,报文边界不易确定,因此在每个报文前提供四个字节的报文长度值,用来确定每个报文的长度。
本规范规定报文最大长度不超过2048字节。
报文数据格式可参见报文接口规范的说明。
报文长度是四个字节的ASCII码串,指明后面的报文数据的长度,但该长度不包括报文长度域本身的四个字节值。
通过报文长度域,报文的接收方可以很容易确定每个交易报文的长度。
报文长度
报文数据
描述
长度(字节)
报文长度
4
报文数据
不定长
图18 数据报文格式说明
14.3.4.3 数据传输控制
14.3.4.3.1 传输方式
银联处理中心和入网机构之间的socket连接初始化过程完成后,双方可开始报文交换。
双方采用异步传输方式传输交易报文,即一方发送一笔交易请求后,不必等待对方的应答,可以接着发送下一笔交易请求。
因为银联处理中心和入网机构存在多条socket连接,应答报文从哪条连接返回不确定。
对此,应用层上的业务处理流程必须加以判断处理。
发送方发送一个交易请求后,由于通信链路中断或其他通信异常情况的发生,发送方将不能确保接收方一定能够收到报文数据。
在通信异常情况下,发送方多表现为发送数据超时,因此在应用层的业务流程上要有相应的超时控制。
14.3.4.3.2 报文发送和接收
报文发送一方发送报文数据,调用write()返回后,准备下一笔报文数据的发送。
报文接收一方调用read()接收报文,当有报文数据到达后读调用返回。
图19 报文发送和接收示意图
接收方在读取数据时,应按照长度加报文再长度加报文的方式,先读取四个字节的长度,用于确定报文