제 4부 공중 통신망(Public Network)

제 18장 패킷 교환망(PSDN : Packet Switched Data Network)

18.1 개요

* 패킷교환망(PSDN : Packet Switched Data Network)은 지연의 발생은 크게 문제가 되지 않지만 데이터 오류의 발생은 억제되어야 하는 통신 서 비스(예를 들어, 은행의 예금 데이터)를 목표로 설계된 네트워크이다.

* 반면, PSTN은 약간의 데이터 오류는 허가되지만 지연이 억제되어야 하 는 음성 서비스를 목표로 설계된 네트워크이다.

* 따라서, 각 네트워크는 각각의 목표를 위해 사용하는 스위칭 방식이 상이 하며 PSTN에서는 회선교환방식(circuit switching)을 적용하고 PSDN에 서는 패킷교환방식(packet switching)을 적용한다.

* PSTN에서는 지연 발생을 줄이기 위해 네트워크 내에 데이터가 거쳐야 할 경로를 설정해 두고 설정된 경로를 통해 데이터를 전달한다. 이때, 네 트워크 내에서는 어떠한 처리도 하지 않고 단지 수신한 데이터를 전달하 는 기능만을 수행 함으로서 지연은 최소화 된다.

* 반면, PSDN에서는 데이터 오류를 최소화하여야 하므로 단말장치와 교환 장치 혹은 교환 장치와 교환 장치간에 데이터를 수신하면 즉시 인접 장치 로 전달하지 않고 일단 저장을 한 후 수신한 데이터에 오류가 발생했는지 를 검사하고 오류가 검출되면 오류를 복구한 후 인접 장치로 전달하는 교 환 방식을 적용한다. 이렇게 함으로서 지연은 불가피 하지만 오류 발생이 최소화되어야 하는 PSDN의 목표가 달성된다.

* 패킷교환 방식에는 가상회선(virtual circuit)방식과 데이터그램(datagram)

방식의 두 가지 방식이 있다.

* 가상회선 방식은 회선교환 방식과 비슷하게 연결 설정 단계, 데이터 전달 단계, 연결 해제 단계를 통해 데이터를 전달한다. 설정된 연결을 통해 패 킷이 전달되므로 네트워크 셀 순서(sequence)가 유지된다. 연결 설정 과 정을 거쳐야 하므로 적은 양의 데이터를 전달하는 경우에는 적합하지 않 다.

* 데이터그램 방식은 연결 설정 및 연결 해제 단계가 없이 각 패킷 마다 헤 더에 설치된 목적지의 주소를 기반으로 네트워크내에서 라우팅 된다. 교 환기는 패킷별로 스위칭을 하므로 하나의 메시지에 속한 패킷 마다 상이 한 경로를 통해 목적지에 전달될 수 있다. 따라서, 송신된 순서대로 목적 지에 도달하지 않는 경우가 발생될 수 있다. 이 경우에는 수신호스트에 패킷의 순서를 재배치 하는 기능이 필요로 된다. 연결 설정 과정 없이 데 이터를 전달하므로 적은 양의 데이터를 빈번하게 전달하는 경우 매우 효 과적이다.

* PSDN의 대표적인 예로 X.25 네트워크가 있다.

18.2 네트워크 구조

* X.25 네트워크의 구성 및 관련 표준안이 [그림 18.1]에 표시되어 있다.

- X.25 terminal은 X.25 네트워크에 단말장치가 접속하는 경우 요구되는 접 속 프로코콜인 X.25 프로토콜을 만족하는 단말장치이다.

* Non X.25 terminal은 X.25 프로토콜을 갖고 있지 않은 단말장치로서 이 러한 장치가 X.25 네트워크에 접속하기 위해서는 X.25 프로토콜 기능을 갖는 PAD와 접속되어야 한다.

* PAD는 RS232C/V.24와 같은 비동기 인터페이스를 갖는 장치를 X.25네트 워크에 접속하기 위한 장치이다.

* X.3는 PAD 자체의 내부 파라메터를 규정하는 권고안이다.

* X.28은 Non X.25 terminal과 PAD 간의 접속을 규정한다.

* X.29는 PAD와 원격 X.25 호스트 혹은 원격 PAD간의 접속을 규정한다.

18.3 연결 형태

* X.25가 지원하는 연결 형태로는

# 영구 가상 회선(PVC : Permanent Virtual Circuit)

# 교환 가상 회선(SVC : Switched Virtual Circuit)

# Fast select call이 있다.

* PVC는 항상 연결이 설정되어 있는 가상 회선으로 연결 설정 과정이 필요없이 전송할 데이터가 있으면 즉각 전송하는 방식으로 PSTN의 전용 선과 비슷한 연결방식이다.

* SVC는 필요한 경우에만 가상 회선을 설정하여 데이터를 전달하고 데이 터 전달 후 설정된 가상 회선을 해제하는 연결방식이다.

* Fast select call은 짧은 데이터를 긴급히 목적지로 전달하는데 유효한 전 달 방식이다. 호 설정 과정을 완료한 후 데이터 전달 단계에서 데이터를 전달하는 것이 아니라 호 설정을 하면서 데이터를 전달하는 방식이다. 호 설정을 위한 Call Request 패킷은 128 바이트의 데이터를 전달할 수 있으 며 여기에 데이터를 실어 전송한다. 착신 호스트가 이 패킷을 수신하여 계속적으로 통신하고자 하면 Call Accept 패킷으로 응답하고 그렇지 않은 경우에는 Clear Confirmation 패킷으로 응답한다. 물론, Call Accept 패킷 도 128 바이트의 데이터를 전달할 수 있으며 필요한 경우 사용된다.

18.4 프로토콜 구조

* X.25 프로토콜 구성이 [그림 18.2]에 나타나 있다.

* 패킷계층의 PDU를 패킷(packet)라 하고 데이터링크 계층의 PDU를 프레 임(frame)이라 한다. 물리 계층에서는 데이터가 비트 열로 송신되므로 비 트 스트림(bit stream)이라고도 한다.[그림 18.3]

18.5 물리 계층(Physical Layer)

* 물리 계층 프로토콜로 X.25과 X.21 bis가 권고된다.

* X.21은 15핀 디지틀 접속이며 [그림 18.4]에 나타나 있다.

* T와 C는 DTE의 데이터와 제어 정보를 전달한다.

* R과 I는 DCE의 데이터와 제어 정보를 전달한다.

* S는 네트워크의 비트 타이밍(비트 클럭)을 DTE에 전달한다. 일반적으로 디지틀 통신망에서 호스트는 네트워크로부터 수신되는 데이터로부터 클럭 성분을 추출하여 데이터를 수신하고 추출된 클럭을 송신 데이터의 기준 클럭으로 사용한다.

* B는 바이트 타이밍(단순히 8 개의 비트 타이밍으로는 바이트 경계를 알 수 없으므로 바이트 경계를 알리는 타이밍) 전달용으로 사용된다.

* Ga는 reference ground를 나타낸다.

* G는 protective ground를 나타낸다.

18.6 데이터링크 계층(Datalink Layer)

* ISO의 HDLC에 근거를 둔 LAPB(Link Access Protocol Balanced) 혹은 LAP이 사용된다.

* 참고로, N-ISDN의 데이터 링크 프로토콜은 LAPD가 사용된다.

* LAPB는 DTE와 DCE간의 단일 링크와 복수 링크 형상을 지원한다.

* 제공하는 기능은 흐름 제어, 오류 검출, 링크 복구 등이다.

* 두 가지 버전, 모듈로 8과 모듈로 128 순차 번호가 제공되며 모듈로 128 은 링크에서의 지연이 매우 큰 경우에 적용된다.

* 프레임 형태는 [그림 18.5]에 표시되어 있다.

* 프레임은 비트 열 01111110로 표시되는 플래그에 의해 확인된다. 따라서, 수신 장치는 입력되는 비트 열로부터 플래크가 수신되는지를 조사하여 프 레임을 찾아낸다.

* 플래그는 프레임의 경계를 나타내므로 플래그와 동일한 비트 열이 프레 임 내에 존재해서는 안된다. 이를 위해 5개의 1이 연속적으로 발생하는 비트열이 프레임 내(정확하게는 주소 필드에서 FCS 필드 부분)에 발생하 면 0을 다음에 삽입하여 6개의 연속적인 1의 비트 형태가 발생되는 것을 방지한다. 이러한 과정을 bit stuffing이라 한다.

* 주소(Address)는 점대점 연결인 경우 프레임이 명령(command)인지 응답 (reponse)인지에 따라 상이한 값을 갖는다.

* 정보(Information)필드는 상위 계층에서 수신한 데이터이다.

* 제어(Control) 필드는 프레임의 타입을 결정한다. 프레임 타입에는

unnumbered(순차 번호를 포함하지

않음), information(순차 번호 포함),

supervisory(순차 번호 포함)가 있다.   [그림 18.6]

* P(Poll) 비트는 DTE(혹은 DCE)에 의해 강제적으로 DCE(혹은 DTE)로 하여금 응답하게 하는 용도로 사용된다. DCE(혹은 DTE)가 명령 프레임 에 P 비트를 1로 세트하여 전송하면 DTE(혹은 DCE)는 F 비트를 1로 세 트한 응답을 전송하여야 한다. 평상시에는 P/F 비트는 0으로 세트된다.

* N(S)는 송신 프레임의 순차 번호이다.

* N(R)은 수신 순차 번호를 나타내며 송신부로부터 다음에 수신되기로 기 대되는 N(S)를 나타낸다.

* FCS는 생성 다항식 x16+x12+x5+1을 사용하는 CRC이다.

* LAPB 정보 전달 과정은 링크 설정 단계, 정보 전달 단계, 링크 해제 단 계로 구성된다.

* [그림 18.7]은 링크 설정 과정을 나타낸다. 링크(계층 2)가 설정되어야만 설정된 링크를 통해 상위계층인 계층 3의 데이터가 송수신 될 수 있으므 로 링크가 설정된 후 설정된 링크를 통해 계층 3의 호 설정 데이터가 송 수신 되어 계층 3의 연결이 설정된다. 따라서, 계층 3의 모든 패킷은 계층 2의 정보 프레임에 실려 전송된다.

* [그림 18.7]의 링크 설정 과정에서 동시에 DTE와 DCE가 링크를 설정하 려고 하는 경우 각각에 응답하여 링크를 설정한다.

* 링크 해제 과정[그림 18.8]

* RR 프레임은 N(R)-1까지의 모든 프레임을 정상적으로 수신하였음을 송 신부에 알리는 긍정 응답이다.

* 송신부는 가장 최근에 수신한 프레임의 N(R)을 기반으로 아래와 같은 순 차 번호를 갖는 프레임을 응답을 기다리지 않고 송신할 수 있다. 여기서 k는 위도우 사이즈이고 모듈로 8인 경우 7이 된다. V(S)는 링크의 종단점 이 프로토콜을 위해 운용하는 변수의 하나로서 다음에 송신할 프레임의 순차 번호이다. 송신부는 정보 프레임을 송신한 즉시 V(S)의 값을 하나 증가한다.

V(S),…,N(R)+k-1

* 송신부가 전송한 프레임의 수신 결과를 즉각적으로 알고자 하면 정보 프 레임의 P 비트를 1로 하여 송신한다.

* RNR 프레임은 busy 상태를 나타내며 RNR을 수신한 후에는 RR이나 RNR을 수신할 때 까지는 어떠한 프레임도 송신하지 않는다.

* REJ 프레임은 프레임이 순차적으로 도착하지 않았음을 지시한다. 이를 수신한 송신부는 수신한 REJ 프레임의 N(R)과 동일한 값을 갖는 N(S)부 터 시작하는 프레임을 재전송한다.

* 수신부는 순차적으로 도착하지 않은 프레임이나 FCS 오류가 발생한 비정 상적인 프레임을 수신하면 이를 폐기한다.

* 타이머 T1는 정보 프레임이 송신된 후 시작되고 이 값은 정보 프레임이 목적지에 도착하고 목적지의 응답이 다시 송신부로 되돌아오는데 걸리는 시간보다 크게 설정된다.

* 타이머 T2는 수신부가 정보 프레임을 수신한 후 응답을 송신하기까지 허 락된 가장 긴 시간을 나타내며 T2<T1의 관계가 성립한다.

* DCE는 타이머 T3를 이용하여 한계를 넘어선 idle time을 검출하고 이를 상위 계층에 알린다.

* 수신된 프레임에 비트 오류가 발생하지는 않았더라도 정보 필드가 너무 길다든가 하는 프로토콜 오류가 발생한 경우는 FRMR 프레임이 전송되 고 이는 링크를 리셋하게 된다.

18.7 네트워크 계층(Network Layer)

* 네트워크 계층은 네트워크 서비스를 트랜스포트 계층에 제공하는 기능을 수행한다.

* 네트워크 서비스는 어떤 서비스 품질로 연결(connection)을 설정하거나 리셋 혹은 해제 등의 연결 관련 서비스가 있고 설정된 연결상에서 데이터 를 전달하는 전달 서비스가 있다.

* 전달 서비스에는 흐름 제어(flow control)와 긴급 데이터 우선 전달 (expedited transfer) 등이 있다.

* 서비스 품질로는 스루풋(throughput), 전송 지연, 복제, 손실 등 이다.

* X.25 레벨 3은 DTE와 DCE간에 패킷을 상호 교환하는 방법을 지시한다.

* X.25 레벨 3의 연결 형태로는 SVC(Switched Virtual Circuit)와 PVC(Pe-manent Virtual Circuit)가 있다.

* SVC는 필요한 경우 연결이 설정되고 해제 되는 연결 형태인 반면 PVC 는 연결 설정 단계가 필요 없이 항상 연결이 설정되어 있는 연결 형태이 다.

* X.25 레벨 3의 연결 설정 및 해제 과정이 [그림 18.9]에 표시되어 있다.

* 연결을 설정하고자 하는 호스트는 Call Request 패킷을 구성하여 원격 호 스트로 전송한다.

* 원격 호스트가 연결을 원하는 경우는 Call Accept 패킷으로 응답하고 그 렇지 않은 경우는 Clear Request 패킷을 송신한다.

* [그림 18.10]은 계층 3의 연결 설정 단계, 데이터 전달 단계, 연결 해제 단 계를 나타낸다.

* Call Request 패킷에서 logical channel은 호스트와 호스트간의 설정된 논 리적 연결을 의미한다.

* Call Request 패킷에서 DTE 주소 필드 이외에 LCN(Logical Channel Number) 필드가 있으므로 동일한 호스트간에 다수의 논리적 연결이 설정 될 수 있음을 의미한다.

* 즉, 한 호스트 내에서 다수의 프로세스(process)가 동시에 착신 호스트의 프로세스들과 통신이 가능하며 이 통신은 상이한 LCN으로 구분된다.

* DTE와 DCE가 동시에 동일한 LCN를 가지고 연결을 설정하고자 하면 충 돌(collision)이 발생하게 되고 이 경우 DTE가 시작한 연결이 설정되고 네트워크로부터 요청된 연결은 설정되지 않는다.

* 이런 충돌 현상을 줄이기 위해 DTE는 가용한 LCN 중 낮은 번호부터 선 택하며 DCE는 반대 방향을 사용한다.[그림 18.11]

* 상기에서 기술한 호(연결) 설정 단계를 통해 호스트가 사용할 LCND이 얻어지고 이 LCN 값을 갖는 데이터 패킷이 사용자 데이터를 실어 나른 다.

* 패킷 교환 망 내의 패킷 교환기는 수신되는 데이터 패킷의 LCN을 기반 으로 라우팅 테이블을 구성하고 데이터 패킷을 스위칭하여 목적지로 전달 한다.

* 이와 같이 하나의 LCN에 대해 발신지부터 착신지까지 가상적인 경로가 설정되며 이를 Virtual Circuit이라 한다.

* Virtual Circuit은 물론 LCN으로 구분된다.[그림 18.12]

* [그림 18.13]은 계층 3의 패킷 종류 및 구조를 나타낸다.

* Receive Ready 패킷은 piggyback할 데이터 패킷이 없는 경우 수신한 패 킷에 대한 응답을 송신할 때 사용된다.

* Receive Non Ready 패킷은 수신한 패킷의 확인과 동시에 Receive Ready 가 올 때 까지 패킷을 보내지 말라고 지시하는데 사용된다.

* Reject 패킷은 P(R)가 지정한 순서번호부터 일련의 패킷을 재전송 해줄 것을 요청하는데 사용된다.

* Rest 패킷은 특정 가상 회선에 순서번호이 불일치와 같은 오류 상황이 발생한 경우 해당되는 가상 회선을 초기화 하는데 사용된다.[그림 18.14]

* Restart 패킷은 데이터 링크 계층에서 링크 설정 과정이 수행된 경우 연 계되는 계층 3의 초기화 과정을 수행하는데 사용된다.[그림 18.15]

* Q는 데이터 패킷에 포함된 정보의 종류를 나타낸다. QRK 0이면 X.25 사 용자 데이터를 포함하고 1이면 X.29와 같은 PAD 메시지를 포함한다.[그 림 18.16]

* M은 상위계층의 메시지가 패킷 사이즈 보다 큰 경우에 이를 분할하여 전 송하는 경우에 사용된다.[그림 18.17]

* D 비트는 패킷의 전달에 대한 확인을 요구하는 경우 사용되며 데이터 패 킷과 호설정 패킷에만 사용된다. D가 0인 경우는 로컬 응답을 의미하고 1 인 경우는 종단간 응답을 나타낸다.[그림 18.18]

* 호스트와 네트워크에서의 가상 회선의 사용 예가 [그림 18.19]에 표시되어 있다.

* 물리적 전송선로에 다수의 논리적 채널이 설정되며 그 논리적 채널은 LCN으로 구별된다. 또한, LCN은 스위칭 정보를 제공한다.