이번 강좌에서는, 케이블 모뎀에 속도 제한이 어떻게 걸리는지 그 과정을 살펴보고, 과연 속도 제한을 사용자가 풀 수 있는지에 대해 알아보려고 합니다.
케이블 모뎀이 IP를 받아오는 과정
케이블 모뎀이 서버에서 IP를 받아오기까지 어떤 과정을 거치게 될까요? 그 과정을 알아보기 위해서, 잠시 케이블 모뎀이 부팅될 때 과연 무슨 일이 일어나는지 알아보고 가도록 하겠습니다. 물론 이 과정도 여러분들의 이해를 돕기 위해 많이 줄인 과정입니다. 그렇다고 해서 이 과정을 모두 이해해야 하는 것도 아니고, ‘이런 과정을 거친다’ 라고만 알고 넘어가시면 됩니다.
혹시라도 전체 과정을 알고 싶으신 분들은 시스코사등에서 공개하고 있는 기술 문서를 참고하시면 됩니다.
1) 전원이 꺼진 상태에서 전원이 들어온다
여기에 대해서는 별 다른 설명이 필요 없으므로 생략합니다.
2) 다운로드에 쓰이는 채널의 주파수를 찾는다(Scan)
케이블 모뎀에 전원이 들어오면, 제일 먼저 케이블 모뎀이 다운로드에 사용할 수 있는 적당한 주파수를 하나 하나 찾아보게 됩니다. 이 주파수는 케이블 모뎀 사업자들마다 모두 다릅니다.
3) 상향 채널 기술자(Upstream Channel Descriptor)를 받는다.
케이블 모뎀이 주파수를 찾은 다음에는, 업로드에 쓰이는 채널에 대한 내용이 담긴 데이터인 상향 채널 기술자(Upstream Channel Descriptor)라는 것을 받게 됩니다. 여기에는 업로드에 쓰이는 주파수와 같은 정보가 담겨있습니다.
4) 신호를 보낼 레벨을 찾는다.
그 다음으로, 케이블모뎀이 업로드때 과연 어느 정도의 세기(이것을 ‘레벨’ 이라 합니다)로 신호를 보내야 하는지 검색을 하게 됩니다.
5) DHCP 서버에 접속해서 IP 주소와 게이트웨이의 주소를 받는다.
업로드와 다운로드에 쓰이는 채널에 관한 설정이 모두 끝나면, 케이블 모뎀은 DHCP 서버에 접속해서 IP 주소와 게이트웨이의 주소를 받아옵니다. 이 주소가 연결된 랜카드에 전달되는 것입니다.
6) TFTP를 이용해서 설정 파일을 가져온다.
IP를 받아온 케이블 모뎀은, 주파수 정보 이외에 케이블 모뎀이 동작하는데 필요한 여러 가지 정보가 담겨 있는 ‘설정 파일(Config File)’을 서버에서 받아 옵니다. 이때 케이블 모뎀은 TFTP(Trivial FTP)라는 프로토콜을 이용합니다. 또, 이 설정 파일은 케이블 모뎀에 따라서 모두 다릅니다.
7) 현재 시간(Time Of Day)를 얻어온다.
DHCP 서버는 정해진 간격(24시간, 12시간, 1시간 등)에 따라서 케이블 모뎀에 IP를 빌려줍니다(lease). 그리고 정해진 시간 뒤에도 케이블 모뎀이 여전히 쓰이고 있다면, 케이블 모뎀이 빌려줬던 IP를 그대로 사용할 수 있도록 해줍니다. 이런 시간 계산을 하기 위해, 케이블 모뎀은 서버에서 현재 시간을 얻어옵니다. 이때 서버는 DHCP 서버와 같은 서버일 경우가 많습니다.
8) 온라인.
이제 사용자들이 정상적으로 인터넷을 사용할 수 있습니다.
물론, 이러한 과정들은 장애가 없는 한 길면 1-2분, 짧으면 30~40초 안에 모두 이루어지므로, 사용자는 큰 불편을 느끼지 않습니다. 이런 과정을 거쳐야 비로소 케이블 모뎀을 통해 인터넷을 사용할 수 있는 것입니다.
과연 무엇이 속도를 제한하는가?
지금까지 간단하게, 케이블 모뎀이 켜지면서 어떤 일들을 하는지 살펴봤습니다. 그렇다면 위와 같은 과정 중에서, 과연 무엇이 속도를 제한하는 걸까요? 지금 이 글을 읽고 계시는 여러분들도 한번 생각해보시기 바랍니다.
어느 과정인지 짐작이 가십니까? 그렇다면 정답을 알려드리겠습니다. 바로 6)번, ‘TFTP를 이용해서 설정 파일을 가져온다’ 라는 과정이 문제가 되는 것입니다. 이 6) 번 과정에서 가져 오는 설정 파일이 바로 속도를 제한하는 것입니다.
그렇다면 이 설정 파일에 과연 무슨 내용이 담겨있길래 속도를 제한할 수 있는 것인지, 한번 살펴보도록 하겠습니다. 여러 가지 잡다한 사항이 다 들어가겠지만, 중요한 것만 추려보면 다음과 같습니다.
1) 다운로드에 쓰이는 채널 정보
케이블 모뎀이 다운로드를 할 때 써야 할 채널에 대한 정보가 담겨있습니다.
2) 케이블 모뎀의 펌웨어를 다운로드 받을 수 있는 서버와 파일 이름에 관한 정보
케이블 모뎀에도 펌웨어가 있고, 케이블 모뎀 사업자들마다 다른 펌웨어를 사용하고 있습니다. 만약 케이블 모뎀이 사용하는 펌웨어의 버전이 사업자들의 서버에 저장된 펌웨어보다 낮다면, 케이블 모뎀은 자동으로 새 버전의 펌웨어를 받아와서 업그레이드를 하게 됩니다. 이때 사용할 서버의 주소와, 펌웨어의 파일 이름에 대한 정보를 담고 있습니다.
3) 제조사에 따라 추가된 설정 사항
케이블 모뎀 사업자들에 따라서, 모뎀마다 약간씩 다른 설정값을 줄 수 있습니다. 이럴 경우에 필요한 설정 사항을 담고 있습니다.
4) 업로드 및 다운로드 속도에 대한 설정
이 부분이 가장 중요합니다. 아무리 케이블 모뎀이 십매가풍을 자랑한다고 해도, 이 설정에서 최대 5Mbps로 제한해놓으면 그 속도밖에 낼 수 없는 것입니다. 케이블 모뎀의 라이트 서비스가 바로 이런 방식으로 이루어지는 것입니다.
자, 모든 것이 드러났습니다. 바로 업로드나 다운로드 속도 제한에 설정 파일이 결정적인 영향을 주고 있었습니다.
설정 파일 좀 더 자세히 들여다보기
이제는 설정 파일, 좀 더 정확히 말하자면 설정 파일의 속도를 제한하는 부분에 대해 더 자세히 살펴봐야 할 것 같습니다. 원래 이 설정 파일은 암호화되어서 일반인들이 함부로(?) 열어볼 수 없지만, 여러 가지 프로그램들을 이용하면 이 설정 파일을 읽어볼 수 있습니다. 자, 이제부터는 우리나라의 某 케이블 모뎀 사업자가 실제로 사용하고 있는 설정 파일을 살펴봅시다. 이 파일은 Intac 모뎀에 사용되는 설정 파일이며, 중요한 IP와 파일 이름은 보안 때문에 가렸습니다.
Main {
NetworkAccess 1;
ClassOfService {
ClassID 1;
MaxRateDown 10000000;
MaxRateUp 768000;
/ * 위의 두 줄에 주목하시기 바랍니다 */
PriorityUp 7;
MaxBurstUp 1600;
PrivacyEnable 0;
}
SwUpgradeFilename "12345.cm";
SwUpgradeServer 2**.***.*.**;
/* 위의 두 줄이, 케이블 모뎀의 펌웨어가 담긴 파일의 이름과, */
/* 파일을 받을 수 있는 서버를 가리킵니다 */
MaxCPE 1;
/* EndOfDataMarker */
}
위 파일의 각각의 내용에 대해서는 굳이 설명하지 않겠습니다. 그런 것을 일일이 설명하려면 여러가지 복잡한 이야기를 많이 해야 하고, 속도 제한 과정을 아는데 꼭 필요하지 않기 때문에 여기에서는 생략합니다.
그렇다면 우리가 주목해야 할 부분은 어디일까요? 바로, ClassOfService 부분입니다. ClassOfService 부분을 보면,
MaxRateDown 10000000;
MaxRateUp 768000;
이라는 두 줄이 있습니다. 자, 무언가 감이 잡히십니까? 이 두 줄이 바로 우리들이 사용하는 케이블 모뎀의 업로드 속도 또는 다운로드 속도를 제한하고 있는 것입니다.
혹시 비씨파크에서 예전에 배포했던 프로그램인 DocsDiag 를 기억하십니까? 그 프로그램이 바로, 이런 설정 파일들을 읽어서 그 결과값을 보여주는 역할을 했던 프로그램입니다.
먼저, MaxRateDown 이라는 부분은 케이블 모뎀의 최대 다운로드 속도를 지정해주며, 단위는 bps입니다. 만약 10000000 이라고 설정되어 있으면, 제한이 걸려 있지 않은 것입니다.
그렇다면, 만약 MaxRateDown 이라는 부분에 2000000으로 설정되어 있다면, 과연 이 설정 파일을 받은 케이블 모뎀은 최대 얼마의 속도로 다운로드를 받을 수 있는 것일까요? 바로 2Mbps로 다운로드를 받을 수 있는 것입니다. 케이블 라이트 서비스는 바로 이런 식으로 운영되고 있습니다.
다음으로, MaxRateUp 이라는 부분은 케이블 모뎀의 최대 업로드 속도를 지정해주며, 역시 단위는 bps입니다. 만약 2500000 이라고 설정되어 있으면, 케이블 모뎀의 최대 상향 속도인 2.5Mbps 이므로 제한이 걸려 있지 않은 상태입니다.
그런데 위를 살펴보면, 768000 이라고 설정이 되어 있습니다. 고로, 위와 같은 설정 파일을 받은 케이블 모뎀에서는 다운로드는 최대 속도로 무제한으로 받을 수 있는데, 업로드는 최대 768kbps 밖에 못한다는 결론이 나옵니다.
속도 제한이 기술적으로 불가능하다고 고객들에게 외쳐왔던 ISP들은 그동안 거짓말을 했다는 사실, 이제는 아시겠지요?
속도 제한을 사용자가 풀 수 있을까?
그렇다면, 이런 속도 제한을 사용자가 직접 풀 수 있을까요?
결론부터 말하자면, 충분히 가능합니다.
다만 여러 가지 현실적인 문제가 있기 때문에, 업로드 속도 제한을 푸는 방법에 대해서는 말씀드릴 수 없는 것을 양해해 주시기 바랍니다. 필자도 3일정도 밤을 새워가며 고생한 결과, 다음과 같이 업로드 제한을 푸는데 성공했다는 것만을 알려드리고 싶습니다.
크리스마스가 며칠 남지 않았습니다. 가족들과 함께 조용한 크리스마스 보내시기 바랍니다.