허브와 스위치를 이용하면 콜리전 도메인과 브로드캐스트 도메인으로 통신의 한계가 생긴다.
* 콜리전 도메인: 허브로 연결되면 충돌이 발생할 수 있는데 이 영역을 콜리전 도메인이라고 한다.
** 브로드캐스트 도메인: 스위치와 연결된 영역을 브로드캐스트 도메인이라고 부른다
따라서 라우터를 이용해 브로드캐스트 도메인을 나눈다.
브로드캐스트 도메인을 나누면서 논리적인 주소가 필요하게 되어 등장한 것이 IP주소이고
IP주소는 고유한 주소를 나타내며 모든 호스트(PC)와 라우터의 포트마다 부여된다.
Private IP는 중복되긴 하지만 NAT를 배우기 전까지는 'IP는 고유한 주소' 라고 가정
라우터는 IP를 다루기 때문에 네트워크 계층에 속한다.
라우터는 CPU와 메모리가 있는 하나의 컴퓨터이다.
오직 네트워크에서 데이터를 전송하기 위한 컴퓨터!
사용하는 곳에따라 크기와 가격이 천차만별이다.
작은 사무실에서는 라우터(공유기)를 사용, 우리나라에선 라우터를 공유기라고도 부른다.
ISP(통신사)와 같은 곳에서 사용하는 라우터는 성능이 더 좋아야 하므로 큰 라우터를 사용하는데 가격은 수억원 한다.
스위치로 만들어진 브로드캐스트 도메인은 LAN영역이라고 부른다.
이런 LAN 영역을 넘어서 통신하기 위해서 라우터로 연결되고 라우터를 넘어간 다른 영역을 WAN 영역이라고 부른다.
이렇게 LAN영역을 연결한 라우터가 수없이 많이 존재하고
라우터끼리 연결한다면 네트워크는 상당히 커진다.
그게 오늘날 인터넷의 모습!
라우터 중에서 통신사에서 운영하는 핵심적인 라우터가 있다.
핵심 라우터들은 다른 통신사와 연결되는데 이를 코어 라우터라고 부른다.
우리나라의 KT, SK브로드밴드, LG U+는 데이터센터에 라우터를 두고 광케이블을 이용해 연결한다.
이렇게 코어 라우터로 구축된 시스템을 백본이라고 부른다.
통신사는 빠르고 많은 처리를 위해서 고성능 라우터를 광케이블로 연결한 백본을 구축함!
이렇게 라우터로 복잡하게 연결되어 있을 때 우리가 다른 LAN영역에 있는 사용자에게 데이터를 전송한다면 IP를 이용해 라우터는 최대한 빨리 도달할 수 있는 경로를 적절하게 찾고 이 경로를 통해 데이터를 전송할 수 있게 된다.
가장 가깝고 빠른, 적합한 경로는 라우팅 프로토콜을 이용해 찾는다.
라우팅 프로토콜
라우터와 IP주소를 이용해 다른 네트워크까지 데이터를 전송할 수 있다는 것을 알고 있다.
라우터는 목적지 네트워크까지 가는 경로를 라우팅 테이블이라는 곳에 미리 저장해두고 데이터가 들어오면 해당 네트워크로 전달하는 역할을 한다.
그럼 라우팅 테이블이라는 것은 어떤 것이고 어떻게 만들어지는 것일까?
라우팅 테이블은 어떤 네트워크에서 어떤 네트워크로 이동할 때 해당 라우터에서 '어떤 인터페이스(포트)로 이동해야 하는지'가 적혀있는 표이다.
라우팅 테이블을 만드는 방법은 2가지
1. 스태틱(정적) 라우팅: 사람이 직접 주소 하나하나를 지정
2. 다이내믹(동적) 라우팅: 라우터가 다른 라우터들과 정보를 공유해 라우터 스스로 테이블을 만드는 방법
그럼 다이내믹이 좋은 것 아닌가?
하지만 작은 네트워크에서 라우터가 여러 개의 다른 라우터와 연결되지 않고 하나만 연결되는 경우라면 스태틱 라우팅으로 직접 만드는게 더 좋을 수 있다.
직접 적어준다면 라우터가 다른 라우터와 정보를 공유하지 않아서 부하가 적어질테니까!
Q. 다이내믹 라우팅은 하나의 라우터가 전 세계 모든 라우터와 정보를 교환할까?
A. 메모리 한계 때문에 그렇게 하지는 않는다.
그러면 경로를 어떻게 찾을 까?
라우팅 테이블에는 디폴트 라우터가 있다.
라우팅 테이블에 목적지와 일치하는 정보가 저장되어있지 않다면 설정한 디폴트 라우터로 무조건 보내는 것이다.
자신이 모르는 네트워크인 데이터를 다른 라우터로 전달하는데, 전달할 라우터를 디폴트 라우터라고 부른다.
라우팅 테이블에 디폴트 라우터는 0.0.0.0이나 default로 표현한다.
TTL은 목적지가 없는 데이터가 영원히 네트워크에 존재하는 걸 방지한다.
디폴트 라우터 말고 다른 약속된 주소가 있다.
127.0.0.1이라는 주소로 '루프백 주소'라고 부른다. local host라고도 부른다.
루프백 주소는 127.0.0.0부터 127.255.255.255(127.0.0.0/8)까지 있지만 보통 127.0.0.1을 사용한다.
이 주소로 데이터를 전송한다면 네트워크로 나가지 않고 자신이 다시 받게 된다.
개발할 때 많이 사용하니 알아두는 게 좋다.
'네트워크' 카테고리의 다른 글
RIP(Routing Information Protocol) (0) | 2024.06.24 |
---|---|
스태틱 라우팅과 다이내믹 라우팅 (0) | 2024.06.23 |
IP헤더(패킷) (0) | 2024.06.23 |
IP 클래스와 서브넷 마스크 (0) | 2024.06.23 |
IP (0) | 2024.06.20 |