[통신]

HDLC - 제어필드(Control Field)

Neo Park 2012. 12. 10. 11:59

 

데이터 링크에서의 기능 중 하나가 흐름제어라고 언급한 바가 있다.

이 흐름 제어를 위해 사용되는 한 바이트 또는 두 바이트의 세그먼트를 제어필드(Control Field)라고 한다.

두 경우 모두 비슷하므로 한 바이트의 제어필드를 갖는 경우에 한해 설명한다.

 

제어필드는 프레임의 종류에 따라 다르다. [그림1-1]을 참고로 자세히 살펴보기 바란다.

 

 

[그림1-1] HDLC Control Field

 

제어필드는 [그림1-1]에서 보는 바와 같이 프레임의 종류에 따라 다르다. 제어필드의 첫번째 비트가 0이면 프레임은 I-frame이다. 만약 첫번째 비트가 1이고 두번째 비트가 0이면 그 프레임은 S-frame이며, 첫번째 비트와 두번째 비트가 모두 1이면 그 프레임은 U-frame이다. 세 종류의 프레임 모두 제어란에 poll/final(P/F) 비트를 포함하고 있다.

 

I-frame은 흐름제어와 오류제어를 위해 N(S)와 N(R)로 부르는 두 개의 3비트열을 가지고 있다. N(S)는 보내지는 프레임을 식별하는 숫자를 나타내며, N(R)은 양방향 통신의 확인응답 필드(acknowledge field)로써, 응답으로 받기를 기대하는 프레임의 숫자를 나타낸다. 만약 마지막 받은 프레임에 오류가 없을 경우에는 N(R)의 숫자는 다음으로 받고자 하는 프레임의 숫자가 되며, 마지막 받은 프레임에 오류가 있으면 N(R)은 재전송이 필요함을 의미하는 손상된 프레임의 숫자를 가지게 된다.

 

S-frame의 제어필드에는 N(R)필드는 있으나 N(S)필드는 포함되지 않는다. S-frame은 수신기가 보낼 데이터가 없을 때 N(R)을 돌려 보내 주기 위하여 사용된다. 수신기에서 보낼 데이터가 있을 경우에는 앞서 설명한 바와 같이 I-frame의 제어필드에 응답을 실어 보내게 된다. S-frame은 데이터를 전송하지 않기 때문에 데이터를 식별하기 위한 N(S) 필드를 필요로 하지 않는다. S-frame의 P/F 비트의 앞에 있는 두 비트는 부호화된 흐름과 오류제어 정보를 보내는데 사용된다.

U-frame은 N(S)나 N(R) 필드가 없으며 사용자 데이터 교환이나 응답용으로 만들어진 것이 아니다. U-frame은 P/F 비트의 양옆에 두 개의 부호 필드(code fields)를 가지고 있는데, 하나는 2비트이고 다른 하나는 3비트이다. 이 부호들은 U-frame의 종류와 U-frame의 기능을 구별하는데 쓰인다.

 

P/F 필드는 두 가지 목적으로 쓰이는 단일비트이다. 이 비트는 1이 되었을 때만 의미가 있으며 poll 비트나 final 비트를 의미할 수 있다. 이 비트는 프레임이 주국(Primary Station)에서 종국(Secondary Station)으로 보내졌을 때에는 poll을 의미하며, 프레임이 종국에서 주국으로 보내졌을 때에는 final 비트를 의미한다

 

 

 

 참조 : http://kangsanggu74.blog.me/140107638926