쉽게 배우는 데이터 통신과 컴퓨터 네트워크를 정리한 내용입니다
>네트워크 계층의 기능
- 라우팅 : 네트워크 구성형태에 관한 정보를 보관하는 라우팅 테이블을 이용해 패킷이 목적지 까지 도달하기 위한 경로를 선택한다
- 혼잡 제어 : 혼잡의 발생을 예방하거나 제거하는 기능을 한다
- 패킷의 분할과 병합 : 큰 데이터를 여러 패킷으로 나누는 패킷 분할과, 목적지에서 분할된 패킷을 다시 모으는 과정인 병합이 있다
1. 연결형 서비스와 비연결형 서비스
- 연결형 서비스 : 데이터 전송전에 전송 경로를 미리 결정
신뢰성이 높은서비스로, 시작&도착 타이밍의 패킷 순서가 동일한 특성이 있다.
전송계층에서 언급되는 TCP가 연결형 서비스를 지원한다 - 비연결형 서비스 : 데이터 전송경로가 사전에 정해지는게 아닌 나눠진 패킷이 독자적인 경로로 이동됨
연결형 서비스보다 신뢰성이 떨어지는 서비스, 패킷의 도착 순서가 일정하지 않다.
IP 프로토콜이 대표적인 비연결형 서비스의 예시이며 전송계층에서는 UDP가 있다
2. 라우팅
패킷의 전송경로를 지정하는 것으로 고려되어야 할 부분은 두가지가 있다
- 공평 원칙 : 다른 패킷의 우선 처리를 위해 다른 패킷이 손해를 보면 안됨
- 효율 원칙 : 전체 네트워크의 효율성에 대해 고려해야한다
> 라우팅의 종류
1) 정적 라우팅
패킷 전송이 이루어지기전에 전송 경로를 미리 라우터가 저장해 중개하는 방식. 경로 정보의 갱신시 바로 대처가 어려운점이 단점이다
2) 동적 라우팅
라우터의 경로정보를 네트워크 상황에 따라 적절하게 변경하는 방식으로, 경로 정보의 변경 주기에 맞춰 계속 보완이 가능하다. 하지만 이로인해 복잡한 작업이 추가로 필요하며, 네트워크에 부하를 줘 성능에 영향을 줄 수도 있는점이 단점이다
> 라우팅에서 사용하는 HELLO/ECHO 패킷
라우터의 초기화 과정에서 이웃 라우터의 경로정보를 파악하는게 가장 먼저 할 일이 된다. 이때 HELLO 패킷을 전송해 경로 정보를 얻는다.
ECHO패킷은 라우터 사이의 전송 지연 시간을 유추하는데 사용된다
> 라우팅 테이블
패킷 전송 과정에서 라우터들이 적절한 경로를 쉽게 찾을 수 있도록 사용하는 도구로 목적지 호스트, 다음 홉의 조합이 필수정보로 들어간다.
> 라우팅 정보의 처리
라우팅을 효과적으로 수행하기 위해 라우팅정보에 현재 상황을 반영할수 있게 관리하는 여러 방법들
1) 소스 라우팅 : 패킷 전송 호스트가 목적지 호스트까지 전달경로를 직접 결정하는 방식. 경로정보를 송신호스트의 라우팅 테이블에서 관리하며 경로 정보를 전송 패킷에 기록해야 한다.
2) 분산 라우팅 : 라우팅 정보를 분산하여 관리하는 방식으로 패킷의 전송 경로에 위치한 각 라우터가 효율적인 경로 선택에 참여한다. 호스트수가 많아질수록 효과적이라는 장점이 있다.
3) 중앙 라우팅 : RCC라는 특별한 호스트를 사용해 전송 경로에 관한 모든 정보를 관리하는 방식. 송신 호스트는 반드시 RCC로부터 경로정보를 미리 얻어야한다. RCC가 경로정보를 관리하기 때문에 일반 호스트는 경로정보를 관리할 필요가 없다. 하지만 네트워크 규모가 커지면 RCC의 트래픽이 증가해 효율이 떨어질 수 있다
4) 계층 라우팅 : 분산 라우팅 + 중앙 라우팅 , 전체 네트워크의 구성을 계층 구조 형태로 관리하는것으로 네트워크 규모가 커질수록 효과적임
3. 혼잡제어
라우팅은 혼잡이 발생하지 않는 경로를 배정하도록 설계해야 한다 -> 혼잡이 발생하는 경로를 선택하면 주변으로 혼잡이 확대될수있다.
1) 트래픽 성형
송신 호스트가 전송하는 패킷의 발생 빈도가 네트워크에서 예측할 수 있는 정도로 조절하는 것을 의미.
트래픽 성형과 관련된 알고리즘에서 유명한게 리키 버킷 알고리즘이라고 한다 -> 깔대기를 이용해 일정한 전송률로 변경하게 하는 알고리즘
2) 혼잡 제거
- 자원 예약 방식 : 사전에 호스트와 서브넷이 가상 회선 연결과정에서 협상을 하는 방식. -> 통신자원을 낭비할 가능성이 높음
- ECN 패킷 방식 : 라우터가 선로의 사용정도를 모니터링해 한계치를 초과하면 주의표시를 해두고 특별관리를 하는 방식
> 라우팅 프로토콜
1. 간단한 라우팅 프로토콜
1) 최단 경로 라우팅 : 패킷이 목적지에 도달할 때 까지 거치는 라우터 수가 최소화 될수 있도록 경로를 선택.
2) 플러딩 : 라우터가 자신에게 입력된 패킷을 출력 가능한 모든 경로로 중개하는 방식. 모든경로를 통해 반복해 전송하기 때문에 무한히 패킷이 생성될 수 있기 때문에, 각 패킷의 홉 수를 일정범위로 제한해 관리한다(많이 이용하지는 않고, 중요데이터를 모든 호스트에게 동시 전달하는 환경에서 제한적으로 사용)
2. 거리 벡터 라우팅 프로토콜
라우터가 자신과 직접 연결된 이웃 라우터와 라우팅 정보를 교환하는 방식으로 필수 정보로 링크 벡터, 거리 벡터, 다음 홉 벡터라는 세가지 필수정보를 관리해야 한다
- 링크 벡터 : 라우터와 직접 연결된 이웃 네트워크에 대한 연결 정보를 보관. (라우터가 특정 네트워크에 연결하기 위해 할당한 라우터 고유 포트 번호라고 이해)
- 거리 벡터 : 전체 개별 네트워크에 소속된 개별 네트워크들까지의 거리정보를 관리한다.
- 다음 홉 벡터 : 개별 네트워크까지 패킷을 전송하는 경로에 있는 다음 홉 정보를 관리한다.
RIP 프로토콜
거리 벡터 방식을 사용하는 내부 라우팅 프로토콜 중 가장 간단히 구현된 프로토콜로 소규모 네트워크 환경에 적합하다(현재 가장 많이 사용된다)
3. 링크 상태 라우팅 프로토콜
라우터 간의 정보 교환 방식이 거리 벡터 방식과 반대이다. 개별 라우터가 이웃 라우터까지의 거리정보를 구한후, 이를 네트워크에 연결된 모든 라우터에 통보한다.
TCP/IP 기반의 인터넷에서 사용하는 OSPF(Open Short Path First)가 링크 상태 방식을 사용하는 라우팅 프로토콜이다
4. 외부 라우팅 프로토콜
외부 라우팅 프로토콜에서 사용하는 거리 벡터 프로토콜은 경로에 관한 거리 정보값이 필요없다. 단순히 해당 라우터에서 어느 네트워크가 연결 가능한지의 정보만 알려준다. -> 근거리는 효율의 문제를 고려하나 외부 라우팅 프로토콜은 경로의 존재 유무에 초점을 맞춘다
대표적인 프로토콜로 인터넷에서 많이 사용되는 BGP(Border Gateway Protocol)이 있다.
'CS > 네트워크' 카테고리의 다른 글
8. 네트워크 계층 프로토콜 (0) | 2022.09.17 |
---|---|
7. IP 프로토콜 (0) | 2022.09.17 |
5. 데이터 링크 계층 (0) | 2022.09.15 |
4. 데이터 전송 (0) | 2022.09.12 |
3. 네트워크 기술 (0) | 2022.09.12 |