무선랜 네트워크

찜와와·2024년 1월 19일

ComputerNetworking

목록 보기
9/11

무선 링크인 상황에서 어떻게 MAC 프로토콜이 사용될까?
유선링크 상에서는 broadcast 상에서
무선링크 상에서는 공기라는 매체에서
충돌이 발생한다면 어떻게 해결해야 할까?

wireless와 mobile networks

비슷한 말처럼 보이지만 다른 의미이다.

  • wireless
    가시적으로 선이 없는 경우
    가장 기본적인 예시로는 wifi, 3G LTE 등의 cellular 네트워크가 있다.

  • mobile network (mobility)
    네트워크 관점에서 AP를 바꾸거나 네트워크를 직접 바꾸는 경우
    무언가 connectivity가 있는 상황에서 network의 이동이 있는 경우

무선 네트워크의 구성요소

laptop, ap(accespoint) base station 등
1) 학교 캠퍼스에서 laptop을 이용해서 구글에 접속한다.
2) 첫 hop까지는 무선 네트워크이다. 나머지 hop들은 모두 유선 네트워크이다.

결국 첫번째 hop를 어떻게 갈 것이냐가 관건이다.

무선네트워크의 전송반경과 그 속도로 분류해보자.

x축: 전송반경
y축: 데이터 속도

  • wifi: 전송거리가 짧은데 802.15

    • b -> a -> n (갈수록 최신순)
    • 데이터 속도는 좋아지지만 전송반경은 짧아지고 있다.
    • 주로 실내에서 사용된다.
  • cellular network: 전송거리가 긴 2G, 2.5G, 4G 등

    	- 전송속도가 좋아지고 있다.

무선 네트워크를 또다른 시점으로 분류해보자.

infrastructure가 있느냐 없느냐 (ap base)
single hop냐 multiple hop냐

single hop + infrastructure
약 90% 이상의 네트워크
wifi, base station이 있으면서 거기까지 single hop만 무선이고 나머지는 유선인 형태를 많이 뛴다.
wifi는 ap, cellular network는 base station이 이용된다.

xinfrastructure + multi hop
아프리카 사막에 군사작전이 시작한 경우 infrastructure가 없어서 그곳에서 새로 만들고 통신을 진행해야 한다.

무선 네트워크의 특징


x축 : sender로부터의 거리
y축 : 신호 세기

1) 거리에 따라 신호세기가 달라진다.
유선인 경우

  • 시그널이 케이블을 통해서 전달된다.
  • 외부의 noise가 차단된 채로 진행되고 시그널 매체자체도 안정적이다.

무선인 경우

  • 거리가 멀어짐에 따라 신호 세기가해진다.
  • 외부로부터 간섭이 심하다.
  • 문제점: hidden terminal problem


- (A와 B사이의 거리) = B와 C 사이의 거리 = 80 m 라고 하자
- A의 전송반경에서는 C가 들리지 않고 C의 전송반경에서는 A가 들리지 않는다.
- A가 전송하고 있는지 여부를 C가 알아야 방해를 하지 않을 것이기 때문에 중요하다. (만약 A가 전송하고 있는데 C가 모르고 전송하면 충돌이 발생할 것)

2) CD (collision detect)가 불가능하다.


A가 신호를 전송하고 있는데 A주변만 크게 느껴지고 좀 거리가 있는 B의 신호는 알기 어렵다.

IEEE 802.11 (=WIFI)

원래의 명칭은 IEEE인데 좀더 대중적인 이름을 만들기 위해 WIFI로 불리기 시작했다. 이때 WI-FI는 Wireless Fidelity의 약자이다. 즉, 무선링크의 특성에 가깝게 네트워크를 만들자는 취지로 WI-FI로 불리지만 점차 유선에 가까운 데이터 전송이 이뤄지고 있다.

버전이 높아지면서 data gate가 높아지고 있다. 내부적인 physical layer 기술의 개선으로 인해 data gate가 높아진 것으로 볼 수 있다.

802.11 LAN 구조


주변 application - AP - switch의 형식으로 연결된다.
AP는 유선 케이블이 꽂혀있고 끝에는 switch가 연결되고 마지막에 라우터가 연결되어있다.
AP는 Basic Service Set (BSS)로 불리기도 한다.

laptop을 주변 AP에 연결하려고 하는데 실제 환경에서는 다수의 AP가 존재할 것이다. 그러면 laptop이 최종적으로 BSS에 연결되는 방법을 알아보자.

BSS에 연결하기 1) passive/active scanning

  • Passive scanning

    1) 모든 AP들은 주기적(10번/sec)으로 자기자신의 정보를 broadcast 한다.
    beacon frame에 AP의 정보를 담는다. AP의 이름, AP의 MAC address, AP의 신호 세기 등을 보낸다.
    2) host들이 해당 정보를 바탕으로 판단한다.
    host는 beacon frame을 바탕으로 가장 믿을만하고 신호세기가 좋은 AP를 고르게 된다.
    host는 가만히 있고 AP가 beacon을 이용해서 끊임없이 정보전달을 하기때문에 passive scanning 이라고 한다.

  • Active scanning

    잘 사용하지 않는다.

다음은 WI-FI의 어떤 MAC protocol을 사용하는지 알아보자.

wifi의 MAC 프로토콜 2) CSMA/CA

1) 무선 네트워크에서는 CSMA/CD를 사용할 수 있는가?
아니요.
위의 그림과 같은 상황에서 A가 C의 신호를 감지하기 어렵기 때문에 C가 신호를 보내도 충돌을 감지하기 어렵다. 유선 네트워크는 link충돌이 안날때까지 신호를 보내지만 wifi와 같은 무선네트워크의 경우는 ACK를 보내야한다. 이는 TCP에서의 ent-to-end ACK가 아닌 link layer ACK가 필요하다.

wifi에서 사용하는 프로토콜은 CSMA/CA (collision avoidance)라고 하는데 어떻게 동작하는지 알아보자.

2) 동작은 어떻게 되는가?

(1) sender는 DIFS 시간동안 조용하면 데이터를 보낸다.
(2) sender는 DIFS동안 다른 신호가 보이면 조용해질때까지 기다린 후 random backoff 후에 데이터를 보낸다.
(3) receiver가 데이터를 받고 SIFS동안 기다린후 sender에게 ACK를 보낸다.

DIFS동안 조용하고 데이터를 보낸후 SIFS동안 기다리고 ACK를 받은 경우에만 제대로 데이터를 받았다고 판단한다. 만약 ACK를 받지 못한 경우에는 충돌이 났다고 생각한다.

3) CSMA/CD와의 차이점
(1) 충돌을 감지한 경우

  • CSMA/CD (유선)
    바로 데이터 전송하던 것을 멈춘다.
  • CSMA/CA (무선)
    멈춤의 개념이 없고 한번 전송하면 목적지에 도달할때까지 전송된다.

(2) 피해정도

  • CSMA/CD
    충돌이 발생되면 즉석에서 해당 데이터를 버리고 재전송한다.
  • CSMA/CA
    공유된 자원이 모두 버려지게 된다.
    문제점)
    충돌이 나면 보내던 데이터가 모두 사라지는데 계속 재전송하는 방식인 것이다

즉, 무선 네트워크에서는 충돌이 나지않게끔 더욱 조심해야한다.

그러나 CSMA/CA에서는 충돌을 피하려는 동작이 보이지 않는다. 그저 충돌이 안난 경우 ACK를 받는 동작의 프로토콜의 방식일 뿐이다. 이에 충돌을 피하기 위해 나타난 프로토콜 방식이 있다.

(3) CSMA/CA + RTS-CTS
RTS: ready to send
데이터를 보내기 전에 보낸다고 알림
CTS: clear to send
데이터를 보낸다고 허락함

(1) B가 먼저 RTS를 보낸다.
이때 RTS는 control frame에 담겨있고 얼만큼의 정보를 얼마나 보낼 것인지가 포함된다.

(2) A도 RTS를 보낸다.

(3) A와 B의 RTS가 AP에서 충돌이 발생하고 AP입장에서는 노이즈가 낀것처럼 들려 반응하지 않는다.
원래는 AP가 충돌없이 RTS를 감지하면 그에 허락하는 CTS를 보낸다.

(4) 충돌이 났으니 A와 B에서 모두 재전송을 하려하는데 먼저 A가 CTS를 보냈다.
충돌이 발생한 후 A와 B는 random backoff으로 정해진 시간동안 기다린후 데이터를 전송한다.

(5) AP는 충돌없이 A의 RTS를 먼저 받는다.
이때 중요한 건 무선네트워크 상에서 A와 AP 그리고 B 모두 broadcast 하여 data를 전송중이라는 점이다. RTS나 CTS에는 control frame 안에 원하는 시간만큼 어떤 정보가 담겨있기 때문에 각 지점들만 listen 하고 응답할 수 있다.

(6) AP는 그에 대응되는 CTS를 broadcast하게 보내어 B에게까지 전달된다.

(7) B는 CTS를 받은 후 다른 host가 데이터를 보내는 중인걸 인지하고 조용히 있는다.

(8) B가 조용한동안 A는 데이터를 안전하게 B에게 전송하고 B는 받았다는 의미로 ACK를 응답한다.

그런데 발생할 수 있는 문제상황들은 다음과 같다.

  • AP --(CTS<A>)--> B 와 B--(RTS<B>)-->AP 가 만나는 상황

CTS(A)와 RTS(B)가 충돌되면서 RTS가 무의미해진다.
결국 [B주변+AP] host들은 CTS와 RTS를 듣지 못한채 A가 채널을 예약했다는 사실을 모른다.
그러나 [A주변+AP] host들은 CTS와 RTS를 들었다.
채널을 예약한 A는 데이터를 전송한다.

  • A --(DATA<A>)--> B 와 B --(RTS<B>)-->AP 가 만나는 상황

RTS<B>와 DATA<A>가 충돌하게 되므로 모든 DATA<A>frame은 버려진다.
그리고 B는 데이터를 받지 못해 ACK를 전송하지 않는다.
A는 ACK가 오지 않는 것을 보고 처음부터 다시 시작한다.

그러나 이런식의 예기치못한 충돌의 반복으로 재전송을 하다보면 무한 재전송을 하게 된다.
이를 방지하기 위해 WIFI는 7번까지만 재전송을 할 수 있게끔 제한을 두었다.

  • 그럼 이전에 버려진 DATA<A>frame은 어떻게 되는것인가?
    이 data frame은 돌고 돌아 TCP로 올라가 다시 전송하게 된다.

wifi가 random protocol인 특성을 그대로 반영했다고 볼 수 있다.

wifi의 data frame

header 필드중 제일 중요한 header 필드는 총 4개의 address를 가진다.
각각의 크기는 위에 보이는 숫자만큼의 byte를 가지고 address가 6byte를 갖는 이유는 MAC address 이기 때문이다.
1. address1
무선 wifi 데이터 프레임을 받는 인터페이스의 MAC address
2. address2
무선 frame을 전송하는 인터페이스의 MAC address
3. address3
데이터 부분을 처리하게 될 router의 MAC address
4. address4
무시해도 된다.

H1이 wifi를 통해 packet을 보내려고 한다.

위의 상황을 보면 1) host H1 -> AP를 보낼때 와 2) AP -> router 로 보낼 때로 나눠볼 수 있다.
1) host H1 -> AP
데이터 프레임의 address가 총 3개가 필요하다.
무선 network 연결로 CSMA/CA로 통신한다.

2) AP -> router
host로 받은 주소를 이더넷용 frame address로 2개만 필요하다.
케이블을 이용한 연결로 CSMA/CD로 통신한다.
link-layer 디바이스로 MAC address가 없으므로 switch라고 볼 수 있다.
(라우터 입장에서는 앞에 h1이 있다)

AP의 1)왼쪽 과 2)오른쪽으로 나눠서 보면 둘이 완전히 다르다는 것을 알 수 있다.
근데 왜 address 필드 개수가 다른 것일까? 좀더 살펴보자.

1) H1 => AP
frame의
address1 : AP의 MAC addr
address2 : H1의 MAC addr
address3 : R1의 MAC addr

ip packet의
src: h1의 ip
dest: google 의 ip

2) AP => router
src: H1 MAC addr
스위치는 H1의 MAC addr알 수 없다.
dest: R1 MAD addr

3) router => Google
라우터는 ip packet을 가져와서 forwarding table과 매칭하며 데이터를 보내게 된다.

만약 1) H1 => AP로 보내는 frame에 (src: h1의 MAC addr, dest: AP의 MAC addr) 2개의 addr 만 있다고 해보자.
AP는 해당 frame을 받고 다음 목적지로 보내야 하는데 위의 packet에서의 최종 목적지는 ip packet 즉 data 부분에 담겨있으므로 알 방도가 없다. (AP의 경우 link layer device로 network layer 자체가 없어 ip와 관련된 부분을 처리할 수 없다.)
그렇다면 1) H1 => AP로 보내는 frame에 (src: H1의 MAC addr, dest: Router의 MAC addr) 가 있다고 해보자.
AP는 결국 목적지가 router로 가야하는데 주변에는 없으므로 frame은 대상이 없어 사라진다. 결국 H1은 ACK를 받지 못한다.

1) Google => router 에서의 ip packet
src: google
dest: H1

2) router => AP 에서의 ip packet을 이더넷 프레임으로 감싼 부분
src: router의 addr
dest: H1의 addr

3) AP => H1
addr1: H1의 MAC addr
addr2: AP의 MAC addr
addr3: router의 MAC addr

  • 2번째 field는 자기자신이므로 알기 쉬운데 1번째와 3번째 field는 어떻게 알까?

1번 field의 경우 AP가 주기적으로 beacon message를 broadcast하게 보내기 때문에 AP의 MAC addr를 알 수 있다.

  • 그렇다면 2번 filed인 router의 MAC addr는 어떻게 알까? 먼저 나 자신의 IP를 찾아야 한다.

호스트 자기자신의 MAC addr는 이미 알고 있고 DHCP 를 통해 자신의 IP를 알아야한다. 다음은 DHCP를 통해 알 수 있는 정보들이다.
1) 자신의 ip addr
2) subnet mask
3) gateway router ip
4) local name server ip

  • 위의 정보들을 어떻게 알게 됐을까? DHCP request 과정을 보면 된다.

(1) 먼저 request를 담은 frame을 보낸다. 자신의 ip주소를 알아야 하므로 frame에 담긴 주소는 다음과 같다.
1) address1: AP MAC addr
2) address2: H1 MAC addr
3) address: broadcast
위 frame의 data의 ip packet의 주소는 다음과 같다.
1) src: 모름 (알아야 하는 값)
2) dest: broadcast

(2) 포트번호가 67번인 DHCP만 위의 request를 받아 IP주소를 지정해 다른 정보들과 함께 다시 broadcast하게 된다. 따라서 이때 ip packet의 주소는 다음과 같다.
즉, DHCP -> AP로 보낼 때의 ip packet
1) src: DHCP ip
2) dest: broadcast

AP -> H1으로 보낼 때 frame
위 ip packet을 감싼 frame의 주소는 다음과 같다.
1) address1: broadcast
2) address2: AP MAC addr
3) address3: DHCP의 MAC addr (= gateway router)
이때 AP는 ARP table을 이용해서 ip와 MAC address를 알 것이다. 여기서 DHCP 갔다오면 이미 ARP table에 적혀있어 ARP request까지는 안해도 된다.

  • 위에서 DHCP request의 address1은 broadcast인데 H1은 어떻게 받는가?

IP Packet을 까보면 ip가 전체일 것이고 그 속 data즉 TCP에서는 DHCP client port가 적혀있으므로 그 포트번호를 이용하여 host에게 돌아간다.

  • 만약 IP를 받기위해 DHCP request를 한 다른 host도 있어 동일한 prot에서 기다리게 된다면 어떻게 할까?

이 경우는 처음에 DHCP request를 보낼때 transaction number을 적어서 applicaion layer에서 처리한다.

이곳에서 다루는 AP는 순수한 AP이다. 공공기관이나 학교 등에서는 순수한 AP를 다룬다. 그러나 가장 흔히 접하는 가정용 무선 공유기는 link layer만 있지 않고 AP + router + application layer까지 합쳐진 형태이다. 그리고 그 위에는 DHCP, local name server 등이 동작하고 있다.

wifi frame -자세히

frame의 헤더중
1) fram control: frame의 헤더로 2byte이고 여러가지 subfield를 가진다.
- type: 해당 frame이 어떤 타입인지를 명시한다. (RTS, CTS, ACK, data)
결국 wifi 네트워크 위의 4가지중 하나다. 그리고 최소한의 오버헤드를 가지기 위해 2bit를 사용한다.

2) duration은 rts, cts에 적는 값으로 내가 data를 얼만 송신할지 예약하는 시간이다.

지금까지
wifi에서 내 포트를 어떻게 채우는지 - ok
address를 어떻게 채우는지 - ok
wireless - ok
mobility - 이제부터 알아보겠다.

mobility

  • 유트브를 BBS1에서 보다가 BBS2로 이동하면 AP가 바뀐다. 이때 connection은 끊길까?

우선 client와 server 사이에 tcp connection이 연결되면 client와 server의 끝과 끝 web socket들이 연결된 유일한 connection이다.

  • 유일한 TCP connection을 어떻게 indexing 할까?

4 튜플: source IP | port # | dest IP | port # 를 이용하여 indexing 한다. 전세계의 TCP connection을 볼때 앞의 4튜플이 동일한게 하나도 없다. 이때 4개의 튜플이 모두 변하지 않는한 connection은 유지된다.

  • 내가 TCP connection을 연결한채 BBS1 에서 BBS2로 이동한다면 어떻게 될까?

이동하지 않고 정지해있을땐 4개의 튜플이 변하지 않으므로 상관없다. 그러나 AP가 변하면 내 ip와 port#가 바뀌는지 여부를 봐야한다. 그러면 TCP connection이 끊기는지 확인할 수 있다.

그림을 보면 동일 라우터아래에 있으므로 튜플의 구성원은 않는다. 동일한 connection인 것이다. 하지만 라우터에서 BBS1으로 가던 데이터는 BBS2로 가야한다.

  • BBS1에서 가던 데이터는 왜 BBS2로 바꿔야 하는가?

라우터가 host에게 줄 데이터를 받으면 forwarding table을 확인한다. 이때 라우터와 host는 동일 subnet 내에 있으므로 ARP table에서 H1의 MAC addr를 보고 frame의 헤더를 채운다. 이때 라우터의 frame은 다음과 같다.
src: router의 MAC addr
dest: (스위치는 보이지 않으므로) H1의 MAC addr
switch는 frame을 받은후 switch table을 참조하여 내려보낸다. switch table은 원래
[dest: H1, nextHop: BBS1]으로 기록되어 있으므로 이를 [dest: H1, nextHop: BBS2]로 바꿔줘야 한다.

  • 그러면 어떻게 switch table을 바꿀 수 있는가?

H1이 BBS2로 이동하면서 라우터에게 더미메시지를 보내면 switch table은 self-learning을 통해 table이 업데이트 된다.

  • 그러나 이웃한 AP로 이동하더라도 다른 subnet이면 src addr이 바뀌므로 connection이 끊겨야하는데 실제로는 걸어다니면서 LTE를 사용하면 끊기지 않는다. 이유가 무엇일까?

SKT 같은 통신사의 네트워크 범위가 엄청 넓어서 전국 어느곳에사 AP가 있고 연결되는 router가 같기 때문이다.

채널 성능

1) host와 AP의 거리는 가까울수록 성능이 높다.

2) 채널상태는 SNR이라는 지표를 사용한다.
SNR은 Signal to Noise Rate로 노이즈 대비 시그널이 얼마나 살아있는지를 나타내는 지표이다. 즉, SNR값은 높을수록 성능이 높음을 나타낸다.

3) 실제 데이터는 디지털 이진 데이터를 무선채널을 이용해서 보낸다.
이 무선채널은 wave 형태의 아날로그이다. 이 디지털 데이터를 wave 형태의 아날로그에 임베드시켜 보내는데 규칙이 필요할 것이다. 어떤 방식으로 데이터를 실을 것인지는 둘 사이의 약속이다. 어떠한 방식으로 데이터 방식을 심을 것인지 coding이 필요하다.

4) BER은 bit per error rate로 값이 작을수록 좋은 것이다.

5) 채널 상태에 따라 어떤 coding 방식을 사용하는지 달라진다.

  • 거리가 가까우면 SNR을 사용한다. (초록색)

    • high data rate가 가능한 전송방식을 사용한다.
    • 단점) 노이즈에 취약하여 조금만 거리가 생겨도 BER이 높아진다.
    • 따라서 데이터가 전부 가면 ACK를 받지만 error 가 섞이면 ACK를 보내지 않아 재전송을 반복하다보면 성능이 낮아진다.
  • 거리가 멀면 BER을 사용한다. (빨간색)

    	 - low data rate를 가진 전송방식을 사용한다.

power management

무선 통신을 할때 computation, packet 주고받을때의 전력 차이는 10배 이상이다.

따라서 packet 전달을 하면서 소모되는 전력을 channel A가 사용되는 동안 B는 잠이 든다.

Celluar

전체 coverage를 cell이라는 단위로 나누고 기지국을 한 ㅏ심어 cell에 속하는 host들을 담당하므로 Celluar이라고 한다.

첫 hop만 무선이고 나머지는 모두 유선망을 이루어진다.
Cell 안에서 host 와 기지국 간의 통신이 어떻게 이루어지는가?
channel partitioning 방식을 사용한다. 이는 2G의 random access방식과 다르다.
FDMA/TDMA를 사용하여 각 리소스에 user를 배정하여 충돌이 나지 않는다.
3G로 넘어오면서 CDMA를 사용하기 시작했다.

CDMA는 시간이나 주파수와 나누지 않고 사용자들에게 각기 다른 '마법의 코드'를 주고 수학적연산을 하면 자신에게 적합한 데이터는 증복되고 나머지는 노이즈 처리가 되어 들리지 않는 방식이다.

cellular network의 진화

2G, 3G, 4G 등의 세대는 데이터 속도로 나눈 것이다. LTE는 4G이전부터 개발됐고 (4G는 아니다)어떤 사람들은 3.5G라고 부른다. LTE가 진화된 버전이 4G (LTE-A)다.

3G 네트워크 구조

  • 피라미드 형태의 구조이다.

사용자 - 다수의 기지국 - 기지국을 관리하는 radio network controller (중간 계층의 노드) - MSG, SGSN

  • 스마트폰으로 인터넷을 한다는 것은 IP 주소가 배정됨을 의미한다.

이때 스마트폰의 ip주소는 GGSN이 제공하는데 이는 NAT, DHCP, DNS 등의 기능을 한다. Google 서버에 접속하면 google 서버가 바라보는 ip주소는 GGSN에서 사용되는 IP 주소이다.

coverage 전국을 보면 GGSN은 몇개가 되지 않는다. 그러나 이 구조에서 사용되는 protocol은 무수히 많이 존재한다.

Mobility 원리

모바일 IP는 mobility 원리를 그대로 구현한 것이지만 실제로 사용되지 않아 다루지 않을 것이다.

사용자가 network를 넘나드는 mobility가 있을때 TCP connection 이 안 끊기면 좋겠다는 목표를 가진다. 그러나 현대 인터넷에서는 구현이 되어있지 않았다.

  • mobility는 정도에 따라 그 단계가 달라진다.

1) no mobility

2) middle mobility
A장소에서 노트북을 하다가 B장소로 이동해서 노트북을 재개하면 TCP connection 이 유지될 필요가 있을까? 없다. 왜냐면 중간에 끊고 이동을 한 것이기 때문이다. 따라서 DHCP를 통해 새로운 네트워크를 받아 사용하면 된다.

3) high mobility
TCP connection을 유지하면서 다른 네트워크로 이동하는 상황이다.
그럼 고려해야하는 상황은 다음과 같다.

(1) 이동중인 대상과 어떻게 연결을 할 것인가?
=> 새로운 곳에 이동할때마다 위치를 '본진'에 지속적으로 알려준다.

(2) 연결을 맺은 후에 어떻게 연결을 유지할 것인가?
=> 이 부분에 대해서 자세히 다뤄보자.

high mobility에서 연결을 유지하는 방법

개념소개

  • permanent address: 각 mobile host가 갖는 고유 정보
  • home network: permanent address 가 속한 network가 본진이다.
  • home agent: home network에 속해있는 host들을 관장한다.

  • visited network: host가 이동해서 간 장소의 network
  • care-of-address: 새로운 네트워크에 이동했으니 새로 배정받은 주소
  • foreign agent: 각 home network마다 home agent가 있다. 이때 host 입장에서는 home agent가 아니므로 foreign agent라고 부른다.
  • correspodent: mobile host에 접속하고자 하는 것

registration

1) movile host가 visited network로 잠시 이동
2) care-of-address를 배정받고 foreign agent에게 알려준다.
3) foreign agent는 host의 home network에 이 host가 현재 장소를 알려준다.

permanent address로 보낸 packet을 home agent가 host가 다른 곳에 있음을 알리고 보내주는 것이다.

indirect routing

  • 외부 노드가 permanet address에 접근할때 home agent가 forwarding 해주는 것이다.
  • 장단점이 명확하다.

장점) correspondent 입장에서 permanent address만 보내면 되니 편하다.
단점) 오래걸리므로 delay가 발생한다.

  • 어떻게 mobile host를 찾을 것인가?에 대한 부분이다.

  • 그러면 이 connection을 어떻게 유지할 것인가?

새로운 네트워크로 이동하면 새로운 foreign agent가 있을 것이고 이 foreign agent가 home agent에게 알려주는 형태가 된다.

direct routing

  • correspondent가 mobile host에 접근하기 위해 permanent address를 이용해 packet을 보내는데 forwarding이 아닌 다리를 놔주는 것이다.

새로운 주소를 알려주고 새로운 주소를 받은 correspondent는 해당 주소와 통신한다.

  • 장점) 빠르다.

  • 단점) correspondent가 할일이 많아졌다.

  • 어떻게 유지할 것인가?

이동을 하면 새로운 네트워크의 foreign agent에게 연락을 해 forwarding 해달라고 부탁하는 것이다.

0개의 댓글