본문 바로가기

정보통신시스템

정보통신공학과 통신학과, 정보처리기사 등 정보통신시스템 요약정리 92. 인터넷계층 프로토콜

반응형

92. 인터넷계층 프로토콜

 

가. IP 프로토콜
(1) IP 프로토콜의 특징
IP 프로토콜은 TCP, UDP 및 ICMP에서 보낸 데이터를 모두 IP 데이터그램 형태
로 구성하여 데이터그램이 목적지 호스트까지 홉단위(hop-by-hop)로 전달될 수
있는 라우팅 기능을 수행한다. 이에 따라 IP 프로토콜은 신뢰성이 낮은 비연결형 특
성을 가지고 있다.
IP 데이터그램은 전송하기 전에 양 종단 간에 경로 설정이 없기 때문에 데이터그
램이 유실되거나 순서가 바뀌는 등 목적지에 성공적으로 도달하였는지에 대한 보장
을 할 수 없다. 또한 데이터그램들 상호간에 연관관계가 없고 내부적으로 상태 정보
를 보유하지 않기 때문에 오류 제어기능 등을 수행할 수도 없다. 따라서 오류 발생
시 IP는 데이터그램을 포기하고 오류의 발생사실을 ICMP 메시지를 이용해 송신측
호스트로 전송하게 되며, 궁극적으로 IP 프로토콜에 대한 신뢰성의 확보는 상위계
층인 TCP에서 제공한다. [그림 8-9]는 다수의 네트워크와 라우터를 통한 양 종단
호스트 간에 인터넷 프로토콜이 구현된 것에 대해 나타내고 있다.

다수의 네트워크와 라우터를 통한 양 종단간 인터넷 프로토콜 구현

(2) 도메인(Domain) 이름과 URL(Uniform Resource Locator)
인터넷에 접속된 모든 컴퓨터는 체계적으로 통일된 주소를 사용하며, 문자로 된
주소인 도메인 이름과 숫자로 된 주소인 IP 주소가 있다. 이들 주소는 전 세계에서
중복되지 않는 고유한 주소로 사용되며, 미국의 INTERNIC(Internet Network
Information Center)과 각 국가의 망 관리 센터에서 부여하는데, 우리나라의 경우
한국인터넷 정보센터(KRNIC : Korea Network Information Center)에서 부여
한다. 인터넷은 모든 것이 자유롭지만 주소 할당만은 임의로 할 수 없고, 중앙의
NIC 통제를 받아야 한다.
호스트의 도메인 이름은 숫자로 표기된 IP 주소에 대응하는 별도의 이름이며, 숫
자 중심의 IP 주소를 이해하기 쉬운 영문자로 바꾸어 표현한 것으로서, 각 단계별로
dot(.)로 구분한다. 이들 도메인 이름은 기관 식별과 국가 식별 등으로 세분화하여
com(company), net(network), org(organization), edu(education),
gov(government), kr(Korea), jp(Japan), cn(China). ac(academy),
re(research) 등으로 표기되며,‘컴퓨터이름.소속단체.단체성격.소속국가’순으로
규모에 따라 계층적인 구조를 갖는다.
도메인 이름과 IP 주소는 동일한 결과를 의미하므로 함께 사용 가능하며, 아래의
예와 같이 표현할 수 있다. 다만, IP 주소보다는 기억하기 용이한 도메인 이름을 주
로 사용하고 있으며, 이에 도메인 이름을 IP 주소로 변환하는 것이 필요한 데, 이러
한 기능을 하는 것이 DNS(Domain Name Server) 시스템이다.

한편, URL은 인터넷상에서 임의의 장소의 각종 자원에 접근하기 위한 표준 주소
표기 방법으로서, 인터넷에 존재하는 정보자원을 어떻게 액세스 할 수 있는지를 나
타낸다. URL은 아래와 같이‘프로토콜://도메인네임[:포트번호]/디렉터리/파일명’
의 형식으로 사용되는데, 포트번호는 해당 서비스(프로토콜)에서 기본으로 사용하는
포트번호가 아닐 때에만 명시한다.

(3) IP 프로토콜의 데이터그램 형식
IP 프로토콜의 버전4인 IPv4의 데이터그램 형식은 [그림 8-10]과 같다. 헤더는
20바이트의 길이를 갖고 있으며, 발신지(근원지)와 목적지 IP 주소를 비롯하여 데이
터그램의 전체 길이를 표시하고, 데이터그램 헤더 자체의 검사합(checksum) 방식
의 오류검사를 위한 비트 등이 포함된다.

IPv4의 데이터그램 형식

여기서, 서비스 유형은 서비스 품질(QoS)와 비슷한 것으로 IP 데이터그램에서 필
요로 하는 우선순위, 지연, 처리율, 안정도 등을 나타낸다. 전체길이는 헤더와 데이
터를 포함한 길이를 나타내며, 식별자는 하나의 사용자 메시지가 인터넷 망 내에서
여러 개의 IP 데이터그램으로 나뉘어서 전송될 수 있는데, 이 경우 수신 측에서 이
를 다시 모을 수 있도록 지원하는 데이터그램을 구분하기 위해 사용된다. 플래그는
사용자 메시지를 여러 개의 IP 데이터그램으로 나누어야 하는지의 여부를 나타내
며, 단편 오프셋은 같은 메시지에 속하는 여러 개의 IP 데이터그램이 있을 경우 이
데이터그램에 있는 데이터가 메시지의 시작으로부터 얼마나 떨어진 위치에 있는 것
인가를 나타낸다. 그리고 수명은 IP 데이터그램이 인터넷 상에서 존재할 수 있는 최
대 생존시간을 나타내는데, 이 값은 송신측 IP에 의하여 세트 되고 데이터그램이 각
홉들을 통과할 때마다 감소되며, 이 값이 0이 되면 해당 데이터그램은 인터넷 상에
서 제거된다.


(4) 서브 네트워크(Sub-network)
서브 네트워크는 하나의 네트워크 식별자에 있는 여러 개의 호스트 식별자를 다수
의 작은 네트워크와 여러 개의 호스트로 나누어서 사용하는 방법이다. 즉 IP 주소의
호스트 부분을 네트워크 부분으로 변경할 경우에 이를 서브넷(subnet)이라고 한다.
서브넷은 [그림 8-11]과 같이 서브넷 마스크(subnet mask)라 불리는 비트 마스
크를 IP 주소에 적용함으로써 정의되며, 호스트 식별자 중에서 서브 네트워크로 사
용하려는 비트 수 만큼을 네트워크 식별자로 구분해 준다. 마스크 비트가‘1’ 일 때
상응되는 비트는 네트워크 비트이며, 반대로‘0’ 일 때 상응되는 비트는 호스트 비트
가 된다.

나. ARP와 RARP 프로토콜
IP 프로토콜을 이용하여 데이터를 전달하는 경우에는 수신측의 IP 주소에 해당하는
물리적인 하드웨어 주소로서 NIC 카드 내 MAC 주소가 필요하다. 대부분 송신측의 라
우팅 테이블에 수신측의 IP 주소와 물리 주소가 저장되어 있기 때문에 이를 참조하여
데이터를 전달한다. 그러나 수신측이 외부 네트워크에 있을 경우에는 [그림 8-12]와
같이 ARP 프로토콜을 이용하여 목적지 IP 주소를 NIC 카드의 물리 주소로 변환해야
하며, 이러한 기능은 프록시(proxy) ARP에서 수행된다.

ARP 및 RARP 프로토콜의 기능

즉, 하드 디스크가 없는 호스트는 초기화 할 때 자신의 IP 주소를 알 수 없다. 이 경
우 자신의 하드웨어 주소를 이용하여 자신의 IP 주소를 알아내는 것이 ARP 프로토콜 이며, 하드 디스크가 없는 워크스테이션이나 호스트에서 사용한다. 또한 ARP 프로토
콜은 IP 주소를 물리주소로 변환하는 프로토콜인 반면에, 이의 반대기능을 수행하는
것이 RARP 프로토콜이다.


다. ICMP 프로토콜
ICMP는 인터넷 계층의 일부로서 인터넷상의 제어기능과 오류 보고 기능 등 여러
가지 관리 기능을 수행하는 프로토콜이다. 자체 메시지는 [그림 8-13]과 같이 IP 데이
터그램 내에 캡슐화되어 전달되며 흐름제어, 도달 불가 목적지 검출, 경로 재배정 및
원격 호스트 조회 등에 사용된다. 그리고 인터넷 계층의 일부로서 멀티캐스트 제어기
능을 수행하기 위해 IGMP 프로토콜이 사용되고 있다.

한편, ping은‘packet internet groper’ 의 약자로서, TCP/IP 프로토콜을 사용하
는 응용 프로그램 중 하나이며, IP 패킷(데이터그램)이 도착할 수 있는지를 검사하는
데 사용된다. ping을 수행하는 프로그램은‘ICMP echo request’ 라는 메시지를 원격
지 호스트로 보내고,‘ICMP echo reply’ 라는 메시지의 응답 여부에 따라 원격지 호
스트의 동작 여부를 확인할 수 있다. 이러한 과정을 거쳐 ping은 진단용으로 네트워크
또는 시스템에 장애가 발생했는지의 여부를 조사하는데 사용되며, 어떤 호스트까지의
왕복시간을 측정해서 그 호스트까지의 거리를 알 수 도 있다.


라. 라우팅 프로토콜
라우팅이란 어떤 교환기와 직접 연결되지 않은 교환기에 데이터를 전송할 필요가
있을 경우, 망 내 교환기들의 중계를 거쳐 데이터 전송의 경로를 지정해 주는 것을 말
한다. 전송 경로의 지정에 있어서 올바른 경로를 찾기 위해 라우팅 정보를 저장하게
되며, 라우팅 정보를 저장하는 가장 단순한 방법은 첫째, 인터넷에 연결된 각 호스트
나 라우터, 게이트웨이 등이 다른 모든 호스트들의 주소를 갖게 하는 방법과 둘째, 모
든 인터넷 주소 정보를 하나의 시스템에 저장하고 필요할 때 이에 접근하는 방법 등이 있을 수 있다.
그러나 모든 주소 정보를 하나의 호스트에 저장하는 방법은 인터넷 주소의 방대함
으로 인해 많은 오버헤드를 발생시킨다. 따라서 인터넷에서의 라우팅 정보는 인터넷
상의 종단 호스트, 내부 게이트웨이, 외부 게이트웨이 등에 계층적으로 분산되어 저장된다.


(1) 라우팅 프로토콜과 라우팅 테이블(Routing Table)
라우팅은 IP 패킷(데이터그램)들을 원하는 목적지까지 보내기 위해 여러 개의 전
송경로 중에서 하나의 경로를 선택하는 기능이다. 네트워크를 사용하여 통신을 하
는 경우에 라우터가 전송하려는 패킷의 목적지 IP 주소를 살펴보고, 어느 네트워크
에 속해 있는지를 판단해야 한다. 그러므로 라우터는 어느 네트워크로 패킷을 전송
할지를 판단하기 위해서 내부적으로 라우팅 테이블, 즉 경로설정 테이블을 구성하여 저장한다.
그리고 또 다른 라우터와 정보를 교환하여 최신의 경로 설정 테이블을 갱신하여
야 하는데, 이와 같이 경로설정 테이블을 갱신하기 위해 라우터들이 상호간에 라우
팅 정보를 교환하는데 사용하는 프로토콜을 라우팅 프로토콜이라고 한다. 여기서,
라우터는 자신이 저장하고 있는 경로설정 테이블을 이용하여 해당하는 네트워크로
패킷을 전달하는 역할을 담당한다.
경로설정 방법으로는 정적(static) 경로설정과 동적(dynamic) 경로설정 기법이
있다. 정적 경로설정 기법은 네트워크 전체에 대한 정보를 관리자가 입력하는 것이
며, 이 경우 경로정보가 변하지 않고 관리가 어려우며 관리자의 부담이 커지는 단점
이 있다. 동적 경로설정 기법은 라우터 간에 스스로 경로 설정 정보를 교환함으로써
자동으로 경로설정 테이블을 최신의 내용으로 유지할 수 있으며 설정이 용이하지
만, 반면에 정보교환을 위한 통신량이 추가로 발생하는 단점이 있다.
한편, 라우팅 프로토콜은 동일한 자율 시스템(Autonomous System) 내에 있는
라우터 간의 라우팅 정보 교환에 사용되는 내부 라우터 프로토콜과 상이한 자율 시
스템에 있는 라우터 간의 라우팅 정보 교환에 사용되는 외부 라우터 프로토콜로 구
분된다. 여기서 자율 시스템이란 동일한 라우팅 프로토콜을 사용하면서 하나의 단
체에 의해 관리되고 있는 네트워크를 말한다.
즉, 자율 시스템은 하나 또는 그 이상의 서브넷을 포함하며, 일반적으로 하나의
기관에 의해 운영된다. 따라서 자율 시스템은 내부의 라우팅이나 망 관리 등에 있어
서 독자적인 방식에 따른다. 자율 시스템의 예로는 단일 LAN, X.25 WAN, FDDI LAN 등이 있을 수 있으며, 인터넷은 여러 개의 자율 시스템들이 연결되어 구성된다
고 할 수 있다.
자율 시스템 내부에 있는 게이트웨이를 내부 게이트웨이라 하며, 자율 시스템들
을 연결하는 게이트웨이를 외부 게이트웨이라고 한다. 내부 게이트웨이에서 동작하
는 라우팅 프로토콜을 내부 게이트웨이 프로토콜이라 하며, 외부 게이트웨이들 사
이에서 동작하는 프로토콜을 외부 게이트웨이 프로토콜이라고 한다.
(2) RIP(Routing Information Protocol) 프로토콜
RIP 프로토콜은 거리벡터(distance vector)를 이용하는 가장 대표적인 라우팅
프로토콜로서, 소규모 네트워크에서 사용되고 있다. 여기서 거리벡터라는 것은 자
신에게 각 호스트까지의 거리, 즉 홉 수를 모아놓은 정보이며, 이것을 근거로 [그림
8-14]와 같이 경로설정 테이블을 작성하고, 패킷을 보낼 노드 혹은 방향을 결정하
게 된다.

RIP는 각 호스트가 자신의 경로설정 테이블을 일정 시간마다 다른 노드들에게 전
송하며, 이 경로설정 테이블을 수신한 노드는 각 목적지와의 거리에 대하여 자신의
경로설정 테이블과 비교한다. 이때 목적지까지의 거리가 자신이 알고 있는 것보다 더
짧으면, 자신의 경로설정 테이블을 수정한다. 이 프로토콜은 기본적으로 구현이 쉽지
만, 주기적으로 자신의 경로설정 테이블 전체를 다른 노드들에게 전송하게 되므로 네
트워크의 부가적인 오버헤드가 증가한다. 또한 네트워크에 고장이 발생 시 운영이 복
잡하고, 거리벡터만을 사용하므로 최적화된 경로설정에 어려움이 있게 된다.


(3) OSPF(Open Shortest Path First) 프로토콜
자율 시스템 내에서 통신량을 줄이기 위해 영역(area)이라는 개념을 도입하고, 또
한 모든 노드가 전체 네트워크의 구조에 대한 정보를 저장하고 그 정보를 토대로 하
여 각 목적지에 대한 최단 경로를 계산하여 이용하는 링크상태(link state) 방식을
이용한다.
이 프로토콜은 RIP와 같이 네트워크 구조에 대한 정보가 주기적으로 갱신되지만,
RIP의 경우에는 자신의 경로설정 테이블을 주변 노드에게만 보내는데 비하여, 링크
상태 방식에서는 영역 내의 모든 노드에게 정보를 전달하는 플러딩(flooding) 기법
을 사용하므로, 네트워크상의 과도한 트래픽을 감소시킬 수 있고, RIP 보다 네트워
크 변화가 신속하게 반영되는 장점이 있다. 특히 링크상태 방식은 홉 수 뿐만 아니
라 지연시간(delay), 처리율(throughput), 신뢰도(reliability) 등 다른 요소를 포함
하여 경로를 설정하므로, 보다 최적화된 경로 설정이 가능하다. 이러한 특성으로 인
해 멀티캐스팅이 지원가능하고, 대규모 네트워크에 효과적으로 사용할 수 있다.


(4) BGP(Border Gateway Protocol) 프로토콜
일반적으로 자율 시스템 내부에서 사용하는 라우팅 프로토콜을 IGP(Interior
Gateway Protocol)라 하는데, 대표적인 IGP로 RIP와 OSPF가 있다. 그리고 [그림
8-15]와 같이 자율 시스템의 외부에서 자율 시스템 간의 경로설정을 위해 사용되는
대표적인 프로토콜로 BGP 프로토콜이 있다.

IGP 및 BGP 프로토콜 적용 네트워크

즉, BGP 프로토콜은 각기 다른 자율 시스템에 있는 외부 게이트웨이들이 라우팅
정보를 주고받을 수 있도록 하는 외부 게이트웨이 프로토콜은로서, 내부 라우팅 테이블과 외부 라우팅 테이블을 유지한다. 내부 라우팅 테이블에는 자율 시스템 내에
있는 망들까지의 거리와 해당 망에 접근하기 위한 게이트웨이 번호 등의 정보가 저
장된다. 외부 라우팅 테이블에는 시스템 외부에 있는 외부 게이트웨이들에 관한 정
보가 저장된다.
따라서, 외부 게이트웨이에 저장되는 정보는 자율 시스템 내부 망들에 관한 것과
자율시스템 외부 망에 관한 것이다. 이와 비교하여 내부 게이트웨이에 저장되는 정
보는 자신과 연결된 망들에 있는 호스트에 관한 것과 자율 시스템 내부의 망들에 관
한 것들이다
BGP 프로토콜은 라우팅 정보를 전송할 때 초기에는 전체 경로설정 테이블을 모
두 전송하지만, 그 이후에는 변화된 부분만을 전송한다. BGP는 목적지에 도달하기
위해 경유하는 자율시스템의 순서를 전송하여 이용하므로, RIP에서와 같은 문제점
이 나타나지 않는다.

반응형