본 내용은 “성공과 실패를 결정하는 1%의 네트워크” 를 참고하여 작성하였습니다.
리피터 허브나 스위칭 허브를 지난 패킷은 결국 라우터로 이동하게되 라우터에서는 다음 라우터로 패킷이 진행하게 된다. 라우터는 결국, 인터넷과 이더넷을 연결해주는 역할을 하게 되는것 같다.
라우터 내부 구조
라우터는 중계 부분과 포트부분으로 크게 두개의 부분으로 나뉜다.
- 중계부분 : 패킷의 중계 대상을 판단
- 포트부분 : 패킷을 송,수신함
- 라우터는 무선 LAN기술 뿐 아니라, 광대역 회선이라고 부르는 전용 선등의 통신 이 가능하다.
- 포트부분에 다양한 하드웨어를 통해 다양한 통신이 가능해진다.
포트부분에서는 하드웨어에 따른 규칙에 맞게 데이터를 송, 수신한다.
즉 이 포트는 직접적으로 데이터를 송, 수신하게 되고 스위칭허브의 포트와 다르게 직접적인 데이터를 송,수신하기 때문에 MAC주소가 할당되어있다.
또한 포트에는 IP주소가 할당되어 있기 때문에 이러한 의미에서 컴퓨터의 LAN어댑터와 동일하다.
라우팅 테이블( 경로표 )
라우터는 스위칭허브와 비슷하게 테이블표를 이용해서 매칭되는 IP를 통해 매칭되는 주소를 찾아낸다.
경로표에는 수신처(ip), 넷마스크, 게이트웨이, 인터페이스, 메트릭 과 같은 값들이 속성값으로 존재한다.
- 수신처
수신처는 서브넷을 나타내는 주소이다.
수신처는 IP값이며 이러한 IP 값을 읽을때는 당연하게도 네트워크 번호와 호스트번호를 구별할수 있어야 하기 때문에 넷마스크가 동시에 주어진다.
이때 라우터는 스위칭허브와 다르게 호스트번호를 무시한체, 네트워크 번호만을 인식하게 된다.
- 주소집약
주소집약은 하나의 라우터에서 다른 라우터로 패킷을 보내게 될때, 복수의 패킷이 동일한 서브넷에 패킷을 건내주어야 할 경우에는 개별적으로 경로표에 작성하는것이 아닌, 해당 서브넷을 하나의 경로로 표시하여 경로표에 등록하는 건수를 줄이는 방법을 의미한다.
- 게이트웨이, 인터페이스
게이트웨이어 인터페이스는 둘다 패킷의 중계 대상을 나타낸다.
수신처 항목과 넷마스크 항목에서 해당 항목을 찾아내면 인터페이스에 등록되어있는 인터페이스(포트)에서 게이트웨이(IP)항목으로 등록되어 잇는 IP를 가진 라우터에게 패킷을 송신한다.
- 게이트웨이
게이트웨이(gateway, 문화어: 망관문)는 컴퓨터 네트워크에서 서로 다른 통신망, 프로토콜을 사용하는 네트워크 간의 통신을 가능하게 하는 컴퓨터나 소프트웨어를 두루 일컫는 용어, 즉 다른 네트워크로 들어가는 입구 역할을 하는 네트워크 포인트이다.
게이트웨이는 즉 네트워크와 이더넷의 연결통로가 되는 하드웨어나 소프트웨어를 의미한다.
- 메트릭
메트릭은 IP주소에 기록된 목적지가 긴지 가까운지를 알려주는 값이다.
라우터의 동작
- 우선 신호를 수신한다.
- 수신된 신호는 PHY회로와 MAC회로에서 디지털 데이터 신호로 변경되고 이후 FCS를 대조하여 오류의 유무 검출
- 정상이라면 MAC헤더의 MAC주소와 현재 수신처의 MAC주소를 대조하여 맞지않다면 폐기, 맞다면 수신한다.
- 이후 MAC헤더를 폐기함 → MAC헤더는 해당 포트에 도달하기 까지의 목적을 가지기 때문이다.
- IP값을 조사함 → 넷마스크를 통해 네트워크 번호만을 대조함( 경로표와 )
- 만약 복수의 네트워크 값이 동일하다면 그중에서 네트워크 길이가 가장 긴것으로 선택
- 이는 서브넷이 작다는 뜼이며 그만큼 범위가 축소됨
- 혹여 길이가 동일하다면 메트릭을 통해서 판단
- 만약 IP값이 매칭되는게 없다면 ICMP메세지를 통해 사실을 통지하고 패킷을 폐기함
- 패킷을 폐기하는 이유는 서브넷과 다르게 네트워크는 규모가 굉장히 크기때문이다.
- 서브넷 환경과 동일하게,
- 게이트웨이란, 라우터 경로표에서 대응하는 값이 존재하지 않을때, 넷마스크가 0000일때 송신되는 라우터의 IP값을 의미한다. 이를 통해서 중계대상이 분명하지 않아도 패킷을 송신하게 된다.
패킷의 유효기간
TTL(time to live) 라는 것이 IP헤더 필드에 존재한다.
만약 라우터가 송신할 라우터를 찾았다면 이 IP 필드를 갱신하게 된다.
TTL은 라우터를 지날때마다 1씩 카운트가 떨어지고 만약 카운트가 0 이된다면 폐기하게 된다.
- 이것은 패킷이 동일한 장소를 빙글빙글 도는것을 막게 해준다.
- 최초 TTL은 보통 64, 128로 설정하게 된다.
패킷 나누기
라우터는 LAN을 통한 통신을 할때도 있는데 이때 회선에 종류에 따라 패킷의 길이가 달라지므로, 이를 위해서는 조각나누기 라는 행위를 하게 되는데 이는 TCP프로토콜에서의 패킷의 크기를 자르는것과 다르다.
해당 프로토콜에서는 만들어진 패킷을 나누는 행위이기 때문이다.
- 조각 나누기
먼저 MTU를 조사한다. (MTU는 최대 패킷길이를 의미함)
IP헤더의 플래그 필드를 조사하여 나누기가 가능한지 확인함.
확인이 불가능하다면 ICMP메세지를 보내고 패킷을 폐기
아니라면 TCP헤더를 포함하여 데이터부분을 나누어 IP헤더를 붙여서 송신
송신하기
- 게이트웨이 항목에서 패킷을 건내줄 상대를 판단함.
게이트웨이에 있다면 그쪽으로, 아니라면 IP헤더의 수신처 IP주소가 상대가 된다.
- ARP로 수신처의 MAC주소를 조사한다. (브로드 캐스팅 한다는 뜻임)
- 이후 전기신호로 변환되어 송신되어진다.
라우터와 스위칭허브
라우터는 IP주소를 가지고 있지만, 사실 IP주소는 아무것도 하지 못한다.
IP는 운반하는 수단이 없기 때문에 패킷을 운반할 때는 항상 MAC주소를 통해서 운반하게 된다.
즉, 라우터는 IP를 이더넷에 의뢰하여 최종 목적지 까지 패킷이 운반되도록 다음 라우터에 의뢰하는 역할을 한다.
반면 스위칭허브는 MAC주소를 통해 IP주소를 조사하고 ARP를 통해 얻은 MAC주소로 다음 패킷이 이동하도록 이더넷에 의뢰하게 되는 역할을 한다.
- 즉 라우터는 IP를 통해 패킷을 전달하는 전체 동작을 의뢰하게 되며, 스위칭허브는 이 운반을 하게 된다.
Uploaded by N2T