Using BSTUN

Using BSTUN

Problem

You want to connect two Bisync (BSC) devices through an IP network.

Solution

This pair of router configurations shows how to define a tunnel connecting two serial ports supporting Bisync (BSC or Binary Synchronous Communications) devices:

BSTUN-A#configure terminal
Enter configuration commands, one per line. End with CNTL/Z.
BSTUN-A(config)#interface Loopback0
BSTUN-A(config-if)#ip address 10.1.16.5 255.255.255.252
BSTUN-A(config-if)#exit
BSTUN-A(config)#bstun peer-name 10.1.16.5
BSTUN-A(config)#bstun protocol-group 1 bsc
BSTUN-A(config)#interface Serial1
BSTUN-A(config-if)#encapsulation bstun
BSTUN-A(config-if)#clock rate 19200
BSTUN-A(config-if)#bstun group 1
BSTUN-A(config-if)#bsc char-set ebcdic
BSTUN-A(config-if)#bsc secondary
BSTUN-A(config-if)#bstun route all tcp 10.1.16.9
BSTUN-A(config-if)#exit
BSTUN-A(config)#end
BSTUN-A#

And the configuration of the second router is similar:

BSTUN-B#configure terminal
Enter configuration commands, one per line. End with CNTL/Z.
BSTUN-B(config)#interface Loopback0
BSTUN-B(config-if)#ip address 10.1.16.9 255.255.255.252
BSTUN-B(config-if)#exit
BSTUN-B(config)#bstun peer-name 10.1.16.9
BSTUN-B(config)#bstun protocol-group 1 bsc
BSTUN-B(config)#interface Serial1
BSTUN-B(config-if)#encapsulation bstun
BSTUN-B(config-if)#clock rate 19200
BSTUN-B(config-if)#bstun group 1
BSTUN-B(config-if)#bsc char-set ebcdic
BSTUN-B(config-if)#bsc primary
BSTUN-B(config-if)#bstun route all tcp 10.1.16.5
BSTUN-B(config-if)#exit
BSTUN-B(config)#end
BSTUN-B#

Discussion

The configuration here is similar to the preceding STUN recipe. The main differences are in the protocols supported. The bstun protocol-group command in this case tells the router that BSTUN group number 1 will be passing BSC protocol data. There are several other options, including defaults for Diebold and MDI alarm systems, as well as a generic async option.

In this recipe, the bsc char-set command is set to IBM's EBCDIC character set. The other option here is ASCII. The choice depends on the type of traffic you are dealing with. Usually mainframe Bisync applications will use EBCDIC. At one time, Bisync was used as a popular way of connecting terminals and printers to a mainframe. But (thankfully) this ancient protocol inches closer to extinction with each passing year.

The only other important point to note is that the bstun route command can be used to different routing for different stations attached to the same Bisync line, depending on their addresses. Bisync allows many devices to be connected to the same controller, similar to an SDLC multidrop line. For example, if you wanted station C1 going to one destination and C2 to another, you could route them separately as follows:

BSTUN-A#configure terminal
Enter configuration commands, one per line. End with CNTL/Z.
BSTUN-A(config)#interface Serial1
BSTUN-A(config-if)#bstun route address C1 tcp 10.1.16.9
BSTUN-A(config-if)#bstun route address C2 tcp 10.1.16.13
BSTUN-A(config-if)#exit
BSTUN-A(config)#end
BSTUN-A#