Mobile IP

2022. 12. 13. 14:43· Computer Science/네트워크
목차
  1. 1.  이동성 지원
  2. 2. Cellular network
  3. 3. Mobile IP
  4. 4. Mobile IP의 패킷 전달과정
  5. 5. Mobile IP의 패킷 전달과정 세부 문제/기술
  6. 6. 경로 최적화

1.  이동성 지원

- 네트워크가 지원하는 방법은 예전에 공부를 했는데 이번에는 고정 network에서 ip가 인터넷 내부에서 이동성을 지원하는 방법을 알아보자.

- ip는 네트워크주소와 호스트 주소로 구성되어있다. 네트워크 주소를 포함한다는 것은 즉 위치가 정해진다는 것이다. 즉 호스트가 이동하여 다른 네트워크에 접속하면 기존 네트워크 주소로는 패킷 전달이 불가능하다.

- 그럼 새 ip를 할당하는 건 어떤가? 이것은 이동성으로 취급하지 않는다.

- 모바일ip가 목적으로 하는 것은 송신자가 이동하고 있다는 사실을 알지 못하고 기존 통신 소프트웨어 및 라우터의 변경 없이 이동성을 지원하는 것이다.

2. Cellular network

- 모바일 ip의 구현이 언뜻 불가능해 보이지만 이미 비슷한 문제를 해결한 적이 있다.

- 기존의 전화번호를 유지하면서 이동성을 지원하는 휴대폰 이동통신이다.

- 휴대폰을 가입하면 home network가 하나 생기고 번호에 따라 위치를 나타내는 테이블이 하나 생긴다.

- 휴대폰이 이동하면서 어떤 기지국에 접속이 되면 VLR과 HLR 테이블들에 번호, 위치를 기록한다.

- 누군가로부터 전화가 오면 home으로 가서 HLR을 보고 내 번호의 위치를 찾는다.

- 스위치로 가서 VLR에서 내가 접속한 기지국 번호로 indirect하게 연결해준다.

- 이렇게 indirect로 이동성을 지원한다.

3. Mobile IP

- 10.0.0.9 주소를 사용하던 호스트가 12.0.0.6 네트워크로 이동한 상황이다.

- home address를 계속 쓰면서 통신을 이어가고 싶다.

- HLR역할을 home agent가 수행한다. 이동하는 호스트의 home network에 존재하면서 indirection을 담당한다.

- HA는 (home address, COA) 테이블을 관리한다.

- VLR처럼 바깥쪽에서 이동을 지원하는 녀석이 Foreign Agent이다.

- 물론 10.0.0.9를 유지하기는 하지만 새로운 네트워크에 붙어서 통신하기 위해서는 현재 위치를 대변할 주소가 필요하다. 즉 위치를 대변하는 주소이고 이를 COA라고 부른다. (대게 FA)

- 공식적으로 home address를 쓰지만 현재 위치를 대변할 주소가 필요하고 이게 COA이다.

- 즉 sending host에서 10.0.0.3으로 패킷을 보낸다. home agent에는 (10.0.0.9, 12.0.0.6)이 기록되어있다. 그럼 그 해당 패킷을 12.0.0.6으로 보낸다.

 

- 테이블이 구성되는 방법을 살펴보자. (COA가 등록되는 과정)

- 이동호스트가 홈에 있으면 HA(10.0.0.3)의 소리가 들리기 때문에 HA의 주소를 인식할 수 있다.

- 만약 HA의 신호가 안들리고 다른 애의 신호가 들리면 자기가 이동하고 있음을 알고 FA에게 HA주소(10.0.0.3)를 알려준다.

- 그러면 FA가 HA(10.0.0.3)에게 10.0.0.9가 자기한테 왔음을 알려줄 수 있게 된다.

- 그러면 HA는 (10.0.0.9, 12.0.0.6)을 관리하게 된다.

4. Mobile IP의 패킷 전달과정

- 이동 호스트가 패킷을 송신하는 경우는 쉽다. 송신자의 주소랑 별개로 목적지 주소만 알려주면 알아서 전달된다.

- 요즘은 보안문제 때문에 라우터가 송신자의 주소를 보고 차단할지 말지 결정한다.

- 따라서 최근에는 이동호스트의 송신도 indirect하게 처리하려는 시도들이 이루어지고 있다.

- 이동하는 호스트가 수신하는 경우를 살펴보자.

- 200.0.0.1이 패킷을 10.0.0.9에게 보낸다

-> 무조건 일단 10.0.0.3으로 전달된다.

-> HA는 이동호스트가 자기한테 있다면 아무일도 안하고 그냥 패킷 전달

-> 이동 호스트가 밖으로 나가서 (10.0.0.9, 12.0.0.6)가 ha테이블에 등록되었다면 ha가 indirection으로 보낸다. 그냥 목적지를 10.0.0.9로하면 다시 자기에게 되돌아오니까 터널링을 해서 보낸다. 즉 ip 패킷을 12.0.0.6목적지 주소로 encapsulation해서 보낸다.

-> FA가 이를 받아 decapsulation하고 10.0.0.9에게 전달(forward)한다.

5. Mobile IP의 패킷 전달과정 세부 문제/기술

- HA가 이동호스트로 가는 패킷을 자기가 먼저 가로채서 받아야 한다. 그래야 테이블을 보고 전달해줄 수 있다.

- 이때 사용되는 기술이 Proxy ARP이다.

- HA가 라우터면 상관이 없는데 라우터 밑에 노드라면 라우터가 ARP로 10.0.0.9에게 보내려고 시도할 것이다. 이 패킷을 HA가 가로채야 한다. 그래서 라우터가 10.0.0.9에게 보내려고 ARP로 MAC주소를 찾으려하면 HA가 자기의 맥주소를 대신 보낸다. 라우터 입장에서는 이동호스트의 움직임 여부와 관계없이 잘 전달한걸로 알고 있는다.

 

- HA는 그 패킷을 받아서 터널링으로 FA에게 보낸다.

- 터널링을 빠져나와 추가한 헤더를 떼어내면 목적지 주소는 10.0.0.9로 되어있을 것이다.

- FA가 이 패킷을 받아서 10.0.0.9에게 전달하려고하면 다시 10.0.0.네트워크로 패킷이 전달될 것이다.

- 따라서 터널을 빠져나오면 바로 Hardware주소로 전달되도록 하는 기술이 필요하다.

 

- 이렇게 이동성을 지원할 수 있지만 더 바람직한 방법이 있다.

- 이동호스트가 FA가 없는 네트워크로 이동할수도 있으니 아예 이동호스트 안에 FA를 넣어버리는 것이다.

- 이를 Collocated COA라고 한다.

- 대신 기존에 밖에 존재하던(이미 ip를 할당받은) FA를 사용하는 것이 아니기 때문에 자체 FA는 새롭게 ip를 할당받아야 한다.

- 터널링, HA, FA의 동작은 동일하게 적용된다.

- 보안 문제가 하나 있는데 이동호스트가 홈에 있는데 FA를 제 3자가 자처하여 패킷을 intercept할 수 있다.

6. 경로 최적화

- 위치 문제를 해결하기 위해 indirection을 활용했다. 

- 하지만 이동성 지원때문에 항상 거리에서 손해를 보게 되는데 (triangle routing problem)

- 이동 호스트가 송신자 근처로 간 상황이라면, 심지어 데이터를 많이 보낸다면 정말 손해이다.

- 이런 손해를 극복하기 위해 송신자에게 너가 직접 터널링을 하라고 알려주는 방법을 사용할 수 있다.

- COA(FA)로 송신자가 직접 터널링. 최적화는 할 수 있지만 이동호스트의 이동성이 투명하게 유지될 수 없다(이동 여부를 송신자가 알게됨)

 

Limitations of Mobile IPv4

HA와 FA가 모두 필요합니다.
– 홈 에이전트가 필요한 것 같습니다.
• 모바일 노드의 움직임을 추적하고 유지하는 서버가 최소 2개 필요합니다.
– 단, Foreign Agent는 제외 가능
• 모바일 IPv6에서는 외부 에이전트 구성 요소가 더 이상 존재하지 않습니다. 

• 모바일 IP 지원을 위해 홈 에이전트 구성 요소를 제거할 수도 있습니까?

'Computer Science > 네트워크' 카테고리의 다른 글

Routing (라우팅)  (0) 2022.12.13
SUBNET  (0) 2022.12.13
CIDR(사이더, Classless InterDomain Routing)  (0) 2022.12.13
IPv6 basic  (0) 2022.12.13
IP  (0) 2022.12.13
  1. 1.  이동성 지원
  2. 2. Cellular network
  3. 3. Mobile IP
  4. 4. Mobile IP의 패킷 전달과정
  5. 5. Mobile IP의 패킷 전달과정 세부 문제/기술
  6. 6. 경로 최적화
'Computer Science/네트워크' 카테고리의 다른 글
  • Routing (라우팅)
  • SUBNET
  • CIDR(사이더, Classless InterDomain Routing)
  • IPv6 basic
윤재에요
윤재에요
윤재에요
yunzae.log
윤재에요
전체
오늘
어제
  • 분류 전체보기 (435)
    • Computer Science (115)
      • 데이터베이스 (50)
      • 네트워크 (18)
      • 소프트웨어 공학 (1)
      • 알고리즘 (10)
      • 자료구조 (9)
      • 컴퓨터구조 (0)
      • 운영체제 (0)
      • 데이터 통신 (16)
      • 프로그래밍언어론 (11)
    • Project (20)
      • 후크(Flutter) (1)
      • BDSR로그북(App,BackEnd) (2)
      • 나만의 주점(STM32,Arduino,androi.. (9)
      • 공다(App,BackEnd) (2)
      • 카카오쇼핑 클론코딩 (4)
      • 암호화폐자동매매 (2)
    • Problem Solving (205)
      • 자바 문법 (20)
      • 파이썬 문법,함수 (6)
      • 그리디 (5)
      • 구현 (43)
      • DFS (3)
      • BFS (17)
      • 정렬 (15)
      • 이진 탐색 (16)
      • 다이나믹 프로그래밍 (6)
      • 최단 경로 (5)
      • 그래프 (1)
      • 자료구조 (5)
      • 투포인터 (15)
      • SQL (41)
      • 구간합 (7)
    • I leaned (78)
      • 스프링,스프링부트 (31)
      • Git (6)
      • JAVA (5)
      • Etc (30)
    • 취업 (15)
      • PT면접 (6)
      • 기술면접 (9)
      • 인성면접 (0)
    • log (0)

블로그 메뉴

  • 홈
  • 태그
  • 방명록
  • 글쓰기

공지사항

인기 글

태그

  • 기수정렬
  • DP
  • 교환정렬
  • 다익스트라
  • 제약 사항
  • weak entity
  • 부품찾기
  • 데이터베이스
  • UML
  • 최단거리
  • 플로이드 워셜
  • 파이썬
  • 먀
  • 계수정렬
  • E-R Model
  • 그리디
  • 이것이코딩테스트다
  • 효율적인화폐구성
  • 다이나믹프로그래밍
  • 다이나믹
  • Relationship model
  • 이것이 코딩테스트다.
  • 참조 무결성
  • 다이어그램
  • 카카오테크캠퍼스
  • 개미전사
  • 이것이 코딩테스트다
  • 재시도
  • 최단 거리
  • 힙큐

최근 댓글

최근 글

hELLO · Designed By 정상우.v4.2.2
윤재에요
Mobile IP
상단으로

티스토리툴바

단축키

내 블로그

내 블로그 - 관리자 홈 전환
Q
Q
새 글 쓰기
W
W

블로그 게시글

글 수정 (권한 있는 경우)
E
E
댓글 영역으로 이동
C
C

모든 영역

이 페이지의 URL 복사
S
S
맨 위로 이동
T
T
티스토리 홈 이동
H
H
단축키 안내
Shift + /
⇧ + /

* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.