난 어쩌면 쓰레기가 아닐까. 벌레 이슈와 설날로 놀아버렸다!!!
다른 네트워크에 데이터를 보내려면 네트워크를 서로 연결하는 라우터로 전송해야 한다.
라우터는 데이터의 목적지가 어느 네트워크에 접속해 있는지 판단해서 연결된 네트워크의 라우터로 전송한다. 라우터가 전송하는 데이터는 IP 패킷이다. 라우팅 동작은 인터넷층에서 하게된다.
라우터가 패킷을 전송할 때는 IP 헤더 안에 있는 목적지 IP 주소를 확인한다. IP 헤더의 TTL과 헤더 체크섬만 변경되며, 나머지는 변경되지 않은 채로 전송된다.
이더넷 헤더 등 네트워크 인터페이스층 프로토콜 헤더는 라우터가 전송할 때 완전히 새로운 헤더로 교체된다.
라우터로 복수의 네트워크를 연결할 때도 IP 주소를 설정한다.
라우터로 네트워크를 서로 연결하기 >> 라우터 인터페이스의 물리적 배선 + IP 주소 설정
라우터에는 복수의 인터페이스가 준비되어 있으므로, 물리적인 배선과 IP 주소 설정을 각각 할 필요가 있다.
라우터의 데이터 전송 흐름
레이어2 헤더를 수정해 IP 패킷을 전송
경로 정보 검색이 끝나고, 넥스트 홉( 다음에 전송할 라우터 )에 실제로 데이터를 전송한다. 라우터1과 라우터2는 이더넷으로 연결된 네트워크 구성이므로, 라우터2로 전송하기 위해서는 이더넷 헤더를 추가해야한다. 그렇게 하려면 라우터2의 MAC 주소가 필요하다.
MAC 주소를 구하기 위해 ARP를 실행한다. ARP는 IP 주소로 MAC 주소를 구하는 프로토콜이다. 목적지 MAC 주소를 알아내면, 새로운 이더넷 헤더로 바꾼 후 IP 패킷을 인터페이스에서 전송한다. FCS도 새로 추가되면서 레이어2 헤더인 이더넷 헤더는 완전히 새로워진다.
하지만! 단순히 라우팅을 할 때, IP 헤더의 IP 주소는 전혀 달라지지 않는다.
라우팅 처리는 라우터마다 한다. 라우터2가 수신한 IP 패킷의 주소 정보를 보면, 호스트1이 송신한 패킷과 비교하면 MAC 주소는 바뀌었지만, IP 주소는 같다.
목적지 MAC 주소가 라우터2의 주소이고, 목적지 IP 주소는 라우터2의 주소가 아니다. 이 패킷은 라우팅 대상인 IP 패킷이다.
최종 목적지인 호스트2로 IP 패킷을 전송하려면, 호스트2의 MAC 주소가 필요하다. 그래서 ARP를 실행하여 IP 패킷의 목적지 IP 주소의 MAC 주소를 구한다.
ARP로 호스트2의 MAC 주소를 알아내면, 새로운 이더넷 헤더를 추가하고 라우터2의 인터페이스를 통해 IP 패킷을 전송한다. 역시 라우터2에서 수신했을 때와는 MAC 주소가 달라지지만, IP 주소는 같다.
통신은 원칙적으로 양방향이다. 호스트2에서 호스트1로 응답을 보낼 때에도, 라우터가 목적지 IP 주소와 라우팅 테이블을 참조하여 전송할 곳을 판단한다. 그리고, 레이어2 헤더를 바꿔가면서 데이터를 전송해 나간다.
라우팅 테이블에는 어떤 네트워크로 IP 패킷을 전송하기 위한 경로가 등록되어 있다. 경로란, 구체적으로 다음에 전송해야하는 라우터이다. 라우팅 테이블에 등록된 네트워크 정보를 루트 정보나 경로 정보라고 부른다.
경로 정보 중에서 중요한 것은 목적지의 네트워크 주소 / 서브넷 마스크와 넥스트 홉 주소이다.
라우터는 라우팅 테이블로 이웃 라우터의 네트워크 구성을 인식한다. 라우팅 테이블 상에서 인식할 수 없는 네트워크로 가는 IP 패킷은 모두 폐기된다. 그러므로, 라우팅 테이블에 필요한 경로 정보를 빠짐없이 등록해 두어야만 한다.
라우팅 테이블에 경로 정보 등록하기
- 직접 접속
- 스태틱 라우팅
- 라우팅 프로토콜
직접 접속의 경로 정보는 라우터가 직접 연결된 네트워크의 경로 정보이다. 직접 접속의 경로 정보를 라우팅 테이블에 등록하기 위한 특별한 설정은 필요 없다. 라우터의 인터페이스에 IP 주소를 설정하고, 그 인터페이스를 활성화하기만 하면 된다.
라우팅 테이블에 등록된 네트워크로만 IP 패킷을 라우팅할 수 있다. 즉, 라우터는 직접 접속된 네트워크밖에 모른다.
스태틱 라우팅 : 라우터에 커맨드를 입력하는 등 경로 정보를 수동으로 라우팅 테이블에 등록하는 방법. ( 주로, 네트워크 주소/서브넷 마스크와 넥스트 홉 주소를 커맨드로 입력 )
라우터에서 라우팅 프로토콜을 활성화하면, 라우터끼리 정보를 교환해 라우팅 테이블에 필요한 경로 정보를 등록해준다.
주요 라우팅 프로토콜
- RIP(Routing Information Protocol) : 주로 소규모 네트워크에서 이용한다.
- OSPF(Open Shortest Path First) : 중규모 ~ 대규모 네트워크에도 대응할 수 있다.
- BGP(Border Gateway Protocol) : 주로 인터넷 백본에서 이용한다.