2014년 4월 22일 화요일
ICMP 개념과 일반 동작
인터넷 제어 프로토콜(ICMP, Internet Control Message Protocol)은 네트워킹 세계에서 진가를 인정받지 못하는 '일꾼' 중의 하나다.
원래 몇 가지 에러 상황을 보고하기 위해 설계된 ICMP 메시지는 이제 다양한 영역의 에러 보고, 피드백, 테스팅 기능을 구현하는 데 쓰인다.
ICMP 개요, 역사, 버전, 표준
ICMP 일반 동작
ICMP 메시지 클래스, 유형, 코드
ICMP 메시지 생성과 처리 관습, 규칙
ICMP 일반 메시지 포맷과 데이터 갭슐화
원래 몇 가지 에러 상황을 보고하기 위해 설계된 ICMP 메시지는 이제 다양한 영역의 에러 보고, 피드백, 테스팅 기능을 구현하는 데 쓰인다.
ICMP 개요, 역사, 버전, 표준
- TCP/IP에서 인터네트워크 계층의 진단, 테스트, 에러 보고 기능은 인터넷 제어 메시지 프로토콜(ICMP)에 의해 수행된다.
- ICMP는 IP의 비서 역할을 한다.
- 최초 ICMP 버전인 ICMPv4는 IPv4에 쓰였고 새 버전인 ICMPv6는 IPv6에 쓰인다.
ICMP 메시지를 정의하는 ICMP 이외의 인터넷 표준
정의한 메시지 유형의 ICMP 버전 | RFC 번호 | 이름 | 정의한 ICMP 메시지 유형 |
ICMPv4 | 950 | Internet Standard Subnetting Procedure | 주소 마스크 요청, 주소 마스크 응답 |
1256 | ICMP Router Discovery Messages | 라우터 광고, 라우터 정보 요청 | |
1393 | Traceroute Using an IP Option | 경로 추적 | |
1812 | Requirements for IP Version 4 Routers | 목적지 접근 불가 메시지의 세 가지 새로운 코드(하위 유형)을 정의함 | |
ICMPv6 | 2461 | Neighbor Discovery for IP Version 6(IPv6) | 라우터 광고, 라우터 정보 요청, 주변 정보 광고, 주변 정보 요청, 리다이렉트 |
2894 | Router Renumbering for IPv6 | 라우터 주소 재지정 |
ICMP 일반 동작
- ICMP 메시지 전달 서비스
- ICMP는 다른 TCP/IP 프로토콜과는 달리 특정한 작업을 수행하지 않는다
- ICMP는 다양한 기능을 구현하는 데 쓰이는 다양한 제어 메시지를 송수신하는 방법을 정의한다
- ICMP는 일반적으로 IP 메시지 전송에 대한 피드백을 제공하는 데 쓰인다
- ICMP 에러 보고는 데이터그램 원본으로만 송신 가능
- IP 데이터그램의 문제로 인해 발생한 ICMP 에러 보고 메시지는 오직 최초 송신 장비에게만 전달될 수 있다
- IP 데이터그램의 헤더에는 오직 최초 송신 장비의 주소만 들어 있기 때문에 중간 장비는 ICMP 메시지의 수신자가 될 수 없다
ICMP 메시지 클래스, 유형, 코드
- ICMP 메시지 클래스
- 오류 메시지
- 이들 메시지는 어떤 에러가 발생했다는 것을 출발지 장비에게 알릴 때 쓰인다
- 이것은 일반적으로 어떤 행위에 의한 응답으로 생성된다
- 에러는 보통 데이터그램의 구조나 컨텐츠, 또는 데이터그램 라우팅 도중 발생한 인터네트워크상의 문제와 연관돼 있다
- 정보 제공 (또는 요청) 메시지
- 이들 메시지는 장비가 정보를 교환하고, 특정 IP 관련 기능을 구현하고, 테스트를 수행하도록 하는 데 쓰인다
- 정보 제공 메시지는 애플리케이션에 의해, 또는 다른 장비에게 정보를 주기 위해 주기적으로 생성된다
- ICMP 메시지는 문제 상황을 보고하는데 쓰이는 오류 메시지와 진단, 테스트, 기타 목적에 쓰이는 정보 제공 메시지로 나뉜다
- ICMP 메시지 유형
- ICMPv4와 ICMPv6는 각각 최대 256개의 메시지 유형이 정의될 수 있다
- 각 메시지의 헤더에 포함된 유형 필드는 ICMP 메시지의 종류를 지정한다
- ICMPv4에서 유형값과 메시지 유형에는 아무 연관 관계가 없다
- 반면 ICMPv6에서는 오류 메시지의 유형값이 0에서 127까지고, 정보 제공 메시지는 1에서 255까지의 값을 갖는다
- ICMP 메시지 코드
- ICMP는 8비트로 된 코드 필드를 통해 각 메시지 유형 내에서 좀더 세부적으로 메시지를 분류한다
- ICMP 메시지 클래스와 유형 요약
메시지 클래스 | 유형값 | 메시지 이름 | 메시지 유형 설명 요약 | RFC 번호 |
ICMPv4 오류 메시지 | 3 | 목적지 접근 불가 | 데이터그램을 목적지로 전달할 수 없다는 것을 나타낸다. 코드값은 에러의 원인에 대한 좀더 구체적인 정보를 제공한다. | 792 |
4 | 송신 속도 낮춤 | 데이터그램을 너무 많이 수신하는 IP 장비가 송신 장비에게 송신율을 낮추라고 요구할 때 쓰인다. | 792 | |
5 | 리다이렉트 | 라우터가 호스트에게 데이터그램 송신을 위한 더 좋은 경로를 알릴 수 있도록 한다. | 792 | |
11 | 시간 초과 | TTL 필드가 만료하여 데이터그램이 전송 중 버려질 때 송신된다. | 792 | |
12 | 인자 문제 | 데이터그램을 전달하는 도중 사소한 문제를 나타낸다. | 792 | |
ICMPv4 정보 제공 메시지(1/2) | 0 | 에코 응답 | 에코 요청 메시지에 대한 응답으로 전송된다. 연결을 테스트 하는 데 쓰인다. | 792 |
8 | 에코 요청 | 장비가 인터네트워크의 다른 장비와 연결성을 테스트하는 데 쓰인다. | 792 | |
9 | 라우터 광고 | 라우터가 호스트에게 자신의 존재와 기능을 알리는 데 쓰인다. | 1256 | |
10 | 라우터 정보 요청 | 호스트가 다른 라우터에게 라우터 광고를 요청할 때 쓰인다. | 1256 | |
13 | 타임스탬프 요청 | 장비가 다른 장비에게 전파 시간 계산과 클럭 동기화를 위해 타임스탬프 정보를 요청할 때 쓰인다. | 792 | |
14 | 타임스탬프 응답 | 타임스탬프 요청에 대한 응답으로 송신되며 시간 계산과 클럭 동기화 정보를 제공한다. | 792 | |
15 | 정보 요청 | 원래 다른 장비에게 설정 정보를 요청할 때 쓰였다. 지금은 쓰이지 않는다. | 792 | |
ICMPv4 정보 제공 메시지(2/2) | 16 | 정보 응답 | 정보 요청 메시지에 대한 응답으로, 설정 정보를 제공할 때 쓰였다. 지금은 쓰이지 않는다. | 792 |
17 | 주소 마스크 요청 | 장비에게 주소 마스크 송신을 요청할 때 쓰인다. | 950 | |
18 | 주소 마스크 응답 | 주소 마스크 요청에 대한 응답으로, 서브넷 마스크를 담고 있다. | 950 | |
30 | 경로 추적 | 향상된 기능의 경로 추적 유틸리티를 실험하는 데 쓰인다. | 1393 | |
ICMPv6 오류 메시지 | 1 | 목적지 접근 불가 | 데이터그램을 목적지로 전달할 수 없다는 것을 나타낸다. 코드값은 그 이유에 대한 좀더 자세한 정보를 제공한다. | 2463 |
2 | 패킷 크기 초과 | 데이터그램이 경로의 다음 홉의 최대 전송 단위(MTU)보다 커서 더 이상 데이터그램을 전달할 수 없을 때 송신된다. 이 메시지는 IPv4가 아닌 IPv6에서만 필요하다. 왜냐하면 IPv4에서는 라우터가 크기가 큰 메시지를 단편화할 수 있지만 IPv6는 그렇게 할 수 없기 때문이다. | 2463 | |
3 | 시간 초과 | Hop Limit 필드가 0으로 감소되어서 데이터그램을 전달할 수 없다는 것을 나타낸다. | 2463 | |
4 | 인자 문제 | 데이터그램을 전달하는 도중 발생한 사소한 문제를 나타낸다. | 2463 | |
ICMPv6정보 제공 메시지 | 128 | 에코 요청 | 장비가 인터네트워크의 다른 장비와 연결성을 테스트하는 데 쓰인다. | 2463 |
129 | 에코응답 | 에코 요청 메시지에 대한 응답으로 전송된다. 연결을 테스트하는 데 쓰인다. | 2463 | |
133 | 라우터 정보 요청 | 호스트가 다른 라우터에게 라우터 광고를 요청할 때 쓰인다. | 2461 | |
134 | 라우터 광고 | 라우터가 로컬 네트워크의 호스트에게 자신의 존재와 기능을 알리는 데 쓰인다. | 2461 | |
135 | 주변 정보 요청 | 장비가 다른 장비의 2계층 주소를 요청하고, 자신의 주소를 알리는 데 쓰인다. | 2461 | |
136 | 주변 정보 광고 | 호스트에 관한 정보를 네트워크의 다른 장비에게 알리는 데 쓰인다. | 2461 | |
137 | 리다이렉트 | 호스트가 데이터그램의 전달 방향을 네트워크의 바로 옆에 있는 호스트나 라우터로 변경하도록 한다. | 2461 | |
138 | 라우터 주소 재지정 | 라우터 주소 재지정에 쓰이는 정보를 전달한다. | 2894 |
ICMP 메시지 생성과 처리 관습, 규칙
- ICMP 메시지 응답의 한계
- 과다한 ICMP 메시지를 네트워크로 송신하는 것을 막기 위해 언제, 어떻게 ICMP를 생성하는지에 대한 규칙이 존재한다.
- 이들 대부분은 특정 상황에 의하여 대량의 ICMP 오류 메시지가 생성되는 것을 막도록 설계됐다.
- ICMP 메시지 처리 관습
- ICMP 메시지를 수신한 장비는 그 메시지 유형이 특정한 응답을 필수적으로 요구하지 않는 한 별다른 행동을 취할 필요가 없다.
- 특히, 장비는 ICMP 오류 메시지를 수신했을 경우 특정한 작업을 반드시 할 필요는 없다.
ICMP 일반 메시지 포맷과 데이터 갭슐화
- ICMP 일반 메시지 포맷
필드이름 | 크기(바이트) | 설명 |
유형 | 1 | ICMP 메시지 유형을 식별한다. ICMPv6의 경우 0에서 127까지의 값은 오류 메시지를, 128에서 255까지의 값은 정보 제공 메시지를 나타낸다. |
코드 | 1 | 각 ICMP 메시지 유형 내에서의 하위 유형을 식별한다. 이 필드는 크기가 1바이트이기 때문에 각 메시지 유형별로 256개의 하위 유형을 정의할 수 있다. |
체크섬 | 2 | 16비트 체크섬 필드로 IPv4의 IP 헤더 체크섬과 유사한 방법으로 계산된다. 이 필드는 전체 ICMP 멧지를 위한 에러 탐지 기능을 제공한다. ICMPv6에서는 체크섬 계산을 위해 가상의 IPv6 헤더 필드가 앞에 붙는다는 사실을 알아두자. 이것은 TCP에서의 체크섬 계산법과 유사하다. |
메시지본문/데이터 | 가변적 | 각 메시지 유형을 구현하는 데 쓰이는 구체적인 필드를 포함한다. 이것은 메시지의 유일부분이다. |
- ICMP 오류 메시지에 포함된 원본 데이터그램
- ICMPv4 오류 메시지
- 각 오류 메시지는 IP 헤더 전체와 페이로드의 처음 8 바이트를 포함한다.
- ICMPv6 오류 메시지
- 각 오류 메시지는 크기(IP 헤더 캡슐화 포함)가 최소 IPv6 MTU인 1,280바이트를 초과하지 않는 범위에서 가능한 한 많은 양의 IPv6 데이터그램을 포함한다.
- 각 ICMP 메시지는 그 메시지 유형에 유일한 데이터를 포함하지만, 모든 메시지는 일반 ICMP 메시지 포맷 구조를 갖는다. ICMP 오류 메시지는 항상 에러를 유발시킨 원본 IP 데이터그램의 일부를 메시지 본문에 포함시킨다.
- ICMP 데이터 캡슐화
- ICMP 메시지는 포매팅된 다음, 다른 여느 IP 메시지와 같이 IP 데이터그램으로 캡슐화된다.
2014년 2월 19일 수요일
인터넷 프로토콜 이동성 지원(모바일 IP)
모바일 IP 개요, 역사와 개발 동기
모바일 IP 주소: 홈 주소와 CoA
모바일 IP 에이전트 발견
모바일 IP 홈 에이전트 등록과 등록 메시지
- TCP/IP에서 이동 장비 문제
- 네트워크 ID와 호스트의 IP 주소가 서로 결합되어 있기 때문에 지금과 같은 IP에서 이동 장비가 선택할 수 있는 방은 두가지 뿐
- IP 주소 변경
- 이동한 네트워크의 네트워크 ID를 가지도록 호스트의 IP 주소를 변경한다.
- IP 라우팅과 주소 간의 연결 끊기
- 네트워크 ID에 따라 데이터그램을 전달하는 것이 아니라 전체 주소를 보고 데이터그램을 전송하도록 장비에 대한 라우팅 방식을 바꾼다.
- 문제점
- IP 네트워크는 IP 주소 기반으로 라우팅하기 때문에 이동 장비를 지원할 때 문제가 생긴다
- 장비의 IP 주소가 장비가 있는 네트워크와 결합해있기 때문에 이동 장비를 지원하는 것이 어렵다
- 장비가 네트워크를 이동했을 때 이제까지의 라우팅 방법으로는 이동 장비의 옛날 주소로 이동 장비에게데이터를 보내 전달 할 수 없다
- IP 주소 전체로 라우팅 한다던가, 매번 IP 주소를 바꾸는 것은 문제를 더 키울 뿐이다.
- 해결책: 모바일 IP
- 기존 장비 주소를 사용하는 중단 없는 장비 이동성 지원
- 이동 장비가 물리 네트워크를 바꾸거나 다른곳으로 가더라도 원래 IP를 계속 사용할 수 있다.
- 새로운 주소 지정 방식이나 라우팅 수정 불필요
- IP의 주소 지정 방식이나 라우팅을 그대로 유지한다
- 예전과 같은 방식으로 장비에게 IP 주소를 할당한다
- IP 주소 전체를 사용하는 라우팅 방식 등으로의 라우팅 방식 변경도 없다
- 상호 작용
- 모바일 IP 장비는 모바일 IP가 어떻게 동작하는지 모르는 기존 IP 장비와 통신할 수 있다
- 계층 투명성
- 모바일 IP에서 일어난 변경 사항은 네트워크 계층에만 국한된다
- 전송 계층 등의 상위 계층과 애플리케이션은 일반적인 IPv4를 사용한다
- 노드가 이동해도 사용 중이던 연결은 유지된다.
- 하드웨어 변경 최소화
- 이동 장비의 소프트웨어와 이동 장비가 사용할 라우터는 모바일 IP에 맞추어 바뀌어야 한다
- 홈(home)과 외부(foreign) 네트워크 사이에 놓인 라우터와 같은 그 이외의 장비들은 바뀔 필요가 없다
- 확장성
- 장비가 어떤 네트워크로 이동해도 모바일 IP로 지원할 수 있고 이동 장비가 많아져도 괜찮다
- 모바일 IP에서 허용하는 장비의 이동 반경은 매우 크기 때문에 런던에서 노트북을 사용하다가 호주나 브라질로 옮긴다 하더라도 여전히 잘 동작한다
- 보안
- 모바일 IP는 메시지를 리다이렉트(redirect)하며, 불법 노드가 문제를 일으키지 못하도록 인증 과정을 거치도록 한다
- 모바일 IP의 한계
- 모바일 IP는 1초에 1번 이상 네트워크를 바꾸지 않을 것이라는 가정하에 설계됨
- 고정 IP를 갖는 장비를 대상으로 함
- 장비는 자신의 홈 네트워크와 원래 IP 주소를 알아야 하기 때문에 DHCP 를 통해 IP를 동적으로 얻는 장비는 모바일 IP를 사용하기 힘들다
모바일 IP 개념과 일반적인 동작 방식
- 모바일 IP 장비 역할
- 이동장비
- 네트워크 간을 이동하는 장비
- 홈 에이전트(Home Agent)
- 홈 네트워크의 라우터로 이동 장비가 받아야 할 데이터그램을 대신 받아 이동 장비에게 전달한다. 그 이외에도 필요한 여러 기능을 구현해야 한다.
- 외부 에이전트(Foreign Agent)
- 이동 장비가 현재 사용하고 있는 네트워크 라우터이다.
- 이동 장비를 위해 새로운 홈 네트워크의 역할을 수행한다
- 기존 라우터와 거의 동일하지만 모바일 IP 기능을 가진다
- 동작 방식에 따라 홈 에이전트가 전달한 데이터그램을 받아서 이동 장비에게 전달하기도 한다
- 모바일 IP 동작을 위해 이동 정보를 공유할 수도 있다
- 어떤 모바일 IP 구현에서는 외부 에이전트가 필요 없지만 대부분의 경우 프로토콜에 필수적이다
- 모바일 IP는 TCP/IP에 편지 전달 시스템과 유사한 시스템을 만드는 방법으로 동작한다.
- 이동 장비의 홈 네트워크에 있는 라우터는 이동 장비의 홈 에이전트이고 이동 장비의 현재 네트워크에 있는 라우터는 외부 에이전트이다.
- 홈 에이전트는 이동 장비의 원래 IP 주소로 도착한 데이터그램을 이동 장비의 현재 위치로 전달한다.
- 이동 장비에게 직접 전달하거나 혹은 외부 에이전트로 전달하는 간접 방식을 택할 수 있다.
- 홈 에이전트와 외부 에이전트는 모바일 IP가 동작하기 위해 필요한 설치 과정과 다양한 통신 방식에 대한 책임을 진다.
- 모바일 IP 기능
- 모바일 IP는 설치과정에서 필요한 특별한 기능과 데이터그램 전달을 관리하는 기능을 정의하고 있다
- 에이전트 통신
- 이동 장비는 에이전트 발견 과정을 통해 로컬 네트워크의 에이전트를 발견한다
- 장비는 에이전트가 보내는 에이전트 광고 메시지를 듣고 자신이 어디에 있는지 알아낸다
- 만약 에이전트 광고를 못 들었다면 에이전트 요청 메시지를 전송한다.
- 네트워크 위치 결정
- 이동 장비는 에이전트 발견 메시지 내용을 기반으로 자신이 홈 네트워크에 있는지 외부 네트워크에 있는지 판단한다.
- 장비가 외부 네트워크에 있다고 가정하면 다음 과정으로 진행
- CoA(Care-of-Address) 획득
- 이동 장비는 CoA라고 부르는 임시 주소를 얻는다
- CoA는 에이전트 광고 메시지나 다른 방법을 통해 얻을 수 있다
- 이 주소는 목적지로 데이터그램을 전달할 때 이외에는 사용하지 않음
- 에이전트 등록
- 이동장비는 홈 에이전트에게 자신이 외부 네트워크에 있다고 알리고 홈 에이전트에 등록하여 자신에게 오는 데이터그램을 홈 에이전트가 전달해 달라고 요청
- 이 장비와 홈 에이전트가 등록 과정을 직접 처리할 수도 있고 외부 에이전트가 중개자로 개입할 수도 있음
- 데이터그램 전달
- 홈 에이전트는 이동 장비에게 온 데이터그램을 받아 실제 이동 장비의 위치로 전달
- CoA의 종류에 따라 노드에게 직접 전달할 수도 있고 외부 에이전트에게 전송을 부탁할 수도 있다.
모바일 IP 주소: 홈 주소와 CoA
- 모바일 IP 기능을 갖춘 노트북은 두 개의 주소를 가진다
- 홈 주소
- 이동 장비에게 할당된 정상적인 고정 IP 주소이다
- 홈 네트워크에서 장비가 사용하는 주소이고 데이터그램을 이동 장비에게 보낼 때 사용
- CoA(Care-Of Address)
- 임시 주소로 이동 장비가 홈 네트워크 외부로 움직였을 때 사용
- 일반적인 32비트 IP 주소와 동일하지만 모바일 IP에서만 사용하며 IP 데이터그램을 전달하거나 관리 기능을 실행할 때만 사용
- 더 높은 계층에서는 CoA를 사용하지 않고 일반 IP 장비도 데이터그램을 생성할 때 CoA를 사용하지 않음
- CoA는 홈 에이전트가 데이터그램을 전달하는 방법에 따라 두 가지 유형으로 나뉜다.
- 외부 에이전트 CoA
- 공존 CoA
- 모바일 IP에서 각 이동 장비는 외부 네트워크에서 사용할 임시 CoA를 사용한다.
- 공존 CoA는 이동 장비에 직접 할당된 주소이기 때문에 전달되는 데이터그램은 노드에게 직접 전송된다
- 이와 달리 외부 에이전트 CoA를 사용하면 이동 장비는 사실 외부 에이전트의 IP 주소를 사용하게 된다
- 따라서 데이터그램은 외부 에이전트에게 전달되며 외부 에이전트가 마지막으로 이동 장비에게 데이터그램을 전달한다.
- CoA 유형에 따른 장점과 단점
- 모바일 IP에서 공존 CoA는 유연하다는 장점이 있지만 각 장비가 외부 네트워크에서도 유일한 IP 주소를 가져야 하는 단점을 가진다
- 외부 에이전트 CoA는 외부 네트워크에 있는 많은 이동 장비가 각자 다른 IP 주소를 가질 필요가 없다는 장점이 있다
모바일 IP 에이전트 발견
- 에이전트 발견 과정
- 에이전트/노드 통신
- 현재 위치 발견
- CoA 할당
- 에이전트 광고와 에이전트 요청 메시지
- 에이전트 광고
- 모바일 IP 에이전트오 활동할 수 있는 라우터가 정기적으로 전송한다
- 이 메시지는 모바일 IP 관련 정보를 담은 하나 이상의 확장을 포함하는 일반적인 라우터 광고 메시지로 구성된다
- 에이전트 요청
- 모바일 IP 장비가 로컬 에이전트에게 에이전트 광고 메시지를 보내달라고 요청한다.
- 에이전트 요청 메시지 포맷
- 라우터 요청 메시지와 같다
- 에이전트 광고 메시지 포맷
- ICMP 라우터 광고 메시지로 시작
- 이동 에이전트 광고(Mobility Agent Advertisement) 확장
- 에이전트가 모바일 IP 기능을 갖추었다는 것을 알리는 기본 확장이다
- 접두사 길이(Prefix-Length) 확장
- 에이전트 광고 메시지의 앞 부분에 있는 라우터 주소(Router Address 필드)의 접두사 길이를 알리는 옵션 확장이다
- 접두사 길이란 주소 내 네트워크 ID의 비트 수이므로 이 확장은 라우터 주소의 네트워크 ID를 알린다
- 1바이트 패딩(One-Byte Padding) 확장
- ICMP 메시지 구현을 쉽게 하기 위해 메시지의 길이는 짝수여야 하므로 1 바이트 패딩이 필요하다. 이 필드는 모두 0으로 된 1바이트 이다.
모바일 IP 에이전트 발견은 이동 장비가 자신의 위치를 판단하고 홈이나 외부 에이전트와의 관계를 유지하기 위한 과정이다. 에이전트의 기능을 알리기 위해 에이전트 기능이 있는 라우터는 라우터 광고 메시지를 수정한 에이전트 광고 메시지를 정기적으로 전송한다. 광고를 전송해달라고 요청하기 위해 이동 장비가 라우터 요청 메시지와 동일한 에이전트 요청 메시지를 전송할 수 있다.
모바일 IP 이동 에이전트 광고 확장 포맷
모바일 IP 홈 에이전트 등록과 등록 메시지
- 홈 에이전트 등록(Home agent registration, 또는 등록(registration)
- 이동장비가 에이전트 발견을 끝내면 자신이 홈 네트워크에 있는지 외부 네트워크에 있는지 알 수 있다
- 외부 네트워크에 있다면 모바일 IP를 동작시켜야 한다
- 홈 에이전트와 통신을 하면서 필요한 정보와 지시를 주고받는다
- 이동 장비 등록 이벤트
- 등록 이동
- 장비가 외부 네트워크에 도착하면 등록을 시작한다
- 등록 해제
- 다시 홈 네트워크로 돌아오면 전달을 취소한다
- 재등록
- 외부 네트워크에서 다른 외부 네트워크로 이동하거나 CoA가 바뀌면 이동 장비는 홈 에이전트에게 알려 등록을 수정한다.
- 등록 요청과 등록 응답 메시지
- 등록하는 과정에서 메시지 두 가지가 새로 정의됐다
- 두 메시지는 ICMP 메시지가 아니며 UDP를 사용한다
- 등록은 다른 모바일 IP 통신과 달리 더 높은 계층에서 일어난다
- 에이전트는 잘 알려진 UDP 434 포트에서 등록 요청을 기다리고, 모바일 노드가 사용한 임시 포트로 응답을 돌려 보낸다
- 등록 과정 (CoA의 종류에 따라 두가지로 나뉨)
- 직접 등록 방식
- 이동 장비가 등록 요청을 홈 에이전트에게 보냄
- 홈 에이전트는 이동 장비에게 등록 응답을 보냄
- 외부 에이전트가 홈 에이전트와 이동장비 사이에서 메시지를 실어 나르는 좀 더 복잡한 과정
- 이동 장비가 등록 요청을 외부 에이전트에게 보냄
- 외부 에이전트가 등록 요청을 처리하여 홈 에이전트에게 보냄
- 홈 에이전트는 외부 에이전트에게 등록 응답을 보냄
- 외부 에이전트가 등록 응답을 받아 처리하고 이동 장비에게 전송
- 등록 요청 메시지 포맷
필드명 | 크기(바이트) | 설명 |
유형 | 1 | 등록 메시지 유형을 식별한다. 요청일 경우 1이다 |
플래그 | 1 | 이동 장비가 홈 에이전트에게 요청하는 것을 여러 가지 정보 플래그로 나타낸다. |
수명 | 2 | 이동 장비가 이번 등록에 대해 요청하는 등록 수명을 초 단위로 나타낸다 |
홈 주소 | 4 | 이동 장비가 홈 네트워크에서 사용했던 홈(정상) IP 주소. 요청이 홈 에이전트로 전달되는 방식에 관계없이 이동 장비를 유일하게 식별할 수 있도록 한다 |
홈 에이전트 | 4 | 이동 장비의 홈 에이전트로 동작할 장비의 IP 주소 |
CoA | 4 | 이동 장비의 홈 에이전트로 동작할 장비의 IP 주소 |
식별 | 8 | 등록 요청을 고유하게 식별하는 64비트 번호로 응답과 요청을 한 쌍으로 묶기 위해 사용한다. 재생 공격에 대응하기 위해서 필요하다 |
확장 | 가변 | 요청을 인증하기 위해 필요한 확장 필드 |
- 등록 응답 메시지 포맷
필드명 | 크기(바이트) | 설명 |
유형 | 1 | 등록 메시지 유형을 식별한다 |
코드 | 1 | 등록 요청에 대한 결과를 알린다. 0이라면 등록이 허용됐다는 것을, 1이라면 동시 바인딩을 요청했지만 지원하지 않는다는 것을 나타낸다. 등록을 거부하려면 거절의 이유를 알리기 위해 다양한 이유 코드를 사용한다. 홈 에이전트와 외부 에이전트 모두 요청을 거절할 수 있다 |
수명 | 2 | 등록을 허용했다면 등록이 만료되기 전까지의 수명을 초단위로 나타낸다. 이동 장비가 요청한 것과 다른 값일 수 있다. |
홈주소 | 4 | 이동 장비가 홈 네트워크에서 사용했던 홈(정상) IP 주소. 외부 에이전트가 다양한 이동 장비를 지원하고 있을 때라도 요청을 보낸 이동 장비를 식별할 수 있도록 한다. |
홈에이전트 | 4 | 이동 장비의 홈 에이전트로 동작할 장비의 IP 주소 |
식별 | 8 | 등록 요청을 고유하게 식별하는 64비트 번호로 요청의 식별 필드와 일치하는 값을 가진다 |
확장 | 가변 | 응답을 인증하기 위해 필요한 확장 필드. |
모바일 IP 데이터 캡슐화와 터널링
- 일반적인 모바일 IP 터널링
- 외부 에이전트 CoA
- 외부 에이전트에서 터널리 끝난다
- 캡슐화된 메시지를 홈 에이전트에서 받아 외부 IP 헤더를 벗겨내고 원래 데이터그램을 이동 장비에게 전달한다
- 외부 에이전트와 이동 장비는 같은 로컬 네트워크에 있고, 이동 장비는 그 네트워크에서 사용할 수 있는 IP 주소가 없기 때문에 외부 에이전트는 데이터 링크 계층을 통해 데이터를 이동 장비로 직접 전송한다
- 공존 CoA 주소
- 이동 장비에서 터널이 끝나고 이동 장비가 캡슐화 헤더를 벗겨낸다
- 모바일 IP 역터널링
- 역터널링이라는 홉션 기능은 네트워크가 외부 IP 주소를 사용하는 데이터그램을 인터넷으로 전달하지 않는 등의 특별한 경우에 사용된다
- 역터널링을 사용하면 이동 장비는 데이터그램을 직접 전송하지 않으며 모든 전송은 홈 에이전트와의 터널을 통해 이루어진다
모바일 IP와 TCP/IP 주소 결정 프로토콜
모바일 IP 효율
모바일 IP 보안 문제
피드 구독하기:
글 (Atom)