8. IP프로토콜 (1)

윤주원·2023년 7월 20일
0

컴퓨터 네트워크

목록 보기
8/15

IP 프로토콜

네트워크 계층의 기능

  • 네트워크 계층에서 ip프로토콜을 사용하기에 먼저 설명

라우팅
– 라우팅 테이블 : 네트워크 구성 형태에 관한 정보를 관리
– 라우팅 : 송수신 호스트 사이의 패킷 전달 경로를 선택하는 과정

혼잡 제어

– 혼잡 : 네트워크에 패킷 수가 과도하게 증가되는 현상
– 혼잡 제어 : 혼잡의 발생을 예방하거나 제거하는 기능

패킷의 분할과 병합

– 상위 전송 계층에서 송신을 요구한 데이터는 최종적으로 MAC 계층의 프레임 구조에 정의된 형식으로 캡슐화되어 물리적으로 전송
– 패킷 분할 : 데이터를 여러 패킷으로 나누는 과정
– 패킷 병합 : 목적지에서 분할된 패킷을 다시 모으는 과정

연결형 서비스와 비연결형 서비스

– 연결형 : 데이터 전송 전에 데이터의 전송 경로를 미리 결정
– 비연결형 : 데이터의 전송 경로를 사전에 결정하지 않고 패킷 단위로 결정

연결형 서비스

– 상대적으로 신뢰성이 높음

비연결형 서비스

– 패킷의 전달 순서 : 패킷이 서로 다른 경로로 전달되므로, 도착 순서가 일정하지 않으므로, 상위 계층에서 순서를 재조정해야 함
– 패킷 분실 가능성 : 패킷의 100% 도착을 보장하지 않으므로, 상위 계층에서 패킷 분실 오류를 복구해야함
– IP, UDP : 각각 네트워크, 전송 계층의 기능을 지원하는 비연결형 프로토콜

라우팅

  • 패킷의 전송 경로를 지정
  • 전송 경로 결정시 고려 사항
    : 공평 원칙 – 다른 패킷의 우선 처리를 위해 다른 패킷이 손해를 보면 안됨 (현실에서는 그렇진 않음)
    : 효율 원칙 – 전체 네트워크의 효율성에 대해 고려해야함

정적/동적 라우팅

  • 정적 라우팅 : 송수신 호스트 사이에서 패킷 전송이 이루어지기 전에 경로 정보를 라우터에 미리 저장하여 중개하는 방식
  • 동적 라우팅 : 라우터에서 사용하는 경로 정보를 네트워크 상황에 따라 적절하게 변경하는 방식

정적 라우팅

  • 경로 정보의 갱신이 어려움
  • 네트워크 변화 및 네트워크 혼잡에 대응하기 어려움

동적 라우팅

  • 경로 정보의 수집과 관리로 인한 성능저하가 발생한다.

라우팅 테이블

  • 패킷 전송 과정에서 라우터들이 경로를 쉽게 찾을 수 있도록하는 도구
  • 필수정보
    : 목적지 호스트 – 패킷의 최종 목적지가 되는 호스트의 주소
    : 다음 홉 : 목적지 호스트까지 패킷을 전달하기 위한 인접 경로

  • 호스트 1의 라우팅 테이블 예시

라우팅 정보의 처리

  • 소스 라우팅
    : 패킷을 전송하는 호스트가 목적지 호스트까지의 전달 경로를 스스로 결정
    : 경로 정보를 전송 패킷에 기록함
    : 데이터그램 방식과 가상 회선 방식에서 모두 이용함

  • 분산 라우팅
    : 라우팅 정보가 분산되어 있는 방식
    : 패킷의 전송 경로에 위치한 각 라우터가 경로 선택에 참여함
    : 네트워크에 존재하는 호스트의 수가 많아질수록 다른 방식보다 효과적임

  • 중앙 라우팅
    : 라우팅 제어 센터(RCC)라는 특별한 호스트를 통해 전송 경로에 관한 모든 정보를 관리하는 방식
    : RCC로부터 목적지 호스트까지 도착하기 위한 경로 정보를 획득함
    : 일반 호스트들의 경로 정보에 대한 관리 부담이 줄어들지만, RCC에 과도한 트래픽이 생성되므로, 전체 효율이 떨어질 수 있음

  • 계층 라우팅
    : 분산 라우팅 기능과 중앙 라우팅 기능을 적절히 조합하는 방식
    : 네트워크 규모가 계속 커지는 환경에서 효과적임

혼잡제어

  • 혼잡 : 네트워크 성능 감소가 급격하게 악화되는 현상
  • 혼잡 제어 : 혼잡 문제를 해결하기 위한 방안
    : 흐름 제어 – 송신, 수신 호스트 사이의 논리적 점대점 전송 속도를 다룸
    : 혼잡 제어 – 서브넷에서 네트워크의 전송 능력 문제를 다룸

혼잡의 원인

  • 초기 혼잡 과정에서 타임 아웃 시간이 작으면 혼잡도가 급격히 증가
  • 패킷의 도착순서가 다른 상황에서 패킷을 분실 처리하면 혼잡도가 증가
  • 의도적으로 피기배킹을 사용하는 경우, 응답 시간의 지연으로 인한 재전송이 유발되어 혼잡도가 증가
  • 패킷 생존 시간을 작게하면 패킷이 강제로 제거되어 혼잡도가 증가

트레픽 성형

  • 혼잡은 트래픽이 특정 시간에 집중되는 버스트현상이 원인인 경우가 다수
  • 트래픽 성형
    : 송신 호스트가 전송하는 패킷의 발생 빈도를 네트워크에서 예측할 수 있는 전송 성공률로 바꾸어주는 기능

혼잡 제거

  • 특정 지역의 혼잡이 다른 지역으로 확대되지 않도록 하는 것이 중요

라우팅 프로토콜

간단한 라우팅 프로토콜

  • 네트워크 거리 기준 : 라우터의 개수, 홉 수로 판단

최단 경로 라우팅

  • 패킷이 목적지에 도달할 때까지 라우터 수가 최소화 될 수 있도록 경로 선택

플러딩

  • 라우터가 자신에게 입력된 패킷을 출력 가능한 모든 경로로 중개하는 방식
  • 패킷이 무한히 만들어질 수 있으므로 생존 시간으로 제한
  • 특별한 목적을 가지고 사용되는 경우가 다수

거리 벡터 라우팅 프로토콜

  • 라우터가 자신과 연결된 이웃 라우터와 라우팅 정보를 교환하는 방식 중 하나
  • 필수 정보
    : 링크 벡터 – 이웃 네트워크에 대한 연결 정보
    : 거리 벡터 – 개별 네트워크까지의 거리 정보
    : 다음 홉 벡터 – 개별 네트워크로 가기 위한 다음 홉 정보

링크 백터

  • 링크벡터 L(x) : 라우터 x와 연결된 이웃 네트워크에 대한 연결정보를 보관
  • L(R1) = [ 포트1 (Net.1), 포트3 (Net.2) ]
  • L(R2) = [ 포트1 (Net.1), 포트8 (Net.4) ]
  • L(R7) = [ 포트6 (Net.3), 포트9 (Net.5) ]

거리벡터

  • 전체 네트워크에 소속된 개별 네트워크들까지의 거리 정보를 관리

  • 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홉)

  • 라우팅 테이블

  • 동작 전

  • 동작 후

타이머 종류

  • 주기적 타이머(preiodic)
    : 정규 갱신 메시지 통보를 제어 (30초)
  • 만료 타이머(expiration)
    : 경로의 유효성 관리 (180초)
    : 갱신 메시지가 180초 이내에 도착하지 않으면 홉 수를 16으로 변경
  • 폐 경로 수집 타이머(garbage collection)
    : 무효화된 경로 관리(120초)
    : 이 값이 0이 되면 테이블에서 해당 경로를 삭제한다.

RIP (Routing Information Protocol) 프로토콜의 문제점

  • 최대 홉 수가 16이기 때문에, 홉 수가 16이 넘어가는 네트워크에서는 오류가 발생한다.

  • 네트워크의 변화가 매우 느리게 전달됨 (저속 수렴)

  • 주기적 타이머에 따른 업데이트를 수행하므로, 평균적으로 이웃 라우터에게 정보가 전달되는데 15초가 소요된다.

  • 불안정
설명
  1. 네트워크가 잘 돌아가던 중 Net1이 없어짐
  2. A에서 정보를 전달한다면 문제 없지만
  3. B에서 정보를 전달한다면 문제가 생김
  4. A의 입장에서는 B를 통애서 Net1 이 존재한다고 여기고 테이블을 갱신
  5. B의 입장에서는 다시 A에게 Net1의 정보를 갱신
  6. 이러한 것이 반복되면서 둘 다 16이 되고 오류가 발생

문제점 해결

  • Triggered update
    : 변화가 생기면 즉각 새로운 테이블 전송
    : 저속 수렴 문제를 해결 할 수 있다.
  • Split horizons
    : 갱신 메시지를 선택적으로 전송
    : 어떤 인터페이스를 통해 전달된 정보는 다시 같은 곳으로 보내지 않는다.

내부 라우팅 프로토콜

  • 거리 벡터 방식의 RIP
  • 링크 상태 방식의 OSPF

외부 라우팅 프로토콜

  • 경로 벡터 프로토콜
    : 연결이 가능한지에 대한 정보만 제공
  • BGP
    : TCP 프로토콜을 사용
profile
안녕하세요

1개의 댓글

comment-user-thumbnail
2023년 7월 20일

정말 유익한 글이었습니다.

답글 달기