128k 전용선을 이용한 인터넷 호스트 라우팅


배철수 : 리눅스월드 발행인

 

 

RAC-128
서브네팅

한 도시내에 본사와 여러 사무실 또는 자회사 등이 있는 경우 본사에 연결된 인터넷을 다른 사무실 또는 자회사로 연장해서 쓰는게 비용만에서 유리하다. 즉, 여러 사무실에 따로 인터넷을 연결하는게 아니라 본사에 고속의 인터넷을 연결 한 후 다른 사무소에 이를 배분해주는게 보다 경제적이다. 이유는 인터넷 요금 체계가 속도에 비례하지않기 때문이다.


예를들어 한국통신의 56k 인터넷 전용선의 경우 월 48 만원인데 128k는 65 만원이다. 따라서 128k하나를 신청해 2군데서 나누어 사용하는 경우 56k를 두군데서 따로 연결하는 경우보다 월 31 만원이 이익이다. 물론 두 사무소를 연결하는 통신비가 추가되기는 하지만 그걸 고려해도 128k 한 개가 더 경제적이다. 또 56k를 따로 연결하면 한 사무소에서 최대 속도가 56k 이지만 128k를 쓴다면 다른 사무소에서 인터넷을 안쓰는 시간에는 128k 까지 가능하다는 이점도 있다.


여기서 소개하는 단학선원도 서울에 여러 사무소가 있는데 최근에 본사에 인터넷 전용선(128k)을 연결하였다. 이 전용선을 다른 사무소로 연장하는 문제를 본인에게 문의해왔기에 장비나 통신회선 사용료 등을 고려 128k 전용선에 인터넷기술에서 개발한 128k 싱크 어싱크 변환 어텝터 (모텔명 RAC-128)를 사용하도록 권고 하였다.



RAC-128

RAC-128은 본인과 인연이 있다. 96년에 당시 TT선에 다이얼업 모뎀을 쓸수 있다는걸 처음 발견하고서 모 컴퓨터학원에 설치된 인터넷 전용선을 다른 컴퓨터학원에 TT선으로 연결해주었다. 양쪽에 리눅스를 사용하였고 연결해 가는쪽에는 IP Masquerade를 설치해서 동시에 여러대의 PC에서 리눅스를 쓸수 있도록 구성해주었다. 그런데 연결해가는 학원쪽에서 좀더 빠른 속도로 연결해 줄수 없냐고 물었다. 학원쪽에서 강의시 10여대 이상의 PC가 동시에 인터넷을 쓰다보니 TT선의 선로속도인 33.6k로는 너무 느린게 원인이었다.


Proxy Server도 설치해보았으나 이것도 근본적인 해결책은 아니었다. 그래서 월 회선비가 12만원선인 56k 디지털 라인을 써서 두 학원을 연결해보기로 했다. 문제는 장비였다. 56k 디지털 라인에서는 DCE에 DSU를 써야하는데 DSU가 PC에 연결되는지 문제였다. DSU를 라우터에 V.35케이블을 써서 연결하는건 해보았으나 PC에 직접 연결하는건 해보지를 않았기 때문이다. DSU 매뉴얼을 자세히보니 DSU를 DTE(컴퓨터)에 연결하는 인터페이스로 RS-232C 케이블을 쓸수 있다고 돼 있다. 그리고 거기에는 분명 DSU가 Async통신도 지원 한다고 돼 있었다.
RS-232C에 비동기라면 이건 분명히 PC에 시리얼 포트에 연결할수 있다는 생각이 들어 테스트 해보기로 했다. 시험 결과는 그러나 실패했다. 아래는 그 결과를 하이텔 O/S 동우회 랜 강좌/정보난에 쓴 내용이다.




제목 : PC에서 DSU를 사용할수있는가
보낸이 : 배철수 (qkiwag) 08/04 17:52 조회 : 1566 1/5

DSU는 한국통신에서 제공하는 디지탈라인(부호급)을 통한 56/64kbps 데이타전송에 쓰이는 장비다. 모뎀은 컴퓨터의 디지탈신호를 전화선의 아날로그 신호로 바꾸지만 DSU는 컴퓨터의 디지탈 신호를 다른 형태의 디지탈 신호로 바꾸는 역할을 한다.
물론 상대방의 DSU에서는 그 반대의 변환이 이루어진다. 요즘 데이타를 고속으로 전송할 필요성이 많아짐에따라 28.8k가 최대속도인 모뎀보다 더 빠른 데이타전송 방법에 대해 모두들 궁금해 한다. 물론 LAN에서는 100Mbps도 가능하지만 여기서는 WAN(Wide Area Network)을 대상으로 이야기 하고자 한다.
본인도 인터넷을 원격지간의 회사나 지점에서 나누어 쓸 필요성 때문에 56k가 가능한 DSU를 PC에서 사용할 수 있는지 여부에 관심이 많았다. PC에서 사용하려면 우선 비동기(Async)통신을 지원해야 한다. 동기(Sync)와 비동기(Async)통신의 차이점은 여기에서 설명하기는 너무 복잡하지만 같은 선로속도라면 동기방식이 비동기보다 20%가량 빠르다. 즉 비동기 에서는 8bit의 데이타외에 스타트비트 1bit와 스톱비트 1bit를 포함한 10bit를 필요로하지만 동기통신에서는 데이타 전송 중간에 동기신호를 넣기때문에 훨씬 효율적이다. PC에서의 시리얼포트는 비동기만을 지원한다.

DSU 메뉴얼을 보면 56k에서 분명 동기/비동기를 모두 지원한다고 나와있다.
그리고 DSU에는 PC의 시리얼포트와 연결할수있는 RS-232C 포트도 있다. 그래서 엇그제 한국통신의 56k라인에 DSU를 연결하고 이를 PC의 시리얼포트에 다시 연결하여 보았다. 그리고 PC(Linux 용)의 시리얼포트 속도를 57,600bps로 조정후 연결을 시도하였으나 처음 몇자만 나오고 그 이후 데이타는 모두 깨진다. 결국 DSU 제조업체에 문의해서 알아본 결론은 DSU에서 지원하는 56K는 PC에서의 57.600bps와 같지않다는 거였다. 즉 56k에서도 비동기통신이 가능하지만 시리얼포트는 56K속도를 낼수 없다는 것이다.

본인도 여태 혼동 했던게 PC에서의 57,600bps가 56kbps로 알았는데 그게 아니었다. PC에서는 모뎀통신을 위주로 하였으므로 최초의 모뎀인 300bps급 과의 호환성 때문에 모든 속도가 2400의 배수로 나누어 떨어진다.
그런데 이유는 잘 모르지만 56k는 이에 해당하는 속도가 PC의 시리얼포트에서 나오지 않는다. 즉, 56k를 1024로 곱해도 57.344밖에 나오지 않는다.
물론 DSU의 56k가 56,000bps를 말하는지도 모른다. DSU에서 PC의 시리얼포트와 공통되는 최고속도는 결국 19,2000bps이다. 그러나 이 속도라면 전용선모뎀으로도 가능한데 비싼 회선비를 주고 DSU를 쓸필요가 없다.
결론적으로 56kbps이상의 선로속도를 PC에서 내고 싶다면 PC에 싱크보드를 사용하던지 아니면 라우터같은 싱크통신을 지원하는 장비를 써서 PC와 Lan To Lan으로 연결해야 한다는 것이다.
다른 하나의 방법은 ISDN을 사용하는 것이며, 그러나 이 모든 방법이 상당한 투자비용을 요한다는 점이다.


-----------------------------------------------------

위에서 조금 설명이 부족하지만 DSU의 56k는 56,000bps를 말한다. 이는 전화국의 디지탈 라인이 본래 음성전송을 목적으로 설계되어 사람의 음성을 상대가 무리없이 인식할 수 있는 기본적인 속도가 64k이기 때문이라고 한다.
이것이 56k가된 이유는 8k를 관리용 데이터 전송에 쓰기 때문이라고 한다. ISDN에서도 한 개의 채널이 64k인 이유도 이 때문이다.


그래서 그 이 후 DSU를 PC에 연결할 수 있도록 DSU 제조업체에서 설계를 수정하는 문제를 O/S동우회에 제안하는 글을 올리기도 했으나 별 무소식이었으나 얼마전에 인터넷기술에서 이를 해결했다는 소식을 듣고 RAC-56을 본인이 관리 중인 리눅스 PPP서버에 실제로 설치해 사용해 보았는데 성능에 별 문제가 없었다.
(RAC-56는 DSU의 RS-232단자에 연결되며 PC의 시리얼 포트와는 모뎀케이블로 연결된다)

그래서 단학선원의 인터넷을 다른 사무소로 128k 속도로 연결하는 것도 FDSU에 RAC-128을 쓰게되었고 본인이 설치를 하게되었다. 그런데 조건이 조금 까다로운게 연결해 가는 사무실에 인터넷 정식 어드레스를 23개를 할당하고 나머지 PC들은 모두 내부 어드레스(192.168.1.X)를 쓰도록 구성해 달라는 것이었다.


리눅스에 PPP서버를 설치해서 원격지의 여러대의 PC에 인터넷을 사용하게 해주는 경우 원격지 LAN에 리눅스 PPP 클라이언트를 설치하고 여기에 IP Masquerade나 Proxy Server를 설치하고, 다른 PC는 내부 어드레스(보통 192.168.X .X )를 할당해 주는 방식을 쓴다. 그러면 원격지 PC들은 외부로 나갈때 리눅스 클라이언트 PC에 할당된 정식 어드레스를 공유하게 된다.


이 방식을 써도 인터넷의 대부분의 서비스를 사용하는데는 별 문제가 없으나 일부 서비스에는 문제가 될 수 있다. 예를 들어 인터넷 게임중에 일부는 상대방의 IP 어드레스를 체크해서 한 개의 IP 어드레스로 두 개 이상의 접속이 있으면 서비스를 받지못하게 한다고 한다. 즉, 게임방 같은 곳에는 모든 PC에 인터넷의 정식 어드레스를 필요로 한다.


위와같이 TT선이나 전용회선을 써서 인터넷을 연결해주는 경우 라우터를 사용해 서브네팅을 하지 않고도 원하는 갯수만큼 인터넷 정식 어드레스를 상대방에 할당하는 것은 양쪽에 리눅스를 쓰면 가능하다.


단학선원의 경우에도 연결해 가는 쪽 사무소에 리눅스 서버를 설치하고(물론 단학선원 쪽도 리눅스 서버를 사용하였고 PPP서버를 설치했다) 그쪽 PC 중 23대에는 정식 어드레스를 부여했고(서브네팅을 하지않았다) 나머지 PC는 IP Masq를 써서 내부 어드레스로 사용하도록 구성 하였다.
즉, 선택적으로 IP Masq를 적용하는 기법을 썼다.


리눅스 서버(사무소쪽)에는 IP Aliasing기법을 써서 랜카드에 두개의 인터넷 주소를 부여하였다. 즉, 한 개는 인터넷 정식 주소 다른 하나는 내부 주소이다. 그래야 인터넷의 정식 주소를 가진 PC 및 내부 어드레스를 가진 PC 모두 리눅스에 login 할 수 있기 때문이다.

▲ top

서브네팅


요즘은 인터넷의 정식 어드레스가 부족하여 ISP들이 인터넷 어드레스를 주는데 매우 인색하다. C클래스 전체(256개)를 받으면 매우 대접이 좋은거고 보통은 64개나 128개를 받는 정도다. 이 경우에 리눅스 서버를 설치하려면 서브네팅을 알아야 한다.


아래 서브네팅을 문답식으로 정리하면
(여기에 예를 든 인터넷 주소는 210.113.40.X 이다)

1. C 클래스를 서브네팅하면 몇개의 네트웍으로 나눌수 있는가?

답) 2의 배수로 가능하다.
2,4,8,16,32,64 즉, 2개부터 최대 64개의 네트워크로 분할 할 수 있다. 이중에서 64개로 분할하는 경우는 ISP가 인터넷을 LAN TO LAN으로 연결할때에 두라우터의 시리얼 포트에 사용한다. 이유는 64개의 네트워크로 분할하면 사용가능 IP Address는 2개이므로 두 라우터의 시리얼포트 쪽 네트워크를 구성하는데 적당하기 때문이다.


2. 몇 개로 나누어지는가는 무엇으로 결정되는가?

답) 서브네트 마스크(Subnetmask)에 의해 결정된다.
C 클래스의 서브네트 마스크는 서브네팅을 않을경우 255.255.255.0 이다.
즉, 11111111. 11111111. 11111111. 00000000(2)이다. C 클래스에서는 앞의 3개의 8bit를 네트워크 주소로 할당하고 나머지 한 개를 호스트 주소로 쓰기 때문이다. 마지막 8bit가 호스트 주소이므로 2**8 즉, 256개의 호스트에 IP어드레스를 할당 할 수 있다.
그러나 C 클래스 네트워크를 가장 흔한 4개로 서브네팅하는 경우를 예를 들자.
이 경우 Subnetmask는 255.255.255.192가 된다.
즉, 호스트 어드레스로 할당된 마지막 8bit중 앞의 2bit를 네트워크 주소로 재 할당하기 때문이다.

128 64 32 16 8 4 2 1

1 1 0 0 0 0 0 0 = 128+64 = 192
(Subnetmask)

왜 4개의 네트워크가 가능한가?

NETWORK Host ADDRESS

1번 네트워크 : 0 0 | 0 0 0 0 0 0
2번 네트워크 : 0 1 | 0 0 0 0 0 0
3번 네트워크 : 1 0 | 0 0 0 0 0 0
4번 네트워크 : 1 1 | 0 0 0 0 0 0
즉, 2bit가 네트워크 주소 이므로 2*2=4 개의 네트워크로 나뉘어 4군데에 인터넷을 연결해 줄 수 있다.


3. 각각의 네트워크에서 네트워크 어드레스 및 BroadCast 어드레스 그리고 사용가능 IP 어드레스 갯수는 ?

네트워크 어드레스는 호스트 부분이 전부 0인 주소이다.
그리고 BroadCast는 호스트 부분이 전부 1인 주소이다.
그러므로, 위의 3번 네트워크만 예를들면

[1] 네트워크 어드레스

128 64 | 32 16 8 4 2 1

1 0 | 0 0 0 0 0 0 = 128

즉, C 클래스인 210.113.40.X 인터넷 어드레스를 4개로 서브네팅 했다면 3번째 네트워크의 네트워크어드레스는 210.113.40.128이 된다.

[2] BroadCast 어드레스

128 64 | 32 16 8 4 2 1

1 0 | 1 1 1 1 1 1
= 128+32+16+8+4+1 = 191

즉, 3번째 네트워크의 BroadCast 어드레스는 210.113.40.191 이 된다.

나머지 네트워크에 대한건 각자 계산해 보세요


[3] 각 네트워크 별 사용가능 IP 어드레스의 갯수는 ?

위에서 처럼 8bit 중 2bit를 네트워크 주소로 할당하였으므로 나머지 6개를 호스트 주소로 쓴다. 즉, 2**6 -2 = 62 개다.

(두개는 네트워크 주소 및 BroadCast에 할당된다)

따라서 210.113.40.X 네트워크를 서브네팅을 않았으면 254개의 호스트에 IP 어드레스를 할당해 줄 수 있었는데 서브네팅을 하므로써 248개(62*4)의 호스트에만 할당 가능하다. (인터넷 전체로 볼때를 말한다)
즉, 6개를 손해본다.

그러나 서브네팅이 나쁜건 아니다. 만약 서브네팅을 않았으면 60개의 호스트 밖에 없는 업체에도 254개의 어드레스를 모두 할당해 주므로써 나머지 IP 어드레스는 낭비가 되나, 위처럼 서브네팅을 하면 60대의 호스트를 갖고있는 4군데 업체에 IP어드레스를 할당하게 되어 IP 어드레스를 경제적으로 사용할 수 있다.

 

▲ top

 

home으로...