[네트워크] Day 8
라우터
라우터는 기본 동작 외에 주소 변환과 패킷 필터링 기능을 추가적으로 가지고 있다.
우선 주소 변환은 인터넷의 보급이 빨라지면서 개개인의 주소가 늘어나게 되면 고유한 주소가 전부 고갈될 수 있다는 예측으로부터 시작되었다.
주소변환은 사내와 같은 환경에서 사내의 기기에 할당되는 주소는 다른 회사의 주소와 중복되어도
다른 네트워크를 갖추고 있어 문제가 되지 않는다는 성질을 이용했고, 특정 주소를 사내용으로 사용한다는 규칙을 세웠다.
이러한 규칙에 기초한 사내용 주소는 프라이빗 주소라 하며, 이전에 사용하던 고유한 주소는 글로벌 주소라 한다.
프라이빗 주소 규칙은 사내에서 사용하는 것은 특정 범위 내로 한정한다는 것이다.
단 이 과정에서 사내에서의 패킷 전송을 위해 사내에서의 주소 중복은 피해야 한다.
사내 네트워크를 인터넷에 접속할 때는 사내 네트워크를 인터넷에 공개하는 서버에 접속하는 부분과 사내용 네트워크로 나눈다.
사내 네트워크에는 프라이빗 주소를 할당하고 인터넷과는 직접 패킷을 주고받지 않도록
특별한 구조를 사용하여 접속하는데, 이 구조가 주소 변환이다.
주소 변환의 구조는 패킷을 중계할 때 IP 헤더에 기록된 IP 주소와 포트 번호를 바꿔는 것이다.
먼저 TCP의 접속 동작에서 최초로 흐르는 패킷을 인터넷에 중계할 때 송신처의 IP 주소를
프라이빗 주소에서 글로벌 주소로 바꿔 쓴다. 이 때 글로벌 주소는 주소 변환 장치의 인터넷 측에 있는 포트에 할당된 주소로,
동시에 포트 번호도 바꾸어 쓴다. 포트 번호는 미사용 번호를 주소 변환 장치가 선택하여 사용한다.
그리고 변경 전의 프라이빗 주소와 포트 번호, 변경 후의 글로벌 주소와 포트 번호를 한 세트로 하여 주소 변환 장치 내부에 있는 대응표에 기록해둔다.
송신처의 IP 주소와 포트 번호를 변경한 뒤 패킷을 인터넷에 송출한다. 이후 패킷은 서버에 도착하고
회신 패킷은 변경된 글로벌 주소와 포트 번호가 되어 주소 변환 장치에 할당된다.
주소 변환 장치는 주소의 대응표에서 글로벌 주소와 포트 번호를 찾아서 다시 프라이빗 주소와 포트 번호로 변경하고, 사내 네트워크에 패킷을 전달한다.
이후 인터넷 접속 동작 종료 시 대응표에 등록한 것또한 삭제된다.
주소 변환 과정은 주소와 포트 번호 두 가지를 바꿔 사용하는데, 만약 포트 번호를 그대로 사용할 경우
프라이빗 주소와 글로벌 주소가 인터넷에 접속하는 대수만큼 글로벌 주소가 필요하게 되고, 이 점을 개선하기 위해 포트 번호 또한 변경하여 사용한다.
포트 번호는 16비트이므로 수만 개의 값을 가질 수 있어 한 개의 글로벌 주소를 수만 개의 프라이빗 주소와 대응시킬 수 있고,
글로벌 주소 이용 효율을 높일 수 있게 된다.
사내에서 인터넷으로 액세스하는 패킷을 중계할 때는 대응표에 송신처의 프라이빗 주소와 포트 번호가 등록되어 있지 않아도
패킷을 중계할 수 있지만, 반대로 인터넷에서 사내로 패킷을 중계할 때는 대응표에 등록되어 있지 않으면 전송할 수가 없고,
이는 부정 침입을 방지하는 효과를 가지고 있다.
라우터가 가진 부가 기능에는 주소 변환 이외에 패킷 필터링 기능 또한 가지고 있다.
패킷을 중계할 때 MAC 헤더, IP 헤더, TCP 헤더에 기록되어 있는 내용을 조사하여 사전에 설정한 조건과 맞으면 중계하거나 폐기하는 것을 의미한다.
인터넷
인터넷은 LAN과는 달리 중계 장치 간의 거리가 훨씬 멀고, 경로표에 등록된 정보는 시시각각 변화하기 때문에
경로표 수정 과정을 자동화해야한다.
스위칭 허브와 라우터로 패킷을 중계하면 목적지 서버를 향해 진행하고,
인터넷 접속용 라우터를 경유하여 인터넷으로 전달될 것이다.
인터넷 접속용 라우터의 패킷 송신 동작은 이더넷의 패킷 송신 동작과 약간 다르다.
인터넷 접속용 라우터는 액세스 회선의 규칙에 따라 패킷 송신 동작을 실행하기 때문이다.
액세스 회선은 인터넷과 가정이나 회사의 LAN을 연결하는 통신 회선을 말한다.
일반 가정이라면 ADSL, FTTH 등을 사용한다.
ADSL 액세스 회선 사용 시 사용자 측의 라우터에서 송신된 패킷은 ADSL 모뎀이나 전화의 케이블을 통해
전화국에 도착하고, ADSL 사업자의 네트워크를 경유하여 프로바이더에 도착한다.
이더넷의 라우터와 마찬가지로 클라이언트에서 만든 패킷이 리피터 허브나 스위칭 허브를 경유하여
인터넷 접속용 라우터에 도착하고, 이더넷의 패킷에서 IP의 패킷을 추출하여 중계 대상을 판단한다.
패킷 송신 동작도 마찬가지로 인터넷 접속용 라우터와 DSL 모뎀이 이더넷으로 연결되었으면
이더넷의 규칙에 따라 패킷 송신 동작을 실행한다.
다만 이더넷의 헤더는 액세스 회선 사업자에 따라 변경되며,
MAC 헤더, PPPoE 헤더, PPP 헤더 총 3개의 헤더가 붙고 이더넷의 규칙에 따라 신호로 변환하여 송신한다.
인터넷 접속용 라우터가 패킷을 송신하면 패킷은 ADSL 모뎀에 도착한다. ADSL 모뎀은 패킷을 작게 분할하여 셀에 저장한다.
셀은 맨 앞부분에 5바이트짜리 헤더를 가지고 그 뒤에 48바이트 데이터가 붙는 디지털 데이터로,
ATM 통신 기술에 사용한다. 셀은 패킷을 작게 만들어 데이터 부분에 패킷을 분할한 조각을 저장하는 것이다.
셀을 저장한 다음 신호로 변환하는데, LAN과는 약간 다른 신호를 사용한다.
사각형 신호는 파형이 뭉개지기 쉽고 거리가 멀 수록 오류 발생률이 높아지고, 넓은 범위의 주파수를 포함하기 때문에 잡음의 영향을 많이 받기 때문이다.
ADSL 모뎀은 진폭 변조(ASK)와, 위상 변조(PSK), 직교 진폭 변조(QAM) 방식을 사용한다.
직교 진폭 변조 방식은 진폭 변조와 위상 변조를 결합한 방식이다.
그러나 변조 방식만 사용할 경우 고속화의 한계점이 존재한다.
파형은 합성이 가능하고, 여러 주파수의 파를 합성한 것을 신호로 사용하는 것이 가능하다.
ADSL은 다수의 파에 비트값을 대응시킨다. 각각의 파에 직교 진폭 변조에 의해 비트값을 대응시키고,
잡음이 없는 주파수의 파에는 다수의 비트를 대응시키며 잡음이 있는 주파수의 파에는 소수의 비트를 대응시킨다.
그리고 각 파에 대응시킨 비트 수를 합한 값에 의해 전체 전송 속도가 결정된다.
ADSL은 업로드와 다운로드의 파의 수가 다르기 때문에, 업로드와 다운로드 속도 차이가 발생한다.
잡음이나 감쇠 등 회선의 특성은 전부 제각각이고 시간에 따라 변화하기 때문에,
ADSL은 회선의 상태를 조사하여 사용할 파의 수나 각 파에 대응하는 비트 수를 판단한다.
모델의 전원을 공급할 때 시험 신호를 보내고, 이 수신 상태에 따라 파의 수나 비트 수를 판단하며 이를 트레이닝이라 한다.
Today 확인 질문
1. 프라이빗 주소에서 인터넷과 같은 글로벌 주소로 패킷 송수신할 때 주소 변환 과정에서 주소랑, 포트 번호 변환이 발생하는데 포트 번호 변환 과정이 왜 필요한 거죠?
: 포트 번호를 변경하지 않는 방식도 사용은 가능하지만, 포트 번호 변환 과정을 거치지 않을 경우 프라이빗 주소와 글로벌 주소가 1대1 매칭이 필요하여 사내 네트워크 접속 기기 수가 많을 수록 그만큼 글로벌 주소가 많이 필요해서 포트 번호 또한 변환하게 됩니다.
References
성공과 실패를 결정하는 1%의 네트워크 원리