목표
IP의 기초 및 라우팅 기법을 배운다.
라우팅 프로토콜 방식
Distance Vector(DV) 라우팅
DV 라우팅 프로토콜은 네트워크 내의 각 라우터가 자신의 라우팅 테이블을 이웃 라우터들과 주기적으로 교환하는 방식이다. 각 라우터는 이웃으로부터 받은 정보를 기반으로 자신이 알고 있는 경로의 거리를 업데이트한다.
- 예시 프로토콜: RIP(Routing Information Protocol)
- 특징
- 각 라우터는 네트워크 내의 모든 목적지까지의 거리 정보를 가지고 있다.
- 네트워크의 모든 경로에 대한 정보는 이웃 라우터와만 교환된다.
- 루프 방지 메커니즘이 필요하며, 각 라우터는 자신의 테이블을 주기적으로 업데이트한다.
Link State(LS) 라우팅
LS 라우팅 프로토콜은 네트워크의 전체 토폴로지를 모든 라우터가 알고 있도록 하는 방식이다. 각 라우터는 자신의 직접 연결된 링크 상태 정보를 이웃 라우터들에게 전파하고, 네트워크 전체의 상태 정보를 수집하여 최단 경로를 계산한다.
- 예시 프로토콜: OSPF(Open Shortest Path First), IS-IS(Intermediate System to Intermediate)
- 특징
- 라우터는 자신의 링크 상태 정보를 네트워크 내 모든 라우터에게 전파한다.
- 각 라우터는 전체 네트워크의 링크 상태 정보를 바탕으로 최단 경로를 계산한다.
- 보다 신속한 라우팅 테이블 업데이트와 보다 정확한 경로 계산이 가능하지만, 초기 전파와 링크 상태 정보를 업데이트하는 과정이 복잡할 수 있다.
정리
근래에는 LS 라우팅 프로토콜이 DV라우팅 프로토콜보다 더 많이 사용된다.
이유)
1. 느린 업데이트 속도
- 문제: DV 라우팅 프로콜은 주기적으로 라우팅 테이블을 이웃 라우터와 교환한다. 네트워크 상태가 변경되었을 때, 정보가 전체 네트워크에 퍼지는 데 시간이 걸리기 때문에 업데이트 속도가 상대적으로 느릴 수 있다.
- 루프 문제와 counting to infinity 문제
- 문제: DV 프로토콜은 라우팅 테이블의 거리 값을 주기적으로 갱신하기 때문에 루프가 발생할 수 있따. counting to infinity는 라우팅 루프가 생길 때 거리 값이 무한히 증가하는 현상이다. 예를 들어, 두 라우터가 서로의 경로를 잘못 인식하여 거리가 계속 증가하는 문제가 발생할 수 있다.
- 결과: 네트워크의 성능 저하와 패킷 손실을 유발할 수 있다. 이를 방지하기 위해 다양한 루프 방지 기술이 필요하다.
LS 라우팅 프로토콜의 장점)
1. 빠른 업데이트 속도
- LS 프로토콜은 각 라우터가 네트워크의 전체 토폴로지를 알고 있으며 링크 내의 변화가 발생할 때 즉시 이를 전체 네트워크에 전파한다. 따라서 네트워크 변화에 대한 반응 속도가 빠르다.
- 정확한 경로 계산
- 각 라우터가 네트워크의 전체 상태를 알고 있기 때문에, 최단 경로 알고리즘을 사용하여 정확한 최적 경로를 계산할 수 있다.
- 루프 방지
- LS 프로토콜은 네트워크의 전체 토폴로지를 이용하여 경로를 계산하므로, 루프문제와 counting to infinity문제를 자연스럽게 방지할 수 있다.
ISP
ISP(Internet Service Provider) : 인터넷 서비스 제공자를 의미한다. 인터넷 접속 서비스를 제공하는 회사나 기관을 말한다. ISP는 개인 사용자, 기업, 기관 등에게 인터넷 연결을 제공한다.
DV와 LS 라우팅은 ISP 내부 네트워크에서 라우팅을 관리하는 방식을 의마한다. ISP의 내부 네트워크는 여러 라우터와 스위치로 구성되어 있으며, 이들 장비간의 효율적인 데이터 전송을 위해 라우팅 프로토콜을 사용한다.
즉, ISP 내부 네트워크에서는 DV와 LS 프로콜을 사용하여 네트워크 내 데이터 흐름을 효율적으로 관리하고, 고객에게 안정적인 서비스를 제공한다.
ISP 간의 라우팅, 즉 AS간의 라우팅은 경제적 논리가 큰 역할을 한다. 기술적인 최적화보다는 금전적인 최적화를 추구함. 이 과정에서 BGP가 핵심적인 역할을 한다.
BGP(Border Gateway Protocol)
- 설명: BGP는 인터넷의 핵심 라우팅 프로토콜로, 서로 다른 AS(Autonomous Systems) 간의 라우팅을 관리한다. 각 AS는 BGP를 사용하여 자사의 네트워크와 다른 AS간의 경로를 교환하고, 최적의 경로를 선택한다.
DV는 intra ISP이고, BGP는 inter ISP이다.
1. DV- Intra-ISP 라우팅
Intra-AS 라우팅은 하나의 자율 시스템(AS) 내에서 이루어지는 라우팅을 의미한다. 자율 시스템(AS)는 단일 조직이나 ISP가 관리하는 네트워크 집합이다.
- DV 프로토콜 역할
- 예시: RIP(Rounting Information Protocol)와 같은 DV 프로토콜은 하나의 AS 내에서 네트워크의 라우팅을 관리한다. DV 프로토콜은 라우터가 이웃과 거맂 어보를 교환하여 최적의 경로를 결정한다.
2. BGP - Inter-ISP 라우팅
Inter-AS 라우팅은 서로 다른 자율 시스템 간의 라우팅을 의미한다. 이는 다양한 네트워크 간의 연결을 관리하며, 인터넷의 전역적인 데이터 흐름을 조정한다.
- BGP의 역할
- 설명: BGP는 서로 다른 AS 간의 라우팅 정보를 교환하고, 최적의 경로를 결정하는 데 사용된다. ISP간에 데이터가 이동할 때 BGP를 통해 경로를 조정하고, 상호 연결된 네트워크의 효율적인 데이터 전송을 보장한다.
- 특징: BGP는 라우팅 정책과 경제적 고려사항을 반영하여 경로를 선택한다. 이는 각 AS의 비즈니스 모델과 전략을 기반으로 하며, 복잡하고 확장성이 높은 인터넷 환경에서 필수적인 역할을 한다.
- IP 주소 체계는 아주 정적이지 않음.
- 예를 들어 MIT가 AT&T의 서비스를 받다가 너무 비싸서 다른 타회사의 서비스로 옮길 수 있음.
- 동일한 IP주소를 쓰지만, 어제까지는 미국에 연결되어 있는 기계가 오늘은 일본에 연결될 수 있다는 뜻.
- 왜냐? ISP를 바꾼다는 것은, 라우팅의 체계를 완전히 바뀐다는 뜻과 같음.
- IP 패킷에 적혀있는 주소는 MIT 주소다.
- 패킷 안에는 최종 목적지만 써있다.
- 최종 목적지를 보고 어느 Gateway로 가야하는지 유추를 해야 한다.
- 즉, 라우팅 테이블 안에는 전세계 ip 중 특정 ip를 썼을 때 어떻게 가야하는지에 대한 정보가 적혀있어야 함.
- 현재 내 위치에서 MIT로 가려면, Next hop이 어딘지 알려줘야만 그쪽으로 간다.
- 그냥 대한민국 => 미국 이런식이 아님.
오늘 배울 것
어떻게 하면 라우팅 테이블의 목적지 주소 안에다가 전세계의 ip를 커버하도록 할 수 있을까?
IP 주소 체계
- 주민등록번호 처럼?
=> 컴퓨터가 생기면 그때 IP 주소 부여
문제)
- IP 주소 횟수 부족
- 만일 충분하다면? : 라우팅 테이블에 기기를 일일히 등록해야 한다.
- MIT 내 기계 일일이 다 라우팅 테이블에. 그럼 라우팅 테이블은 수십억개 기계 정보 작성 ;;
=> 개별 등록 엔트리수가 너무 많다.
- 전화시스템은 이 방식을 사용한다.
- 일일히 SKT 중앙 서버가 해당 휴대폰 번호의 기계를 찾아서 연결을 해주느라 시간 지연이 있는 것임.
- 하루에 몇통밖에 안하니까 중앙 서버가 감당 가능 (Curcuit Switching)
- VS : 그런데 인터넷은 패킷마다 길을 찾아야 함. 컴퓨터 한대가 하루에 패킷은 수십만개, 수천만개 왔다 갔다 한다. 그렇기 때문에 각 네트워크 안의 노드마다 라우팅 테이블을 관리하고, 직접 패킷의 내용을 까보고, 어디로 보낼지 직접 결정한다. (패킷 스위칭)
- 우편주소체계 처럼?
- ip가 ISP에 따라 바뀔 수 있다.
- 고정 IP의 경우 모든 컴퓨터 설정을 바꿔야 함.
- IP 개수가 모자람 (넉넉한 IP 할당이 요구된다)
- Classless Inter-Domain Routing (CIDR)
- class가 없다는 뜻 ~
- 옛날에는 classA, classB 이런식으로 ip 안에도 class를 할당했었음. ip 개수 부족 현상이 심해졌음.
특징)
- 계층적임 (우편주소 같음 대한민국 ~ 서울 ~ 마포구 ~ 상암동)
- 계층 예외 가능
- 완전히 계층적이지 않다는 것임. kt 서비스는 무조건 이 ip 주소로 시작해 ~ 이런것이 없다는 뜻.
- subnet
subnet
ip가 이렇게 길게 있으면, ip주소의 32비트는 두가지 part로 구분된다
//단말 컴퓨터의 경우를 말하는 것임.
- 라우팅시, subnet이 동일하지 않은 컴퓨터는 subnet 단위로 라우팅을 한다
- subnet이 동일한 컴퓨터는 단말 단위로 라우팅을 한다.
- subnet이 다르면, 라우팅 테이블 안에 목적지가 있을 수 없음.
=> 이 패킷은 자동으로 GateWay로 간다.
- 라우팅 테이블이 아주 크지 않더라도 목적지를 찾아갈 수 있음.
- 전세계 모든 컴퓨터로 갈 수 있게 됨.
- 결론: 기본적으로 라우팅을 할 때는 subnet이 동일한지 안한지를 확인한다.
GateWay의 라우팅
-만약 01로 시작한다면 그러면 64부터 시작하는 것이기 때문에 제주로 간다는 것임
- 잘생각해봐 1바이트는 8비트다. 01000000 => 숫자 64임, 10000000 => 숫자 128임
즉, 01111111 => 숫자 127 여기까지만 일치하기 때문에 ~~
128번 부터는 고양에 mapping된다.
시스템 자체는 ip를 여기저기서 분할해서 쓸 수 있도록 subnet을 계층화시키고 예외를 두는 것이 가능하도록 만들어놧지만, 하지만 전세계 라우팅 테이블이 지저분해진다. 엔트리 수가 너무 많아지니까 !