이동 IP (Mobile IP)
노트북, 스마트폰과 같은 모바일 및 개인화된 컴퓨터가 급속히 보편화됨에 따라, 기존의 IP 프로토콜을 확장한, 즉 어디서나 인터넷을 활용할 수 있는 이동 IP 기술이 필요하게 되었다.
주소 지정
IP 프로토콜을 사용하여 이동 통신 서비스를 제공함에 있어 가장 중요한 문제는 주소 지정이다.
정지 호스트
1) 본래 IP 주소 지정은 호스트가 하나의 특정한 네트워크에 연결되어 정지되어 있다는 가정을 기반으로 한다.
2) 예를 들어 IP 주소 10.3.4.24/8은 10.0.0.0/8 네트워크에 연결된 호스트를 정의한다. 인터넷 내의 호스트는 한 장소에서 다른 장소로 이동하면서 같은 IP 주소를 가지고 갈 수 없다는 것이다.
3) IP 주소는 호스트가 특정 네트워크에 연결되어 있을 때만 유효하다. 라우터는 이러한 연관성을 사용하여 패킷의 경로를 지정한다.
이동 호스트
1) 호스트가 한 네트워크에서 다른 네트워크로 이동하면 IP 주소 지정의 구조도 변경되어야 한다.
주소 변경하기
1) 이동 호스트가 새로운 네트워크로 갈 때 자신의 주소도 변경하도록 하는 것이다.
2) 많은 문제점이 있어 현재 사용하지 않는다.
2개의 주소
1) 호스트가 홈 주소라는 원래의 주소와 의탁 주소라는 임시 주소를 갖는 것이다.
2) 홈 주소는 영구적으로 사용되며 홈이 되는 네트워크인 홈 네트워크에 호스트를 연관 시킨다.
3) 의탁 주소는 임시 주소로, 호스트가 한 네트워크에서 다른 네트워크로 이동하게 되면 의탁 주소는 변경되며, 이는 호스트가 이동하여 연결된 네트워크인 외지 네트워크와 연관된 주소이다.
4) 이동 호스트가 외지 네트워크로 이동하게 되면 에이전트 발견 및 등록 과정에서 의탁 주소를 받게 된다.
에이전트
1) 주소가 변경되는 것을 외부 인터넷에 알게 하기 위하여 홈 에이전트와 외지 에이전트가 필요하다.
2) 홈 에이전트와 외지 에이전트를 라우터로 설명했는데 에이전트로서의 이들의 기능은 응용층에서 수행한다.
3) 에이전트들은 라우터인 동시에 호스트이다.
홈 에이전트
1) 이동 호스트의 홈 네트워크에 연결된 라우터
2) 원격 호스트가 이동호스트에게 패킷을 보낼 때 홈 에이전트는 이동 호스트를 대신해서 동작한다.
3) 홈 에이전트는 패킷을 수신하여 이 패킷을 외지 에이전트로 보낸다.
외지 에이전트
1) 외지 네트워크에 연결된 라우터
2) 홈 에이전트로부터 받은 패킷을 이동 호스트에게 전달한다.
3) 이동 호스트는 외지 에이전트 역할도 가능하다.
4) 이동호스트가 외지 에이전트로서 작동할 때 의탁 주소는 동위치 의탁 주소라고 불린다.
5) 이동 호스트가 자신의 외지 에이전트 역할을 하기 위해서는 추가 소프트웨어가 필요하다.
세 단계
원격 호스트와 통신을 하기 위하여 이동 호스트는 3단계가 필요하다.
1) 에이전트 발견: 이동 호스트, 외지 에이전트, 홈 에이전트가 참여한다. 에이전트 광고와 에이전트 간청 메시지
2) 등록: 이동 호스트, 외지 에이전트, 홈 에이전트가 참여한다. 등록 요청과 등록 응답 메시지
3) 데이터 전송: 원격지 호스트가 참여한다.
에이전트 발견: 2개의 세부과정
1) 이동 호스트는 자신의 홈 네트워크를 떠나기 전에 홈 에이전트의 주소를 알아야한다.
2) 외지 네트워크에 들어간 후에는 외지 에이전트를 발견해야 한다.
: 외지 에이전트의 주소뿐만 아니라 의탁 주소를 아는 것을 포함
: 발견은 광고와 간청이라는 2개의 메시지를 포함
에이전트 광고
1) 라우터가 ICMP 라우터 광고 메시지를 사용하여 자신의 존재를 광고할 때, 만약 자신이 에이전트로서 동작하고 있다면 패킷에 에이전트 광고 메시지를 추가 할 수 있다.
2) 이동 IP는 에이전트 광고를 위하여 새로운 패킷 유형을 사용하지 않고, ICMP의 라우터 광고 패킷을 사용하여 에이전트 광고 메시지를 추가한다.
3) 유형(type) : 8비트, 16 고정값
4) 길이(length) : 8비트, 확장 메시지의 전체 길이를 정의(ICMP 광고 메시지의 길이가 아님)
5) 순서 번호(sequence number) : 16비트, 메시지 번호를 저장, 수신자는 이 번호를 사용하여 메시지가 손실되었는지 결정 가능
6) 수명(life time) : 에이전트가 요청받을 시간을 초단위로 나타냄. 이 값이 모두 1이면 수명은 무한대임
7) 코드(code) : 8비트, 각 비트는 1 또는 0의 값을 가짐.
8) 의탁 주소(care-of address) : 의탁 주소로써 사용이 가능한 주소의 목록을 포함. 이동 호스트는 이 주소 중의 하나를 선택. 의탁 주소의 선택은 등록 요청 단계에서 알려짐, 이 필드는 외지 에이전트만 사용
에이전트 간청
1) 이동 호스트가 새로운 네트워크로 이동했지만 에이전트 광고를 받지 못했다면 에이전트 간청을 시작할 수 있다.
2) ICMP 간청 메시지를 사용하여 에이전트에게 도움이 필요하다는 것을 알린다.
3) 이동 IP는 에이전트 간청을 위하여 새로운 패킷을 사용하지 않고 ICMP의 라우터 간청 패킷을 사용한다.
에이전트 등록
등록(registration)
외지 네트워크로 이동하여 외지 에이전트를 발견한 후 이동 호스트는 등록을 한다.
등록의 네가지 측면
1) 이동 호스트는 외지 호스트에 자신을 동록하여야 한다.
2) 이동 호스트는 홈 에이전트에 자신을 동록하여야 한다.
3) 등록 기한이 종료되면 이동 호스트를 다시 등록해야 한다.
4) 홈 네트워크로 돌아온 후 이동 호스트는 자신의 등록을 취소하여하 한다.
등록 요청과 응답
1) 외지 에이전트와 홈 에이전트에 등록하기 위하여 이동 호스트는 그림과 같이 등록 요청과 등록 응답을 사용한다.
등록 요청
1) 이동 호스트가 외지 에이전트에게 등록 요청을 보냄으로써 의탁 주소를 등록할 뿐만 아니라 자신의 홈 주소와 홈 에이전트 주소를 알린다.
2) 이 요청 메시지를 받아 요청을 등록한 후 외지 에이전트는 이 메시지를 홈 에이전트에게 중계한다.
3) 중계를 위하여 사용되는 IP 패킷은 외지 에이전트의 IP 주소를 근원지 주소로 가지고 있으므로 홈 에이전트는 외지 에이전트의 주소를 알게 된다.
각 필드의 내용
1) 유형(type) : 8비트, 메시지의 유형을 정의, 요청 메시지의 경우 ‘1’
2) 플래그(flag) : 8비트, 포워딩(forwarding) 정보 정의
3) 수명(lifetime) : 등록이 유효한 기간을 초단위로 표현
: 등록 취소(deregistration) 요청, All 1’s: 수명 무한대
4) 홈 주소(home address) : 이동 호스트의 영구적인(첫번째) 주소
5) 홈 에이전트 주소(home agent address) : 홈 에이전트의 주소
6) 의탁 주소(care-of address): 이동 호스트의 임시(두번째) 주소
7) 식별(identification) : 64비트, 이동 호스트가 요청 메시지에 삽입하고 응답 메시지에 그대로 복사
8) 확장(extension) : 가변 길이 필드, 인증을 위해 사용
등록 응답 형식
등록 응답 메시지는 홈 에이전트가 외지 에이전트에게 보내고 다시 이동 호스트에 중계된다.
응답 메시지는 등록 요청을 확인하거나 거부한다.
1) 등록 요청과 동일
2) 유형 필드값은 3
3) 코드 필드가 플래그 필드를 대치하여 등록 요청이 받아들여 졌는지 또는 거절되었는지 결과를 보여준다.
4) 의탁주소는 필요하지 않다.
캡슐화
1) 등록 메시지는 UDP 사용자 데이터그램에 캡슐화 된다.2) 에이전트는 잘 알려진 포트 번호 434를 사용하고 이동 호스트는 임시 포트 번호를 사용한다.3) 등록 요청과 응답은 잘 알려진 포트 번호 434를 사용하여 UDP에 의해 전달된다.
데이터 전달
에이전트 발견과 등록 단계 이후 이동 호스트는 원격지 호스트와 통신을 할 수 있다.
원격지 호스트에서 홈 에이전트까지
1) 원격지 호스트가 이동 호스트에 패킷을 보내려면 자신의 주소를 발신지 주소로 그리고 이동 호스트의 홈 주소를 목적지 주소로 하여 패킷 전송
2) 즉, 원격지 호스트는 마치 이동 호스트가 홈 네트워크에 있는 것 같이 패킷 전송
3) 그러나 이 패킷은 이동 호스트 처럼 동작하는 홈 에이전트가 가로 챔(경로1)
홈 에이전트에서 외지 에이전트까지
1) 패킷을 수신한 후에 홈 에이전트는 이 패킷을 외지 에이전트에 전송
2) 홈 에이전트는 자신의 주소를 발신지 주소로 하고 외지 에이전트의 주소를 목적지 주소로 사용하는 IP 패킷 네이 이 패킷을 캡슐화함(경로2)
외지 에이전트에서 이동 호스트까지
1) 외지 에이전트가 패킷을 수신하면 원래의 패킷을 추출함
2) 그러나 목적지 주소가 이동 호스트의 홈 주소이므로 외지 호스트는 등록 테이블을 참조하여 이동 호스트의 의탁 주소를 찾음(그렇지 않으면 패킷은 홈 네트워크로 되돌려 보내짐)
3) 패킷은 의탁 주소로 전송됨(경로3)
이동 호스트에서 원격지 호스트까지
1) 이동 호스트가 패킷을 원격지 호스트에 보내고자 할 때(예를 들어 수신한 패킷에 대한 응답) 정상적인 방법과 같이 전송함
2) 이동 호스트는 자신의 홈 주소를 발신지 주소로 그리고 원격지 호스트 주소를 목적지로 하여 패킷을 준비
3) 패킷은 외지 네트워크에서 전송되지만 이동 호스트의 홈 주소를 발신지 주소로 갖음(경로4)
더블 크로싱
1) 원격지 호스트가 자신과 같은 네트워크로 이동한 이동 호스트와 통신할 때 발생
2) 이동 호스트가 원격지 호스트에 패킷을 보낼 때에는 문제가 없고 통신은 완전히 지역적으로 수행.
3) 원격지 호스트가 이동 호스트에 패킷을 보내면 패킷은 인터넷을 두 번 지나가게 됨
4) 컴퓨터가 같은 지역 내의 다른 컴퓨터와 통신하는 것이 더 자주 발생하므로 더블 크로싱의 비효율성은 심각하게 됨
삼각형 라우팅
1) 이동 호스트가 원격지 호스트와 같은 네트워크에 연결되어 있지 않은 경우 발생
2) 이동 호스트가 원격지 호스트에 패킷을 보낼 때는 비효율성이 전혀 없다. 그러나 원격지 호스트가 이동 호스트에 패킷을 보낼 때는 패킷이 원격지 호스트에서 홈 에이전트로 가고 다음 이동 호스트로 감
3) 패킷은 그림과 같이 삼각형의 한 변 대신에 두 변을 지나가게 됨
이동 IP의 비효율성에 대한 해결책
1) 원격지 호스트가 의탁 주소를 이동 호스트의 홈 주소에 바인딩 하는 것
2) 예를 들어 홈 에이전트가 이동 호스트로 가능 첫 패킷을 받았을 때 이 패킷을 외지 에이전트로 보낼 뿐 아니라 원격지 호스트로 갱신 바인딩 패킷(update binding packet)을 보내어 이후 이동 호스트로 가능 패킷은 의탁 주소로 직접 갈 수 있도록 할 수 있음
3) 원격지 호스트는 이 정보를 캐시에 저장할 수 있음
4) 문제점 : 이동 호스트가 이동하면 캐시 정보가 무효화 됨
5) 이 경우 홈 에이전트는 원격지 호스트에 경고 패킷(warning packet)을 보내어 이동 호스트가 이동했다는 것을 알려야 함
모든 내용은 '데이터 통신과 네트워킹 6판' 책을 공부하여 작성 하였습니다.
'데이터 통신' 카테고리의 다른 글
데이터 통신과 네트워킹 Chapter7 IPv6 프로토콜 (0) | 2022.05.27 |
---|---|
데이터 통신과 네트워킹 Chapter7 IPv6 주소 (0) | 2022.05.26 |
데이터 통신과 네트워킹 Chapter7 ICMPv4 (0) | 2022.05.22 |
데이터 통신과 네트워킹 Chapter7 요약3 (0) | 2022.05.15 |
데이터 통신과 네트워킹 Chapter7 요약2 (0) | 2022.05.14 |