Axil S/E-ljs055
                                1993.1.4
                               Lee Jin-Soo


SUBJECT:   X25 기본 정리






                                    <  X . 2 5  개  요  >


	* Layer 구성

	  1. Physical Layer : x21 bit가 오늘날 가장흔히 사용되는 physical interface technique 며
                              sunlink X.25에 의해 지원됨
          2. Frame Level : 이 층의 특성은 Link Access Procedures LAP 혹은 LAPB가 DTE와 DCE사이의 date
                           교환을 위해 사용되어지도록 해준다.
                           흔히 X.25는 LAPB를 사용. LAPB는 HDLC의 subset이다.
	  3. Packet Level : DTE (data Terminal Equipment)사이의 Virtual circuit개념을 도입하고 있고
                            DTE의 addressing을 지원함.
                            PSDN은 SVC (Switched Virtual Circuit)과 PVC (Permanant Virtual Circuit)를 지원.
                            SVC는 동적으로 생기며 파괴된다. PVC는 하나의 DTE가 자기의 link을 network
                            (DCE)에 연결될때 자동적으로 생긴다.
                             
	* Sunlink X.25 도입

	  sunlink X.25는 sun workstation이 PSDN(Packet-Switching Data Networks)상에서 DTE가 되도록 해준다.
 	  X.25는 CCITT X.29와 X.3를 지원하고 install후에는 그 workstation은 X.25 gateway가 됨
	  (TCP/IP상의 모든 기계들에 대해)
	  Sunlink X.25는 다음과 같은 사용을 할수 있다.
	  1. X.25 Packet Service : PSDN을 통해 application protocol을 수행하기 위해 하나의 packet service
                                   로서 X.25사용
	  2. Internetwork Routing : Internet Protocol혹은 OSI Network Layer Packet들을 위해 하나의 
                                    transparent datagram service로서 X.25사용
	  3. HDLC Service : 이 HDLC service는 표준 sunos program을 사용해 접근할수 있고 device driver
                            interface혹은 programmatic interface를 통해 유용하다.
	                    이 level은 error검출 기능 제공 (수정불가)
	  4. X.29/X.3 Virtual Terminal service : X.25는 user와 server기능을 갖는 X.29/X.3 facility를 제공
                                                 user기능면에서 X.29/X.3는 sun workstaton user가 PSDN을 
                                                 통해 하나의 terminal로서 remote host에 login가능케함.
        					 이기능은 workstation이 하나의 PAD(Packet assembly/disassembly                                                 로서 작용하며,local virtual terminal의 문자표시 요구와 
                                                 remote hosts's application에 반응한다.
						 server기능으로서 X.29/X.3은 sun workstation이 packet-mode 
					         host로서의 역할을 하게 해주고 PSDN상에서 remote 문자 표시
 					         terminal과의 session들을 유지한다.

	* Serial Port와 Modem 요구사항들

	  X.25는 synchronous modem과 cable을 요구한다.
          maximun data rates는 cpu port상에서 X.25는 19.2kbits/sec 최대 data rate 지원
          MCP혹은 SCP port상에서 64kbits/sec 최대 data rate 지원

	* X.29/X.3 Server 기능

	  /etc/sunlink/x25/x29-auth 수정
           대문자 -> 전체     소문자 -> 특정한 user들의 설정
	         # x29    server실행

	* X.29/X.3 user기능

	  pad를 invoke하기전에 먼저 local terminal type을 결정해야 한다.
 	        # set | grep term
                      term sun or term vt100

	* HDLC(High level Data Link Control)service를 이용하려면 ifd device를 install해야 한다.

	* XVC interface는 IR을 위해 사용됨

	* install 증명을 위해 새로운 x25 kernal로 부팅후
		# netstat -i -a

	* 3 level 
	  1. physical level         2. HDLC level (frame layer)      3. packet level

	* x25config --> sunlink X.25 linkfmf 시작시킴. 여러분의 parameter setting들을 X.25 3단계 level로
                        적용시킨다.
                        전통적으로 우리는 그 file을 x25params    x25paramsn (n -> link수)

	* packet level에서  host-address

            4042-3831-00    4042 -> DNIC(Data Network Identification Code)
 	                    3831 -> NTN(Netork Terminal Numbers)
			    00   -> Subaddress

	* x25route  

 	   -a  --> 열거된 route add
	   -r  --> 열거된 route remove
           -s  --> show all routes	
           -d  --> PSDN 을 동일시 하는 DNIC를 가리킴
		Route DNIC 2345 over link 0
		Route DNIC 8344 over link 1
		# x25route -a -d2345 -l0

	* x25start는 serial port를 초기화시키고 protocol module들의 층을 초기화한다.

	  link number
	  serial port driver zss0
	  data rate
	  zss0 , zss1 --> serial port
	  MCP port를 위해 mcphn  n -> 0-15
          SCP port는 dcpxn  x -> a-d  n -> 0-3

		# /usr/sunlink/x25/x25start 0 mcph3 56000
		-->
		# syncinit mcph3 56000
		# iflayer xpkt0 hdlc0 mcph3

	* x25config

	  /usr/sunlink/x25/x25config [-on|off] [-a] [-l linkid] config file
		-a : x25config가 sunlink X.25가 packet service를 network에 설정하는 확인을 기다림없이
                     exit하는것을 나타냄
		-llinkid : -on,-off 와 함께 사용
	 예) link2를 시작하고자 한다. ( -a option과 함께)
             이 link에 관계된 구성 file을 /etc/sunlink/x25/x25params2임
		# x25config -a /etc/sunlink/x25/x25params2

	* pad명령의 일반적 형태는
		# pad options serveraddress
	 예) remote host address가 476507206100에 연결시
		# pad -r 476507206100
	  pad다른 형태는 profile을 사용하는것이다.
		# pad surya
		  surya는 /etc/sunlink/x25/x29profile에 등록되있다
         만약 당신의 local terminal type이 sun이면 remote prompt에 다음과 같이설정해야 한다.
		remotehost# set term=sun
			  # tset
	 위와 같은 명령들은 X.29 protocol이 terminal type과 remote host로 행수를 제공치 않기 때문이다. 
         
	* IR 구성

	  X.25는 x25enable, x25disable 로서 virtual circuits를 분명하게 만들고 버린다.
          X.25는 XVC interface를 통해 virtual circuit의 IR을 제공한다.
	  X.25를 사용하는 routing gateway는 적어도 하나의 Ethernet interface와 각각의 X.25 link를 위한
          XVC interface를 가짐

        * network address 할당
     
          X.25 virtual circuit에 대한 2개의 network 연결예

                 Birmingham                            Framingham
                192.9.203.1  bozo                     192.9.201.1  frodo (x25 gateway)
                192.9.203.2  bilbo(x25 gateway)       192.9.201.2  freddy 
             의 network number는 192.9.203         의 network number는 192.9.201
                    
                               합병된 host file
                               192.9.203.1  bozo
                               192.9.203.2  bilbo
                               192.9.201.1  frodo
                               192.9.201.2  freddy
                               192.9.202.1  bilbo-x25a
                               192.9.202.2  frodo-x25a
                               
                   /etc/network bilbo와 frodo을 위한
                     Birmingham  192.9.201
                     Framingham  192.9.203
                     bilbo-frodo 192.9.202

	* Routing Table

	  /etc/in.routed에 의해 routing table이 관리됨
          netstat -r 로 routing table확인
	  . frodo로 route를 설정하기 위해 bilbo상에서 다음과 같이 route 명령을 사용한다.
		bilbo# /usr/etc/route add bilbo-x25a bilbo-x25a 1
		bilbo# /usr/etc/route add frodo-x25a bilbo-x25a 1
                                                    
          . 반대의 경우
                frodo# /usr/etc/route add frodo-x25a frodo-x25a 1
                frodo# /usr/etc/route add bilbo-x25a frodo-x25a 1
                
	* x25manager setup

	  x25manager는 IR을 위해 사용되는 X.25 virtual circuit을 관리함
          configuration file다음과 같은 3가지 section을 포함한다.
          1. Listener Section
             listener는 Call Request Packet안에서 특별한 protocol ID를 가진 incoming call들을 위해 
             listen하는 entity이다.
	  2. path section
	     여기서는 XVC interface를 정의함.
             type은 incoming calls과의 interface를 맞추기위해 사용되는 이름이다.
             sun은 IP를 권장한다.
	  3. shell command section
             section은 iflayer와 ifconfig 명령어를 포함한다. 이것은 X.25 link들을 초기화한다.

	* x25manager starting

	  x25manager는 최고 16kbytes data로 설정할수 있다. 만약 그 양이 초과되면 나머지 초과분은 무시한다.
          IP는 복구기능을 사용한다.
		# x25manager x25manager.configuration &

	* Remote host 제어명령

	  x25disable          x25enable
          이 명령들은 ethernet connection과 X.25회선에서 작용됨. host에 연결이 virtual회선일 경우
          그 연결은 disable시키기위해선 x25disable명령사용.
          다시 재 연결할 경우 반드시 x25manager로 reinvoke해야함.
	  x25enable은 remote machine상의 XVC interface를 
		# x25enable bilbo 0  0 -> XVC0
              remote host bilbo의 XVC0 interface를 가능케할 경우 

	* HDLC service 구성 및 수행

	  ifd device를 초기화하려면 다음과 같다.
                # cat /dev/null > /dev/ifd0
		# iflayer ifd0 hdlc0 zss0  --> ifd device를 hdlc와 serial port로 층을 나눔
	  당신 기계의 HDLC parameter를 설정하기 위해 hdlcconf 명령을 사용한다.
		# hdlcconf /dev/ifd0

	* Serial port 초기화

	  syncinit은 여러분이 사용하는 Serial port를 초기화한다.
		# syncinit mcph2 9600 -> MCP board 3번째 port를 9600으로 초기화

	* link-level connection 설정

	  link-level connection을 설정하기 위해 hdlcstart를 사용.
		# hdlcstart /dev/ifd0

	* hdlc communication 중지
	  	# hdlcstop /dev/ifd0 --> 이 명령은 packet transmission을 중지함

	* Configuration Commands

	  syncinit command는 synchronous serial line의 clocking parameter들을 초기화하고 제어한다.
	  syncinit은 x25start shell script에 의해 상기된다.
		# syncinit mcph1
		  speed=9600 , loopback=no , nrzi=no , txc=txc , rxc=rxc
                  nrzi은 transmit에서의 encoding과 receive 상에서의 decoding에서 
                  nrzi(non-return-to-zero inverted)의 사용을 조절한다. 
	          nrzi encoding을 위한 기본값은 nrzi=no로 사용하기를 권장
		  txc=txc (나가는 signal을 modem으로 나가는 signal로 사용)
			   baud rate가 주어지면 system signal 사용)

	* iflayer는 protocol device들이 layer를 초기화한다. 이 명령은 ip device가 XVC interface를 
          사용하게 해준다.
		# iflayer xpkt0 hdlc0 zss0
	  만약 ir을 위해 X.25를 사용할 경우 ip device를 XVC interface로 layer 해야한다.
          ip0를 XVC0로 layer하기 위해 
		# iflayer ip0 XVC0
	  만약 ifnet interface를 사용하는 하나의 HDLC service로서 X.25를 사용할경우 
	  ifd device를 hdlc device로 layer함.
		# iflayer ifd0 hdlc0 mcph0