KRnet 2001

Transcription

KRnet 2001
v4/v6 Coexistence with
Translation API
이장연
(i2soft, patlee@i2soft.net)
KRnet2001
Contents












Backgrounds
IPv4/IPv6 transition standards
Current Trends in IETF
Translation in Only Host
Similar Solution
Proposed Translation in Host
Platform Architecture
BIA implementation using Winsock2 SPI
http://www.krv6.net/bia
Testbed
Conclusion & Future work
Related Activity
2/22
KRnet 2001
Backgrounds
 Problem with IPv4 -> Emerging IPv6
 Address Space, QoS, Multicasting, Security, Managements
 IPv6….
 Deployment more difficult than Tech. Implementation
 Hard to find Killer Application
 Most feature Directly focused on Net. provider not on Net. user
 Chicken and Egg Problem: the reason for mainly driven by
Government.
 Never come in just a day
 IPv4/IPv6 Transition issued now!
 ngtrans WG in IETF
3/22
KRnet 2001
IPv4/IPv6 Transition Standards
4/22
KRnet 2001
IPv4/IPv6 Transition
Standards(Cont.)
 Standards by IETF NGTrans WG
6
Over
4
Dual Stack Host
6
To
4
◎
DST
M
NAT
-PT
SIIT
◎
BIS
◎
Tunneling
◎
Only in Host
◎
Host & Gate
5/22
◎
◎
BIA
◎
◎
IP translation
SOCKS
G/W
◎?
Upper Message
Manipulation
Only in Gate
Trans.
Relay
◎
◎
◎
◎
◎
◎
◎
◎
◎
◎
◎
KRnet 2001
Current Trends in IETF
 Enlarge Generality with Hybrid Mechanism
 DSTM with 6to4
 6to4 for multicast
 DSTM Extension for inbound packets
 Efficient v4 addressing for v4/v6 coexistence
 v4 address occupied only for working not for permanence
 NAT-PT, DHCPv6 for DSTM
 With TCP/UDP port range utilization
 Using Single IPv4 Global Address in DSTM (by 신명기, ETRI)
 Efficient Translation in HOST for Application itself
 Translation API
 Bump in the API (by 이승윤, ETRI)
6/22
KRnet 2001
Translation in only Host
 Basic Model
 With Dual Stack
 Naming Resolution Function
 Address Mapping Function
 Protocol Translation
Dual Stack
Translation Module
IPv4 Application
Socket Layer
TCP/UDP
TCP/UDP
Integration
IPv4
IPv6
Ethernet MAC
Physical Layer
7/22
Protocol
Translation
Function
Name
Address
Resolving
Mapping
Function
Function
Where?
How?
KRnet 2001
Similar Solution
 BIS(Bump In the Stack) (RFC 2767)
 Between 2 layer and IPv4 stack
 Protocol translation(SIIT): overhead
 2 layer Interface defendent
 Not real Dual Stack: IPv6 Application unavailable
IPv4 Application
Translation Module
Socket Layer
BIS
TCP/IPv4
Translator
IPv6
Protocol
Translation
Function
Name
Address
Resolving
Mapping
Function
Function
Ethernet MAC
Physical Layer
8/22
KRnet 2001
Similar Solution (Cont.)
 Behavior of BIS (RFC 2767)
IPv4 Application Layer
①
Socket Layer
TCP/UDP
IPv4 stack
Reply ‘A’(v4 addr.)
IPv4 Packet
Query ‘A’
Reply ‘A’(v4 addr).
Request IPv4 Packet
v6 addr.
Reply v4 addr.
Extension
Naming
Resolver
IPv6  IPv4
Request/
reply
v4 addr.
Address
Mapper
Request v4 addr.
Query ‘A’ or ‘AAAA’
Create & Retrieve
IPv4 Packet
IP
Translator
IPv4  IPv6
Reply
v6 addr.
IPv6 Packet
IPv6 stack
?
IPv4 Host
9/22
Address Pool
Reply ‘AAAA’(v6 addr.)
Name server
IPv6 Packet
IPv6 Host
KRnet 2001
Proposed Translation in Host
 BIA(Bump In the API)
 Applying to API-level Manipulation
 No Overhead for protocol translation
 2 layer Interface independent
 Dual Stack: IPv6 Application available also!
 Platform dependent
IPv4 Application
Socket Layer
Translator
TCP/UDP
IPv4
TCP/UDP
IPv6
BIA
Translation Module
API
Mapping
Name
Resolving
Function
Address
Mapping
Function
Ethernet MAC
Physical Layer
10/22
KRnet 2001
Proposed Translation in Host(Cont.)
 Target Purpose
 Coexistence of legacy IPv4 application with IPv6 network &
application, without any modification
V6 Client
Translation
API
IPv4
stack
11/22
IPv6
stack
IPv6
stack
V4 Client
Translation
API
IPv4
stack
V6 Server
IPv6
stack
V6 net.
V4 Server
Translation
API Ⅱ
IPv4
stack
IPv6
stack
KRnet 2001
Proposed Translation in Host(Cont.)
 Behavior of Translation API
IPv4 Application
①
①
IPv6 Application
Socket API Layer
IPv4 Packet
Query ‘A’
Extension
Naming
Resolver
Address
Mapper
Request v4 addr.
Query ‘A’ or ‘AAAA’
TCP/UDP IPv4 stack
Request/
reply
v4 addr.
Reply
v6 addr.
Query
‘AAAA’
or ‘A’
API
Mapper
IPv4 Packet
Reply ‘A’(v4 addr.)
IPv4 Packet
Reply v4 addr.
Request
v6 addr.
IPv6 Packet
IPv4 Packet
Reply ‘A’(v4 addr).
IPv6 Packet
TCP/UDP IPv6 stack
?
Reply ‘AAAA’(v6 addr.)
IPv4 Host
12/22
Name server
Reply ‘A’(v4 addr.)
IPv6 Host
IPv4 Host
KRnet 2001
Platform Architecture
 MS WOSA (Winsock 2 SPI(Service Provider Interface))
 Windows 2000 + IPv6 preview version for Windows 2000
Winsock 2
Application
Winsock 2
Application
Winsock2
Socket
API
Transport
Function
Transport
Function
WS2_32.DLL
Winsock2
Transport
SPI
Winsock2
Name Space
SPI
Layered
Service
Provider
Name Space
Service
Provider
Winsock2
Transport
SPI
Transport
Service
Provider
13/22
Transport
Service
Provider
KRnet 2001
Platform Architecture (Cont.)
 Layered Service Provider
Winsock 2
Application
Winsock 2
Application


Return
Socket()
WS2_32.DLL

Return
WSPSocket(…)
14/22
Return
WSPSocket(…)

Layered
Service
Provider


Base
Provider


WS2_32.DLL

Return
Socket()
Return
WSPSocket(…)

Base
Provider
KRnet 2001
Platform Architecture (Cont.)
 SPI Function(Generic Data Transport Functions)
WSPAccept
WSPAsyncSelect
WSPBind
WSPCancelBlockingCall
WSPCleanup
WSPCloseSocket
WSPConnect
WSPDuplicateSocket
WSPEnumNetworkEvents
WSPEventSelect
WSPGetOverlappedResult WSPGetPeerName
WSPGetSockName
WSPGetSockOpt
WSPGetQOSByName
WSPIoctl
WSPJoinLeaf
WSPListen
WSPRecv
WSPRecvDisconnect
WSPRecvFrom
WSPSelect
WSPSend
WSPSendDisconnect
WSPSendTo
WSPSetSockOpt
WSPShutdown
WSPSocket
WSPStartup
15/22
KRnet 2001
BIA implementation using
Winsock2 SPI
Winsock 2
Application
Winsock2
Socket
API
WS2_32.DLL
Winsock2
Transport
SPI
API
Mapper
BIA
Extension
Naming
Resolver
Winsock2
Transport
SPI
Base Provider
16/22
TCP(UDP)
/IPv4
Address
Mapper
TCP(UDP)
/IPv6
KRnet 2001
http://www.krv6.net/bia
 Basic Requirements
 MS Windows 2000 operating system.
 MS IPv6 Technology Preview.
 Connectivity to both IPv4 and IPv6
 How to install
 You should download the BIA program and unzip it
 Copy IP46T.DLL(BIA main module) and SPORDER.DLL(DLL
for SPORDER.EXE ) files into system32 directory
 Create a directory and copy the excutable files(INSTLSP.EXE,
SPORDER.EXE)
 How to Run
 C:\BIA>instlsp install (activate the BIA module)
 C:\BIA>instlsp remove (deactivate the BIA module)
17/22
KRnet 2001
http://www.krv6.net/bia(Cont.)
 Result
 SPORDER.EXE
18/22
 Netscape
KRnet 2001
Testbed
 Test Environment
 Web Application
Virtual IPv4 Address
Real IPv6 Address
10.10.10.10
3ffe:2eo1:11:2:26ff:cf58:8d06:b209
3ffe:2eo1:11:1:201:2ff:fe42:bc61 3ffe:2eo1:11:1:201:2ff:fe44:bo74
192.168.1.1
192.168.1.2
3ffe:2eo1:11:1:2c0:caff:fe15:9593
3ffe:2eo1:11:1:201:2ff:fe42:ba22
Name Resolution
Dual Stack Host
(with Translation Module)
IPv6 DNS Server
(FreeBSD, Bind8)
IPv6 E-mail Server
(FreeBSD, Sendmail)
IPv6 Web Server
(FreeBSD, Apache)
HTTP access
19/22
KRnet 2001
Conclusion & Future work
 Proposed Solution for Legacy Application with IPv6
 Efficient translation without IP translation overhead
 Easy Handling message manipulation
 API-Level Translation
 Good for Deployment phase 1
 DNS Problem leaved
 Impossible to query via IPv6
 One of the worst barrier against Deployment
 Future Work
 Solution for IPv6 Client with IPv4 Server via IPv6 Network
 ALG(Application Level Gateway): FTP,….
 Raw Socket Support
20/22
KRnet 2001
Conclusion & Future work (Cont.)
 Extension of Target Requirement
v6 Server
v4 Client
IPv4
stack
IPv6
stack
v6 Client
IPv4
stack
21/22
IPv6
stack
IPv4
stack
IPv6
stack
v4 Server
v4 Server
IPv4
stack
V6 net.
IPv4
stack
IPv6
stack
v4/v6 Gate
IPv6
stack
IPv4
stack
V4 net.
KRnet 2001
Related Activity in Korea
 I2soft (http://www.i2soft.net)
 Step for Creating Initiatives of Deployment with Application
 Verto Code Converter
 For Developer who are beginner on IPv6
 Current version: 0.9
 Released at June, Being used for NCA project (VOIPv6)
 http://www.i2soft.net/verto/html/verto.htm
 Evaluation of Efficiency: 70% (with Apache Web Server)
22/22
KRnet 2001

Similar documents

Mobile RFID Technologies and Standards

Mobile RFID Technologies and Standards 2.oid-res.org zone file 27.2.oid-res.org. IN NS oid.kr. tag-based.2.oid-res.org. IN DNAME 27.2.oid-res.org. ors-dummy.2.oid-res.org. IN NAPTR 0 100 “u” “ORS+COID” “!^.*$!/2!” . ors-dummy.2.oid-res....

More information