통신사의 라우터는 가정에서 사용하는 소형이 아니라 적개는 수십개 많게는 수백개까지 연결 가능하다.
따라서 라우터의 규모도 다르고, 연결하는 부분도 다르다. 지금까지 배운 가정용 말고 통신사에서 사용하는 걸 배워보자.
우리가 배울거 미리 요약.
인터넷의 기본은 가정이나 회사의 LAN과 같다.
서브넷에서 허브로, 라우터로, 다시 라우터로...수많은 라우터와 허브 등을 거쳐 프로바이더에 도달한다.
하지만 다른점이 2가지 있음.
3장까지 우리는 가정용 PC - 애플리케이션 - 프로토콜 스택 - 랜어댑터 - 케이블 - 스위칭 허브 - 라우터
이런 일련의 흐름을 배움. 다음에 갈 차례는, 인터넷 접속용 라우터를 거쳐 서버다. 서버까지의 여정을 살펴보자.
라우터의 중게동작은 모두 같음. 인터넷접속용 라우터도 이더넷용 라우터와 마찬가지.
패킷의 IP헤더에 적혀있는 목적지를 경로표와 대조해 출력포트로 보내고 송신.
단, 패킷 송신동작은 살짝 다르다. 이더넷의 규칙이 아닌, 액세스 회선의 규칙을 따름.
액세스 회선 : 인터넷과 가정(회사)의 LAN을 연결하는 통신회선.
보통 일반 가정에선 ADSL, FTTH(Fiber To The Home. 일반 가정까지 광섬유 연결), CATV, ISDN등을 사용. 다 배우긴 힘드니, 이번엔 ADSL기준으로 설명.
ADSL(Asymmetric Digital Subscriber Line) : 전화용 금속제 케이블을 이용해 고속통신. 업로드-다운로드 속도가 서로 다름(비대칭).
클라이언트에서 허브, 라우터를 거쳐 ADSL모뎀까지 도달하는 과정은 전과 같다. 즉, MAC 헤더, IP헤더, 데이터가 있고, 라우터에서 MAC헤더 삭제. 하지만 이후부터는 조금 달라짐.
정리 : ADSL모뎀은 패킷 => 셀 => 전기신호 변환후 스플리터에게 전송.
LAN은 사각 파형으로 신호화했지만, 얘는 불가능.
거리가 멀어서 오류가 쉽게 나오고, 사각 파형은 높은 주파수를 동반하기에, 잡음의 양이 증가함.
=> 완만한 파형(정현파)를 합성해서 사용한다. 이를 변조기술이라 함. 이는 몇종류가 있음.
ADSL의 변조방식은 이 둘을 결합한 것(직교 진폭 변조).
ASK방식의 1과 PSK방식의 0이 있다면, 결합해서 10. 즉, 2bit 탄생. 대응시키는 비트수가 늘어 속도를 높였지만, 여지없이 한계가 있다.
우리가 먹는 대파 아님(ㅈㅅ)
단일 파형끼리 합성하는 것이 아닌, 여러 주파수의 파형 합성. 나중에 분리 하면됨.
이렇게 하면 대응시키는 비트수 = 사용하는 파형 * 개수.
잡음이 많은 파형에는 소수의 비트. 깔끔한 파형에는 다수의 비트 할당.
ADSL은 비대칭형이기에 업로드에 256개의 채널 중 26~34개 할당. 나머지 채널은 다운로드. 따라서 다운로드 속도가 몇배 더 빠름.
업로드는 낮은 주파수. 다운로드는 높은 주파수 사용.
=> 다운로드는 잡음의 영향을 잘 받게됨. 이때문에 전화국 멀어질수록 속도 떨어짐.
모뎀에 전원 공급할때 시험 신호(트레이닝)을 보내 *파형의 수나 비트 판단.
아까 ADSL 모뎀에서 데이터 > 셀> 전기신호 변환을 거쳤다. 이 신호는 스플리터로 흘러가게됨.
여기서 전화의 음성신호 + ADSL신호 해서 DSLAM으로 전송. 이때는 특별히 하는일이 없다.
받아올때가 중요. 음성+ADSL 신호를 분리시키는 작업을 해줌.
=> 높은 주파수를 차단하는 기능. 이때문에 전화와 ADSL모뎀으로 신호가 잘 흘러감.
또한,ADSL 모뎀엔 필요주파수 이외 범위는 차단하능 기능이 있다.
스플리터의 앞에는 전화 케이블을 꽂은 모듈형 커넥터가있음.
이곳을 통과하여 전화의 집안 배선을 빠져낙면 건물에 IDF(중간 배선반)나 MDF(주 배선반)가 있다.
밖의 배선과 집안 배선 결합. 이 다음은 보안기. 낙뢰 피뢰침 퓨즈.
여길 지나면 전봇대의 전화 케이블로 들어감. 전화국의 MDF로 연결
트위스트 페어 케이블과 동일. 외부 전자파와 내부 잡음(크로스토크)때문.
또한 전화선은 사실 ADSL의 높은 주파수를 고려하여 만든것이 아님. 잡음 영향 받기 쉽다.
트위스트 페어 케이블은 사각파형이 무너져 오류가 발생하지만, ADSL은 바로 오류가 나지 않음.
다수의 주파수로 나뉘었기에 잡음과 겹치는 주파수 부분만 사용 불가. 이는 속도저하로 나타남.
전철 선로 주변이나 AM라디오근처에선 잡음 영향.
또한 케이블 내부 서브유닛(여러개 케이블 모아서 전송한다)의 영향도 받음.(ISDN 회선 신호 등)
배선반과 스플리터를 통과하여 DSLAM에 도달. 얘는 전기 신호를 셀로 복원
ADSL의 수신동작과 정확히 일치. 전기신호 => 셀 변환. 다수의ADSL모뎀을 합쳐놓은게 DSLAM
다른점은 ADSL은 사용자PC와 이더넷 패킷. DSLAM은 ATM(셀) 형태.
DSLAM을 지나 BAS라는 패킷 중계장치 도착. 셀 => 패킷 변환. MAC헤더와 PPPoE헤더 버림.
터널링용 헤더(L2TP) 붙여서 터널링 라우터에 전송. 이후 터널링 라우터가 터널링 헤더 제거 후 Ip 패킷 추출 후 인터넷 내부에 중계.
어디까지 가느냐의 차이임. 우리는 Fiber To The Home을 배워보겠음.
FTTx의 요점은 광섬유다. 광섬유의 기본에 대해 알아보자.
데이터 => 전기신호 => 광원 변환. 광원은 1을 밝게, 0을 어둡게 나타냄.
피복 안에 clad(광신호 통로를 감쌈. 굴절률 낮음)가 있고, 그 안에 core(광신호 통로. 굴절율 높음)존재.
수신측에는 빛에 감응하여 밝기에 따라 전압을 일으키는수광소자가 있음.
빛은 입자이자 파동이다. 파동은 서로 간섭한다. 상쇄-보강. 위상이 같은 파는 보강되며 다른 파는 상쇄됨.
이같은 현상이 코어와 클래드의 경계면에서 일어남.
=> 입사각의 위상이 같은 소수의 빛만이 멀리 도달.
코어의 굵기가 가늘면 입사각이 제일 작은 각도만 들어간다. 이를 싱글모드라 하며, 한줄기의 빛만 통과.
코어의 굵기가 굵으면 적은 입사각이 여러개 들어간다. 이를 멀티모드라 하며, 여러 빛이 통과.
그렇기에 싱글모드는 전송가능 거리가 길다. 멀티 모드는 짧은 대신 대역폭이 넓다.
=> 반사각이 크면 클수록 반사 횟수가 많아져서 늦게감. 신호의 차이가 생김. 그래서 전송가능거리가 있다.
그래서 보통 건물 내부를 멀티모드광섬유로 하고, 프로바이더까지를 싱글모드 광섬유로 연결함.
=> FTTH는 싱글모드다.
광섬유 접속방식은 2가지로 나뉨.
업로드-다운로드 데이터가 섞여도 프리즘의 원리로 구분 가능. 따로 케이블을 마련할 필요x.
한개의 광섬유로 다른 파장의 신호를 흘리는 걸 파장 다중이라고 함.
ADSL,FTTH같은 액세스회선에서 인터넷을 향해 흘러온 패킷은 액세스회선을 운영하는 사업자(프로바이더)가 소유한 BAS에 도착.
BAS는 라우터의 진화형. 본인 확인, 설정값 통지기능 추가. 이를 PPPoE헤더에 담아서 보냄.
PPPoE는 전화선으로 연결하던 PPP구조를 발전시킨 것.
PPP방식의 대략적인 개요는 이렇다.
ADSL,FTTH같은 회선에서 PPP를 사용하기위한 방식. 사실 요즘은 DHCP를 많이 사용함.
DHCP는 인증 없이 랜덤하게 TCP/IP를 내려줌.
PPP메시지를 운반할때 IP패킷을 이더넷 패킷에 넣어 운반하는 것과 같은 개념 필요.
다만 PPP는 프리앰블,FCS등이 없음. 따라서 PPP를 담을 규격이 필요. 이를HDLC(high-level data link control)라고 함.
하지만 ADSL,FTTH는 이더넷사용. 그래서 수정된게 PPPoE(PPP over Ethernet).
PPPoE는 결국 PPP를 이더넷에 넣어 주고받는용도다.
BAS는 본인확인 기능뿐만 아니라 터널링이라는 개념을 사용하여 패킷 운반하는 기능도 존재.
이는 TCP의 소켓개념과 유사. 데이터를 터널입구에 집어넣으면, 그대로 터널출구에서 나옴.
실제로 TCP커넥션 이용.
헤더 + 데이터
로 전달. 아니면 캡슐화해서 새로운 헤더 + 새로운 데이터(원본헤더와 데이터)
이렇게 보낼수도 있음.
IP가 없는데 어떻게 BAS와 통신해서 인증정보를 받아낼까? 이는 ARP와 흡사하다. (브로드캐스팅)
Discovery 라는 행위로 BAS의 MAC주소를 알아냄. BAS와 통신할 수 있게된다
인증정보를 보낼땐 암호화할수도있고(CHAP), 안할수도 있음(PAP).
BAS가 통지해주는 정보는 IP, DNS 서버의 IP, 기본 게이트웨이의 IP.
PPPoE를 사용할때 BAS를 향해 패킷을 송신할때는 인터넷의 패킷과는 조금 다르다.
본래MAC헤더 + IP 헤더 + (TCP/데이터)
라면 MAC헤더 + PPPoE헤더 + PPP헤더 ...여기부턴 같음
이 됨.
쉽게말해 MAC헤더와 IP헤더사이에 PPPoE헤더 + PPP헤더가 추가된다.
MAC헤더에는 아래와 같은 정보가 들어간다.
패킷을 수신한 BAS는 MAC, PPPoE헤더를 떼서 터널링원리 사용해 프로바이더의 라우터로 패킷 송신.
BAS가 내려준 TCP/IP정보를 PC가 바로받으면 좋겠지만, 보통은 인터넷접속용 라우터가 받아서 할당.
이전에 설명했던 라우터와 마찬가지로 주소변환 쓰거나, 직접 PC에 꽂으면 됨
IPoE(IP over Ethernet)방식임. 사용자 인증x. 그저 IP로 접속.
간단하고, 빠르다. 사용자 요구 => DHCP 서버에서 설정정보를 통지 하면 끝.
PPP헤더같은게 안붙어서 MTU(패킷 규격)이 안짧아짐!
단점은 모뎀과 라우터를 분리할 수없지만, 현대의 가정용으로 나오는 라우터는 대부분 합쳐져있다~
인터넷의 정체는 다수의 프로바이더가 서로 연결된 형태다.
ADSL,FTTH와 같은 액세스 회선은 프로바이더 내부에 연결되어있는데, 이를 POP(Point Of presence)라고 한다.
ISP네트워크가 사용자들에게 접근 가능한 지점 중 하나를 가리킨다.
보통 데이터 센터나 중앙 네트워크 노드.
POP은 이런 구조로 이루어져 있다.
NOC에도 고성능 라우터가 필요하다. 개인용은 초당 100Mega bit/s, 프로바이더용은 1tera bit/s.
속도가 무려 1만배 차이!.
POP과 NOC는 규모로 구분함. 규모가 큰것이 NOC.
POP을 경유한 패킷은 이제 웹서버를 향해 진격해야한다. 가는 길엔 두 종류가 있다.
하지만 가는 방법은 똑같다. 라우팅 테이블을 보고 경로를 탐색, 중계 대상에 패킷을 보낸다. 이걸 반복하면 끝!
근데, 라우팅 테이블은 어떻게 등록할까?
다른 프로바이더의 라우터끼리 통신하면 본인 서브넷의 경로를 통지해준다.
여기에 사용되는 프로토콜을 BGP(Boder Gateway Protocl)이라 한다.
통지하는 방법에는 두가지가 있음.
다만 1번의 경우, 프로바이더끼리 협약하지 않았다면 비용이 발생할 수 있음.
목적지가 협약하지 않은 프로바이더여도 괜찮음. 프로바이더들은 복수의 정보 공유.
Internet Exchange의 약자. 인터넷을 교환한다는 뜻인데, 프로바이더들의 라우터라고 보면된다.
아래 그림은 라우터를 설명하기 위한 것이지만 PC => 프로바이더, 라우터 => IX 라 봐도 무방함.
첫번째 그림은 IX가 없을때의 프로바이더. 모든 프로바이더가 회선을 연결해야함.
=> 회선의 갯수는 n(n-1)/2
두번째 그림은 IX가 존재할 때. 각 프로바이더는 IX와 연결하면 끝
=> 회선의 개수는 n개 !
IX엔 수많은 스위치 허브(레이어2 스위치)가 존재해서 고속으로 프로바이더에게 패킷 분배.