From owner-IPv6-jp@jp.freebsd.org  Fri Apr 30 00:24:49 1999
Received: (from daemon@localhost)
	by castle.jp.freebsd.org (8.9.3+3.2W/8.7.3) id AAA56466;
	Fri, 30 Apr 1999 00:24:49 +0900 (JST)
	(envelope-from owner-IPv6-jp@jp.FreeBSD.org)
Received: from coconut.itojun.org (root@coconut.itojun.org [210.160.95.97])
	by castle.jp.freebsd.org (8.9.3+3.2W/8.7.3) with ESMTP id AAA56458
	for <IPv6-jp@jp.freebsd.org>; Fri, 30 Apr 1999 00:24:47 +0900 (JST)
	(envelope-from itojun@itojun.org)
Received: from kiwi.itojun.org (itojun@localhost.itojun.org [127.0.0.1])
	by coconut.itojun.org (8.9.3+3.2W/3.7W) with ESMTP id AAA21676
	for <IPv6-jp@jp.freebsd.org>; Fri, 30 Apr 1999 00:24:45 +0900 (JST)
To: IPv6-jp@jp.freebsd.org
In-reply-to: itojun's message of Fri, 30 Apr 1999 00:17:23 JST.
      <21561.925399043@coconut.itojun.org> 
X-Template-Reply-To: itojun@itojun.org
X-Template-Return-Receipt-To: itojun@itojun.org
X-PGP-Fingerprint: F8 24 B4 2C 8C 98 57 FD  90 5F B4 60 79 54 16 E2
From: itojun@iijlab.net
Date: Fri, 30 Apr 1999 00:24:45 +0900
Message-ID: <21672.925399485@coconut.itojun.org>
Reply-To: IPv6-jp@jp.freebsd.org
Precedence: list
X-Distribute: distribute version 2.1 (Alpha) patchlevel 24e+990405
X-Sequence: IPv6-jp 207
Subject: [IPv6-jp 207] tunnel over NAT
Errors-To: owner-IPv6-jp@jp.freebsd.org
Sender: owner-IPv6-jp@jp.freebsd.org
X-Originator: itojun@itojun.org


>>  dtcp $B$G$O$J$$$N$G$9$,!"(Bdialup $B$H$$$($P!"(BNAT $BH"1[$($N(B tunnel $B$,D%$l$k(B
>>$B$H4r$7$$$G$9!#$$$o$f$kC<Kv7?(B dialup $B$G$O!"(BKAME $BH"$G(B dialup $B$9$kI,MW$,(B
>>$B$"$j$^$9!#(BNAT $BIU$N(B ISDN router $B$G7R$$$G$k?M$,B?$/$F!"BP1~$G$-$J$$$N$G(B
>>$B$9!#(B
>	NAT$B1[$($OL5M}$G$9!#(BIPv6 over IPv4 tunnel$B$G$O!"%H%s%M%k$r(B
>	$BG'<1$9$k$N$K(BIPv4 source + IPv4 dest$B$N%Z%"$G$7$+H=CG$G$-$J$$$s$G!"(B
>	$B=q49$($i$l$k$H=*$j$^$9!#(B

	$B$HL537$KCG$k$N$b%J%K$J$N$G!#$3$l$GF0$/$s$@$m$&$+(B?
	$BBLL\$b$H$G$d$C$F$_$F$/$@$5$$!#(B

#	$B8GDj$N(BIPv4$B%"%I%l%9$,Lc$($k$/$i$$$J$i(BNAT$B$7$J$$$+(B?

itojun


upstream (imasy$BB&$N(BKAME$BH"(B)
  |A
  :	global IPv4 address
  |B
NAT box
  |c
==+==
  |d
client (imasy$B$N%f!<%6B&$N(BKAME$BH"(B)


$BMW5a(B: upstream$B$H(Bclient $B$N4V$G%H%s%M%k$rD%$j$?$$!#(B
	upstream: global IPv4 address A
	client$B$N(BNAT$BH"(B: global IPv4 address B
	client: private IPv4 address d
$B@_Dj(B:
	upstream$B$G$O!"(Bgifconfig gif0 A B
	client$B$N(BNAT$BH"$G$O!"0J2<$N$h$&$K(Bprotocol$BHV9f;H$C$F(Bstatic$B$K(BNAT mapping$B$r(B
	$B@_Dj$9$k(B($BIaDL$KGd$C$F$k(BNAT$B%k!<%?$G$3$l$O$G$-$k$@$m$&$+(B?)
		IP proto 41 -> d$B$X9T$1(B
	client$B$N(BKAME$BH"$G$O!"(Bgifconfig gif0 d A

	upstream -> NAT box$B$N%Q%1%C%H$O!"(B
		IPv4[A-B] IPv6 payload
	NAT$BH"$r1[$($k$H!"(B
		IPv4[A-d] IPv6 payload	-> client$B$N(Bgif0$B$K(Bmatch

	client -> NAT box$B$N%Q%1%C%H$O!"(B
		IPv4[d-A] IPv6 payload
	NAT$BH"$r1[$($k$H!"(B
		IPv4[B-A] IPv6 payload	-> upstream$B$N(Bgif0$B$K(Bmatch

$BLdBjE@(B:
	B$B$OA0$b$C$F$o$+$C$F$J$$$H$$$1$J$$$N$G!"(Bimasy$B%f!<%6$K$O8GDj$N(BIPv4
	$B%"%I%l%9$,I,MW!#(B
	dtcp$B$OLr$KN)$?$J$$!#(B
