라우팅
– 라우팅 테이블 : 네트워크 구성 형태에 관한 정보를 관리
– 라우팅 : 송수신 호스트 사이의 패킷 전달 경로를 선택하는 과정
혼잡 제어
– 혼잡 : 네트워크에 패킷 수가 과도하게 증가되는 현상
– 혼잡 제어 : 혼잡의 발생을 예방하거나 제거하는 기능
패킷의 분할과 병합
– 상위 전송 계층에서 송신을 요구한 데이터는 최종적으로 MAC 계층의 프레임 구조에 정의된 형식으로 캡슐화되어 물리적으로 전송
– 패킷 분할 : 데이터를 여러 패킷으로 나누는 과정
– 패킷 병합 : 목적지에서 분할된 패킷을 다시 모으는 과정
연결형 서비스와 비연결형 서비스
– 연결형 : 데이터 전송 전에 데이터의 전송 경로를 미리 결정
– 비연결형 : 데이터의 전송 경로를 사전에 결정하지 않고 패킷 단위로 결정
연결형 서비스
– 상대적으로 신뢰성이 높음
비연결형 서비스
– 패킷의 전달 순서 : 패킷이 서로 다른 경로로 전달되므로, 도착 순서가 일정하지 않으므로, 상위 계층에서 순서를 재조정해야 함
– 패킷 분실 가능성 : 패킷의 100% 도착을 보장하지 않으므로, 상위 계층에서 패킷 분실 오류를 복구해야함
– IP, UDP : 각각 네트워크, 전송 계층의 기능을 지원하는 비연결형 프로토콜
라우팅
정적/동적 라우팅
정적 라우팅
동적 라우팅
라우팅 테이블
라우팅 정보의 처리
소스 라우팅
: 패킷을 전송하는 호스트가 목적지 호스트까지의 전달 경로를 스스로 결정
: 경로 정보를 전송 패킷에 기록함
: 데이터그램 방식과 가상 회선 방식에서 모두 이용함
분산 라우팅
: 라우팅 정보가 분산되어 있는 방식
: 패킷의 전송 경로에 위치한 각 라우터가 경로 선택에 참여함
: 네트워크에 존재하는 호스트의 수가 많아질수록 다른 방식보다 효과적임
중앙 라우팅
: 라우팅 제어 센터(RCC)라는 특별한 호스트를 통해 전송 경로에 관한 모든 정보를 관리하는 방식
: RCC로부터 목적지 호스트까지 도착하기 위한 경로 정보를 획득함
: 일반 호스트들의 경로 정보에 대한 관리 부담이 줄어들지만, RCC에 과도한 트래픽이 생성되므로, 전체 효율이 떨어질 수 있음
계층 라우팅
: 분산 라우팅 기능과 중앙 라우팅 기능을 적절히 조합하는 방식
: 네트워크 규모가 계속 커지는 환경에서 효과적임
혼잡제어
혼잡의 원인
트레픽 성형
혼잡 제거
간단한 라우팅 프로토콜
최단 경로 라우팅
플러딩
거리 벡터 라우팅 프로토콜
링크 백터
거리벡터
전체 네트워크에 소속된 개별 네트워크들까지의 거리 정보를 관리
D(R1) = [ 거리(Net.1) = 1,
거리(Net.2) = 1,
거리(Net.3) = 2,
거리(Net.4) = 2,
거리(Net.5) = 2 ]
거리는 지나치는 라우터 숫자
다음 홉 벡터
다음 홉 벡터 H(x)는 개별 네트워크까지 패킷을 전송하는 다음 홉 정보를 관리
H(R1)= [ 다음 홉(Net.1) = -,
다음 홉(Net.2) = -,
다음 홉(Net.3) = R4,
다음 홉(Net.4) = R3,
다음 홉(Net.5) = R6 ]
RIP (Routing Information Protocol) 프로토콜
Command(명령)
: 값이 1이면 RIP 요청을, 2이면 RIP 응답을 의미.
Version(버전)
: RIP 프로토콜의 버전 번호
Address Family Identifier(주소 패밀리 구분자)
: IP 프로토콜의 주소는 2로 설정
IP Address(IP 주소)
: 특정한 네트워크를 지칭하는 용도로 사용되기 때문에 IP 주소의 네트워크 부분의 값만 사용하고, 호스트 부분은 0으로 채움
– Metric(거리)
: 해당 라우터에서 목적지 네트워크까지의 거리 (최대 16홉)
라우팅 테이블
동작 전
동작 후
타이머 종류
RIP (Routing Information Protocol) 프로토콜의 문제점
최대 홉 수가 16이기 때문에, 홉 수가 16이 넘어가는 네트워크에서는 오류가 발생한다.
네트워크의 변화가 매우 느리게 전달됨 (저속 수렴)
주기적 타이머에 따른 업데이트를 수행하므로, 평균적으로 이웃 라우터에게 정보가 전달되는데 15초가 소요된다.
- 네트워크가 잘 돌아가던 중 Net1이 없어짐
- A에서 정보를 전달한다면 문제 없지만
- B에서 정보를 전달한다면 문제가 생김
- A의 입장에서는 B를 통애서 Net1 이 존재한다고 여기고 테이블을 갱신
- B의 입장에서는 다시 A에게 Net1의 정보를 갱신
- 이러한 것이 반복되면서 둘 다 16이 되고 오류가 발생
문제점 해결
내부 라우팅 프로토콜
외부 라우팅 프로토콜
정말 유익한 글이었습니다.