(제 1 실시예)
도 1은 제 1 실시예에 관련되는 이동 통신 시스템의 구성을 도시하는 도면이다. 도 1에 있어서, MH는 이동 호스트(Mobile Host), HA는 홈 에이전트(Home Agent), AR은 액세스 라우터(Access Router), CH는 통신 상대 호스트(Correspondent Host)를 도시하고 있다.
이동 통신 시스템(1)은 도 1에 도시되는 바와 같이, 이동 호스트(3), 홈 에이전트(5), 복수의 액세스 라우터(7, 9), 통신 상대 호스트(11), IP 네트워크(13)를 포함하고 있다.
이동 호스트(3)는 링크에서 링크로 이동하면서 통신 상대 호스트(11)와 통신하는 노드이다. 액세스 라우터(7, 9)는 이동 호스트(3)가 접속 가능한 외부 링크(무선 링크)를 제공하는 라우터이다. 홈 에이전트(5)는 IP 모빌리티 제어 방식 Mobile IPv6(Internet Protocol version 6)을 사용하여, 이동 호스트(3)앞으로의 패킷을 이동 호스트(3)가 소재하는 링크(액세스 라우터가 제공하는 외부 링크 등)에 전송할 수 있는 라우터이다. 통신 상대 호스트(11)는 이동 호스트(3)와 통신하는 노드이다.
또한, 노드란 IPv6에 대응한 패킷을 송수신하는 장치이고, 링크란 노드가 송신한 패킷을 유선 전송 방식이나 무선 전송 방식에 의해 다른 노드에 전송하는 통신로이다. 링크에는 홈 링크와 외부 링크가 포함된다. 홈 링크는 이동 호스트(3)가 소속하고 있는 링크이고, 외부 링크는 홈 링크 이외의 링크이다. 이동 호스트(3)는 홈 링크로부터 홈 어드레스가 할당되고, 외부 링크로부터 케어 오브 어드레스가 할당된다.
도 2는 이동 호스트(3)의 구성을 도시하는 도면이다. 이동 호스트(3)는 어플리케이션(31a)을 포함하는 어플리케이션층(31), TCP(Transmission Control Protocol) 및 UDP(User Datagram Protocol; 33a)(이하, TCP/UDP라 호칭한다) 및 버퍼 스페이스(33b)를 포함하는 트랜스포트층(33), IP(Internet Protocol; 35a)를 포함하는 IP층(35), 링크(37a) 및 인터페이스(37b)를 포함하는 링크층(37)을 구비한다.
이동 호스트(3)에 있어서는, 어플리케이션(31a)이 다른 호스트로 송신하는 데이터는 TCP/UDP(33a), IP(35a), 링크(37a)를 지나 인터페이스(37b)로부터 송신된다. 또한, 반대로 다른 호스트로부터 송신된 데이터는 인터페이스(37b), 링크(37a), IP(35a), TCP/UDP(33a)를 지나 어플리케이션(31a)에 도달한다.
버퍼 스페이스(33b)는 핸드 오프 기간 중에 패킷을 버퍼링하기 위한 것이다. TCP/UDP(33a)는 패킷을 버퍼 스페이스(33b)에 버퍼링한다. 패킷을 버퍼링하는 기간은 접속점 전환을 위해 이동 호스트(3)의 링크층(37)이 어느 외부 링크에도 접속하고 있지 않은 링크층(37) 순간 단절 시간 개시부터, 상기 링크층(37) 순간 단절 시간 종료 후에 새롭게 접속된 외부 링크를 제공하는 액세스 라우터를 디폴트 라우터로 변경하기까지의 기간이다. 여기서, TCP/UDP(33a)는 링크층(37) 순간 단절 시간의 개시를 인터페이스(37b)로부터의 신호에 의해 검지하고, 디폴트 라우터 변경을 IP(35a)로부터의 신호에 의해 검지한다.
인터페이스(37b)는 접속점을 액세스 라우터(7)에서 액세스 라우터(9)로 바꿀 때에, TCP/UDP(33a)에 버퍼 명령을 낸다. 이로써, TCP/UDP(33a)는 링크층(37) 순간 단절 시간의 개시를 검지하게 된다. 버퍼 명령을 받은 TCP/UDP(33a)는 버퍼 스페이스(33b)를 이용하여 원래는 IP(35a)에 전달해야 하는 패킷의 버퍼링을 개시한다.
IP(35a)는 액세스 라우터(9)로부터 수신하는 라우터 통지(RouterAdvertisement)에 의해, 디폴트 라우터를 변경한 시점에서 TCP/UDP(33a)에 버퍼 해제 명령을 낸다. 이로써, TCP/UDP(33a)는 디폴트 라우터 변경을 검지하게 된다. 버퍼 해제 명령을 받은 TCP/UDP(33a)는 버퍼링을 해제하여, 버퍼 스페이스(33b)에 버퍼링된 패킷을 IP(35a)로 전달한다. IP(35a)에 전달된 패킷은 상술한 바와 같이, 링크(37a)를 지나 인터페이스(37b)로부터 새롭게 접속된 외부 링크를 제공하는(디폴트 라우터로서 설정된) 액세스 라우터(9)에 송신된다.
도 3은 통신 상대 호스트(11)와 통신을 행하고 있는 이동 호스트(3)가 액세스 라우터(7)에서 액세스 라우터(9)로 핸드 오프하는 경우의 시퀀스 차트이다. 실선 화살표는 Mobile IPv6을 사용한 IP층 레벨에서의 핸드 오프를 실행하기 위한 제어 패킷을 도시하며, 점선 화살표는 이동 호스트(3)가 통신 상대 호스트(11)로 송신하는 데이터 패킷을 도시한다. 도 3에 있어서의 상태 I 내지 상태 IV는 도 8에서 설명한 상태 I 내지 상태 IV에 대응하는 것이다.
상태 I에 있어서는, 이동 호스트(3)의 링크층(37)은 액세스 라우터(7)와 접속하고 있고, 디폴트 라우터는 액세스 라우터(7)에 설정되어 있기 때문에, 데이터 패킷(P1 및 P2)은 액세스 라우터(7)에 도달하여, 통신 상대 호스트(11)에 라우팅된다. 계속하여, 상태 II 및 상태 III에 있어서는, 데이터 패킷(P3 내지 P8)은 송신되지 않고 버퍼링된다.
이동 호스트(3)가 액세스 라우터(9)의 라우터 통지를 수신하여, 디폴트 라우터를 액세스 라우터(7)에서 액세스 라우터(9)로 변경하면, 상태 IV로 천이하여, 버퍼링한 데이터 패킷(P3 내지 P8)을 송신한다. 이동 호스트(3)의 링크층(37)은 액세스 라우터(9)와 접속하고 있고, 디폴트 라우터는 액세스 라우터(9)에 설정되어 있기 때문에, 데이터 패킷(P3 내지 P8)은 액세스 라우터(9)에 도달하여, 통신 상대 호스트(11)에 라우팅된다. 또한, 데이터 패킷(P9 및 P10)도 액세스 라우터(9)에 도달하여, 통신 상대 호스트(11)에 라우팅된다.
또한, 이동 호스트(3)는 외부 링크에서 사용하는 신 케어 오브 어드레스를 취득하면, 바인딩 업데이트(Binding Update) 옵션을 포함하는 패킷을 홈 에이전트(5)에 송신한다. 홈 에이전트(5)는 바인딩 업데이트(Binding Update) 패킷을 수신하면 바인딩(binding)(이동 호스트(3)의 홈 어드레스와 케어 오브 어드레스와의 대응)을 기억하여, 확인 응답으로서 바인딩 확인 응답(Binding Acknowledgement) 옵션을 포함하는 패킷을 이동 호스트(3)에 송신한다.
본 제 1 실시예에 있어서는, 간략화를 위해 이동 호스트(3)는 라우터 요청(Router Solicitation)을 송신하지 않는다고 하고 있다. 물론, 라우터 요청을 송신하는 이동 호스트(3)에도 적용 가능하지만, 라우터 요청을 버퍼링하지 않도록 할 필요가 있다. 또한, 본 제 1 실시예와 같이, 트랜스포트층(33)에서 버퍼링하고 있으면, 라우터 요청이 버퍼링되는 일은 없다.
한편, IP층(35)에서 버퍼링하는 것도 가능하지만, 이 경우에는, IP층(35)이 패킷의 IP 헤더 이하를 해석함으로써 버퍼링 대상 패킷이 라우터 요청인지의 여부를 판정하여, 라우터 요청인 경우는 이것을 버퍼링 대상에서 제외할 필요가 있다. 패킷의 IP 헤더 이하의 해석이란 구체적으로는 이하의 동작을 도시한다. IP층(35)은 각 패킷에 대해서, 확장 헤더를 포함하는 각 IP 헤더 중의 다음 헤더 필드에 격납된 프로토콜 번호를 체크하고 있으며, 프로토콜 번호가 58(icmp)을 보이는 경우, 상기 IP 헤더에 후속하는 icmp의 타이프를 도시하는 필드를 체크한다. 타이프 번호가 133(라우터 요청)인 경우, 상기 패킷이 라우터 요청이라고 판정한다.
또한, 본 제 1 실시예에 있어서, 패킷을 버퍼링하는 기간은 접속점 전환을 위해 이동 호스트(3)의 링크층(37)이 어느 외부 링크에도 접속하고 있지 않은 링크층(37) 순간 단절 시간의 개시부터, 상기 링크층(37) 순간 단절 시간 종료 후에 새롭게 접속된 외부 링크를 제공하는 액세스 라우터를 디폴트 라우터로 변경하기까지의 기간으로 하고 있지만, 이에 한정되는 것은 아니다. 예를 들면, 무선 링크의 상태 등을 고려하여 패킷을 버퍼링하는 기간을 상기 기간 이상으로 길게 설정하여도 된다.
이상과 같이, 본 제 1 실시예에 있어서는, 핸드 오프 기간 중에서, 이동 호스트(3)로부터 어느 액세스 라우터(7, 9)에도 패킷을 도달시킬 수 없는 동안은 이동 호스트(3)는 핸드 오프 기간 중에 송신되어야 하는 패킷을 버퍼링해 두고, 핸드 오프처의 액세스 라우터(9)에 패킷이 도달할 수 있도록 되고나서, 버퍼링하고 있던 패킷을 송신한다. 이로써, 이동 호스트(3)가 핸드 오프 중에 송신하도록 한 패킷은 모두 핸드 오프처의 액세스 라우터(9) 경유로 통신 상대 호스트(11)에 라우팅되게 되어, 핸드 오프 기간 중에 패킷 로스가 생기는 것을 막을 수 있다.
또한, 본 제 1 실시예에 있어서는, 이동 호스트(3)가 패킷을 버퍼링하는 기간은 접속점 전환을 위해 이동 호스트(3)의 링크층(37)이 어느 외부 링크에도 접속하고 있지 않은 링크층(37) 순간 단절 시간 개시부터, 상기 링크층(37) 순간 단절시간 종료 후에 새롭게 접속된 외부 링크를 제공하는 액세스 라우터(9)를 디폴트 라우터로 변경하기까지의 기간으로 되어 있다. 이로써, 패킷을 버퍼링하는 기간이 극히 적절하게 설정되게 되어, 패킷 로스를 확실하게 막을 수 있다.
또한, 본 제 1 실시예에서는, TCP/UDP(33a)에 있어서, 링크층(37) 순간 단절 시간의 개시를 외부 링크에 접속하는 인터페이스(37b)로부터의 신호에 의해 검지하고, 디폴트 라우터 변경을 이동 호스트(3)의 IP층(35)으로부터의 신호에 의해 검지하고 있다. 이로써, 패킷을 버퍼링하는 기간을 적절하고 또한 간단하게 검지할 수 있다.
또한, 라우터 요청을 송신하는 이동 호스트(3)에 있어서는, 모든 패킷을 버퍼링하면 이하와 같은 문제가 생긴다. 일반적으로, 이동 호스트(3)는 디폴트 라우터를 재빠르게 알기 때문에, 라우터 통지를 되도록이면 일찌기 수신하는 것이 바람직하다. 그래서 이동 호스트(3)는 링크 접속점 변경 완료 직후, 링크 내 모든 라우터앞으로의 멀티캐스트를 사용하여, 액세스 라우터에 라우터 요청을 송신할 수 있다. 그런데, 모든 패킷을 버퍼링하면, 라우터 요청이 액세스 라우터(9)에 도달하지 않아, 결과적으로 이동 호스트(3)의 라우터 통지 수신이 늦어버린다. 이 때문에, 라우터 요청을 버퍼링하지 않음으로써, 이동 호스트(3)가 송신하는 라우터 요청은 액세스 라우터(9)에 도달하게 되어, 이동 호스트(3)는 재빠르게 라우터 통지를 수신할 수 있다.
(제 2 실시예)
도 4는 제 2 실시예에 관련되는 이동 통신 시스템의 구성을 도시하는 도면이다. 도 4에 있어서, SH는 고정 호스트(Stationary Host), MR은 이동 라우터(Mobile Router), HA는 홈 에이전트(Home Agent), AR은 액세스 라우터(Access Router), CH는 통신 상대 호스트(Correspondent Host)를 도시하고 있다.
이동 통신 시스템(51)은 도 4에 도시되는 바와 같이, 이동 라우터(53), 고정 호스트(55), 홈 에이전트(5), 복수의 액세스 라우터(7, 9), 통신 상대 호스트(11), IP 네트워크(13)를 포함하고 있다.
이동 라우터(53)는 고정 호스트(55)를 포함하는 이동 네트워크(57)를 따라 링크에서 링크로 이동하여, 이동 네트워크(57)의 게이트웨이 라우터로서 기능한다. 이동 라우터(53)는 홈 링크 상에서 홈 어드레스를 사용하여, 외부 링크 상에서는 홈 어드레스 및 각 링크의 링크 프리픽스를 갖는 케어 오브 어드레스를 사용한다. 고정 호스트(55)는 이동 라우터(53)와의 접속 관계가 변하지 않는 노드이다. 또한, 이동 네트워크(57)는 라우터나 이동 호스트도 포함하고 있어도 된다. 홈 에이전트(5)는 이동 라우터(53)에 홈 링크를 제공하고, 액세스 라우터는 이동 라우터(53)에 외부 링크를 제공한다.
이동 라우터(53)는 홈 에이전트(5)에 자기 노드의 홈 어드레스 및 이동 네트워크(57) 내에 존재하는 네트워크 프리픽스와, 접속 링크로 취득하는 케어 오브 어드레스의 바인딩(binding)을 통지하여, 홈 에이전트(5)는 이 바인딩(binding)을 보존한다. 홈 에이전트(5)는 이동 라우터(53)의 홈 어드레스앞 또는 이동 네트워크(57) 내의 네트워크 프리픽스에 속하는 어드레스앞으로 패킷을 수신하였을때, 바인딩(binding)되어 있는 케어 오브 어드레스앞으로의 IP 패킷을 작성하여, 페이로드부에 상기 패킷을 격납하여, 이동 라우터(53)로 전송한다. 전송 패킷을 수신한 이동 라우터(53)는 페이로드부로부터 원래의 패킷을 추출, 이것이 이동 네트워크(57) 내에 존재하는 호스트앞이면, 이동 네트워크(57) 내로 라우팅한다.
도 5는 이동 라우터의 구성을 도시하는 도면이다. IP(71a) 및 버퍼 스페이스(71b)를 포함하는 IP층(71), 제 1 링크(73a), 제 2 링크(73b), 이동 네트워크 측 인터페이스(73c) 및 고정 네트워크 측 인터페이스(73d)를 포함하는 링크층(73)을 구비한다.
이동 네트워크 측 인터페이스(73c) 또는 고정 네트워크 측 인터페이스(73d)로부터 수신된 패킷은 각각 제 1 링크(73a), 제 2 링크(73b)를 지나 IP(71a)에 도달한다. IP(71a)는 라우팅 테이블을 참조하여, 패킷을 고정 네트워크 측(디폴트 라우터)에 송신할지, 이동 네트워크(57) 측(고정 호스트(55))에 송신할지를 판정하고, 판정 결과에 따라서 패킷을 제 2 링크(73b) 또는 제 1 링크(73a)로 전달한다.
버퍼 스페이스(71b)는 핸드 오프 기간 중에 패킷을 버퍼링하기 위한 것이다. IP(71a)는 패킷을 버퍼 스페이스(71b)에 버퍼링한다. 패킷을 버퍼링하는 기간은 접속점 전환을 위해 이동 라우터(53)의 링크층(73)의 제 2 링크(73b) 및 고정 네트워크 측 인터페이스(73d)가 어느 외부 링크에도 접속하고 있지 않은 링크층(제 2 링크(73b) 및 고정 네트워크 측 인터페이스(73d)) 순간 단절 시간 개시부터, 상기 링크층(제 2 링크(73b) 및 고정 네트워크 측 인터페이스(73d)) 순간 단절 시간 종료 후에 새롭게 접속된 외부 링크를 제공하는 액세스 라우터(9)를 디폴트 라우터로변경하기까지의 기간이다. 여기서, IP(71a)는 링크층(제 2 링크(73b) 및 고정 네트워크 측 인터페이스(73d)) 순간 단절 시간의 개시를 고정 네트워크 측 인터페이스(73d)로부터의 신호에 의해 검지하고, 디폴트 라우터 변경을 스스로 검지한다.
고정 네트워크 측 인터페이스(73d)는 접속점을 액세스 라우터(7)에서 액세스 라우터(9)로 바꿀 때에, IP(71a)에 버퍼 명령을 낸다. 이로써, IP(71a)는 링크층(제 2 링크(73b) 및 고정 네트워크 측 인터페이스(73d)) 순간 단절 시간의 개시를 검지하게 된다. 버퍼 명령을 받은 IP(71a)는 버퍼 스페이스(71b)를 이용하여, 본래는 제 2 링크(73b)에 전달하여야 하는 패킷의 버퍼링을 개시한다.
IP(71a)는 액세스 라우터(9)로부터 수신하는 라우터 통지에 의해 디폴트 라우터를 변경한 시점에서, 스스로 디폴트 라우터 변경을 검지하여 버퍼링을 해제한다. 그리고, IP(71a)는 버퍼 스페이스(71b)에 버퍼링된 패킷을 제 2 링크(73b)로 전달한다. 제 2 링크(73b)에 전달된 패킷은 상술한 바와 같이, 고정 네트워크 측 인터페이스(73d)로부터 새롭게 접속된 외부 링크를 제공하는(디폴트 라우터로서 설정된) 액세스 라우터(9)에 송신된다.
도 6은 통신 상대 호스트(11)와 통신을 하고 있는 이동 라우터(53)가 액세스 라우터(7)에서 액세스 라우터(9)로 핸드 오프하는 경우의 시퀀스 차트이다. 실선 화살표는 핸드 오프를 실행하기 위한 제어 패킷을 도시하며, 점선 화살표는 이동 라우터(53)가 통신 상대 호스트(11)로 송신하는 데이터 패킷을 도시한다. 도 6에 있어서의 상태 I 내지 상태 IV는 도 9에서 설명한 상태 I 내지 상태 IV에 대응하는 것이다.
상태 I에 있어서는, 이동 라우터(53)의 링크층(73)(제 2 링크(73b) 및 고정 네트워크 측 인터페이스(73d))는 액세스 라우터(7)와 접속하고 있고, 디폴트 라우터는 액세스 라우터(7)에 설정되어 있기 때문에, 데이터 패킷(P1 및 P2)은 액세스 라우터(7)에 도달하여, 통신 상대 호스트(11)에 라우팅된다. 계속하여, 상태 II 및 상태 III에 있어서는, 데이터 패킷(P3 내지 P8)은 송신되지 않고 버퍼링된다.
이동 라우터(53)가 액세스 라우터(9)의 라우터 통지를 수신하여, 디폴트 라우터를 액세스 라우터(7)에서 액세스 라우터(9)로 변경하면, 상태 IV로 천이하여, 버퍼링한 데이터 패킷(P3 내지 P8)을 송신한다. 이동 라우터(53)의 링크층(73)(제 2 링크(73b) 및 고정 네트워크 측 인터페이스(73d))는 액세스 라우터(9)와 접속하고 있고, 디폴트 라우터는 액세스 라우터(9)에 설정되어 있기 때문에, 데이터 패킷(P3 내지 P8)은 액세스 라우터(9)에 도달하여, 통신 상대 호스트(11)에 라우팅된다. 또한, 데이터 패킷(P9 및 P10)도 액세스 라우터(9)에 도달하여, 통신 상대 호스트(11)에 라우팅된다.
또한, 이동 라우터(53)는 외부 링크에서 사용하는 신케어 오브 어드레스를 취득하면, 바인딩 업데이트(Binding Update) 옵션을 포함하는 패킷을 홈 에이전트(5)에 송신한다. 홈 에이전트(5)는 바인딩 업데이트(Binding Update) 패킷을 수신하면 바인딩(binding)(이동 라우터(53)의 홈 어드레스와 케어 오브 어드레스와의 대응)을 기억하여, 확인 응답으로서 바인딩 확인 응답(Binding Acknowledgement) 옵션을 포함하는 패킷을 이동 라우터(53)에 송신한다.
본 제 2 실시예에 있어서는, 간략화를 위해, 이동 라우터(53)는 라우터 요청을 송신하지 않는다고 하고 있다. 물론, 라우터 요청을 송신하는 이동 라우터(53)에도 적용 가능하지만, 라우터 요청을 버퍼링하지 않도록 할 필요가 있다. IP층(71)에서 버퍼링할 경우에는, IP층(71)이 패킷의 IP 헤더 이하를 해석함으로써 버퍼링 대상 패킷이 라우터 요청인지의 여부를 판정하여, 라우터 요청인 경우는 이것을 버퍼링 대상에서 제외하는 것이 필요하다. 패킷의 IP 헤더 이하의 해석이란, 구체적으로는 이하의 동작을 도시한다. IP층(71)은 각 패킷에 대해서, 확장 헤더를 포함하는 각 IP 헤더 중의 다음 헤더 필드에 격납된 프로토콜 번호를 체크하고 있으며, 프로토콜 번호가 58(icmp)을 보이는 경우, 상기 IP 헤더에 후속하는 icmp의 타이프를 도시하는 필드를 체크한다. 타이프 번호가 133(라우터 요청)인 경우, 상기 패킷이 라우터 요청이라고 판정한다.
또한, 본 제 2 실시예에 있어서, 패킷을 버퍼링하는 기간은 접속점 전환을 위해 이동 라우터(53)의 링크층(73)의 제 2 링크(73b) 및 고정 네트워크 측 인터페이스(73d)가 어느 외부 링크에도 접속하고 있지 않은 링크층(제 2 링크(73b) 및 고정 네트워크 측 인터페이스(73d)) 순간 단절 시간 개시부터, 상기 링크층(제 2 링크(73b) 및 고정 네트워크 측 인터페이스(73d)) 순간 단절 시간 종료 후에 새롭게 접속된 외부 링크를 제공하는 액세스 라우터(9)를 디폴트 라우터로 변경하기까지의 기간으로 하고 있지만, 이에 한정되는 것은 아니다. 예를 들면, 무선 링크의 상태 등을 고려하여 패킷을 버퍼링하는 기간을 상기 기간 이상으로 길게 설정하여도 된다.
이상과 같이, 본 제 2 실시예에 있어서는, 핸드 오프 기간 중에서, 이동 라우터(53)로부터 어느 액세스 라우터(7, 9)에도 패킷을 도달시킬 수 없는 동안은 이동 라우터(53)는 핸드 오프 기간 중에 송신되어야 하는 패킷을 버퍼링해 두고, 핸드 오프처의 액세스 라우터(9)에 패킷이 도달할 수 있도록 되고나서, 버퍼링하고 있던 패킷을 송신한다. 이로써, 이동 라우터(53)가 핸드 오프 중에 고정 네트워크 측으로 라우팅하고자 한 패킷은 모두 핸드 오프처의 액세스 라우터(9) 경유로 통신 상대 호스트(11)에 라우팅되게 되어, 핸드 오프 기간 중에 패킷 로스가 생기는 것을 막을 수 있다.
또한, 본 제 2 실시예에 있어서는, 이동 라우터(53)가 패킷을 버퍼링하는 기간은 접속점 전환을 위해 이동 라우터(53)의 링크층(73)의 제 2 링크(73b) 및 고정 네트워크 측 인터페이스(73d)가 어느 외부 링크에도 접속하고 있지 않은 링크층(제 2 링크(73b) 및 고정 네트워크 측 인터페이스(73d)) 순간 단절 시간 개시부터, 상기 링크층(제 2 링크(73b) 및 고정 네트워크 측 인터페이스(73d)) 순간 단절 시간 종료 후에 새롭게 접속된 외부 링크를 제공하는 액세스 라우터(9)를 디폴트 라우터로 변경하기까지의 기간으로 되어 있다. 이로써, 패킷을 버퍼링하는 기간이 극히 적절하게 설정되게 되어, 패킷 로스를 확실하게 막을 수 있다.
또한, 본 제 2 실시예에서는, IP(71a)에 있어서, 링크층(제 2 링크(73b) 및 고정 네트워크 측 인터페이스(73d)) 순간 단절 시간의 개시를 외부 링크에 접속하는 고정 네트워크 측 인터페이스(73d)로부터의 신호에 의해 검지하고, 디폴트 라우터의 변경을 스스로 검지하고 있다. 이로써, 패킷을 버퍼링하는 기간을 적절하고 또한 간단하게 검지할 수 있다.
또한, 라우터 요청을 송신하는 이동 라우터(53)에 있어서는, 이동 라우터(53)가 라우터 요청을 버퍼링하지 않는 것이 바람직하다. 이로써, 이동 라우터(53)가 송신하는 라우터 요청은 액세스 라우터(9)에 도달하게 되어, 이동 라우터(53)는 재빠르게 라우터 통지를 수신할 수 있다.
(제 3 실시예)
도 7은 제 3 실시예에 관련되는 이동 통신 시스템의 구성을 도시하는 도면이다. 도 7에 있어서, MH는 이동 호스트(Mobile Host), HA는 홈 에이전트(Home Agent), AR은 액세스 라우터(Access Router), CH는 통신 상대 호스트(Correspondent Host)를 도시하고 있다.
이동 통신 시스템(301)은 도 7에 도시되는 바와 같이, 이동 호스트(303), 홈 에이전트(305), 복수의 액세스 라우터(307, 309), 통신 상대 호스트(311), IP 네트워크(313)를 포함하고 있다.
이동 호스트(303)는 링크에서 링크로 이동하면서 통신 상대 호스트(11)와 통신하는 노드이다. 액세스 라우터(307, 309)는 이동 호스트(303)가 접속 가능한 외부 링크를 제공하는 라우터이다. 홈 에이전트(305)는 IP 모빌리티 제어 방식 Mobile IPv6(Internet Protocol version 6)을 사용하여, 이동 호스트(303)앞으로의 패킷을 이동 호스트(303)가 소재하는 링크(액세스 라우터가 제공하는 외부 링크 등)에 전송할 수 있는 라우터이다. 통신 상대 호스트(311)는 이동 호스트(303)와 통신하는 노드이다.
또한, 노드란 IPv6에 대응한 패킷을 송수신(라우팅을 포함한다)하는 장치이고, 링크란 노드가 송신한 패킷을 유선 전송 방식이나 무선 전송 방식에 의해 다른 노드에 전송하는 통신로이다. 링크에는 홈 링크와 외부 링크가 포함된다. 홈 링크는 이동 호스트(303)가 소속하고 있는 링크이고, 외부 링크는 홈 링크 이외의 링크이다. 이동 호스트(303)는 홈 링크로부터 홈 어드레스가 할당되고, 외부 링크로부터 케어 오브 어드레스가 할당된다.
이동 호스트(303)는 홈 링크 상에서 홈 어드레스를 사용하여, 외부 링크 상에서는 홈 어드레스 및 각 외부 링크의 링크 프리픽스를 갖는 케어 오브 어드레스를 사용한다. 이동 호스트(303)는 홈 에이전트(305)에 「자기 노드의 홈 어드레스」와, 「접속 링크로 취득하는 케어 오브 어드레스」의 바인딩(binding)을 통지하여, 홈 에이전트(305)는 이 바인딩(binding)을 보존한다. 홈 에이전트(305)는 이동 호스트(303)의 홈 어드레스앞으로 패킷을 수신한 때, 바인딩(binding)되어 있는 케어 오브 어드레스앞으로의 IP 패킷을 작성하여, 페이로드부에 상기 패킷을 격납하여, 이동 호스트(303)로 전송한다. 이 전송 패킷을 수신한 이동 호스트(303)는 페이로드부로부터 원래의 패킷을 추출한다. 내부의 패킷은 이동 호스트(303)앞이기 때문에 이것을 수신할 수 있다.
도 8은 이동 호스트(303)의 구성을 도시하는 도면이다. 이동 호스트(303)는 어플리케이션(331a)을 포함하는 어플리케이션층(331), TCP(Transmission Control Protocol) 및 UDP(User Datagram Protocol; 333a)(이하, TCP/UDP라 호칭한다) 및 송달 확인 신호 버퍼 스페이스(333b)를 포함하는 트랜스포트층(333), IP(Internet Protocol; 335a)를 포함하는 IP층(335), 링크(337a) 및 인터페이스(337b)를 포함하는 링크층(337)을 구비한다.
이동 호스트(303)에 있어서는, 어플리케이션(331a)이 생성하는 데이터는 TCP/UDP(333a), IP(335a), 링크(337a)를 지나 인터페이스(337b)로부터 송신된다. 또한, 인터페이스(337b)로부터 수신된 패킷은 링크(337a) IP(335a), TCP/UDP(333a)를 지나 어플리케이션(331a)에 도달한다.
송달 확인 신호 버퍼 스페이스(333b)는 핸드 오프 기간 중에 송달 확인 신호를 버퍼링하기 위한 것이다. TCP/UDP(333a)는 송달 확인 신호를 송달 확인 신호 버퍼 스페이스(333b)에 버퍼링한다. 송달 확인 신호를 버퍼링하는 기간은 접속점 전환을 위해 이동 호스트(303)의 링크층(337)이 어느 외부 링크에도 접속하고 있지 않은 링크층(337) 순간 단절 시간 개시의 소정 시간(Tn) 전부터, 상기 링크층(337) 순간 단절 시간 종료 후에 새롭게 접속된 외부 링크를 제공하는 액세스 라우터를 디폴트 라우터로 변경하기까지의 기간이다. 여기서, TCP/UDP(333a)는 링크층(337) 순간 단절 시간 개시의 소정 시간(Tn) 전을 인터페이스(337b)로부터의 신호에 의해 검지하고, 디폴트 라우터 변경을 IP(335a)로부터의 신호에 의해 검지한다. 여기서, 소정 시간(Tn)의 범위는 0 이상이다. 여기서, 소정 시간(Tn)은 버퍼링 개시 전, 마지막에 송신한 송달 확인 신호가 통신 상대 호스트에 도착함으로써 통신 상대 호스트가 새롭게 송신하는 TCP 데이터 세그먼트를 현재 접속중인 액세스 라우터 경유로 수신할 수 있는 것을 고려하여, 이동 호스트와 통신 상대 호스트 사이의 왕복 전송 시간(Round Trip Time) 이상으로 설정하는 것이 바람직하다.
인터페이스(337b)는 접속점을 액세스 라우터(307)에서 액세스 라우터(309)로바꿀 때에, TCP/UDP(333a)에 버퍼 명령을 낸다. 이로써, TCP/UDP(333a)는 링크층(337) 순간 단절 시간 개시의 소정 시간(Tn) 전을 검지하게 된다. 버퍼 명령을 받은 TCP/UDP(333a)는 송달 확인 신호 버퍼 스페이스(333b)를 이용하여, 본래는 IP(335a)에 전달해야 하는 송달 확인 신호의 버퍼링을 개시한다.
IP(335a)는 액세스 라우터(309)로부터 수신하는 라우터 통지(Router Advertisement)에 의해, 디폴트 라우터를 변경한 시점에서 TCP/UDP(333a)에 버퍼 해제 명령을 낸다. 이로써, TCP/UDP(333a)는 디폴트 라우터 변경을 검지하게 된다. 버퍼 해제 명령을 받은 TCP/UDP(333a)는 버퍼링을 해제하여, 송달 확인 신호 버퍼 스페이스(333b)에 버퍼링된 송달 확인 신호를 IP(335a)로 전달한다. IP(335a)에 전달된 송달 확인 신호는 상술한 바와 같이, 링크(337a)를 지나 인터페이스(337b)로부터 새롭게 접속된 외부 링크를 제공하는(디폴트 라우터로서 설정된) 액세스 라우터(309)에 송신된다.
도 9는 이동 호스트(303)가 통신 상대 호스트(311)로부터 TCP를 사용한 데이터 전송을 받고 있을 때에, 액세스 라우터(307)에서 액세스 라우터(309)로 핸드 오프하는 경우의 시퀀스 차트이다. 점선 화살표는 통신 상대 호스트(311)가 이동 호스트(303)로 송신하는 TCP 데이터 세그먼트 및 이동 호스트(303)가 통신 상대 호스트(311)로 송신하는 송달 확인 신호를 도시한다. 도 9에 있어서의 상태 I 내지 상태 IV 및 상태 A, B는 도 20에서 설명된 상태 I 내지 상태 IV 및 상태 A, B에 대응하는 것이다.
상태 I에서 상태 II로 천이하는 소정 시간(Tn) 전에 이동 호스트(303)는 송신해야 하는 송달 확인 신호를 버퍼링하고 있다. 그리고, 이동 호스트(303)가 액세스 라우터(309)의 라우터 통지를 수신하여, 디폴트 라우터를 액세스 라우터(307)에서 액세스 라우터(309)로 변경함과 동시에 신케어 오브 어드레스를 취득하면, 상태 IV로 천이하여, 이동 호스트(303)는 버퍼링하고 있던 송달 확인 신호를 송신한다.
또한, 이동 호스트(303)는 외부 링크에서 사용하는 신케어 오브 어드레스를 취득하면, 바인딩 업데이트(Binding Update) 옵션을 포함하는 패킷을 홈 에이전트(305)에 송신한다. 홈 에이전트(305)는 바인딩 업데이트(Binding Update) 패킷을 수신하면 바인딩(binding)(이동 호스트(303)의 홈 어드레스와 케어 오브 어드레스와의 대응)을 기억하여, 확인 응답으로서 바인딩 확인 응답(Binding Acknowledgement) 옵션을 포함하는 패킷을 이동 호스트(303)에 송신한다.
이상과 같이, 본 제 3 실시예에 있어서는, 이동 호스트(303)는 액세스 라우터(307, 309) 사이의 핸드 오프 시에, 상기 핸드 오프의 기간에 송신하여야 하는 송달 확인 신호를 버퍼링해 두고, 핸드 오프가 완료하고나서 버퍼링해 둔 송달 확인 신호를 송신한다. 이렇게 함으로써, 통신 상대 호스트(311)는 핸드 오프 시에 이동 호스트(303)로부터의 송달 확인 신호를 수신할 수 없게 된다. 그리고, 통신 상대 호스트(311)는 다음 TCP 데이터 세그먼트의 송신을 대기한다. 통신 상대 호스트(311)가 TCP 데이터 세그먼트를 송신하지 않으면 당연히 송달 확인 신호의 핸드 오프 시에 패킷 로스가 되는 TCP 데이터 세그먼트도 없다. 이동 호스트(303)가 핸드 오프를 완료한 후에, 이동 호스트(303)는 버퍼링하고 있던 송달 확인 신호를다시 송신함으로써, 통신 상대 호스트(311)는 이들 송달 확인 신호를 수신한다. 그리고, 통신 상대 호스트(311)는 다음 TCP 데이터 세그먼트 송신을 재개한다. 송달 확인 신호를 버퍼링하고 있던 시간분만큼 통신 상대 호스트(311)에 의한 데이터 전송은 멈춰버리지만, 상기 시간은 핸드 오프에 걸리는 시간(100ms 정도 이하)이다. 한편, TCP 데이터 세그먼트의 연속 로스의 영향에 의한 통신 상대 호스트(311)의 데이터 전송 정지 시간은 TCP의 재전송 타이머(Retransmit Timer)가 만료하는 시간(1초 이상)이다. 따라서, 송달 확인 신호의 버퍼링에 의한 TCP 스루풋 저하는 TCP 데이터 세그먼트의 연속 로스의 영향에 의한 TCP 스루풋 저하보다 작아진다. 이로써, 이동 호스트(303)의 핸드 오프 시에 생기는 TCP 스루풋의 현저한 저하를 막을 수 있다.
또한, 본 제 3 실시예에 있어서는, 이동 호스트(303)가 송달 확인 신호를 버퍼링하는 기간은 접속점 전환을 위해 이동 호스트(303)의 링크층(337)이 어느 외부 링크에도 접속하고 있지 않은 링크층(337) 순간 단절 시간의 개시의 소정 시간(Tn) 전부터, 상기 링크층(337) 순간 단절 시간 종료 후에 새롭게 접속된 외부 링크를 제공하는 액세스 라우터(309)를 디폴트 라우터로 변경하기까지의 기간으로 되어 있다. 이로써, 송달 확인 신호를 버퍼링하는 기간이 극히 적절하게 설정되게 되어, 필요 이상으로 송달 확인 신호를 버퍼링하지 않아, TCP 스루풋의 현저한 저하를 보다 한층 더 막을 수 있다.
또한, 본 제 3 실시예에서는, 트랜스포트층(333)(TCP/UDP(333a))에 있어서, 링크층(337) 순간 단절 시간 개시의 소정 시간(Tn) 전을 외부 링크에 접속하는 인터페이스(337b)로부터의 신호에 의해 검지하고, 디폴트 라우터 변경을 이동 호스트(303)의 IP층(335)으로부터의 신호에 의해 검지하고 있다. 이로써, 송달 확인 신호를 버퍼링하는 기간을 적절하고 또한 간단하게 검지할 수 있다.
또한, 송달 확인 신호를 버퍼링할 때에는, 송달 확인 신호의 버퍼링을 TCP 커넥션마다 행하여, TCP 커넥션마다에 있어서, 새롭게 버퍼링되는 송달 확인 신호가 이미 버퍼링되어 있는 송달 확인 신호보다도 큰 시퀀스 번호의 TCP 데이터 세그먼트에 대한 것일 경우는, 이미 버퍼링되어 있는 송달 확인 신호를 새롭게 버퍼링되는 송달 확인 신호로 치환하는 것으로 하여도 된다. 송달 확인 신호는 수신 측 호스트가 지금까지 수신한 TCP 타이터 세그먼트의 최대 시퀀스 넘버를 송신 측 호스트에 알리는 것이기 때문에, 2개의 송달 확인 신호가 다른 시퀀스 넘버를 도시하는 경우, 큰 쪽의 시퀀스 넘버를 알리기 위한 송달 확인 신호는 작은 쪽의 시퀀스 넘버까지의 TCP 데이터 세그먼트 수신 확인을 겸한다. 즉, 후속하는 송달 확인 신호가 현재 버퍼링되어 있는 송달 확인 신호보다 큰 시퀀스 넘버를 알리는 것일 경우는, 이것을 치환함으로써, 송달 확인 신호 버퍼 스페이스(333b) 절약이 가능해진다.
(제 4 실시예)
제 4 실시예의 이동 통신 시스템의 구성은 도 7에 도시된 제 3 실시예의 이동 통신 시스템(301)과 같아, 그 설명을 생략한다.
도 10은 제 4 실시예의 이동 통신 시스템에 사용되는 이동 호스트(303)의 구성을 도시하는 도면이다. 이동 호스트(303)는 어플리케이션(331a)을 포함하는 어플리케이션층(331), TCP/UDP(333a) 및 TCP 데이터 세그먼트 버퍼 스페이스(333c)를 포함하는 트랜스포트층(333), IP(335a)를 포함하는 IP층(335), 링크(337a) 및 인터페이스(337b)를 포함하는 링크층(337)을 구비한다.
TCP 데이터 세그먼트 버퍼 스페이스(333c)는 핸드 오프 기간 중에 TCP 데이터 세그먼트를 버퍼링하기 위한 것이다. TCP/UDP(333a)는 TCP 데이터 세그먼트를 TCP 데이터 세그먼트 버퍼 스페이스(333c)에 버퍼링한다. TCP 데이터 세그먼트를 버퍼링하는 기간은 접속점 전환을 위해 이동 호스트(303)의 링크층(337)이 어느 외부 링크에도 접속하고 있지 않은 링크층(337) 순간 단절 시간 개시의 소정 시간(Tn) 전부터, 상기 링크층(337) 순간 단절 시간 종료 후에 새롭게 접속된 외부 링크를 제공하는 액세스 라우터를 디폴트 라우터로 변경하기까지의 기간이다. 여기서, TCP/UDP(333a)는 링크층(337) 순간 단절 시간 개시의 소정 시간(Tn) 전을 인터페이스(337b)로부터의 신호에 의해 검지하고, 디폴트 라우터 변경을 IP(335a)로부터의 신호에 의해 검지한다. 여기서, 소정 시간(Tn)의 범위는 0 이상이다. 여기서, 소정 시간(Tn)은 버퍼링 개시 전, 마지막에 송신한 TCP 데이터 세그먼트가 통신 상대 호스트에 도착함으로써 통신 상대 호스트가 새롭게 송신하는 송달 확인 신호를 현재 접속중인 액세스 라우터 경유로 수신할 수 있는 것을 고려하여, 이동 호스트와 통신 상대 호스트 사이의 왕복 전송 시간(Round Trip Time) 이상으로 설정하는 것이 바람직하다.
인터페이스(337b)는 접속점을 액세스 라우터(307)에서 액세스 라우터(309)로 바꿀 때에, TCP/UDP(333a)에 버퍼 명령을 낸다. 이로써, TCP/UDP(333a)는링크층(337) 순간 단절 시간 개시의 소정 시간(Tn) 전을 검지하게 된다. 버퍼 명령을 수신한 TCP/UDP(333a)는 TCP 데이터 세그먼트 버퍼 스페이스(333c)를 이용하여 본래는 IP(335a)에 전달해야 하는 TCP 데이터 세그먼트의 버퍼링을 개시한다.
IP(335a)는 액세스 라우터(309)로부터 수신하는 라우터 통지에 의해, 디폴트 라우터를 변경한 시점에서 TCP/UDP(333a)에 버퍼 해제 명령을 낸다. 이로써, TCP/UDP(333a)는 디폴트 라우터 변경을 검지하게 된다. 버퍼 해제 명령을 받은 TCP/UDP(333a)는 버퍼링을 해제하여, TCP 데이터 세그먼트 버퍼 스페이스(333c)에 버퍼링된 TCP 데이터 세그먼트를 IP(335a)로 전달한다. IP(335a)에 전달된 TCP 데이터 세그먼트는 상술한 바와 같이, 링크(337a)를 지나 인터페이스(337b)로부터 새롭게 접속된 외부 링크를 제공하는(디폴트 라우터로서 설정된) 액세스 라우터(309)에 송신된다.
도 11은 이동 호스트(303)가 통신 상대 호스트(311)로 TCP를 사용한 데이터 전송을 하고 있을 때에, 액세스 라우터(307)에서 액세스 라우터(309)로 핸드 오프하는 경우의 시퀀스 차트이다. 점선 화살표는 이동 호스트(303)가 통신 상대 호스트(311)로 송신하는 TCP 데이터 세그먼트 및 통신 상대 호스트(311)가 이동 호스트(303)로 송신하는 송달 확인 신호를 도시한다. 도 11에 있어서의 상태 I 내지 상태 IV 및 상태 A, B는 도 20에서 설명된 상태 I 내지 상태 IV 및 상태 A, B에 대응하는 것이다.
상태 I에서 상태 II로 천이하는 소정 시간(Tn) 전에, 이동 호스트(303)는 송신하여야 하는 TCP 데이터 세그먼트를 버퍼링하고 있다. 그리고, 이동호스트(303)가 액세스 라우터(309)의 라우터 통지를 수신하여, 디폴트 라우터를 액세스 라우터(307)에서 액세스 라우터(309)로 변경함과 동시에 신케어 오브 어드레스를 취득하면, 상태 IV로 천이하여, 이동 호스트(303)는 버퍼링하고 있던 TCP 데이터 세그먼트를 송신한다.
이상과 같이, 본 제 4 실시예에 있어서는, 이동 호스트(303)는 액세스 라우터(307, 309) 사이의 핸드 오프 시에, 상기 핸드 오프의 기간에 송신해야 할 TCP 데이터 세그먼트를 버퍼링해 두고, 핸드 오프가 완료하고나서 버퍼링해 둔 TCP 데이터 세그먼트를 송신한다. 이렇게 함으로써, 통신 상대 호스트(311)는 이동 호스트(303)의 핸드 오프 시에 이동 호스트(303)로부터의 TCP 데이터 세그먼트를 수신할 수 없게 된다. 그리고, 당연히 통신 상대 호스트(311)가 송달 확인 신호를 송신하는 일은 없다. 통신 상대 호스트(311)가 송달 확인 신호를 송신하지 않으면 당연히 이동 호스트(303)의 핸드 오프 시에 패킷 로스가 되는 송달 확인 신호도 없다. 이동 호스트(303)가 핸드 오프를 완료한 후에, 이동 호스트(303)는 버퍼링하고 있던 TCP 데이터 세그먼트를 다시 송신함으로써, 통신 상대 호스트(311)는 이들 TCP 데이터 세그먼트를 수신한다. 그리고, 통신 상대 호스트(311)는 이에 대한 송달 확인 신호를 송신한다. TCP 데이터 세그먼트를 버퍼링하고 있던 시간분만큼 이동 호스트(303)에 의한 데이터 전송은 멈춰버리지만, 상기 시간은 핸드 오프에 걸리는 시간(100ms 정도 이하)이다. 한편, TCP 데이터 세그먼트의 송신 계기를 얻을 수 없다는 영향에 의한 이동 호스트(303)의 데이터 전송 정지 시간은 TCP의 재전송 타이머(Retransmit Timer)가 만료하는 시간(1초 이상)이다. 따라서, TCP 데이터세그먼트의 버퍼링에 의한 TCP 스루풋 저하는 TCP 데이터 세그먼트의 송신 계기를 얻을 수 없다는 영향에 의한 TCP 스루풋 저하보다 작다. 이로써, 이동 호스트(303)의 핸드 오프 시에 생기는 TCP 스루풋의 현저한 저하를 막을 수 있다.
또한, 본 제 4 실시예에 있어서는, 이동 호스트(303)가 TCP 데이터 세그먼트를 버퍼링하는 기간은 접속점 전환을 위해 이동 호스트(303)의 링크층(337)이 어느 외부 링크에도 접속하고 있지 않은 링크층(337) 순간 단절 시간 개시의 소정 시간(Tn) 전부터 상기 링크층(337) 순간 단절 시간 종료 후에 새롭게 접속된 외부 링크를 제공하는 액세스 라우터(309)를 디폴트 라우터로 변경하기까지의 기간으로 되어 있다. 이로써, TCP 데이터 세그먼트를 버퍼링하는 기간이 극히 적절하게 설정되게 되어, 필요 이상으로 TCP 데이터 세그먼트를 버퍼링하지 않아, TCP 스루풋의 현저한 저하를 보다 한층 더 막을 수 있다.
또한, 본 제 4 실시예에서는, 트랜스포트층(333)(TCP/UDP(333a))에 있어서, 링크층(337) 순간 단절 시간 개시의 소정 시간(Tn) 전을 외부 링크에 접속하는 인터페이스(337b)로부터의 신호에 의해 검지하고, 디폴트 라우터 변경을 이동 호스트(303)의 IP층(335)으로부터의 신호에 의해 검지하고 있다. 이로써, TCP 데이터 세그먼트를 버퍼링하는 기간을 적절하게 또한 간단하게 검지할 수 있다.
(제 5 실시예)
도 12는 제 5 실시예에 관련되는 이동 통신 시스템의 구성을 도시하는 도면이다. 도 12에 있어서, SH는 고정 호스트(Stationary Host), MR은 이동 라우터(Mobile Router), HA는 홈 에이전트(Home Agent), AR은 액세스라우터(Access Router), CH는 통신 상대 호스트(Correspondent Host)를 도시하고 있다.
이동 통신 시스템(351)은 도 12에 도시되는 바와 같이, 이동 라우터(353), 고정 호스트(355), 홈 에이전트(305), 복수의 액세스 라우터(307, 309), 통신 상대 호스트(311), IP 네트워크(313)를 포함하고 있다.
이동 라우터(353)는 고정 호스트(355)를 포함하는 이동 네트워크(357)를 따라 링크에서 링크로 이동하여, 이동 네트워크(357)의 게이트웨이 라우터로서 기능한다. 이동 라우터(353)는 홈 링크 상에서 홈 어드레스를 사용하고, 외부 링크 상에서는 홈 어드레스 및 각 링크의 링크 프리픽스를 갖는 케어 오브 어드레스를 사용한다. 고정 호스트(355)는 이동 라우터(353)와의 접속 관계가 변하지 않는 노드이다. 또한, 이동 네트워크(357)는 라우터나 이동 호스트도 포함하고 있어도 된다. 홈 에이전트(305)는 이동 라우터(353)에 홈 링크를 제공하고, 액세스 라우터는 이동 라우터(353)에 외부 링크를 제공한다.
이동 라우터(353)는 홈 에이전트(305)에 「자기 노드의 홈 어드레스 및 이동 네트워크(357) 내에 존재하는 네트워크 프리픽스」와, 「접속 링크에서 취득하는 케어 오브 어드레스」와의 바인딩(binding)을 통지하여, 홈 에이전트(305)는 이 바인딩(binding)을 보존한다. 홈 에이전트(305)는 이동 라우터(353)의 홈 어드레스앞 또는 이동 네트워크(357) 내의 네트워크 프리픽스에 속하는 어드레스앞으로 패킷을 수신하였을 때, 바인딩(binding)되어 있는 케어 오브 어드레스앞으로의 IP 패킷을 작성하여, 페이로드부에 상기 패킷을 격납하여, 이동 라우터(353)로 전송한다. 전송 패킷을 수신한 이동 라우터(353)는 페이로드부로부터 원래의 패킷을 추출, 이것이 이동 네트워크(357) 내에 존재하는 호스트앞이면, 이동 네트워크(357) 내로 라우팅한다.
도 13은 이동 라우터의 구성을 도시하는 도면이다. IP(371a) 및 송달 확인 신호 버퍼 스페이스(371b)를 포함하는 IP층(371), 제 1 링크(373a), 제 2 링크(373b), 이동 네트워크 측 인터페이스(373c) 및 고정 네트워크 측 인터페이스(373d)를 포함하는 링크층(373)을 구비한다.
이동 네트워크 측 인터페이스(373c) 또는 고정 네트워크 측 인터페이스(373d)로부터 수신된 패킷은 각각 제 1 링크(373a), 제 2 링크(373b)를 지나 IP(371a)에 도달한다. IP(371a)는 라우팅 테이블을 참조하여, 패킷을 고정 네트워크 측(디폴트 라우터)에 송신할지, 이동 네트워크(357) 측(고정 호스트(355))에 송신할지를 판정하여, 판정 결과에 따라서 패킷을 제 2 링크(373b) 또는 제 1 링크(373a)로 전달한다.
송달 확인 신호 버퍼 스페이스(371b)는 핸드 오프 기간 중에 송달 확인 신호를 버퍼링하기 위한 것이다. IP(371a)는 송달 확인 신호를 송달 확인 신호 버퍼 스페이스(371b)에 버퍼링한다. 송달 확인 신호를 버퍼링하는 기간은 접속점 전환을 위해 이동 라우터(353)의 링크층(373)의 제 2 링크(373b) 및 고정 네트워크 측 인터페이스(373d)가 어느 외부 링크에도 접속하고 있지 않은 링크층(제 2 링크(373b) 및 고정 네트워크 측 인터페이스(373d)) 순간 단절 시간 개시의 소정 시간(Tn) 전부터, 상기 링크층(제 2 링크(373b) 및 고정 네트워크 측인터페이스(373d)) 순간 단절 시간 종료 후에 새롭게 접속된 외부 링크를 제공하는 액세스 라우터(309)를 디폴트 라우터로 변경하기까지의 기간이다. 여기서, IP(371a)는 링크층(제 2 링크(373b) 및 고정 네트워크 측 인터페이스(373d)) 순간 단절 시간 개시의 소정 시간(Tn) 전을 고정 네트워크 측 인터페이스(373d)로부터의 신호에 의해 검지하고, 디폴트 라우터 변경을 스스로 검지한다. 여기서, 소정 시간(Tn)의 범위는 0 이상이다. 여기서, 소정 시간(Tn)은 버퍼링 개시 전, 마지막에 송신한 송달 확인 신호가 통신 상대 호스트에 도착함으로써 통신 상대 호스트가 새롭게 송신하는 TCP 데이터 세그먼트를 현재 접속중인 액세스 라우터 경유로 수신할 수 있는 것을 고려하여, 고정 호스트와 통신 상대 호스트 사이의 왕복 전송 시간(Round Trip Time) 이상으로 설정하는 것이 바람직하다.
고정 네트워크 측 인터페이스(373d)는 접속점을 액세스 라우터(307)에서 액세스 라우터(309)로 바꿀 때에, IP(371a)에 버퍼 명령을 낸다. 이로써, IP(371a)는 링크층(제 2 링크(373b) 및 고정 네트워크 측 인터페이스(373d)) 순간 단절 시간 개시의 소정 시간(Tn) 전을 검지하게 된다. 버퍼 명령을 받은 IP(371a)는 송달 확인 신호 버퍼 스페이스(371b)를 이용하여, 본래는 제 2 링크(373b)에 전달해야 하는 송달 확인 신호의 버퍼링을 개시한다.
IP(371a)는 액세스 라우터(309)로부터 수신하는 라우터 통지에 의해 디폴트 라우터를 변경한 시점에서, 스스로 디폴트 라우터 변경을 검지하여 버퍼링을 해제한다. 그리고, IP(371a)는 송달 확인 신호 버퍼 스페이스(371b)에 버퍼링된 송달 확인 신호를 제 2 링크(373b)로 전달한다. 제 2 링크(373b)에 전달된 송달 확인신호는 상술한 바와 같이, 고정 네트워크 측 인터페이스(373d)로부터 새롭게 접속된 외부 링크를 제공하는(디폴트 라우터로서 설정된) 액세스 라우터(309)에 송신된다.
도 14는 이동 네트워크(357) 중의 고정 호스트(355)가 통신 상대 호스트(311)로부터 TCP를 사용한 데이터 전송을 받고 있을 때에, 이동 라우터(353)가 액세스 라우터(307)에서 액세스 라우터(309)로 핸드 오프하는 경우의 시퀀스 차트이다.
점선 화살표는 통신 상대 호스트(311)가 고정 호스트(355)로 송신하는 TCP 데이터 세그먼트 및 고정 호스트(355)가 통신 상대 호스트(311)로 송신하는 송달 확인 신호를 도시한다. 도 14에 있어서의 상태 I 내지 상태 IV 및 상태 A, B는 도 22에서 설명된 상태 I 내지 상태 IV 및 상태 A, B에 대응하는 것이다.
상태 I에서 상태 II로 천이하는 소정 시간(Tn) 전에, 이동 라우터(353)는 고정 네트워크 측으로 라우팅해야 하는 송달 확인 신호를 버퍼링하고 있다. 그리고, 이동 라우터(353)가 액세스 라우터(309)의 라우터 통지를 수신하여, 디폴트 라우터를 액세스 라우터(307)에서 액세스 라우터(309)로 변경함과 동시에 신케어 오브 어드레스를 취득하면, 상태 IV로 천이하여, 이동 라우터(353)는 버퍼링하고 있던 송달 확인 신호를 라우팅한다.
또한, 이동 라우터(353)는 외부 링크에서 사용하는 신케어 오브 어드레스를 취득하면, 바인딩 업데이트(Binding Update) 옵션을 포함하는 패킷을 홈 에이전트(305)에 송신한다. 홈 에이전트(305)는 바인딩 업데이트(Binding Update)패킷을 수신하면 바인딩(binding)(이동 라우터(353)의 홈 어드레스와 케어 오브 어드레스와의 대응)을 기억하여, 확인 응답으로서 바인딩 확인 응답(Binding Acknowledgement) 옵션을 포함하는 패킷을 이동 라우터(353)에 송신한다.
이상과 같이, 본 제 5 실시예에 있어서는, 이동 라우터(353)는 액세스 라우터(307, 309) 사이의 핸드 오프 시에, 상기 핸드 오프 기간 중에 고정 네트워크 측에 라우팅되어야 하는 송달 확인 신호를 버퍼링해 두고, 핸드 오프가 완료하고나서 버퍼링해 둔 송달 확인 신호를 라우팅한다. 이렇게 함으로써, 통신 상대 호스트(311)는 이동 라우터(353)의 핸드 오프 시에 고정 호스트(355)로부터의 송달 확인 신호를 수신할 수 없게 된다. 그리고, 통신 상대 호스트(311)는 다음 TCP 데이터 세그먼트 송신을 대기한다. 통신 상대 호스트(311)가 TCP 데이터 세그먼트를 송신하지 않으면 당연히 이동 라우터(353)의 핸드 오프 시에 패킷 로스가 되는 TCP 데이터 세그먼트도 없다. 이동 라우터(353)가 핸드 오프를 완료한 후에, 이동 라우터(353)는 버퍼링하고 있던 송달 확인 신호를 다시 라우팅함으로써, 통신 상대 호스트(311)는 이들 송달 확인 신호를 수신한다. 그리고, 통신 상대 호스트(311)는 다음 TCP 데이터 세그먼트의 송신을 재개한다. 송달 확인 신호를 버퍼링하고 있던 시간분만큼 통신 상대 호스트(311)에 의한 데이터 전송은 멈춰버리지만, 상기 시간은 핸드 오프에 걸리는 시간(100ms 정도 이하)이다. 한편, TCP 데이터 세그먼트의 연속 로스의 영향에 의한 통신 상대 호스트(311)의 데이터 전송 정지 시간은 TCP의 재전송 타이머(Retransmit Timer)가 만료하는 시간(1초 이상)이다. 따라서, 송달 확인 신호의 버퍼링에 의한 TCP 스루풋 저하는 TCP 데이터 세그먼트 연속 로스의 영향에 의한 TCP 스루풋 저하보다 작다. 이로써, 이동 라우터(353)의 핸드 오프 시에 생기는 TCP 스루풋의 현저한 저하를 막을 수 있다.
또한, 본 제 5 실시예에 있어서는, 이동 라우터(353)가 송달 확인 신호를 버퍼링하는 기간은 접속점 전환을 위해 이동 라우터(353)의 링크층(373)의 제 2 링크(373b) 및 고정 네트워크 측 인터페이스(373d)가 어느 외부 링크에도 접속하고 있지 않은 링크층(제 2 링크(373b) 및 고정 네트워크 측 인터페이스(373d)) 순간 단절 시간 개시의 소정 시간(Tn) 전부터, 상기 링크층(제 2 링크(373b) 및 고정 네트워크 측 인터페이스(373d)) 순간 단절 시간 종료 후에 새롭게 접속된 외부 링크를 제공하는 액세스 라우터(309)를 디폴트 라우터로 변경하기까지의 기간으로 되어 있다. 이로써, 송달 확인 신호를 버퍼링하는 기간이 극히 적절하게 설정되게 되어, 필요 이상으로 송달 확인 신호를 버퍼링하지 않아, TCP 스루풋의 현저한 저하를 보다 한층 더 막을 수 있다.
또한, 본 제 5 실시예에서는, IP층(371)(IP; 371a)에 있어서, 링크층(제 2 링크(373b) 및 고정 네트워크 측 인터페이스(373d)) 순간 단절 시간 개시의 소정 시간(Tn) 전을 외부 링크에 접속하는 고정 네트워크 측 인터페이스(373d)로부터의 신호에 의해 검지하고, 디폴트 라우터 변경을 스스로 검지하고 있다. 이로써, 송달 확인 신호를 버퍼링하는 기간을 적절하고 또한 간단하게 검지할 수 있다.
또한, 송달 확인 신호를 버퍼링할 때에는, 송달 확인 신호의 버퍼링을 TCP 커넥션마다 행하여, TCP 커넥션마다에 있어서, 새롭게 버퍼링되는 송달 확인 신호가 이미 버퍼링되어 있는 송달 확인 신호보다도 큰 시퀀스 번호의 TCP 데이터 세그먼트에 대한 것일 경우는, 이미 버퍼링되어 있는 송달 확인 신호를 새롭게 버퍼링되는 송달 확인 신호로 치환하는 것으로 하여도 된다. 송달 확인 신호는 수신 측 호스트가 지금까지 수신한 TCP 데이터 세그먼트의 최대 시퀀스 넘버를 송신 측 호스트에게 알리는 것이기 때문에, 2개의 송달 확인 신호가 다른 시퀀스 넘버를 도시하는 경우, 큰 쪽의 시퀀스 넘버를 알리기 위한 송달 확인 신호는 작은 쪽의 시퀀스 넘버까지의 TCP 데이터 세그먼트 수신 확인을 겸한다. 즉, 후속하는 송달 확인 신호가 현재 버퍼링되어 있는 송달 확인 신호보다 큰 시퀀스 넘버를 알리는 것일 경우는, 이것을 치환함으로써, 송달 확인 신호 버퍼 스페이스(371b) 절약이 가능해진다.
(제 6 실시예)
제 6 실시예의 이동 통신 시스템의 구성은 도 12에 도시된 제 5 실시예의 이동 통신 시스템(351)과 같아, 그 설명을 생략한다.
도 15는 제 6 실시예의 이동 통신 시스템에 사용되는 이동 라우터(353)의 구성을 도시하는 도면이다. IP(371a) 및 TCP 데이터 세그먼트 버퍼 스페이스(371c)를 포함하는 IP층(371), 제 1 링크(373a), 제 2 링크(373b), 이동 네트워크 측 인터페이스(373c) 및 고정 네트워크 측 인터페이스(373d)를 포함하는 링크층(373)을 구비한다.
TCP 데이터 세그먼트 버퍼 스페이스(371c)는 핸드 오프 기간 중에 TCP 데이터 세그먼트를 버퍼링하기 위한 것이다. IP(371a)는 TCP 데이터 세그먼트를 TCP 데이터 세그먼트 버퍼 스페이스(371c)에 버퍼링한다. TCP 데이터 세그먼트를 버퍼링하는 기간은 접속점 전환을 위해 이동 라우터(353)의 링크층(373)의 제 2 링크(373b) 및 고정 네트워크 측 인터페이스(373d)가 어느 외부 링크에도 접속하고 있지 않은 링크층(제 2 링크(373b) 및 고정 네트워크 측 인터페이스(373d)) 순간 단절 시간 개시의 소정 시간(Tn) 전부터, 상기 링크층(제 2 링크(373b) 및 고정 네트워크 측 인터페이스(373d)) 순간 단절 시간 종료 후에 새롭게 접속된 외부 링크를 제공하는 액세스 라우터(309)를 디폴트 라우터로 변경하기까지의 기간이다. 여기서, IP(371a)는 링크층(제 2 링크(373b) 및 고정 네트워크 측 인터페이스(373d)) 순간 단절 시간 개시의 소정 시간(Tn) 전을 고정 네트워크 측 인터페이스(373d)로부터의 신호에 의해 검지하고, 디폴트 라우터 변경을 스스로 검지한다. 여기서, 소정 시간(Tn)의 범위는 0 이상이다. 여기서, 소정 시간(Tn)은 버퍼링 개시 전, 마지막에 송신한 TCP 데이터 세그먼트가 통신 상대 호스트에 도착함으로써 통신 상대 호스트가 새롭게 송신하는 송달 확인 신호를 현재 접속중인 액세스 라우터 경유로 수신할 수 있는 것을 고려하여, 고정 호스트와 통신 상대 호스트 사이의 왕복 전송 시간(Round Trip Time) 이상으로 설정하는 것이 바람직하다.
고정 네트워크 측 인터페이스(373d)는 접속점을 액세스 라우터(307)에서 액세스 라우터(309)로 바꿀 때에, IP(371a)에 버퍼 명령을 낸다. 이로써, IP(371a)는 링크층(제 2 링크(373b) 및 고정 네트워크 측 인터페이스(373d)) 순간 단절 시간 개시의 소정 시간(Tn) 전을 검지하게 된다. 버퍼 명령을 받은 IP(371a)는 TCP 데이터 세그먼트 버퍼 스페이스(371c)를 이용하여, 본래는 제 2 링크(373b)에 전달해야 하는 TCP 데이터 세그먼트의 버퍼링을 개시한다.
IP(371a)는 액세스 라우터(309)로부터 수신하는 라우터 통지에 의해 디폴트 라우터를 변경한 시점에서, 스스로 디폴트 라우터 변경을 검지하여 버퍼링을 해제한다. 그리고, IP(371a)는 TCP 데이터 세그먼트 버퍼 스페이스(371c)에 버퍼링된 TCP 데이터 세그먼트를 제 2 링크(373b)로 전달한다. 제 2 링크(373b)에 전달된 TCP 데이터 세그먼트는 상술한 바와 같이, 고정 네트워크 측 인터페이스(373d)로부터 새롭게 접속된 외부 링크를 제공하는(디폴트 라우터로서 설정된) 액세스 라우터(309)에 송신된다.
도 16은 이동 네트워크(357) 중의 고정 호스트(355)가 통신 상대 호스트(311)로 TCP를 사용한 데이터 전송을 하고 있을 때에, 이동 라우터(353)가 액세스 라우터(307)에서 액세스 라우터(309)로 핸드 오프하는 경우의 시퀀스 차트이다.
점선 화살표는 고정 호스트(355)가 통신 상대 호스트(311)로 송신하는 TCP 데이터 세그먼트 및 통신 상대 호스트(311)가 고정 호스트(355)로 송신하는 송달 확인 신호를 도시한다. 도 16에 있어서의 상태 I 내지 상태 IV 및 상태 A, B는 도 22에서 설명된 상태 I 내지 상태 IV 및 상태 A, B에 대응하는 것이다.
상태 I에서 상태 II로 천이하는 소정 시간(Tn) 전에, 이동 라우터(353)는 고정 네트워크 측으로 라우팅해야 하는 TCP 데이터 세그먼트를 버퍼링하고 있다. 그리고, 이동 라우터(353)가 액세스 라우터(309)의 라우터 통지를 수신하여, 디폴트 라우터를 액세스 라우터(307)에서 액세스 라우터(309)로 변경함과 동시에 신케어 오브 어드레스를 취득하면, 상태 IV로 천이하여, 이동 라우터(353)는 버퍼링하고있던 TCP 데이터 세그먼트를 라우팅한다.
이상과 같이, 본 제 6 실시예에 있어서는, 이동 라우터(353)는 액세스 라우터(307, 309) 사이의 핸드 오프 시에, 상기 핸드 오프 기간에 고정 네트워크 측에 라우팅해야 하는 TCP 데이터 세그먼트를 버퍼링해 두고, 핸드 오프가 완료하고나서 버퍼링해 둔 TCP 데이터 세그먼트를 라우팅한다. 이렇게 함으로써, 통신 상대 호스트(311)는 이동 라우터(353)의 핸드 오프 시에 고정 호스트(355)로부터의 TCP 데이터 세그먼트를 수신할 수 없게 된다. 그리고, 통신 상대 호스트(311)가 송달 확인 신호를 송신하는 일은 없다. 통신 상대 호스트(311)가 송달 확인 신호를 송신하지 않으면, 당연히 이동 라우터(353)의 핸드 오프 시에 패킷 로스가 되는 송달 확인 신호도 없다. 이동 라우터(353)가 핸드 오프를 완료한 후에, 이동 라우터(353)는 버퍼링하고 있던 TCP 데이터 세그먼트를 다시 라우팅하게 되어, 통신 상대 호스트(311)는 이들 TCP 데이터 세그먼트를 수신한다. 그리고, 통신 상대 호스트(311)는 이에 대한 송달 확인 신호를 송신한다. TCP 데이터 세그먼트를 버퍼링하고 있던 시간분만큼 고정 호스트(355)에 의한 데이터 전송은 멈춰버리지만, 상기 시간은 핸드 오프에 걸리는 시간(100ms 정도 이하)이다. 한편, TCP 데이터 세그먼트의 송신 계기를 얻을 수 없다는 영향에 의한 고정 호스트(355)의 데이터 전송 정지 기간은 TCP의 재전송 타이머(Retransmit Timer)가 만료하는 시간(1초 이상)이다. 따라서, 이동 라우터(353)가 TCP 데이터 세그먼트의 버퍼링하는 것에 의한 TCP 스루풋 저하는 고정 호스트(355)가 TCP 데이터 세그먼트의 송신 계기를 얻을 수 없다는 영향에 의한 TCP 스루풋 저하보다 작다. 이로써, 이동 라우터(353)의 핸드 오프 시에 생기는 TCP 스루풋의 현저한 저하를 막을 수 있다.
또한, 본 제 6 실시예에 있어서는, 이동 라우터(353)가 TCP 데이터 세그먼트를 버퍼링하는 기간은 접속점 전환을 위해 이동 라우터(353)의 링크층(373)의 제 2 링크(373b) 및 고정 네트워크 측 인터페이스(373d)가 어느 외부 링크에도 접속하고 있지 않은 링크층(제 2 링크(373b) 및 고정 네트워크 측 인터페이스(373d)) 순간 단절 시간 개시의 소정 시간(Tn) 전부터, 상기 링크층(제 2 링크(373b) 및 고정 네트워크 측 인터페이스(373d)) 순간 단절 시간 종료 후에 새롭게 접속된 외부 링크를 제공하는 액세스 라우터(309)를 디폴트 라우터로 변경하기까지의 기간으로 되어 있다. 이로써, TCP 데이터 세그먼트를 버퍼링하는 기간이 극히 적절하게 설정되게 되며, 필요 이상으로 TCP 데이터 세그먼트를 버퍼링하지 않아, TCP 스루풋의 현저한 저하를 보다 한층 더 막을 수 있다.
또한, 본 제 6 실시예에서는, IP층(371)(IP; 371a)에 있어서, 링크층(제 2 링크(373b) 및 고정 네트워크 측 인터페이스(373d)) 순간 단절 시간 개시의 소정 시간(Tn) 전을 외부 링크에 접속하는 고정 네트워크 측 인터페이스(373d)로부터의 신호에 의해 검지하고, 디폴트 라우터 변경을 스스로 검지하고 있다. 이로써, TCP 데이터 세그먼트를 버퍼링하는 기간을 적절하고 또한 간단하게 검지할 수 있다.
다음으로 본 발명의 실시예에 관련되는 통신 제어 프로그램에 대해서 설명한다. 통신 제어 프로그램은 패킷을 송신하기 위해, 컴퓨터를 핸드 오프 기간 중에 패킷을 버퍼링하여, 상기 핸드 오프가 완료하였을 때에 버퍼링된 패킷을 송신하는 수단으로서 기능시키는 것이다. 통신 제어 프로그램은 예를 들면, 컴퓨터 판독 가능한 기억 매체에 기록된다. 여기서, 기억 매체란 컴퓨터의 하드웨어 자원에 구비되어 있는 판독 장치에 대하여, 프로그램의 기술 내용에 따라서, 자기, 광, 전기 등의 에너지의 변화 상태를 야기하여, 그에 대응하는 신호의 형식으로, 판독 장치에 프로그램의 기술 내용을 전달할 수 있는 것이다. 이러한 기록 매체로서는, 예를 들면, 자기 디스크, 광 디스크, CD-ROM, 컴퓨터에 내장되는 메모리 등이 해당한다.
기록 매체(81)는 도 17에 도시되는 바와 같이, 프로그램을 기록하는 프로그램 영역(83)을 구비하고 있다. 이 프로그램 영역에는 통신 제어 프로그램(85)이 기록되어 있다. 통신 제어 프로그램은 처리를 통괄하는 메인 모듈(85a)과, 이동 노드가 핸드 오프 기간 중에 패킷을 버퍼링하여, 상기 핸드 오프가 완료하였을 때에 버퍼링된 패킷을 송신하기 위한 패킷 버퍼링 제어 모듈(85b)을 포함하고 있다.
컴퓨터는 상술한 통신 제어 프로그램을 실행시킴으로써, 상술한 제 1 실시예에 있어서의 이동 호스트(3) 혹은 제 2 실시예에 있어서의 이동 라우터(53)로서 기능한다. 이로써, 핸드 오프 기간 중에 송신되어야 하는 패킷이 상기 핸드 오프 기간 중에 송신되지 않고 버퍼링되어, 상기 핸드 오프가 완료하였을 때에 버퍼링된 패킷이 송신되게 되어, 핸드 오프 기간 중에 패킷 로스가 생기는 것을 막을 수 있다.
마지막으로, 본 발명의 실시예에 관련되는 다른 통신 제어 프로그램에 대해서 설명한다. 통신 제어 프로그램은 TCP 데이터 세그먼트를 수신하고, 상기 TCP 데이터 세그먼트에 대한 송달 확인 신호를 송신하기 위해, 컴퓨터를 핸드 오프 기간 중에 송달 확인 신호를 버퍼링하여, 상기 핸드 오프가 완료하였을 때에 버퍼링된 송달 확인 신호를 송신하는 수단으로서 기능시키는 것이다. 또한, 통신 제어 프로그램은 TCP 데이터 세그먼트를 송신하기 위해, 컴퓨터를 핸드 오프 기간 중에 TCP 데이터 세그먼트를 버퍼링하여, 상기 핸드 오프가 완료하였을 때에 버퍼링된 TCP 데이터 세그먼트를 송신하는 수단으로서 기능시키는 것이어도 된다. 통신 제어 프로그램은 예를 들면, 컴퓨터 판독 가능한 기억 매체에 기록된다. 여기서, 기록 매체란 컴퓨터의 하드웨어 자원에 구비되어 있는 판독 장치에 대하여, 프로그램의 기술 내용에 따라서, 자기, 광, 전기 등의 에너지의 변화 상태를 야기하여, 그에 대응하는 신호의 형식으로, 판독 장치에 프로그램의 기술 내용을 전달할 수 있는 것이다. 이러한 기록 매체로서는, 예를 들면, 자기 디스크, 광 디스크, CD-ROM, 컴퓨터에 내장되는 메모리 등이 해당한다.
기록 매체(881)는 도 18에 도시되는 바와 같이, 프로그램을 기록하는 프로그램 영역(883)을 구비하고 있다. 이 프로그램 영역에는 통신 제어 프로그램(885)이 기록되어 있다. 통신 제어 프로그램은 처리를 통괄하는 메인 모듈(885a)과, 이동 노드가 핸드 오프 기간 중에 송달 확인 신호를 버퍼링하여, 상기 핸드 오프가 완료하였을 때에 버퍼링된 송달 확인 신호를 송신하기 위한 버퍼링 제어 모듈(885b)을 포함하고 있다. 버퍼링 제어 모듈(885b)은 이동 노드가 TCP 데이터 세그먼트를 송신하기 위해, 컴퓨터를 핸드 오프 기간 중에 TCP 데이터 세그먼트를 버퍼링하여, 상기 핸드 오프가 완료하였을 때에 버퍼링된 TCP 데이터 세그먼트를 송신하는 것이어도 된다.
컴퓨터는 상술한 통신 제어 프로그램을 실행시킴으로써, 상술한 제 3 및 제 4 실시예에 있어서의 이동 호스트(303) 혹은 제 5 및 제 6 실시예에 있어서의 이동 라우터(353)로서 기능한다. 이로써, 이동 라우터(353)나 이동 호스트(303)의 핸드 오프 시에 생기는 TCP 스루풋의 현저한 저하를 막을 수 있다.