[통신]

SDLC(Synchronous Data Link Control and Derivatives)란 무엇인가?

Neo Park 2012. 12. 10. 13:35

 

Synchronous Data Link Control and Derivatives

 

Background

IBM은 1970년대 중반, System Network Architecture(SNA) 환경에서 사용이 가능한 Synchronous Data Link Control(SDLC) Protocol을 개발했다. SDLC는 동기 전송, bit-oriented 작동을 기반으로 하는 link-layer Protocol로서 처음 새롭게 개발된 것이다. Synchronous character-oriented(예를 들면, IBM의 Bisync)과 synchronous byte-count-oriented Protocol(예를 들면, Digital사에서 개발한 Digital Data Communications Message Protocol(DDCMP))과 비교해 볼 때, bit-oriented synchronous Protocol은 더욱더 효율적이며, 유연성을 갖으며, 빠른 기능을 제공한다.

 

SDLC를 개발한 후에, IBM은 여러 규격 협회에 이것을 제안했다. International Organization for Standardization (ISO) 는 SDLC를 변경하여 High-Level Data Link Control (HDLC)Protocol을 만들어냈다. International Telecommunication Union Telecommunication Standardization Sector (ITU-T) (공식적으로 CCITT)은 계속적으로 HDLC를 변경해서 Link Access Procedure (LAP), 와 Link Access Procedure, Balanced (LAPB)를 개발하였다. Institute of Electrical and Electronic Engineers (IEEE) 은 HDLC를 변경하여 IEEE 802.5를 개발하였다. 이러한 각각의 Protocol은 고유의 중요한 역할을 하게 되었다. SDLC은 여전히 WAN 구간을 위한 SNA환경에서 link-layer Protocol로 중요한 역할을 수행하고 있다.

 

 

Technology Basics

SDLC는 다양한 link 타입과 Topology를 지원한다. 또한 SDLC는 point-to-point 와 multipoint link에서 사용이 가능하며, bounded media와 unbounded media에서도 사용이 가능하고, half-duplex는 물론 full-duplex 전송이 가능하다. 또한 circuit-switched Network과 packet-switched Network에서도 사용될 수 있다.

SDLC는 Network Node를 두 가지로 구분한다.

    Primary--다른 station의 동작을 제어 한다. (primary station에 의해서 제어받는 station들을 secondary 라고 한다.) Primary가 사전에 결정된 순서에 따라 secondary들에게 Polling하면 처리할 Data가 있는 Secondary는 전송한다. 또한 primary는 link 설정 및 관리하고 단절할 수 있다.

     

    Secondary--secondary는 primary에 의해 조절된다. Secondary들은 오로지 primary에게만 정보를 전송할 수 있다. 그러나 primary가 허용하지 않으며 전송할 수 없다.

SDLC의 primary와 Secondary는 네가지 기본적인 configuration을 통해 접속된다:

    Point-to-point--오로지 두개의 Node만 연결한다. 즉 하나의 primary와 하나의secondary이다

    .

    Multipoint--하나의 primary와 여러 개의 secondary들이 연결된다.

     

    Loop--loop Topology를 갖는다. 우선 첫번째로 primary가 연결되고, 나머지 Secondary들이 연결된다.

     

    Hub go-ahead--inbound와 outbound 채널을 포함한다. primary는 Secondary와 Data 전송할 때 outbound 채널을 사용한다. 반면에 Secondary들은 primary와 Data 전송할 때, inbound 채널을 사용한다.

 

Frame Format

SDLC 프래임은 그림 11 - 1 과 같다.

    Figure 11-1: SDLC Frame Format 

 

그림에서 보듯이, SDLC Frame은 특이한 flag 패턴에 의해 싸여있다. Address 필드는 현재 통신을 하고 있는 Secondary의 주소를 갖고 있다. Address는 정보를 제공하는 소스나 목적지가 되기 때문에 별도로 primary의 주소를 포함시킬 필요가 없다.- 이것은 모든 Secondary들에 의해 알고 있기 때문이다.

 

Control 필드는 SDLC의 Frame Format에 따라 서로 다른 세 개의 Format을 사용한다. 세 개의 SDLC Frame은 다음과 같다:

    Information (I) frames--이 Frame들은 상위 계층의 정보를 갖고 있으며 control information을 갖고 있다. Sequence number를 주고 받으며 poll final (P/F) bit 는 흐름과 Error를 조절한다. Send sequence number 는 다음 번으로 보내야 할 Frame의 개수를 의미한다. Receive sequence number는 다음 번에 받아야 할 Frame의 개수를 의미한다. Sender와 Receiver는 send sequence number와 receive sequence number를 유지한다. Primary는 Secondary가 즉시 필요한지 아닌지를 결정하기 위해서 P/F bit를 사용한다. Secondary는 이 P/F bit를 primary로부터의 Frame이 계속 지속되는지를 알기 위해서 사용한다.


    Supervisory
    (S) frames--이 Frame들은 조절에 관한 정보를 제공한다. 이 Frame은 Data 전송을 요청하고, I frame의 정보를 인식하고 상태를 report 한다. 이 Frame은 정보를 갖고 있지 않다.


    Unnumbered
    (U) frames--이 Frame은 제목에서 보이듯이 sequence를 갖고 있지 않다. 이것들은 조절 목적으로만 사용된다. 예를 들면, secondary를 초기화하는데 사용하고 unnumbered Frame은 기능에 따라, Frame의 control 필드가 1 또는 2 byte를 갖게 된다. 몇몇 unnumbered Frame들은 정보 필드를 갖는다.

Frame Check sequence (FCS)는 종결 flag delimiter 앞에 있다. FCS는 일반적으로 cyclic redundancy check (CRC) 계산을 수행하게 된다. 이 CRC 계산은 Data를 받는 Node에서도 다시 수행하게 되며 전송하는 Node에서 보낸 Frame의 값과 다르면 Error로 간주한다.

전형적인 SDLC 기반의 Network 구성을 그림 11-2에서 보여주고 있다. 그림에서 보여주듯이, 리모트 Site에 있는 IBM establishment controller (공식적으로 cluster controller라고 부른다.)는 Token-Ring Network과 Dummy Terminal에 연결되어 있다.
Local Site에서, IBM 호스트는 IBM front-end processor (FEP)와 연결되어 있는데, FEP는 Token-Ring Network과 SNA Backbone에 연결될 수 있다.

이 두 Site는 SDLC 기반의 56kbps의 전용선으로 연결되어 있다.


Figure 11-2: Typical SDLC-Based Network Configuration


 

Derivative Protocols
HDLC는 SDLC의 여러 기능이 없음에도 불구하고 SDLC와 호환된다. LAP는 HDLC의 일련의 기능들에 포함된다. LAPB는 1980년대 초에 변경된 HDLC와 호환될 수 있도록 하기 위하여 개발되었다. IEEE 802.2 LAN 환경에서 HDLC를 사용하기 위해 변형된 형태이다. Qualified Logical Link Control(QLLC)는 IBM이 SNA Data를 X.25 network에서 전송할 수 있도록 개발한 link-layer Protocol이다.

 

 

HDLC

HDLC는 SDLC의 Frame Format을 공유하며 HDLC 필드는 SDLC와 똑같은 기능을 갖는다. 똑같은 SDLC 과 같이, HDLC는 동기 전송, full-duplex 기능을 수행한다.

HDLC는 여러 사소한 점에서 SDLC와 다르다. 먼저 HDLC는 32-bit checksum 기능을 선택적으로 갖고 있다. 그리고 SDLC와 다르게, HDLC는 loop 와 hub go-ahead 구성을 지원하지 않는다.

HDLC와 SDLC의 주요한 차이점은 HDLC가 세가지 전송 방식을 지원하는 반면에SDLC는 단 한가지의 전송 모드만을 지원한다는 점이다. HDLC의 세가지 전송 모드는 다음과 같다:

    Normal response mode (NRM)--이 전송 모드는 주로SDLC에서 사용된다. 이 모드에서는 primary가 허용하지 않는다면, secondary는 primary와 Data 전송을 하지 못한다.


    Asynchronous response mode (ARM)--이 전송 모드는 Secondary들이 primary의 허락없이 Data 전송을 시작할 수 있다.

     

    Asynchronous balanced mode (ABM)--ABM은 Combined node 라는 개념을 도입했다. Combined node는 상황에 따라primary나 secondary처럼 작동할 수 있다. 모든 ABM Data 전송은 여러 개의 combined node간에 이루어진다. ABM 환경에서는, 어떤 combined station은 다른 station의 허락없이 Data 전송을 시작할 수 있다.

 

LAPB

LAPB는 주로 X.25 Protocol과 관련해서 잘 알려져 있다. LAPB는 SDLC나 HDLC와 같이 동일한 Frame Format, Frame 타입 그리고 필드 기능을 공유한다. 그러나 다른 Protocol과 다른점은 ABM transfer 모드에서만 작동하며 따라서 combined station의 경우가 적합하다.

또한 LAPB 회선은 data terminated equipment(DTE)나 data circuit-terminating equipment(DCE)에 의해 구성된다. Call 을 시작하는 station이 primary가 될 것인지를 결정하게 된다. 반면에 이렇게 call에 반응하는 것은 secondary가 된다.

결국, LAPB에서 P/F bit를 사용하는 방식은 다른 Protocol과는 다소 다른 점이 있다. LAPB의 자세한 점은 chapter 12, “X.25”에서 다루게 될 것이다.

 

 

IEEE 802.2

IEEE 802.2는 종종 Logical Link Control(LLC)라고 불리어 진다. IEEE 802.2는 LAN환경에서 매우 잘 사용되는데, IEEE 802.3, IEEE 802.4그리고 IEEE 802.5와 같은 Protocol과 완벽하게 잘 사용될 수 있기 때문이다.

IEEE 802.2 는 세 가지의 Service 타입을 제안한다.

Type 1은 unacknowledged connectionless service이다.

Type 2는 connection-oriented service를 제공하고

Type 3는 acknowledged connectionless service를 제공한다.

 

Unacknowledged connectionless service를 제공하는 LLC Type 1은 Data의 전송을 확인하지 않는다.

왜냐하면 상위 계층인 TCP/IP에서 Data 전송이 제대로 되었는지를 확인하기 때문이다.

 

LLC Type 2(보통 LLC2라고 부르는데)Service는 Data를 전송하는 전송 station과 수신을 하는 station간에 논리적인 연결이 설정된다.

이것을 connection-oriented라고 부른다. LLC2는 일반적으로 IBM 시스템인 SNA 환경에서 사용된다.

 

LLC Type3 Service가 acknowledged data 전송을 지원하지만 논리적인 연결을 지원하지는 않는다. LLC Type3는 Error 발견이 중요한 공장자동화 환경에서 사용되지만 virtual circuit을 위한 context storage space가 극도로 제한된다.

 

End station은 다양한 LLC Service 타입을 지원한다.

Class I 디바이스는 오로지 Type 1만을 지원한다.

Class II 디바이스는 Type 1과 Type 2Service를 지원한다.

Class III 디바이스는 Type 1과Type 3Service를 지원하는 반면에 Class IV는 모든 종류의 Service를 지원한다.

 

IEEE 802.2Service를 통해 상위 계층의 Protocol로 통하려면 service access points (SAPs)을 거쳐야 한다. IEEE 802.2의 헤더는 destination service access point(DSAP) 필드를 갖는데, 이것은 상위 계층으로 갈 것인지를 정한다.

즉 Data를 받은 Node에서 IEEE 802.2를 처리하고, 상위 계층에서는 DASP 필드를 확인해서 나머지 Data를 처리하게 되는 것이다.

DSAP address 다음에는 source service access point(SSAP) address를 나오는데 이것은 상위 계층으로 가야할 것인지를 확인 해준다.

 

 

QLLC

QLLC는 SNA Data를 X.25 Network으로 이동시킬 때 필요한 data link 컨트롤 기능을 제공한다

QLLC는 X.25 protocol stack에서 packet-level layer(Layer 3)을 사용한다.

Layer 3의 X.25 packet이 QLLC에 의해서 다루어지는데, Layer 3의 X.25 packet의 general format identifier(GFI)의 qualifier bit라는 특정한 한 Bit를 다룸으로서 변경된다. 이렇게 함으로서 SNA Data가 X.25 Network에서 Data가 이동하게 된다.

X.25 protocol stack에 대해서 더 자세한 사항을 알기 싶으면, chapter 12 “X.25” 을 살펴보도록 하라.

 

 

참조 : http://iorora.web-bi.net/tech/ETCnetwork/etc/Synchronous%20Data%20Link%20Protocol%20and%20Derivatives.htm