[go: up one dir, main page]

KR20010087322A - 로컬 아이피 주소와 변환할 수 없는 포트 주소를 이용한랜 네트워크 주소 변환 게이트웨이 - Google Patents

로컬 아이피 주소와 변환할 수 없는 포트 주소를 이용한랜 네트워크 주소 변환 게이트웨이 Download PDF

Info

Publication number
KR20010087322A
KR20010087322A KR1020010011042A KR20010011042A KR20010087322A KR 20010087322 A KR20010087322 A KR 20010087322A KR 1020010011042 A KR1020010011042 A KR 1020010011042A KR 20010011042 A KR20010011042 A KR 20010011042A KR 20010087322 A KR20010087322 A KR 20010087322A
Authority
KR
South Korea
Prior art keywords
address
datagram
local
spi
external
Prior art date
Application number
KR1020010011042A
Other languages
English (en)
Inventor
이스라엘다니엘 술탄
Original Assignee
추후제출
넥스랜드, 인코퍼레이티드
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 추후제출, 넥스랜드, 인코퍼레이티드 filed Critical 추후제출
Publication of KR20010087322A publication Critical patent/KR20010087322A/ko

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/66Arrangements for connecting between networks having differing types of switching systems, e.g. gateways
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/02Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
    • H04L63/0272Virtual private networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/09Mapping addresses
    • H04L61/25Mapping addresses of the same type
    • H04L61/2503Translation of Internet protocol [IP] addresses
    • H04L61/2514Translation of Internet protocol [IP] addresses between local and global IP addresses
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/09Mapping addresses
    • H04L61/25Mapping addresses of the same type
    • H04L61/2503Translation of Internet protocol [IP] addresses
    • H04L61/2517Translation of Internet protocol [IP] addresses using port numbers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/09Mapping addresses
    • H04L61/25Mapping addresses of the same type
    • H04L61/2503Translation of Internet protocol [IP] addresses
    • H04L61/255Maintenance or indexing of mapping tables
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/09Mapping addresses
    • H04L61/25Mapping addresses of the same type
    • H04L61/2503Translation of Internet protocol [IP] addresses
    • H04L61/256NAT traversal
    • H04L61/2564NAT traversal for a higher-layer protocol, e.g. for session initiation protocol [SIP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • H04L63/0442Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload wherein the sending and receiving network entities apply asymmetric encryption, i.e. different keys for encryption and decryption
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/16Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/16Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
    • H04L69/161Implementation details of TCP/IP or UDP/IP stack architecture; Specification of modified or new header fields
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/16Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
    • H04L69/161Implementation details of TCP/IP or UDP/IP stack architecture; Specification of modified or new header fields
    • H04L69/162Implementation details of TCP/IP or UDP/IP stack architecture; Specification of modified or new header fields involving adaptations of sockets based mechanisms
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2101/00Indexing scheme associated with group H04L61/00
    • H04L2101/60Types of network addresses
    • H04L2101/618Details of network addresses
    • H04L2101/663Transport layer addresses, e.g. aspects of transmission control protocol [TCP] or user datagram protocol [UDP] ports

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Small-Scale Networks (AREA)
  • Computer And Data Communications (AREA)

Abstract

네트워크 주소 변환 게이트웨이는 로컬 IP 주소들을 사용하는 근거리 네트워크로부터 외부 네트워크로 전송하는 IP 데이터그램에 대한 일반 네트워크 변환을 제공하나, 포트가 IPSec 프로토콜 모델의 일부분인 ISAKMP "핸드쉐이킹" 프로토콜과 같은 특정 프로토콜에 대해 예약되어 있을 때 소스 주소 (포트) 변환을 중지한다. ISAKMP 변경은 동일 서비스 주소를 사용하는 소스 및 타겟 컴퓨터들을 필요로 한다. 소스 서비스 주소(포트)를 변환하지 않는 네트워크를 제공함으로써 본 게이트웨이는 로컬 IP 주소들을 사용하는 로컬 에어리어 네트워크와 인터넷 상의 서버들 사이에서 사용하는 안전하고 암호화된 변환의 초기화 및 유지를 가능하게 한다.

Description

로컬 아이피 주소와 변환할 수 없는 포트 주소를 이용한 랜 네트워크 주소 변환 게이트웨이{Network Address Translation Gateway For Local Area Networks Using Local IP Addresses and Non-Translatable Port Addresses}
TCP/IP(Transfer Control Protocol/Internet Protocol)을 이용하는 가상 사설 네트워킹(Virtual Private Networking :VPN)은 통신 매체로서 인터넷을 이용하는 컴퓨팅 사이트간에 보안 및 빠른 속도의 통신을 가능하게 한다. 인터넷을 통해 양 사이트간에 전달되는 정보는 다양한 보안 수단에 의해 악의의 해커 또는 요구되지 않은 도청자들에 의한 가로채기로부터 보호된다. 효과적인 보안 수단은 최소한 다음의 사항들의 일부 또는 전부에 대한 보호를 보장할 수 있는 기술들을 결합하여야 한다: 전송 중에 악의 또는 부주의에 의한 데이터 변경으로부터 데이터 보전; 복제 금지 수단을 사용함으로써 서비스 거부 공격 방해; 소스(Source) 인증; 전송 중 소스 주소 또는 다른 헤더 정보의 비밀 유지; 요구되지 않은 가로채기로부터 패킷 페이로드 보호. 인터넷 보안을 제공하는 하나의 표준적인 모델은 IPSec(Internet Protocol Security suite)이다. IPSec은 인터넷에 연결된 장치 또는 인터넷에 연결된 사설 랜간의 통신 보안을 제공하기 위해 TCP/IP 통신 프로토콜과 함께 동작한다.
TCP/IP 프로토콜은 네트워크상에서 각 장치를 식별하는 IP(Internet Protocol) 주소를 사용한다. 범용의 IP 주소는 인터넷상의 어떠한 장치를 유일하게 식별한다. 이러한 장치는 컴퓨터, 프린터, 라우터, 스위치, 게이트웨이 또는 기타의 네트워크 장치들일 수 있다. 범용의 IP 주소를 가지는 장치는 인터넷상에서 직접 소스 또는 목적지가 될 수 있다. 그러나, TCP/IP 통신 프로토콜이 오직 인터넷에 제한되는 것은 아니고 사설 랜에도 이용될 수 있다. TCP/IP를 사용하는 사설 랜은 네트워크 장치에 대해 로컬 IP 주소를 많이 이용한다. 사설 랜의 두 장비가 같은 로컬 IP 주소를 공유하지는 않더라도, 사설 랜은 인터넷과 격리되어 있으며, 랜에 있는 로컬 장치를 인터넷으로부터 볼 수는 없다. 그러므로, 로컬 장치의 IP 주소는 범용의 독자적인 IP 주소일 필요가 없다. 로컬 IP 주소를 사용하는 랜은, 랜과 인터넷간의 메시지를 라우팅하고 필터링하는 장치인 게이트웨이(Gateway)를 통해 인터넷과 연결된다. 게이트웨이가 직접적으로 인터넷에 연결되고 인터넷에서 볼 수 있기 때문에, 게이트웨이는 인터넷을 통해 통신할 수 있는 범용의 독자적인 IP 주소가 있어야 한다. 그러나, 랜은 인터넷으로부터 직접적으로 보이기 않기 때문에, 랜에 있는 로컬 장치는 범용의 독자적인 IP 주소를 요구하지는 않는다.
TCP/IP는 인터넷에서 사용되는 통신 프로토콜이다. TCP/IP를 이용하여 통신할 정보는 "데이터그램(Datagram)"에 포함되어있다. 데이터그램은 하나 또는 그 이상의 헤더가 덧붙여진 정보의 불연속적인 패킷으로 구성된다. 헤더는 TCP/IP에 의해 패킷을 의도하는 목적지로 전송하고 전송 중에 적절한 처리를 보장하는데 필요한 정보를 포함한다. 각 데이터그램은 주소에 의해 지시할 수 있는 것이고, 접속 지향적인 TCP 데이터그램일 수 있으며 또는 접속이 유지되지 않는 UDP(User Datagram Protocol)일 수 있다. 각 UDP 데이터그램은 IP 헤더와 UDP 헤더를 포함한다. UDP 헤더가 소스와 목적지 서비스 주소(포트 주소, 번호로 주어짐)를 포함하는 반면에, IP 헤더는 최소한 "소스" IP 주소와 "목적지" IP 주소를 포함한다. IP 버전4 에서, IP 주소는 32비트의 길이를 가지며, 이제는 익숙한 xxx.xxx.xxx.xxx 형태로 결합된다. 이러한 형태에서, 각 세 개의 디지트 세그먼트(Segment)는 0부터 255를 나타내는 바이너리 옥텟(Octet)이다. 완전한 IP 주소는 로컬 네트워크 또는 네트워크 세그먼트와 네트워크상의 "노드"(장치)의 주소를 결합한다. 네트워크 또는 네트워크 세그먼트의 주소는 첫 번째 3,6 또는 9의 IP 주소 디지트를 포함할 수있다. 네트워크 또는 네트워크 세그먼트상의 장치는 네트워크 또는 네트워크 세그먼트 주소에서 사용되지 않고 남아있는 디지트로 구성되는 노드 어드레스에 의해 식별된다.
UDP 헤더에 포함되어 있고, "포트" 또는 "소켓" 등으로 알려진 소스와 목적지 서비스 주소는 16비트 넘버이며, 패킷을 수신중 도는 송신중인 장비에서 진행중인 의도한 프로세스로 전송한다. 여기서 사용되는 "포트" 또는 "포트 주소"라는 용어는 UDP 헤더에서 서비스 주소 필드를 말한다. 이론적으로 16비트 넘버로 구성될 수 있는 많은 주소가 있기는 하지만. 현실적으로 많은 포트 주소가 정해진 프로세스를 위해 예약되어 있다. 즉, 예를 들어, 포트 80은 HTTP를 위해 예약되어 있으며, 포트 20과 포트 21은 FTP를 위해 예약되어 있다. 포트 주소를 사용함으로써, 하나 이상의 프로세서를 구동하고 있는 장치로 도착한 데이터는 데이터가 의도하는 프로세스로 전달될 것이다. 로컬 호스트에서 진행하는 프로세스가 예약된 프로세스 중 하나가 아닐 경우, 로컬 호스트는 "소스" 프로세스를 식별하기 위해 예약되지 않은 포트 번호를 선택할 수 있다. "목적지"에서 그 포트 번호를 가리키는 응답 패킷이 프로세스로 전달될 것이다.
지난 10년간 인터넷 사용의 폭발적인 증감 및 앞으로의 계획된 성장에 비추어볼 때, 범용의 독자적인 IP 주소는 점차 고갈되고 있다. 사설 랜을 유지하는 많은 비즈니스는 랜 상의 각 컴퓨터와 장치가 범용의 독자적인 IP 주소를 가지게 할 필요가 없다. 어떠한 경우에, 많은 비즈니스는 컴퓨터 IP 주소에 대해 비밀이 유지되는 것을 선호한다. 각 로컬 장치에 범용의 독자적인 IP 주소를 줌으로써, 제한된범용 자원을 낭비하기보다, 많은 사설 랜은 랜 상의 장치에 로컬 IP 주소를 이용한다. 인터넷과의 연결을 제공하기 위해 그러한 랜은 랜과 인터넷을 분리하는 게이트웨이에 의해 인터넷에서 이용될 범용의 독자적인 주소를 사용한다.
네트워크 주소 변환(Network Address Translation : NAT) 기술을 이용함으로써, 랜과 인터넷을 분리하는 게이트웨이는 방화벽으로서 보안을 제공할 수 있고, 로컬 IP 주소를 가진 장비로 하여금 게이트웨이의 범용의 독자적인 IP 주소를 통해 인터넷에 액세스할 수 있도록 한다. 랜의 장치는 고정 IP 또는 유동 IP를 가질 수 있다. 게이트웨이는 랜에 있는 각 장치의 로컬 IP 주소에 대한 변환 테이블을 가지고 있다. 로컬 장비로부터 전송되고 인터넷이 목적지인 UDP 패킷은 IP와 UDP 헤더의 소스 필드에서 식별되는 로컬 IP 주소와 포트 주소를 가질 것이다. 게이트웨이는 로컬 장비로부터 패킷을 수신하고, IP와 UDP 헤더의 소스 필드를 게이트웨이의 범용의 독자적인 IP 주소 및 새로운 포트 주소(사용되지 않거나 예약되지 않은 포트 주소)로 대체한다. 그 후, 게이트웨이는 CRC(Cyclical Redundancy Check)를 갱신하고 데이터 보전을 위해 필요한 다른 어떤 변화를 수행하며, 그 후 패킷을 인터넷으로 전송한다. 프로세서의 일부로서, 게이트웨이는 장비에 의해 최초로 보고되는 소스 포트 주소를 가진 IP 주소와 인터넷에 구속된 패킷에 할당된 새로운 포트 주소 및 목적지 IP 주소를 상호 참조할 수 있도록 내부의 변환 테이블을 갱신한다. 인터넷으로부터 응답을 수신할 경우, 게이트웨이는 패킷 헤더에서 고유의 IP 주소를 인식하고 들어오는 패킷의 목적지 포트 주소를 조사한다. 만약 게이트웨이가 목적지 포트 주소를 내부의 테이블에서 발견하면, 게이트웨이는 패킷의 목적지 필드를 상호 참조된 로컬 장비의 IP 주소와 최초의 포트 주소로 대체하고, CRC와 다른 필요한 파라미터를 갱신하며, 패킷을 랜으로 전송한다. 랜에서 패킷은 로컬 장비로 수신되고 적절한 프로세스에 지정된다. 이러한 방법으로 랜에 있고 로컬 IP 주소만을 가지는 컴퓨터가 하나의 범용의 독자적인 IP주소를 통해 인터넷으로 통신을 할 수 있다.
NAT 게이트웨이가 인터넷으로부터 직접적인 랜 액세스에 대비한 방화벽 보안을 제공할지라도, 인터넷상에서 랜으로 전송중의 패킷의 변경이나 가로채기에 대한 보안을 제공하지는 못하며, 랜 내부에서 생기는 공격으로부터 신용을 보장하지 못한다. 그러므로, IPSec에 의해 제공되는 보안은 인터넷과 인터페이싱 중에 보안을 유지하여야 하는 랜의 보호를 위해 필요하다. 일반적으로 IPSec는 하나 이상의 메인 컴퓨팅 사이트와 하나 또는 그 이상의 격리된 LAN으로 구성되는 가상 사설 네트워킹(VPN)에 대한 보안을 제공한다. 고가의 사설 대여망을 대신하고 사이트간의 통신을 위한 고속의 매체인 인터넷을 통해 메인 사이트와 격리된 랜은 연결되어 있다. 전송 매체로서 인터넷을 사용할 경우의 문제점은 인터넷이 본래 안정적이지 못하고 해커에 의한 염탐, 감지, 속임수 또는 절취, 메시지의 변경 또는 전환에 대해 보호를 받지 못한다는 것이다. 따라서, 안전한 데이터 전송이 요구되는 포괄적인 보안 수단이 필요하다. IPSec 프로토콜은 데이터와 데이터 보전의 인증을 보장할 수 있는 보안 수단으로서의 요건을 충족시킨다.
IPSec 프로토콜은 다층의 OSI(Open Systems Interconnection) 네트워크 참조 모델의 네트워크 층에서의 보안을 수행한다. 이는 인터넷을 통해 정보를 전달하는UDP 데이터그램의 보안을 보장하도록 서로 연결되어 사용되는 다수의 분리된 프로토콜을 포함한다. IPSec에 따른 시스템의 기본적인 구조는 RFC2401, "인터넷 프로토콜을 위한 보안 구조(켄트, R.앳킨슨; 1998년 11월)"에 설명되어 있다. 인증 헤더(Authentication Header : AH) 프로토콜은 데이터 보전 및 소스 인증을 보장하고 서비스 거부 공격을 막는 "복사-금지(anti-repeat)"를 실시한다. ESP(Encapsulation Security Payload) 프로토콜은 인증 헤더와 유사한 보호 기능을 제공하나 페이로드 암호화라는 부가적인 특징이 있다. 인증 헤더와 ESP 헤더는 모두 보안 파라미터 인덱스(Security Parameter Index : SPI)를 위한 필드를 가지고 있다. 보안 파라미터 인덱스는 데이터그램에 대한 보안 조합(Security Association : SA)을 식별하는 32비트의 의사-랜덤(Pseudo-random) 값이다. 나아가, 이러한 프로토콜에 관계된 정보는 RFC1826 "IP 인증 헤더(R. 앳킨슨, 1995년 8월)" 및 RFC2406 "보안 페이로드를 캡슐화하는 IP(S. 켄트, R. 앳킨슨; 1995년 8월)"에서 찾을 수 있다.
ISAKMP/Oakley (Internet Security Association and Key Management Protocol, 일반적으로 인터넷 키 교환이라고 알려짐)는 두 호스트간의 보안 세션(Session)을 위한 파라미터를 설정하고 키 및 보안 세션을 실행하고 암호화된 데이터 전송을 허락하는데 사용되는 기타의 보안 정보의 교환을 제공하는 신호 변경(Handshaking) 프로토콜이다. ISAKMP/Oakley 프로토콜(이하 "ISAKMP"라 함)은 인증이 이루어지고 데이터 암호화를 위한 보안키가 발생되는 초기 데이터를 두 장비 모두에 제공하기 위해 암호화되지 않은 메시지의 초기 교환을 포함한다. 이러한 프로세서들에 관한 설명은 RFC2409, "인터넷 키 교환(D. 하킨스, D. 캐럴; 1998년 11월)"에서 찾을 수 있다. 보안 조합(SA)을 개설하기에 충분한 보안 파라미터가 호스트간에 교환되면, 그 후의 모든 전송은 동의된 프로토콜에 따라 암호화되고 전체적으로 인증된다. 그 시점에서 ISAKMP 프로토콜은 종료한다. 그 후의 어드레싱은 각 장비의 IP 주소와 그 세션을 위한 장비의 SPI에 기초한다. SPI는 한 세션 동안에 각 장비에 있어서 유일하다. 사설 랜을 위한 게이트웨이는 내부의 테이블을 유지한다. 상기 테이블에서, "SPI-in" 은 로컬 장비의 IP 주소와 상호 참조되고, "SPI-out"은 로컬 장비와 통신하고 있는 인터넷 장비의 IP 주소와 상호 참조된다. 각 장비의 SPI는 ISAKMP 전송중에 교환된 정보로부터 계산되고, UDP 패킷에 부가되는 인증 또는 ESP 헤더에 실린다. IPSec 프로토콜은 다양한 환경에서 보안을 제공할 수 있기 때문에, 하나의 데이터그램이 인증 헤더와 ESP 헤더를 모두 포함하고 헤더 정보를 암호화할 수 있다.
전술한 보안 프로토콜들 각각은 새로운 헤더 정보를 패킷에 부가하고, 사용되고 있는 프로토콜에 맞도록 패킷 내의 특정 필드를 변경하고, 어떤 경우에는 페이로드와 다른 패킷 헤더의 전부 또는 일부를 암호화함으로써 UDP를 변경한다. 따라서, IPSec하에서, UDP 데이터그램이 전송을 위해 보안이 보장되지 않은 네트워크를 통해 보안된 도메인을 출발할 경우, UDP 데이터그램은 일반적으로 IP 헤더, 인증 헤더 또는 ESP 헤더(또는 인증헤더와 ESP 헤더 모두) 및 캡슐화된 페이로드로 구성될 것이다. 헤더 정보는 데이터그램이 목적지에 도착하고 목적지 호스트에서 인증될 수 있도록 목적지 주소, SPI, 충분한 SA 정보를 포함한다. 페이로드의 캡슐화는 페이로드에 포함된 정보에 요구되지 않은 도청자나 해커가 진입하는 것을 막을 수 있도록 한다. 데이터그램에 대한 초기의 목적지 호스트는 라우터, 게이트웨이 또는 랜과 인터넷사이의 방화벽일 수 있다. 랜과 인터넷 사이의 경계에 있는 장치에 도착 시, 데이터그램은 열리고, 조사되거나 전부 또는 일부가 복호화되며, 상세한 주소 정보를 위해 분석되고, 랜의 로컬 IP 주소로 라우팅된다.
IPSec에 사용되는 ISAKMP 핸드쉐이킹(Handshaking) 프로토콜은 보안 세션을 설정하는 두 호스트간에 프로세스가 특정된 포트 주소(포트 500)를 초기의 메시지 교환을 위해 사용할 것을 요구한다. 이러한 이유로 인해, 포트 500은 ISAKMP 프로토콜에 독점적으로 사용되도록 할당되어 있다. 일반적으로 ISAKMP 프로토콜을 이용하여 보안 통신 파라미터에 대한 협상을 시도하는 컴퓨터는 엄밀히 각 컴퓨터의 포트 500을 통해 통신하여야 한다. 즉, 각 컴퓨터로부터의 ISAKMP 메시지는 소스 및 목적지 포트 주소로 포트 500을 식별하여야 한다. 만약 어떤 컴퓨터가 소스 및 목적지 주소로 포트 500이 특정되지 않은 패킷을 수신할 경우에, 그 패킷은 버려진다.
이 프로토콜이 두 호스트가 서로 통신을 하고 있다는 것을 보장하는 반면에, 어느 한 호스트가 로컬 IP 주소와 NAT 게이트웨이를 사용하고 있는 랜에 위치할 경우에는 사용할 수 없게 된다. 예를 들어, NAT 게이트웨이에 의해 보호되는 격리된 랜에서 로컬 IP 주소를 가진 호스트 A가 메인 오피스 컴퓨팅 사이트에 위치한 호스트 B와 보안 세션을 설정하고자 한다고 하자. 호스트 A는 암호화되지 않은 UDP 데이터그램을 호스트 B로 전송하고 목적지로 호스트 B의 IP 주소를 주며 목적지 포트주소로 포트 500을 줌으로써 프로토콜을 초기화한다. 그러나, 데이터그램이 격리된 랜을 인터넷에 연결하는 NAT 게이트웨이에 도착할 때, 게이트웨이는 목적지 포트 주소를 임의의 포트 번호로 변환할 것이다. 데이터그램이 호스트 B에 도착할 때, ISAKMP 프로토콜은 인식되지 않고, 호스트 B는 응답하지 않을 것이다. 컴퓨터들은 보안 세션을 설정하는데 실패한다. 이러한 어려움 때문에, 격리된 랜에 있는 각 컴퓨터가 범용의 IP 주소가 아닌 로컬 IP 주소를 사용할 경우, ISAKMP 프로토콜은 NAT 게이트웨이를 이용한 가상 사설 네트워킹(VPN)을 설정하는데 사용할 수 없다고 생각되어 왔다.
본 발명의 목적은 인터넷을 통신 매체로 사용하는 호스트 컴퓨터와 범용의 IP 주소를 사용하지 않는 컴퓨터간의 ISAKMP 프로토콜 인증 및 키 교환을 가능하도록 하는 게이트웨이를 제안하는 것이다.
본 발명의 또 다른 목적은 로컬 IP 주소를 사용하는 사설 랜의 어떠한 수의 컴퓨터라도 ISAKMP 프로토콜을 이용하여 인터넷을 경유해 메시지를 초기화하고 수신하도록 하는 게이트웨이를 제안하는 것이다.
본 발명의 또 다른 목적은 안전한 통신을 초기화하기 위해 ISAKMP 프로토콜을 이용하여 인터넷상의 두 개 이상의 랜 사이트간에 가상 사설 네트워킹을 사용하는 방법을 제안하는 것이다.
도 1은 로컬 IP 주소들을 이용하는 원격 랜에서의 가상 사설 망이 인터넷과 같은 외부 네트워크를 통하여 메인 컴퓨팅 사이트와 네트워크되어 있는 것을 도시한 것이다. 랜은 NAT 게이트웨이를 통하여 외부 네트워크에 연결되어 있다.
도 2는 인터넷으로 전송하기 위한 랜으로부터 수신한 UDP 데이터그램들을 프로세스하기 위해 본 발명의 게이트웨이에 의해 사용된 결정 차트를 도시한 것이다.
도 3은 랜 상의 장치로 전송을 위해 인터넷으로부터 수신한 UDP 데이터그램들을 프로세스하기 위해 본 발명의 게이트웨이에 의해 사용된 단계들의 결정 차트를 나타낸다.
도 4는 도 5, 도 6 및 도 7에 도시된 차트들에서의 참조를 위해 제공된 것이다. 도 4는 랜(L-1부터 L-3) 상의 로컬 장비들의 IP 주소들, 게이트웨이의 내부 및 외부 IP 주소들 및 외부 네트워크 상의 외부 장치들("타겟" T-1부터 T-3)의 IP 주소들을 포함하는 테이블이다.
도 5a 내지 도 5c는 랜(L-1, L-2,... ,L-X) 상의 장비들의 로컬 IP 주소들과, 외부 장치들(T-1부터 T-3)의 외부 IP 주소들을 암호화된 데이터그램들을 확인하는데 사용된 SPIs(보안 파라미터 인덱스들)과 상호 참조하는 게이트웨이의 내부 테이블로부터의 대표적인 필드들을 나타낸다. SPI-In이 랜 상에서 로컬 장비를 목적지로 하는 암호화된 데이터그램의 SPI를 나타내는 한편, SPI-Out은 인터넷 상의 장치들을 향해 게이트웨이를 떠나는 암호화된 데이터그램의 SPI를 나타낸다. 테이블의 각각의 뷰(view)(a), (b), (c)는 상이한 시점들에서 소스, 목적지, 및 SPI에 대한 헤더 값들을 반영한다. 변경 값들은 타겟 장비와 함께 하나의 로컬 장비에 의하여 새로운 세션의 개시를 의미한다.
도 6은 하나의 로컬 장비와 외부 네트워크 상의 하나의 장치 사이에서 교환된 데이터그램 헤더들 내의 대표적인 필드를 나타낸다. 헤더 값들은 본 발명의 게이트웨이에 의한 프로세싱을 거쳐 변경된다.
도 7은 본 발명의 게이트웨이에 의한 프로세싱을 거쳐 수정된 바와 같이, 랜 상의 3개 로컬 장비(L-1부터 L-3)과 외부 네트워크 상의 3개 타겟들(T-1부터 T-3) 사이에서 교환된 데이터그램 헤더들내의 대표적인 필드들을 나타낸다.
도 8은 데이터그램 프로세싱 기능과 타이머 사이에서 전달되는 신호들의 개략적인 다이어그램이다.
본 발명에 따르면, NAT 게이트웨이를 통하여 인터넷과 같은 외부 네트워크에연결되어 원격 랜상에서 로컬 IP 주소를 사용하는 컴퓨터는 키들을 교환하고, IPSec 하에서 보안 세션을 지원하는 SAs를 확립하기 위하여 ISAKMP 프로토콜을 사용할 것이다. non-ISAKMP 트래픽을 위하여, 게이트웨이는 일반적인 주소 변환을 수행한다. 그러나, 랜상에 장비는 ISAKMP 프로토콜 메시지가 발생할 때마다, 게이트웨이는 포트 500의 포트 주소를 포함하는 데이터그램을 확인한다. 이러한 데이터그램을 확인할 경우, 게이트웨이는 소스 IP 주소를 변환하지만, 소프 포트 주소는 변환하지 않고 포트 500에 남겨두고, 소스와 도착지 포트 주소 모두가 지정된 포트 500을 사용하여 인터넷에 패킷을 보낸다. 또한, 게이트웨이는 내부 테이블을 포트 500을 구속하기 위하여 업데이트하고, 그 구속을 미리 지정된 시간동안 목적지 장비의 외부 IP 주소와 연관시킨다. 미리 지정된 시간 내에 유효한 응답이 도착되지 않으면, 포트 500과 로컬 IP 주소 사이의 구속이 해제된다. 이러한 특징은 예를들어, ISAKMP 프로토콜 전송이 정확하지 않은 목적지 IP 주소에 초기화되어진 경우에, 포트 500이 막연히 구속되어 있지 않는다는 것을 보증하는데 필요하다. 이러한 조건하에서 게이트웨이는 유효한 응답을 결코 수신하지 않을 것이다. 유효한 응답이 수신되지 않는 기간이 경과한 후에 포트 500을 해제하기 위한 타이머가 없다면, 그 포트는 게이트웨이가 리셋될 때까지, 로컬 IP 주소에 구속되어 있을 것이다. 대부분의 경우에 있어서, 2초 동안의 시간은 유효한 응답을 기다리기 위해 포트 500과 로컬 IP 주소 사이의 구속을 유지하기 위한 충분한 시간일 것이다.
포트 500이 로컬 IP 주소에 구속되어 있는 시간 동안, 유효한 응답을 대기하면서, 게이트웨이는 포트 500 포트 주소를 가지고 있지 않는 데이터그램의 통상적인 데이터그램 처리를 진행할 것이다. 유효한 응답은 포트 500에 관계된 외부 IP 주소와 같은 소스 IP 주소를 가지고 있는 데이터그램이고, 소스와 목적지 포트 주소가 모두 포트 500이다. 유효한 응답을 기다리는 동안 게이트웨이는 포트 500 소스와 목적지 포트 주소를 가지고 있는 외부 네트워크로부터의 다른 UDP 데이터그램들을 무시하지만, 적절한 소스 IP 주소의 경우에는 그러하지 아니하다. 또한, 포트 500이 로컬 IP 주소를 구속하는 동안, 포트 500의 소스와 목적지 포트 주소를 가지고 있는 랜으로부터 수신된 데이터그램에 대해서는 포트 500 소스 포트 주소가 임의로 변환되고, 외부 네트워크에 보내지기 전에 포 사용하지 않는 포트 주소가 되는 일반 주소 변환이 진행된다. 이러한 데이터그램은 포트 500의 소스와 목적지 포트 주소를 가지고 있지 않기 때문에, 유효한 ISAKMP 데이터그램이 아니며, IP 목적지에 도착이 되면 무시될 것이다. 만약, 포트 500을 로컬 IP 주소에 구속하는 기간이 게이트웨이에 유효한 데이터그램이 수신되지 않고 종료되면, 구속은 해제되고 포트 500은 포트 500 소스와 목적지 포트 주소를 가지고 있는 다음 데이터그램에 의해 사용 가능하게 될 것이다.
포트 500이 구속되는 동안, 포트 500의 소스와 목적지 포트 주소 및 정확한 소스 IP 주소를 가진 유효한 응답 데이터그램을 수신할 경우, 게이트웨이는 로컬 장비의 IP 주소를 데이터그램 헤더의 목적지 IP 주소 필드로 대체하면서 데이터그램을 처리하고, 로컬 장비로의 전송을 위해 랜을 통하여 데이터그램을 전송할 것이다. 데이터그램이 게이트웨이를 떠날 때, 게이트웨이는 로컬 IP 주소와 포트 500 사이의 구속을 해제할 것이고 통상적인 데이터그램 프로세싱을 재개할 것이다.
만약, 적절한 소스 IP 주소와 포트 500의 포트 주소들을 가진 응답이 외부 네트워크로부터 수신되지 않으면, 게이트웨이는 기설정된 짧은 시간이 지난 후에 타임아웃될 것이다. 만약 게이트웨이가 유효한 응답을 수신하기 전에 타임아웃이 된다면, ISAKMP 메시지 변환은 완전히 이루어질 수 없고, 재 초기화되어야만 한다.
ISAKMP 프로토콜이 완전히 이루어지고, 부호화된 보안 세션이 진행중일 경우, 게이트웨이는 입력 및 출력 데이터그램들의 ESP 헤더 내부에 있는 SPI를 참조함으로써 로컬 주소 변환을 수행한다. 또한, 게이트웨이는 각각의 패킷 형식(ESP 패킷을 위한 형식 50)이 게이트웨이를 통해 패스되는 데이터그램에 대해 정확하다는 것을 보장할 것이다. 때때로, VPN을 통한 보안 세션은 방해를 받거나, 새로운 세션이 시작되어진다. 이러한 경우에 대한 게이트웨이의 첫 번째 조치는 IP 주소는 인식되나 목적지와 관계된 SPI는 내부 테이블에 나타나지 않는 형태 50 데이터그램의 수신일 것이다. 이러한 경우가 발생할 때, 게이트웨이는 새로운 SPI를 사용하는 목적지 IP 주소에 데이터그램을 전송하고, 또한 목적지 SPI 값(전송 방향에 따라SPI-in 또는 SPI-out)을 게이트웨이의 새로운 테이블에 설정하며, 소스의 SPI 값을 0으로 설정한다. 전송에 대한 응답을 수신할 경우, 게이트웨이는 SPI 필드 테이블에 있는 0을 목적지 IP 주소를 위한 새로운 SPI로 대체한다.
본 발명에 따른 게이트웨이는 메시지를 부호화 또는 복호화 하지 않고, 수신 장비의 프로세싱을 위한 랜 또는 인터넷을 통하여 부호화 또는 복호화되어진 페이로드를 단순히 전송하기 때문에, 집중적인 프로세싱 기능을 요구하지 않고, 비용과 설정의 단순함이 및 유지보수가 중요한 사설 랜에 사용될 것이다.
도 1에서는 사설 랜(10)이 인터넷(50)에 위치한 컴퓨팅 사이트(30)에 연결된 가상 사설 네트워크(VPN)가 도시되어 있다. 랜(10)은 로컬 IP 주소들을 사용하고 본 발명인 네트워크 주소 변환 (NAT) 게이트웨이(20)를 통하여 인터넷에 연결되어 있다. 컴퓨팅 사이트(30)는 비즈니스 본부들, 또는 다국적 단체에 의해 사용되는 많은 수의 사설 네트워크들중 하나, 교육기관, 원격지로부터 자주 액세스되는 다른 어떤 사이트이다. 그런 사이트들은 일반적으로 부호화나 다른 보안 응용을 수행할 수 있는 방화벽이나 게이트웨이(35)를 갖는다. 그런 게이트웨이는 패킷을 열거나, 그것의 컨텐츠를 액세스하거나, 복호화하는 능력을 가지고, 주소 변환, 라우팅, 비캡슐화 그리고 데이터 취급 기능들을 수행한다. 이러한 장치들이 ISAKMP와 다른 IPSec 프로토콜들을 지지할 수 있는 한, 그런 장치들이 패킷을 열고 복호화하고 데이터를 취급함으로써 그렇게 지지하고, 그런 장치들은 메인 컴퓨팅 사이트와 더불어 VPN을 설정하는데 필요로 하는 원격 랜 사이트들 상에서 효과적으로 적용하기에는 너무 비싸고 전력소모가 크다.
메인 사이트의 서버(40)는 VPN 서버 소프트웨어를 실행한다. 원격 사이트의 컴퓨터들(15) 각각은 컴퓨터상의 IPSec 보안 프로토콜들을 실행하는 VPN 클라이언트 소프트웨어를 각각 실행한다.
랜(10)상의 컴퓨터(15)는 컴퓨팅 사이트(30)의 서버(40)에게 IP 데이터그램을 전송함으로써 게이트웨이(20)를 통해 인터넷 상에서 또는 인터넷을 경유하여 통신한다.
게이트웨이(20)에서 수신한 데이터그램들은 도 2와 도 3에 도시된 결정 차트들에 따라 프로세스된다. 도 2와 도 3의 플로우 차트가 프로세싱 단계들과 상기 단계들을 위한 순서를 나타내고 있을지라도, 일부 기능들을 수행하기 위한 순서가 엄격하지 않고, 일부 단계들은 궁극적인 결과에 영향을 주지 않으며 상기 플로우차트에 도시된 것 이외의 순서로 수행될 수 있다. 예를 들어, 도 2와 도 3은 데이터그램이 게이트웨이에 의해 수신된 후의 첫 번째 스텝이 데이터그램 타입을 결정하는 스텝이고, 마지막 스텝이 데이터그램이 게이트웨이를 통해 전송되기 전에 필요한 IP 주소 변환을 수행하는 스텝을 나타낸다. 하지만, 몇몇 실시예들은 어드레스 변환의 스텝을 프로세스내의 초반의 일부 포인트에 배치하는데, 이는 프로세스의 결과에 영향을 미치지 않는다. IP 주소를 변환하는 순서는 전반적인 프로세스에 있어서 결정적이지 않기 때문에 그 변환이 이루어져야만 하는 시점의 결정은 공학적인 선택의 사안이다.
도 2에 도시된 바와 같이, 랜으로부터 데이터그램을 수신함에 따라, 게이트웨이는 데이터그램이 암호화되어 있는지 아닌지를 보기 위하여 체크한다. 이는 랜이 취급하는 데이터그램의 형식을 결정하기 위해서 그리고 데이터그램이 암호화되어져 있는지 아닌지를 보기 위해 IP 헤더 내의 다음의 헤더 필드를 체크함으로써 수행된다. ESP(50)의 데이터그램 형식은 데이터그램이 암호화되어있고 포트 주소 정보가 사용 가능하지 않음을 나타낸다.
도 2의 결정 트리를 계속 통과하면서 만약 데이터그램이 암호화되어 있다면 게이트웨이는 그것이 게이트웨이 내부 테이블의 SPI-Out 필드내에 나타나 있는지 아닌지를 보기 위하여 데이터그램의 SPI를 체크한다. 그런 테이블로부터의 대표적인 필드들이 도 5a 내지 도 5c에 도시되어 있다. 만약 데이터그램의 SPI가 내부 테이블의 SPI-Out 필드에 발견된다면, 게이트웨이는 데이터그램의 소스 IP 주소를 게이트웨이의 외부 IP 주소가 되도록 변경하고, 외부 장치로 전송하기 위한 외부 네트워크로 데이터그램을 전송한다.
데이터그램이 암호화되어 있고, SPI가 게이트웨이의 내부 테이블에 나타나지 않는다면, 도 2의 결정 차트에 따라 게이트웨이는 데이터그램이 새로운 세션을 초기화하고 있다고 가정한다. 이러한 경우에 게이트웨이는 내부 테이블의 SPI-In 필드를 제로(0)로 설정하고, SPI-Out을 데이터그램으로부터의 새로운 SPI로 설정한다.
이러한, 내부 테이블에 대한 변경들은 도 5a와 도 5b에 반영되어 있는데, 도 5a에서 게이트웨이의 내부 테이블의 SPI-Out 필드에 나타나지 않은 새로운 SPI(14662)는 도 5b에서 SPI-Out 필드에 입력되고, SPI-In이 제로(0)로 설정되도록 도시되어 있다. 암호화된 데이터그램은 이후 소스 IP 주소가 로컬 장치의 IP 주소로부터 게이트웨이의 외부 IP 주소로 변환된 후에 외부 게이트웨이로 전송된다. 이러한 단계들은 도 5b와 도 5c에서 도시되어 있다.
도 2의 결정 차트를 계속 진행하면서 데이터그램이 암호화되지 않았다면, 게이트웨이는 데이터그램의 목적지 포트 주소를 체크한다. 만약 포트 주소가 포트 500을 제외하고 다른 어떤 포트라면, 게이트웨이는 로컬 소스 IP 주소와 상호 참조하여 내부 테이블에 소스 포트 주소를 입력하고, IP 헤더의 소스 주소 필드로 사용하지 않은 임의의 포트 주소를 대체한다. 또한, (로컬) 소스 IP 주소에 상호 참조된 내부 테이블에 새로운 포트 주소를 입력한다. 포트 주소로서 포트 500을 가지고 있지 않는 복호화된 데이터그램들을 위해 사용하는 이런 프로세스는 랜 상에서 발생하는 데이터그램들에 대해 '일반적인 주소 변환'으로 불려진다. 이러한 변환들은 도 6의 1,2번째 줄에 도시되어 있다. 상기 데이터그램은 목적지 IP 주소로 라우팅하기 위한 인터넷으로 보내진다. 도 2에서는 입력되는 데이터그램의 소스와 목적지 포트 주소들이 포트 500이고, 게이트웨이는 포트 500이 이미 IP 주소에 구속되어 있는 지를 보기 위하여 테이블들을 체크한다. 만약, 포트 500이 구속되어있지 않다면, 게이트웨이가 데이터그램의 (로컬) 소스 IP 주소에 포트 500을 구속하고, 포트와 외부 목적지 IP 주소 결합을 생성시킬 것이며, 내부 타이머를 시작하기 위한 신호를 전송한다. 또한, 게이트웨이는 소스 IP 주소 필드내의 로컬 IP 주소를 대신해 게이트웨이의 외부 IP 주소를 사용함으로써 데이터그램을 처리한다. 그러나, 소스 포트 주소를 변환하지 않는다. 소스 포트 주소의 일반적인 변환을 보류함으로써 게이트웨이는 타겟 장비가 데이터그램을 ISAKMP 데이터그램으로 인식할 수 있다는 것을 보증한다. 이러한 단계들은 도 6의 5,6번째 줄에서 나타나 있다.
도 2에서, 만약 랜으로부터 입력되는 데이터그램이 포트 500의 소스와 목적지 포트 주소를 가지고 있으나, 포트 500이 이미 다른 어떤 로컬 IP 주소에 구속되어 있으면, 게이트웨이는 이후 프로세스되는 메시지를 위해 포트 500을 구속할 수 없다. 그러한 경우, 만약 ISAKMP 데이터그램이 아니라도, 게이트웨이는 데이터그램을 일반적으로 프로세스한다. 즉, 데이터그램의 소스 포트 주소를 임의의 숫자로 변환하고, 소스 IP 주소를 게이트웨이의 외부 IP 주소로 변환한다. 게이트웨이는인터넷에 데이터그램을 보내는데, 상기 데이터그램이 ISAKMP 데이터그램에 일치하지 않기 때문에 타겟에 의해 거절된다. 이러한 경우는 도 7의 15,16번째 줄에 표시되어 있다.
도 3에서, 인터넷으로부터 수신한 프로세싱 데이터그램들에서 게이트웨이가 따르는 단계들을 개략화한 결정 차트가 도시되어 있다. 데이터그램을 수신한 후, 게이트웨이는 데이터그램의 형식을 먼저 체크하고, 만약 데이터그램이 암호화되어 있다면, 데이터그램의 내부 테이블에 SPI가 나타나는지 아닌지를 체크한다. 만약, SPI가 인식되었다면, 그것의 목적지 IP 주소는 로컬 장치의 IP 주소가 되도록 변환되고, 데이터그램은 로컬 장치로 전달되기 위한 랜으로 전송된다. 만약, SPI가 인식되지 않으면, 게이트웨이는 데이터그램의 소스 IP 주소에 해당하는 SPI-In이 제로(0)인지 아닌지를 확인하기 위하여 체크를 한다. 만약, SPI-In이 제로(0)이면, 게이트웨이는 데이터그램이 새로운 세션의 첫 번째 응답인 것으로 여기고, SPI-In 필드내의 제로(0)를 데이터그램의 SPI-In으로 대체한다. 게이트웨이는 이후, 목적지 IP 주소를 랜 상의 장치의 로컬 IP 주소가 되도록 변환하고, 전송을 위해 랜으로 데이터그램을 전송한다. 이러한 경우가 도 5b와 도 5c에 도시되어 있다. 도 5b에 있어서, 로컬 장비 L-1을 위한 SPI-In은 제로로 설정되어 있다. 게이트웨이가 3288의 SPI를 가지고 있는 인터넷으로부터 데이터그램을 수신할 때, 게이트웨이는 SPI-In 필드내에 SPI를 발견하지 못한다. 게이트웨이는 다음에 SPI-In 필드가 제로(0) 라는 값을 유지하고 있는지 아닌지를 확인하기 위하여 다음을 체크할 것이다. 로컬 장비 L-1에 대한 SPI-In이 제로(0)라고 결정되면, 게이트웨이는 제로(0)를 데이터그램(3288)의 SPI로 대체하고, 랜에 데이터그램을 전송한다. 이는 도 5c에 도시되어 있다.
도 3에서, 만약 인터넷으로부터 데이터그램이 암호화되어 있지 않다면, 게이트웨이는 데이터그램이 500의 포트 주소를 가지고 있는지 아닌지를 확인한다. 만약, 그렇지 않다면, 데이터그램에 대해서 랜 상의 장치의 로컬 포트 주소와 로컬 IP 주소가 데이터그램의 목적지 필드들에 대체되는 것을 의미하는, 외부 네트워크로부터의 데이터그램을 위한 일반적인 주소 변환이 수행될 것이고, 데이터그램은 전송을 위해 랜으로 전송된다. 인터넷으로부터의 데이터그램에 대한 일반적인 주소 변환은 도 6의 3,4번째 줄에 도시되어 있다.
도 3을 다시 참조하여, 만약 데이터그램이 500의 포트 주소를 가지고 있다면 게이트웨이는 다음으로 포트 500이 로컬 IP 주소에 구속되어 있는지 아닌지 그리고 데이터그램의 (외부) 소스 IP 주소와 연관되어 있는지 아닌지를 체크해야만 한다. 만약 그렇다면, 데이터그램은 유효하고, 목적지 IP 주소가 외부 게이트웨이의 IP 주소로부터 로컬 장치의 IP 주소로 변환된 후에 랜으로 전송된다. 데이터그램을 랜으로 전송하면, 게이트웨이는 포트 500을 해제한다. 이러한 경우는 도 6의 7-8번째 줄에 나타나 있다.
만약, 도 3에서 포트 500이 로컬 IP 주소에 구속되어 있고, 데이터그램의 소스 IP 주소 내에 발견된 것 이외의 외부 IP 주소에 연관되어 있다면, 데이터그램은 유효하지 않고 게이트웨이에 의하여 더 이상 프로세스되지 않는다. 이러한 경우는 도 7의 25-31번째 줄에 도시되어 있다. 25,26번째 줄에서는 로컬 장비(L-1)가ISAKMP 데이터그램을 타겟(T-1)으로 전송한다. 이 때, 포트 500가 로컬 장비(L-1)의 IP 주소에 구속되고, 타겟(T-1)의 IP 주소와 연관된다. 그러나, 도 7에 도시된 바와 같이, 타이머의 타임아웃은 타겟(T-1)으로부터 게이트웨이에 수신되기 전에 종료하고, 27번째 줄에서 포트 500이 해제된다. 28,29번째 줄에서는 로컬 장비(L-3)의 IP 주소에 포트 500을 구속하고 타겟(T-3)의 IP 주소와의 연관을 생성하며, 로컬 장비(L-3)이 타겟(T-3)에 ISAKMP 데이터그램을 전송한다. 포트 500이 구속되어 있는 동안, 응답이 타겟(T-1)으로부터 수신된다. 그러나, 포트 500이 구속되고 타겟(T-3)의 IP 주소와 관계가 있기 때문에 타겟(T-1)으로부터의 응답은 버려진다. 이는 도 7의 30,31번째 줄에 나타나 있다.
도 5a 내지 도 5c는 IP 주소들과 인터넷상의 로컬 컴퓨터들과 타겟들 사이의 암호화된 통신을 위한 SPI 숫자들을 보유하고 있는 게이트웨이의 내부 테이블을 나타내고 있다. (L-1), (L-2), ...,(L-x)와 (T-1) 내지 (T-3)를 위한 필드들은 참조의 편의상 포함되어 있고, 게이트웨이의 내부 테이블들에는 나타나 있지 않다. 도 5에서는 SPI-Out 필드가 랜 상의 특정한 컴퓨터의 보안 세션 동안에 각각의 타겟 장비를 위한 SPI를 유지한다. SPI-In 필드는 유효한 데이터그램을 나타내는 것으로 로컬 컴퓨터에 의하여 인식되어지는 해당 SPI를 제공한다. 도 5a는 초기 시점에서의 테이블을 나타낸다. 8개 로컬 컴퓨터들은 테이블 데이터의 수명 동안에 3개 타겟(T-1 내지 T-3)과 함께 암호화된 세션들에 참여했다. 이는 각 로컬 장비가 IP 주소에 관계된 SPI-In을 나타낸다는 사실에 의해서 나타난다. 비록 단지 3개 타겟들이 테이블에 도시되어 있지만, 각 타겟이 각 로컬 장비와 통신하기 위한 다른 SPI-Out을 사용하고 있다는 것을 주지하여야 한다. 이러한 방식으로, 타겟은 어느 소스로부터 암호화된 데이터그램소스가 생성되어져 있는 가를 알게 된다.
도 5b는 도 5a와 같이 동일한 로컬과 타겟 컴퓨터들을 나타낸다. 하지만, 여기서는, (L-1)과 (T-1) 사이의 세션을 위한 SPI-Out이 컴퓨터들 사이의 새로운 세션을 나타내는 새로운 SPI이다. 새로운 세션이 발생함을 나타내는 게이트웨이의 첫 번째 조치는 테이블에 없는 SPI("14662")을 갖는 랜으로부터 암호화된 데이터그램의 수신이다. 게이트웨이는 인터넷에 데이터그램을 전달하고, 데이터그램을 위한 소스와 목적지 IP 주소들에 관계된 SPI-Out 필드에 새로운 SPI를 배치하기 위해 테이블을 변경한다. 새로운 SPI-In이 기대되는 것을 표시하기 위한 표시자로서 SPI-In 필드에 제로를 배치한다. 도 5c는 새로운 SPI("3288")이 (T-1)으로부터 수신된 데이터그램에 포함되어 있는 것을 나타낸다. 상기 SPI는 게이트웨이의 SPI-In 필드내에 입력되고, 이 세션동안에 (L-1)과 (T-1) 사이의 통신이 그들의 메시지들을 확인하기 위해 SPI들을 사용한다.
도 6은 인터넷상의 원격 타겟과 통신하는 랜 상의 단일 컴퓨터에 의하여 본 발명의 게이트웨이를 통과하는 대표적인 데이터그램의 흐름을 나타낸다. 차트의 각 행은 게이트웨이와의 랜 인터페이스나 게이트웨이와의 인터넷 인터페이스에서의 데이터그램의 정보를 나타낸다. 연속적인 행들은 일측으로부터 게이트웨이에 입력하고, 타측으로부터 게이트웨이를 떠나는 데이터를 나타낸다. 게이트웨이는 랜과의 인터페이스에서 로컬 IP 주소이고, 인터넷과의 인터페이스에서 범용 IP 주소인 하나의 IP 주소를 가지고 있다. 도 6의 열은 데이터그램이 경유하는 게이트웨이의 사이드와 데이터그램의 형태, 데이터그램의 소스 IP 주소와 포트 주소, 데이터그램의 목적지 IP 주소와 포트 주소, ESP 프로토콜을 이용하는 타입(50)의 암호화된 데이터그램들을 위한 데이터그램의 보안 파라미터 인덱스를 나타낸다.
도 6의 1번째 줄은 게이트웨이의 로컬 인터페이스에 도착하고, 로컬 컴퓨터(L-1)에 해당하는 소스 IP 주소와, 인터넷 상의 타겟(T-1)의 목적지 IP 주소를 가지고 있는 UDP 데이터그램을 나타낸다. 읽기의 용이함을 위해 도 4는 로컬 목적지들(L-1 내지 L-3)과 타겟 목적지들(T-1 내지 T-3)에 교차 참조되는 IP 주소들의 테이블을 제공한다. (L-1)을 위한 소스 포트 주소가 포트 6404이고 타겟의 목적지 포트는 포트 80이다. 데이터그램이 암호화되지 않고, 500의 포트 번호를 나타내지 않기 때문에, 데이터그램은 임의의 포트 주소, 포트 10425를 소스 포트 주소 필드로 대체하고 게이트웨이의 외부 IP 주소가 데이터그램의 소스 IP 주소로 대신하는 일반적인 변환이 진행된다. 비록, 변환된 소스 포트 주소는 임의적이라고 하더라도, 일반적으로 게이트웨이에 의하여 유지되는 현재 사용하지 않고 예약하지 않은 포트 주소들의 풀(pool)로부터 얻어진 연속적인 것들이다.
도 6의 2번째 줄에서와 같이, 데이터그램이 게이트웨이를 벗어날 때, 게이트웨이의 주소 변환 기능은 게이트웨이의 외부 IP 주소를 소스 IP 주소를 위한 데이터그램 헤더로 대체하고, 소스 포트에 임의의 번호를 부여한다. 3,4번째 줄은 타겟으로부터의 응답 데이터그램을 나타낸다. 3번째 줄에서는 타겟으로부터의 UDP 데이터그램이 게이트웨이의 외부 IP 주소인 목적지 IP 주소와, 게이트웨이에 의해 임의로 지정된 포트 주소인 목적지 포트를 나타낸다. 데이터그램이 암호화되지 않고500의 포트 주소를 가지고 있지 않기 때문에 데이터그램에 대해 목적지 포트 주소와 IP 주소의 일반적인 변환을 겪게되고, 이어 랜으로 전송된다. 4번재 줄에서는 게이트웨이가 랜으로 데이터그램을 전송하기 전에 로컬 컴퓨터의 로컬 IP 주소와 포트 주소를 헤더의 목적지 필드안에 대신한다.
도 6의 5번째 줄에서 로컬 컴퓨터는 타겟의 ISAKMP 프로토콜을 초기화한다. 데이터그램 형태는 ISAKMP로서 나타난다. 소스와 목적지 포트 주소는 포트 500이다. 게이트웨이가 목적지 포트 주소가 포트 500이라고 결정할 때, 포트 500이 현재 어떤 IP 주소에 구속되어 있는지 아니지를 확인한다. 그렇지 않으면, 게이트웨이는 소스 포트 주소를 변환하지 않은 채 게이트웨이의 외부 IP 주소를 보이기 위한 소스 IP 주소 필드를 변환한 데이터그램을 전송한다.
도 6의 5-16번째 줄에서는 전적으로 암호화되고 증명된 데이터그램들을 지원하기 위한 보안 조합들(SAs)을 확립하는데 필요한 6개 표준 ISAKMP 핸드쉐이킹 데이터그램 변경을 나타낸다. 비록, ISAKMP의 일부 모드들이 적은 교환을 사용하지만, 메인 모드는 도 6에 나타나 있다. 보안 조합들(SAs)의 확립에 뒤이어, 로컬 컴퓨터와 타겟이 ESP 프로토콜 암호화된 데이터그램들을 사용하여 통신을 시작한다. 여기서, 데이터그램 유효성은 데이터그램의 헤더의 SPI 필드내의 보안 파라미터 인덱스(SPI) 숫자들의 사용을 통하여 유지된다. 각 호스트는 SPI에 주소로 된 데이터그램을 인식하는데, 이는 계속적인 보안을 보장하는데 필요로서 호스트들의 상호 동의에 의해 한 세션동안 변경될 수 있다. 도 6의 17,18번째 줄에 도시된 바와 같이, 암호화된 데이터그램이 게이트웨이를 통해 전송될 때, 비록 데이터그램의 소스IP 주소가 게이트웨이의 외부 IP 주소로 변환된다고 할지라도 소스나 목적지 SPI 게이트웨이에 의해 변경되지 않는다. 따라서, 암호화된 데이터그램이 게이트웨이에 의해 수신될 때, 형태 50의 데이터그램에 의해 나타난다. 데이터그램의 형태를 볼 때, 게이트웨이는 SPI가 내부 테이블내에 기록되어 있는지 않은지를 알아보기 위해 데이터그램의 보안 파라미터 인덱스(SPI)를 체크한다. 만약, 그렇다면, 게이트웨이는 데이터그램의 소스나 목적지 IP 주소를 적합하게 변환하고, 전송의 방향에 따라, 랜이나 인터넷으로 데이터그램을 전송한다. 하지만, 만약 랜으로부터 데이터그램의 SPI가 게이트웨이의 내부 테이블에 나타나지 않는다면, 그리고 소스나 목적지가 IP 주소들을 인지한다면 게이트웨이는 새로운 세션이 시작된 것으로 여긴다. 이러한 경우, 게이트웨이는 새로운 SPI를 그대로 두나 인터넷 테이블의 SPI-Out 필드에 새로운 SPI를 기록하고, SPI-In 필드에 제로(0)를 대체하는 데이터그램을 외부 네트워크로 전송한다. 행(25),(26)에서는 새로운 SPI가 나타나는, 즉 새로운 세션을 의미하는 것을 도시되어 있다. 이러한 경우는 도 5b에 해당하는데, "SPI-In" 필드의 0는 14662의 새로운 SPI-Out에 해당한다. 행(27),(28)에서는 외부 네트워크로부터의 응답 패킷은 "이전의" "SPI 9802"가 "새로운" SPI 3288"로 대치되었음을 나타낸다.
도 7은 본 발명의 게이트웨이를 거쳐 랜 상의 3개 컴퓨터들(L-1), (L-2), (L-3)과 범용의 독자적인 IP 주소들을 갖는 인터넷 상의 3개 타겟들(T1), (T2), (T3) 사이에서 데이터그램 전송을 나타낸 것을 제외하면 도 6과 유사하다. 도 4에는 참조의 편의상 이들 장치들의 IP 주소들을 포함하는 테이블이 주어져 있다. 도7에 도시된 바와 같이, "L-1 Out"으로 명기된 송신은 로컬 컴퓨터(L-1)에서 게이트웨이로의 송신을 나타낸다. "T-1 In"은 게이트웨이에서 타겟(T-1)으로의 송신을 나타낸다. "T-1 Out"은 타겟(T-1)에서 게이트웨이로의 송신을 나타내고, "L-1 In"은 게이트웨이에서 컴퓨터(L-1)로의 송신을 나타낸다.
도 7의 1-8번째 줄에 도시된 바와 같이, 컴퓨터들(L-1), (L-2)이 타겟들(T-1), (T-2)과 "in the clear" 통신을 한다. 9번째 줄에서 컴퓨터(L-1)가 타겟(T-1)과 ISAKMP 세션을 시작한다. 8-14번째 줄에서는 ISAKMP 프로토콜 동안에 컴퓨터(L-1)와 타겟(T-1) 사이에서 교환된 첫 번째 3개 메시지를 나타낸다. 15번재 줄에서 컴퓨터(L-3)가 타겟(T-3)과 ISAKMP-1 메시지 교환을 시작한다. 하지만, 이때, 포트 500이 컴퓨터(L-1)에 구속되고 타겟(T-1)의 IP 주소와 연결되어 타겟(T-1)으로부터 ISAKMP-4 응답을 기다린다. 이러한 상태에서는 컴퓨터(L-3)로부터의 데이터그램이 포트500에 구속될 수 없고, 소스 포트 주소가 변환된다. 이 자체만으로 컴퓨터(L-3)가 15번째 줄에서 시작된 송신을 완료할 수 없게 된다.
이 후, 17-18번째 줄에서 타겟(T-1)의 ISAKMP-4 응답이 게이트웨이에서 수신되어 컴퓨터(L-1)로 전송되고, 포트 500이 즉시 가용상태로 된다. 따라서, 컴퓨터(L-3)가 19번째 줄에서 ISAKMP-1 송신을 재시도할 때, 송신이 성공적으로 이루어진다.
도 7의 19-20번째 줄에서 컴퓨터(L-3)의 ISAKMP-1 송신이 포트 500을 컴퓨터(L-3)의 IP 주소에 구속한다. 따라서, 컴퓨터(L-1)가 ISAKMP-5 송신을 시도할 때, 21-22번째 줄에서 포트 500을 사용할 수 없게 되고, 게이트웨이는 단지 포트 500에서 임의의 포트번호(이 경우에서는, 9063)로 목적지 포트 주소를 변환하고 데이터그램을 인터넷으로 송신하는데, 타겟(T-1)이 이를 ISAKMP 데이터그램으로 인식하지는 못한다. 하지만, 컴퓨터(L-3)가 포트 500을 해제한 후 23-24번째 줄에서 ISAKMP-5 송신을 보내는 컴퓨터(L-1)의 다음 시도가 타겟(T-1)에 의해 성공적으로 수신된다. 하지만, 타겟(T-1)의 응답이 느리고, 27번째 줄에서 포트(500)가 컴퓨터(L-1)에 대한 구속으로부터 해제되고, 28-29번째 줄에서 ISAKMP-3 송신을 위한 컴퓨터(L-3)에 의해 즉각적으로 잡혀진다. 따라서, 타겟(T-1)의 ISAKMP-6 응답이 게이트웨이에 도달할 때, 30-31번째 줄에서 도시된 바와 같이, 포트 500이 차단되고, 데이터그램이 무시된다. 이 후, ISAKMP-5 메시지에 대한 응답을 수신하지 못한 컴퓨터(L-1)가 34-35번째 줄에서 이를 재송신하고, 타겟(T-1)으로부터의 응답이 36-37번째 줄에서 수신된다. ISAKMP 핸드쉐이킹에 따르면, 컴퓨터(L-1)와 타겟(T-1)이 38-39번째 줄 및 42-43번째 줄에서 ESP 프로토콜을 사용하여 안전하게 통신할 수 있다.
도 7의 38-57번째 줄은 다수의 로컬 컴퓨터들과 타겟들 사이에서 게이트웨이의 다양한 데이터그램 처리를 나타낸다. UDP 데이터그램은 40-41번째 줄에 나타나 있고, ESP 데이터그램은 42-43번째 줄, 52-53번째 줄에 나타나 있고, 44-45번째 줄에는 ISAKMP 데이터그램이 나타나 있다. 도 7의 차트가 각 장치들에 대한 상이한 IP 주소들을 나타내는 한편, 실제로 다수의 프로세스들이 동일한 장치에서 진행되는 경우가 발생할 수도 있다. 게이트웨이에 의한 독창적인 소스 포트들의 대체와, 암호화된 송신을 차별화하는 SPI의 사용은 하나의 장비에서 진행중인 다중 프로세스들로부터 출력되는 데이터그램이 잘못 지정되지 않도록 보장하여 준다
도 8은 데이터 프로세싱 회로(100)와 타이머(110) 사이에서 신호의 초기화 및 전송을 나타낸다. IP 주소에 구속될 포트 주소를 필요로 하는 경우가 발생하면, 신호(120)가 타이밍을 시작하기 위해 타이머로 전송된다. 적절한 시간이 지나면, 타이머는 시간이 종료되었음을 나타내는 신호(140)를 전송하는데, 이 경우, 구속된 어떠한 포트도 해제된다. 도중에, 기대한 데이터그램이 도달하고 이전의 구속된 포트가 해제되면, 상기 타이머가 타이밍을 시작하는 다음 신호를 기다리도록 리셋되어야 하는 것을 나타내는 디스에이블 신호(130)가 상기 타이머로 전송된다. 종래의 공지된 다수의 타이밍 회로들이 있고, 도 8에 도시된 특정한 구성은 단지 많은 가능한 실시예들중의 하나이다.
한편, 여기에 기술된 바람직한 실시예가 본 발명을 실시하기 위한 유일한 수단이 아니고, 다른 실시예들이 본 발명의 사상과 영역으로부터 벗어나지 않고 본 발명을 실행하는데 선택될 수 있다는 것은 당 분야의 통상의 지식을 가진 자에게는 자명하다고 할 수 있다. 예를 들어, 바람직한 실시예가 ISAKMP 프로토콜로 사용하는데 독점적으로 예약된 포트 500을 참조하여 기술되어 있을지라도 본 발명은 장래에 다른 프로세스들 또는 프로토콜들에 할당되어질지도 모르는 다른 포트 주소들을 위한 데이터그램들을 프로세싱하는데 동일한 방식으로 적용될 수 있다. 특히, 인터넷을 통하여 이루어지는 많은 게임들은 일반 주소 변환을 감당할 수 없는 로컬 및 외부 장비 상의 특정 포트들의 사용을 필요로 한다. 또한, 본 발명이 사설 랜과 인터넷 사이의 통신에 대하여 주로 기술되었더라도 본 발명의 게이트웨이는 2개 네트워크 사이의 어떠한 인터페이스에서 사용될 수 있고 기술된 바와 같이 동일한 기능을 가짐은 자명하다.
여기에 첨부된 청구범위는 본 발명의 사상과 영역 내에서 수정과 변경을 포함하는 것을 의미한다.
이상에서 설명한 바와 같이, 본 발명에 의한 게이트웨이에 의하면 인터넷을 통신 매체로 사용하는 호스트 컴퓨터와 범용의 IP 주소를 사용하지 않는 컴퓨터간의 ISAKMP 프로토콜 인증 및 키 교환이 가능하다.

Claims (12)

  1. 랜을 외부 네트워크에 연결하며, 상기 랜이 로컬 IP 주소들을 사용하고, 상기 게이트웨이가 상기 랜 상의 장치들에 의해 인식할 수 있는 로컬 IP 주소를 가지고 상기 외부 네트워크 상의 장치들에 의해 인식할 수 있는 외부 IP 주소를 가지는 네트워크 주소 변환 게이트웨이에 있어서,
    상기 랜 상의 로컬 장치들의 로컬 IP 주소들, 상기 외부 네트워크 상의 외부 장치들의 외부 IP 주소들, SPI-In 값들, SPI-Out 값들, 소스 포트 주소들, 목적지 포트 주소들, 예약된 포트 주소들의 조합들을 결합하고, 예약된 포트 주소들의 리스트를 유지하는 복수개의 내부 테이블들;
    상기 랜으로부터 상기 외부 네트워크로 전달되는 데이터그램들과, 상기 외부 네트워크로부터 상기 랜으로 전달되는 데이터그램들에 대해 일반 주소 변환을 수행하기 위한 수단;
    상기 외부 네트워크 상의 외부 장치로 전달을 의도하는 상기 랜 상의 로컬 장치로부터 데이터그램을 수신하고, 상기 데이터그램이 암호화되어 있는 지를 결정하고, 상기 데이터그램이 암호화되어 있으면, 상기 데이터그램의 SPI가 상기 내부 테이블의 SPI-Out 필드에 기록되어 있는 지를 결정하고, 상기 데이터그램의 SPI가 상기 내부 테이블의 SPI-Out 필드에 기록되어 있으면, 상기 데이터그램의 소스 IP 주소를 상기 게이트웨이의 외부 IP 주소가 되도록 변경하고, 상기 외부 장치로 라우팅하고 전달하기 위한 상기 외부 네트워크로 상기 데이터그램을 전송하며,
    상기 SPI가 상기 내부 테이블의 상기 SPI-Out 필드에 기록되어 있지 않으면 상기 로컬 장치의 로컬 IP 주소에 해당하는 SPI-In 필드를 0으로 설정하고 상기 SPI-Out 필드를 상기 SPI와 동일하게 설정하고, 상기 데이터그램의 상기 소스 IP 주소를 상기 게이트웨이의 상기 외부 IP 주소가 되도록 변경하며, 상기 외부 장치로 라우팅하고 전송하기 위한 상기 외부 네트워크로 상기 데이터그램을 전송하고,
    상기 데이터그램이 암호화되어 있지 않으면, 상기 데이터그램을 위한 목적지 포트 주소가 예약된 포트 주소들의 상기 리스트에 포함되어 있는 지를 결정하고, 상기 목적지 포트 주소가 예약된 포트 주소들의 상기 리스트에 포함되어 있지 않으면, 상기 데이터그램에 대해 일반 주소 변환을 수행하고 상기 외부 장치로 라우팅하고 전달하기 위한 상기 외부 네트워크로 상기 데이터그램을 전송하며,
    상기 목적지 포트 주소가 예약된 포트 주소들의 상기 리스트에 포함되어 있으면, 상기 목적지 포트 주소가 상기 로컬 장치의 상기 로컬 IP 주소에 구속되어 있는 지를 결정하고, 상기 목적지 포트 주소가 상기 로컬 IP 주소에 구속되어 있으면, 상기 데이터그램에 대해 일반 주소 변환을 수행하고 상기 외부 장치로 라우팅하고 전달하기 위한 상기 외부 네트워크로 상기 데이터그램을 전송하고,
    상기 목적지 포트 주소가 상기 로컬 장치의 상기 로컬 IP 주소에 구속되어 있지 않으면, 상기 데이터그램의 상기 소스 IP 주소를 상기 게이트웨이의 상기 외부 IP 주소가 되도록 변경하고, 상기 목적지 포트 주소를 상기 로컬 장치의 상기 로컬 IP 주소에 구속하고 상기 목적지 포트 주소와 상기 외부 장치의 상기 외부 IP 주소 사이의 연결을 만들고, 상기 외부 장치로 라우팅하고 전달하기 위한 상기 외부 네트워크로 상기 데이터그램을 전송함으로써,
    상기 랜 상의 로컬 장치로부터 상기 외부 네트워크 상의 외부 장치로 데이터그램을 전달하는 수단;
    상기 랜 상의 상기 로컬 장치로의 전달을 의도하는 상기 외부 네트워크 상의 상기 외부 장치로부터 데이터그램을 수신하고,
    상기 데이터그램이 암호화되어있는 지를 결정하고 상기 데이터그램이 암호화되어 있으면, 데이터그램의 SPI가 상기 내부 테이블의 상기 SPI-In 필드에 기록되어 있는 지를 결정하고 상기 SPI가 상기 SPI-In 필드에 기록되어 있으면, 상기 데이터그램의 상기 목적지 IP 주소를 상기 로컬 장치의 상기 로컬 IP 주소가 되도록 변경하고 상기 로컬 장치로 라우팅하고 전달하기 위한 상기 랜으로 상기 데이터그램을 전송하고,
    상기 SPI가 상기 내부 테이블의 상기 SPI-In 필드에 기록되어 있지 않으면, 상기 외부 장치의 상기 IP 주소에 해당하는 상기 SPI-In 필드가 0인가를 결정하고, 상기 SPI-In 필드가 0이 아니라면, 상기 데이터그램을 버리고,
    상기 SPI-In 필드가 0이면, 상기 SPI-In 필드를 상기 SPI와 동일하게 설정하고, 상기 데이터그램의 상기 목적지 IP 주소를 상기 로컬 장치의 상기 로컬 IP 주소가 되도록 변경하고, 상기 로컬 장치로의 전달을 위한 상기 랜으로 상기 데이터그램을 전송하고,
    상기 데이터그램이 암호화되어 있지 않으면, 상기 데이터그램을 위한 목적지 포트 주소가 예약된 포트 주소들의 상기 리스트에 포함되어 있는 지를 결정하고,상기 목적지 포트 주소가 예약된 포트 주소들의 상기 리스트에 포함되어 있지 않으면, 상기 데이터그램에 대해 일반 주소 변환을 수행하고 상기 로컬 장치로 전달하기 위한 상기 랜으로 상기 데이터그램을 전송하고,
    상기 목적지 포트 주소가 예약된 포트 주소들의 상기 리스트에 포함되어 있으면, 상기 목적지 포트 주소가 상기 로컬 장치의 상기 로컬 IP 주소에 구속되어 있는 지를 결정하고, 상기 목적지 포트 주소가 상기 로컬 IP 주소에 구속되어 있지 않으면, 상기 데이터그램을 버리고,
    상기 목적지 포트 주소가 상기 로컬 IP 주소에 구속되어 있으면, 상기 데이터그램의 상기 목적지 IP 주소를 상기 로컬 장치의 상기 로컬 IP 주소가 되도록 변경하고, 상기 로컬 IP 주소로부터 상기 목적지 포트 주소의 구속을 해제하고, 상기 로컬 장치로 전달하기 위한 상기 랜으로 상기 데이터그램을 전송함으로써, 상기 외부 장치로부터 상기 로컬 장치로 데이터그램을 전달하기 위한 수단을 포함하는 것을 특징으로 하는 네트워크 주소 변환 게이트웨이.
  2. 제 1 항에 있어서,
    타이머를 더 포함하고, 포트 주소가 IP 주소에 구속된 신호를 수신하자마자 상기 타이머가 미리 지정된 시간동안 타이밍을 시작하고, 상기 미리 지정된 시간이 종료될 때 상기 포트 주소를 상기 IP 주소로부터 구속되지 않도록 하는 신호를 전송하고, 상기 포트 주소가 상기 미리 지정된 시간의 종료 이전에 상기 IP 주소로부터 구속되지 않은 것을 나타내는 신호를 수신하면, 상기 타이머가 타이밍을 중단하고 리셋하는 것을 특징으로 하는 네트워크 주소 변환 게이트웨이.
  3. 제 1 항에 있어서,
    상기 외부 네트워크는 인터넷인 것을 특징으로 하는 네트워크 주소 변환 게이트웨이.
  4. 제 3 항에 있어서,
    상기 랜은 가상 사설 네트워크인 것을 특징으로 하는 네트워크 주소 변환 게이트웨이.
  5. 로컬 IP 주소를 사용하는 랜 상의 로컬 장치로부터 네트워크 변환 게이트웨이를 거쳐 외부 네트워크 상의 외부 장치로 IP 데이터그램을 처리하는 방법에 있어서,
    상기 랜 상의 로컬 장치들의 로컬 IP 주소들, 상기 외부 네트워크 상의 외부 장치들의 외부 IP 주소들, 상기 로컬 장치들의 포트 주소들, 상기 외부 장치들의 포트 주소들, SPI-In 값들, SPI-Out 값들 및 예약된 포트 주소들 및 예약된 포트 주소들의 리스트를 결합하는 복수개의 테이블들을 유지하는 단계;
    상기 랜으로부터 데이터그램을 수신하는 단계;
    상기 데이터그램이 암호화되어 있는 지를 결정하고, 상기 데이터그램이 암호화되어 있으면, 상기 데이터그램의 SPI가 상기 복수개의 내부 테이블들 중의 하나의 SPI-Out 필드에 기록되어 있는 지를 결정하고, 상기 데이터그램의 SPI가 상기 내부 테이블의 상기 SPI-Out 필드에 기록되어 있으면, 상기 소스 IP 주소를 상기 게이트웨이의 외부 IP 주소가 되도록 변경하고, 상기 외부 장치로 라우팅하고 전달하기 위한 상기 외부 네트워크로 상기 데이터그램을 전송하고,
    상기 SPI가 상기 내부 테이블의 상기 SPI-Out 필드에 기록되어 있지 않으면 상기 외부 장치의 IP 주소에 해당하는 SPI-Out 필드를 상기 SPI와 동일하게 세팅하고 상기 내부 테이블의 SPI-In 필드를 0으로 세팅하고, 상기 소스 IP 주소를 상기 게이트웨이의 상기 외부 IP 주소가 되도록 변경하고, 상기 외부 장치로 라우팅하고 전달하기 위한 상기 외부 네트워크로 상기 데이터그램을 전송하고,
    상기 데이터그램이 암호화되어 있지 않으면, 상기 데이터그램을 위한 목적지 포트 주소가 예약된 포트 주소들의 상기 테이블에 포함되어 있는 지를 결정하고, 상기 목적지 포트 주소가 예약된 포트 주소들의 상기 테이블에 포함되어 있지 않으면, 상기 데이터그램에 대해 일반 주소 변환을 수행하고 상기 외부 장치로 라우팅하고 전달하기 위한 상기 외부 네트워크로 상기 데이터그램을 전송하고,
    상기 목적지 포트 주소가 예약된 포트 주소들의 상기 테이블에 포함되어 있으면, 상기 목적지 포트 주소가 IP 주소에 구속되어 있는 지를 결정하고, 상기 목적지 포트 주소가 IP 주소에 구속되어 있으면, 상기 데이터그램에 대해 일반 주소 변환을 수행하고, 상기 외부 장치로 라우팅하고 전달하기 위한 상기 외부 네트워크로 상기 데이터그램을 전송하고,
    상기 목적지 포트 주소가 IP 주소에 구속되어 있지 않으면, 상기 소스 IP 주소를 상기 외부 장치를 위한 상기 외부 IP 주소가 되도록 변경하고, 상기 목적지 포트 주소를 상기 로컬 장치의 상기 로컬 IP 주소에 구속하고 상기 목적지 포트 주소와 상기 외부 장치의 상기 외부 IP 주소 사이의 연결을 만들고, 상기 외부 장치로 라우팅하고 전달하기 위한 상기 외부 네트워크로 상기 데이터그램을 전송하는 단계를 포함하는 것을 특징으로 하는 IP 데이터그램 처리 방법.
  6. 외부 네트워크 상의 외부 장치로부터 네트워크 변환 게이트웨이를 거쳐 로컬 IP 주소들을 사용하는 랜 상의 로컬 장치로 IP 데이터그램을 처리하는 방법에 있어서,
    상기 랜 상의 로컬 장치들의 로컬 IP 주소들, 상기 외부 네트워크 상의 외부 장치들의 외부 IP 주소들, 상기 로컬 장치들의 포트 주소들, 상기 외부 장치들의 포트 주소들, SPI-In 값들, SPI-Out 값들 및 예약된 포트 주소들 및 예약된 포트 주소들의 리스트를 결합하는 복수개의 테이블들을 유지하는 단계;
    상기 네트워크로부터 데이터그램을 수신하는 단계;
    상기 데이터그램이 암호화되어 있는 지를 결정하고, 상기 데이터그램이 암호화되어 있으면, 상기 데이터그램의 SPI가 상기 복수개의 내부 테이블들 중의 하나의 SPI-In 필드에 기록되어 있는 지를 결정하고, 상기 데이터그램의 SPI가 상기 내부 테이블의 상기 SPI-In 필드에 기록되어 있으면, 상기 목적지 IP 주소를 상기 로컬 장치의 내부 IP 주소가 되도록 변경하고, 상기 로컬 장치로 라우팅하고 전달하기 위한 상기 랜으로 상기 데이터그램을 전송하고,
    상기 SPI가 상기 내부 테이블의 상기 SPI-In 필드에 기록되어 있지 않으면 상기 외부 장치의 IP 주소에 해당하는 SPI-In 필드가 0인지를 결정하고 상기 SPI-In 필드가 0이 아니면, 상기 데이터그램을 버리고,
    상기 SPI-In 필드가 0이면, 상기 SPI-In 필드를 상기 SPI가 되도록 변경하고, 상기 목적지 IP 주소를 상기 로컬 장치의 상기 로컬 IP 주소가 되도록 변경하고, 상기 로컬 장치로 라우팅하고 전달하기 위한 상기 랜으로 상기 데이터그램을 전송하고,
    상기 데이터그램이 암호화되어 있지 않으면, 상기 데이터그램을 위한 목적지 포트 주소가 예약된 포트 주소들의 상기 리스트에 포함되어 있는 지를 결정하고, 상기 목적지 포트 주소가 예약된 포트 주소들의 상기 리스트에 포함되어 있지 않으면, 일반 주소 변환을 수행하고 상기 로컬 장치로 라우팅하고 전달하기 위한 상기 랜으로 상기 데이터그램을 전송하고,
    상기 목적지 포트 주소가 예약된 포트 주소들의 상기 리스트에 포함되어 있으면, 상기 목적지 포트 주소가 상기 로컬 IP 주소에 구속되어 있는 지를 결정하고, 상기 목적지 포트 주소가 상기 로컬 IP 주소에 구속되어 있지 않으면, 상기 데이터그램을 버리고,
    상기 목적지 포트 주소가 IP 주소에 구속되어 있으면, 상기 IP 주소를 상기 로컬 장치의 상기 로컬 IP 주소가 되도록 변경하고, 상기 로컬 IP 주소로부터의 상기 목적지 포트 주소에 대한 구속을 해제하고, 상기 로컬 장치로 라우팅하고 전달하기 위한 상기 랜으로 상기 데이터그램을 전송하는 단계를 포함하는 것을 특징으로 하는 IP 데이터그램 처리 방법.
  7. 제 5 항에 있어서,
    상기 목적지 포트 주소가 상기 로컬 장치의 상기 로컬 IP 주소에 구속될 때마다 타이머를 시작하는 단계;
    상기 목적지 포트 주소가 해제될 때마다 상기 타이머를 리셋팅하는 단계; 및
    상기 타이머가 동작중이고 미리 지정된 시간이 상기 타이머가 시작한 시점으로부터 종료될 때마다 신호를 전송하는 단계를 더 포함하는 것을 특징으로 하는 IP 데이터그램 처리 방법.
  8. 제 6 항에 있어서,
    상기 목적지 포트 주소가 상기 로컬 장치의 상기 로컬 IP 주소에 구속될 때마다 타이머를 스타트시키는 단계;
    상기 목적지 포트 주소가 릴리스될 때마다 상기 타이머를 리셋팅하는 단계; 및
    상기 타이머가 동작중이고 미리 지정된 시간이 상기 타이머가 스타트한 시점으로부터 종료될 때마다 신호를 전송하는 단계를 더 포함하는 것을 특징으로 하는 IP 데이터그램 처리 방법.
  9. 제 5 항에 있어서,
    상기 외부 네트워크가 인터넷인 것을 특징으로 하는 IP 데이터그램 처리 방법.
  10. 제 6 항에 있어서,
    상기 외부 네트워크가 인터넷인 것을 특징으로 하는 IP 데이터그램 처리 방법.
  11. 제 5 항에 있어서,
    상기 랜이 가상 사설 네트워크인 것을 특징으로 하는 IP 데이터그램 처리 방법.
  12. 제 6 항에 있어서,
    상기 랜이 가상 사설 네트워크인 것을 특징으로 하는 IP 데이터그램 처리 방법.
KR1020010011042A 2000-03-03 2001-03-03 로컬 아이피 주소와 변환할 수 없는 포트 주소를 이용한랜 네트워크 주소 변환 게이트웨이 KR20010087322A (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US09/518,399 2000-03-03
US09/518,399 US7058973B1 (en) 2000-03-03 2000-03-03 Network address translation gateway for local area networks using local IP addresses and non-translatable port addresses

Publications (1)

Publication Number Publication Date
KR20010087322A true KR20010087322A (ko) 2001-09-15

Family

ID=24063767

Family Applications (2)

Application Number Title Priority Date Filing Date
KR1020027011455A Expired - Fee Related KR100798660B1 (ko) 2000-03-03 2001-02-27 로컬 ip 어드레스 및 변환불능 포트 어드레스를사용하는 구내 통신망에 대한 네트워크 어드레스 변환게이트웨이
KR1020010011042A KR20010087322A (ko) 2000-03-03 2001-03-03 로컬 아이피 주소와 변환할 수 없는 포트 주소를 이용한랜 네트워크 주소 변환 게이트웨이

Family Applications Before (1)

Application Number Title Priority Date Filing Date
KR1020027011455A Expired - Fee Related KR100798660B1 (ko) 2000-03-03 2001-02-27 로컬 ip 어드레스 및 변환불능 포트 어드레스를사용하는 구내 통신망에 대한 네트워크 어드레스 변환게이트웨이

Country Status (14)

Country Link
US (3) US7058973B1 (ko)
EP (2) EP1259886B1 (ko)
JP (2) JP4634687B2 (ko)
KR (2) KR100798660B1 (ko)
CN (2) CN1209712C (ko)
AT (1) ATE315860T1 (ko)
AU (1) AU2001243311B2 (ko)
BR (1) BR0109033B1 (ko)
CA (1) CA2401103C (ko)
DE (1) DE60116610T2 (ko)
MX (1) MXPA02008626A (ko)
RU (1) RU2241252C2 (ko)
TW (1) TW494301B (ko)
WO (1) WO2001067258A1 (ko)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20030062106A (ko) * 2002-01-16 2003-07-23 한국전자통신연구원 가상 사설망으로부터 데이터 패킷을 수신하는 방법 및 장치
KR100878764B1 (ko) * 2002-07-06 2009-01-14 삼성전자주식회사 사용자의 익명성보장을 위한 무선 랜 시스템 및 사용자의익명성 보장방법
US7539192B2 (en) 2003-07-18 2009-05-26 Samsung Electronics Co., Ltd. Gateway and control method thereof
US7649897B2 (en) 2002-10-12 2010-01-19 Electronics And Telecommunications Research Institute Method and apparatus for transmitting data in a system using network address translation

Families Citing this family (158)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7107614B1 (en) 1999-01-29 2006-09-12 International Business Machines Corporation System and method for network address translation integration with IP security
US7058973B1 (en) * 2000-03-03 2006-06-06 Symantec Corporation Network address translation gateway for local area networks using local IP addresses and non-translatable port addresses
JP3636095B2 (ja) * 2000-05-23 2005-04-06 インターナショナル・ビジネス・マシーンズ・コーポレーション Vpn接続のセキュリティ
US20050198379A1 (en) 2001-06-13 2005-09-08 Citrix Systems, Inc. Automatically reconnecting a client across reliable and persistent communication sessions
US20030009561A1 (en) * 2001-06-14 2003-01-09 Sollee Patrick N. Providing telephony services to terminals behind a firewall and /or network address translator
US7900042B2 (en) * 2001-06-26 2011-03-01 Ncipher Corporation Limited Encrypted packet inspection
US7769865B1 (en) * 2001-10-16 2010-08-03 Sprint Communications Company L.P. Configuring computer network communications in response to detected firewalls
US20030079000A1 (en) * 2001-10-19 2003-04-24 Chamberlain Robert L. Methods and apparatus for configuring multiple logical networks of devices on a single physical network
US7159109B2 (en) 2001-11-07 2007-01-02 Intel Corporation Method and apparatus to manage address translation for secure connections
KR100449809B1 (ko) * 2001-12-27 2004-09-22 한국전자통신연구원 다중 보안 서비스를 제공하는 개선된 아이피 계층에서의패킷 보호 방법
JP2003204326A (ja) 2002-01-09 2003-07-18 Nec Corp 通信システムと暗号処理機能付きlan制御装置、及び通信制御プログラム
ES2236370T3 (es) * 2002-01-23 2005-07-16 Sony International (Europe) Gmbh Metodo para permitir la negociacion de la calidad de servicio extremo a extremo por utilizacion del protocolo de negociacion extremo a extremo (e2enp).
JP4010830B2 (ja) * 2002-03-05 2007-11-21 富士通株式会社 通信装置およびネットワークシステム
US7243368B2 (en) * 2002-03-29 2007-07-10 Hewlett-Packard Development Company, L.P. Access control system and method for a networked computer system
US7558873B1 (en) 2002-05-08 2009-07-07 Nvidia Corporation Method for compressed large send
US7243141B2 (en) * 2002-05-13 2007-07-10 Sony Computer Entertainment America, Inc. Network configuration evaluation
US7676579B2 (en) * 2002-05-13 2010-03-09 Sony Computer Entertainment America Inc. Peer to peer network communication
CN100433667C (zh) * 2002-05-29 2008-11-12 华为技术有限公司 网络地址转换中私网用户访问资源分配方法
US7143137B2 (en) * 2002-06-13 2006-11-28 Nvidia Corporation Method and apparatus for security protocol and address translation integration
US7143188B2 (en) 2002-06-13 2006-11-28 Nvidia Corporation Method and apparatus for network address translation integration with internet protocol security
GB2418821B (en) * 2002-06-13 2006-08-09 Nvidia Corp Method and apparatus for enhanced security for communication over a network
US7120930B2 (en) 2002-06-13 2006-10-10 Nvidia Corporation Method and apparatus for control of security protocol negotiation
JP4426443B2 (ja) * 2002-06-13 2010-03-03 エヌヴィディア コーポレイション ネットワークを経て通信するための改善セキュリティ方法及び装置
US7191331B2 (en) 2002-06-13 2007-03-13 Nvidia Corporation Detection of support for security protocol and address translation integration
JP3564117B2 (ja) 2002-07-01 2004-09-08 株式会社バッファロー 無線lan装置
US7437548B1 (en) 2002-07-11 2008-10-14 Nvidia Corporation Network level protocol negotiation and operation
JP4056849B2 (ja) * 2002-08-09 2008-03-05 富士通株式会社 仮想閉域網システム
US6826627B2 (en) 2002-09-03 2004-11-30 Burnbag, Ltd. Data transformation architecture
FR2844949B1 (fr) * 2002-09-24 2006-05-26 Radiotelephone Sfr Procede de gestion d'une configuration d'une passerelle par un utilisateur de la passerelle
CZ298394B6 (cs) * 2002-10-01 2007-09-19 Anect A. S. Komunikacní infrastruktura spolupracující korporace
TWI220344B (en) * 2002-10-23 2004-08-11 Winbond Electronics Corp Manufacture and method for accelerating network address translation
US7921285B2 (en) * 2002-12-27 2011-04-05 Verizon Corporate Services Group Inc. Means of mitigating denial of service attacks on IP fragmentation in high performance IPsec gateways
US7290134B2 (en) * 2002-12-31 2007-10-30 Broadcom Corporation Encapsulation mechanism for packet processing
US7634805B2 (en) * 2003-03-05 2009-12-15 Microsoft Corporation Use of network address translation for implementation of stateful routing
CN1311664C (zh) * 2003-03-05 2007-04-18 华为技术有限公司 在分布式网络交换系统中实现的端口捆绑方法
DE10310351A1 (de) 2003-03-10 2004-09-23 Giesecke & Devrient Gmbh Laden von Mediendaten in einen tragbaren Datenträger
CN100356743C (zh) * 2003-06-03 2007-12-19 华为技术有限公司 网关地址和网络地址转换地址池中地址重叠的实现方法
CN1331328C (zh) * 2003-06-06 2007-08-08 华为技术有限公司 一种基于身份认证的地址转换方法
CN100356752C (zh) * 2003-06-14 2007-12-19 华为技术有限公司 一种网络地址资源的利用方法
US20050021839A1 (en) * 2003-06-23 2005-01-27 Russell Thomas C. Method and apparatus for providing a selectively isolated equipment area network for machine elements with data communication therebetween and with remote sites
US7913294B1 (en) 2003-06-24 2011-03-22 Nvidia Corporation Network protocol processing for filtering packets
US7620070B1 (en) 2003-06-24 2009-11-17 Nvidia Corporation Packet processing with re-insertion into network interface circuitry
CN1571440A (zh) * 2003-07-25 2005-01-26 中兴通讯股份有限公司 一种跨越私网实现多媒体呼叫的系统和方法
JP2005051473A (ja) * 2003-07-28 2005-02-24 Sony Corp ネットワーク相互接続装置及びネットワーク相互接続方法、名前解決装置、並びにコンピュータ・プログラム
CN100463551C (zh) * 2003-08-14 2009-02-18 中兴通讯股份有限公司 一种在移动通信系统中实现加密通信的系统和方法
CN100359893C (zh) * 2003-08-28 2008-01-02 华为技术有限公司 以主机代理方式实现地址转换应用网关的方法
US8687485B1 (en) * 2003-09-12 2014-04-01 Rockstar Consortium USLP Method and apparatus for providing replay protection in systems using group security associations
CN1317874C (zh) * 2003-09-27 2007-05-23 财团法人资讯工业策进会 提供虚拟主机服务快速查询置换的网络地址端口转换网关器与方法
US7978716B2 (en) 2003-11-24 2011-07-12 Citrix Systems, Inc. Systems and methods for providing a VPN solution
CN100454882C (zh) * 2003-12-19 2009-01-21 华为技术有限公司 多isp局域网的出口选择方法及装置
US7992199B1 (en) * 2003-12-31 2011-08-02 Honeywell International Inc. Method for permitting two parties to establish connectivity with both parties behind firewalls
EP1562346A1 (en) * 2004-02-06 2005-08-10 Matsushita Electric Industrial Co., Ltd. Method and system for reliably disconnecting IPSec security associations
US7895648B1 (en) * 2004-03-01 2011-02-22 Cisco Technology, Inc. Reliably continuing a secure connection when the address of a machine at one end of the connection changes
US8186026B2 (en) * 2004-03-03 2012-05-29 Rockstar Bidco, LP Technique for maintaining secure network connections
US8738159B2 (en) * 2004-03-15 2014-05-27 Siemens Industry, Inc. System and method for accessing PLC data on demand
JP4346094B2 (ja) * 2004-04-05 2009-10-14 日本電信電話株式会社 パケット暗号処理代理装置
US7422152B2 (en) 2004-05-13 2008-09-09 Cisco Technology, Inc. Methods and devices for providing scalable RFID networks
FI20045234A0 (fi) * 2004-06-21 2004-06-21 Nokia Corp Datan lähetys viestintäjärjestelmässä
US8739274B2 (en) 2004-06-30 2014-05-27 Citrix Systems, Inc. Method and device for performing integrated caching in a data communication network
US8495305B2 (en) 2004-06-30 2013-07-23 Citrix Systems, Inc. Method and device for performing caching of dynamically generated objects in a data communication network
US7757074B2 (en) 2004-06-30 2010-07-13 Citrix Application Networking, Llc System and method for establishing a virtual private network
KR20070045282A (ko) 2004-07-23 2007-05-02 사이트릭스 시스템스, 인크. 네트워크 노드 간의 통신을 최적화하기 위한 시스템 및방법
US7978714B2 (en) 2004-07-23 2011-07-12 Citrix Systems, Inc. Methods and systems for securing access to private networks using encryption and authentication technology built in to peripheral devices
CA2576569A1 (en) 2004-08-13 2006-02-23 Citrix Systems, Inc. A method for maintaining transaction integrity across multiple remote access servers
CN1756259B (zh) * 2004-09-27 2011-04-20 国际商业机器公司 因特网协议网络中使用网络地址翻译的方法和系统
TWI253818B (en) * 2004-10-29 2006-04-21 Benq Corp Transparent address translation methods
US8458467B2 (en) * 2005-06-21 2013-06-04 Cisco Technology, Inc. Method and apparatus for adaptive application message payload content transformation in a network infrastructure element
US7664879B2 (en) * 2004-11-23 2010-02-16 Cisco Technology, Inc. Caching content and state data at a network element
US7987272B2 (en) 2004-12-06 2011-07-26 Cisco Technology, Inc. Performing message payload processing functions in a network element on behalf of an application
US7725934B2 (en) 2004-12-07 2010-05-25 Cisco Technology, Inc. Network and application attack protection based on application layer message inspection
US8082304B2 (en) * 2004-12-10 2011-12-20 Cisco Technology, Inc. Guaranteed delivery of application layer messages by a network element
US7810089B2 (en) 2004-12-30 2010-10-05 Citrix Systems, Inc. Systems and methods for automatic installation and execution of a client-side acceleration program
US8549149B2 (en) 2004-12-30 2013-10-01 Citrix Systems, Inc. Systems and methods for providing client-side accelerated access to remote applications via TCP multiplexing
US8954595B2 (en) 2004-12-30 2015-02-10 Citrix Systems, Inc. Systems and methods for providing client-side accelerated access to remote applications via TCP buffering
US8700695B2 (en) 2004-12-30 2014-04-15 Citrix Systems, Inc. Systems and methods for providing client-side accelerated access to remote applications via TCP pooling
US8706877B2 (en) 2004-12-30 2014-04-22 Citrix Systems, Inc. Systems and methods for providing client-side dynamic redirection to bypass an intermediary
EP1859354B1 (en) * 2004-12-31 2020-12-23 Ntrepid, LLC System for protecting identity in a network environment
CN102123178B (zh) 2005-01-24 2014-04-09 茨特里克斯系统公司 在网络中对动态产生的对象执行缓存的系统和方法
US8255456B2 (en) 2005-12-30 2012-08-28 Citrix Systems, Inc. System and method for performing flash caching of dynamically generated objects in a data communication network
CN100414929C (zh) * 2005-03-15 2008-08-27 华为技术有限公司 一种移动互联网协议网络中的报文传送方法
US7703124B2 (en) * 2005-03-31 2010-04-20 Hewlett-Packard Development Company, L.P. System and method for implementing a private virtual backbone on a common network infrastructure
JP4768324B2 (ja) * 2005-06-07 2011-09-07 株式会社東芝 無線通信機器
US8266327B2 (en) * 2005-06-21 2012-09-11 Cisco Technology, Inc. Identity brokering in a network element
US20070172902A1 (en) * 2005-06-22 2007-07-26 The Johns Hopkins University, a non-profit organization Biomarker for ovarian cancer
IES20050439A2 (en) * 2005-06-30 2006-08-09 Asavie R & D Ltd A method of network communication
KR100799575B1 (ko) * 2005-12-07 2008-01-30 한국전자통신연구원 IPv6 네트워크에서 이동노드에게 VPN 서비스를제공하는 방법 및 이를 위한 게이트웨이
US7345585B2 (en) 2005-08-01 2008-03-18 Cisco Technology, Inc. Network based device for providing RFID middleware functionality
US7672289B2 (en) * 2005-08-09 2010-03-02 Mitsubishi Electric Research Laboratories, Inc. Method for defining, allocating and assigning addresses in ad hoc wireless networks
US20070079366A1 (en) * 2005-10-03 2007-04-05 Microsoft Corporation Stateless bi-directional proxy
US20070088815A1 (en) * 2005-10-13 2007-04-19 Kenneth Ma Automated setup and test confirmation of dynamic DNS service
CN100477671C (zh) * 2005-12-16 2009-04-08 中国科学院计算技术研究所 Pat模式下支持多会话应用层协议的网络地址转换方法
US8301839B2 (en) 2005-12-30 2012-10-30 Citrix Systems, Inc. System and method for performing granular invalidation of cached dynamically generated objects in a data communication network
US7921184B2 (en) 2005-12-30 2011-04-05 Citrix Systems, Inc. System and method for performing flash crowd caching of dynamically generated objects in a data communication network
CN101047711B (zh) * 2006-04-27 2010-08-18 华为技术有限公司 Ip报文传输、协商带宽节省能力和节省网络带宽的方法
US7797406B2 (en) * 2006-07-27 2010-09-14 Cisco Technology, Inc. Applying quality of service to application messages in network elements based on roles and status
US7539189B2 (en) * 2006-08-01 2009-05-26 Cisco Technology, Inc. Apparatus and methods for supporting 802.1X in daisy chained devices
US8079077B2 (en) 2006-08-08 2011-12-13 A10 Networks, Inc. System and method for distributed multi-processing security gateway
CN101155183B (zh) * 2006-09-29 2012-02-08 松下电器产业株式会社 处理巢状网际网络安全协议信道的方法及网络装置
JP4708297B2 (ja) * 2006-09-29 2011-06-22 富士通テレコムネットワークス株式会社 IPsecの複数セッションを処理する通信装置
US8095786B1 (en) * 2006-11-09 2012-01-10 Juniper Networks, Inc. Application-specific network-layer virtual private network connections
CN100525251C (zh) * 2006-11-30 2009-08-05 中国科学院计算技术研究所 一种网络地址转换方法
CN101072102B (zh) * 2007-03-23 2010-10-06 南京联创科技集团股份有限公司 网络环境下基于安全桌面的信息防泄漏技术
US8621552B1 (en) * 2007-05-22 2013-12-31 Skybox Security Inc. Method, a system, and a computer program product for managing access change assurance
US7729366B2 (en) * 2007-10-03 2010-06-01 General Instrument Corporation Method, apparatus and system for network mobility of a mobile communication device
CN101227494B (zh) * 2008-01-09 2013-06-12 中兴通讯股份有限公司 接入多分组数据网时因特网安全协议安全联盟的建立方法
US7817636B2 (en) * 2008-01-30 2010-10-19 Cisco Technology, Inc. Obtaining information on forwarding decisions for a packet flow
KR20090092503A (ko) * 2008-02-27 2009-09-01 주식회사 휴커넥스 하나의 아이피 주소로 복수의 아이피 장비들을 지원할 수있는 멀티포트 장치
US8228848B2 (en) * 2008-11-17 2012-07-24 Sierra Wireless, Inc. Method and apparatus for facilitating push communication across a network boundary
GB2478470B8 (en) 2008-11-17 2014-05-21 Sierra Wireless Inc Method and apparatus for network port and netword address translation
US8924486B2 (en) * 2009-02-12 2014-12-30 Sierra Wireless, Inc. Method and system for aggregating communications
US20100235689A1 (en) * 2009-03-16 2010-09-16 Qualcomm Incorporated Apparatus and method for employing codes for telecommunications
US8874785B2 (en) * 2010-02-15 2014-10-28 Damaka, Inc. System and method for signaling and data tunneling in a peer-to-peer environment
US8356087B1 (en) 2010-08-24 2013-01-15 Amazon Technologies, Inc. Automatically configuring virtual private networks
US20120269059A1 (en) * 2010-10-19 2012-10-25 Qualcomm Incorporated Methods and apparatus for contemporaneously providing quality of service functionality and local ip access
US9143480B2 (en) * 2011-01-10 2015-09-22 Secure Global Solutions, Llc Encrypted VPN connection
US9258271B1 (en) * 2011-01-13 2016-02-09 Google Inc. Network address translation for virtual machines
EP2673927A4 (en) 2011-02-08 2016-08-24 Sierra Wireless Inc METHOD AND DATA-TRANSFER SYSTEM BETWEEN NETWORK DEVICES
CN103299284B (zh) * 2011-04-29 2016-01-20 中天安泰(北京)信息技术有限公司 数据安全读取方法及装置
US8838735B2 (en) 2011-06-28 2014-09-16 At&T Intellectual Property I, L.P. Methods, systems, and products for address translation in residential networks
US8621038B2 (en) 2011-09-27 2013-12-31 Cloudflare, Inc. Incompatible network gateway provisioned through DNS
US8438240B2 (en) * 2011-09-27 2013-05-07 Cloudflare, Inc. Distributing transmission of requests across multiple IP addresses of a proxy server in a cloud-based proxy service
US9258272B1 (en) * 2011-10-21 2016-02-09 Juniper Networks, Inc. Stateless deterministic network address translation
US9178846B1 (en) 2011-11-04 2015-11-03 Juniper Networks, Inc. Deterministic network address and port translation
KR20130052240A (ko) * 2011-11-11 2013-05-22 삼성전자주식회사 네트워크 주소 변환기 통과 기법을 프로비저닝하기 위한 방법 및 장치
CN103139189B (zh) * 2011-12-05 2017-03-22 京信通信系统(中国)有限公司 一种IPSec隧道共用方法、系统及设备
US9118618B2 (en) 2012-03-29 2015-08-25 A10 Networks, Inc. Hardware-based packet editor
US8891540B2 (en) 2012-05-14 2014-11-18 Juniper Networks, Inc. Inline network address translation within a mobile gateway router
US9596286B2 (en) 2012-05-25 2017-03-14 A10 Networks, Inc. Method to process HTTP header with hardware assistance
US10021174B2 (en) 2012-09-25 2018-07-10 A10 Networks, Inc. Distributing service sessions
WO2014052099A2 (en) 2012-09-25 2014-04-03 A10 Networks, Inc. Load distribution in data networks
US10027761B2 (en) 2013-05-03 2018-07-17 A10 Networks, Inc. Facilitating a secure 3 party network session by a network device
JP6489019B2 (ja) * 2013-10-09 2019-03-27 日本電気株式会社 通信システム、通信装置および通信制御方法
CN103797774B (zh) * 2013-11-05 2017-07-21 华为技术有限公司 一种网络地址转换设备及方法
CN103607403A (zh) * 2013-11-26 2014-02-26 北京星网锐捷网络技术有限公司 一种nat网络环境下使用安全域的方法、装置和系统
CA2938422C (en) * 2014-02-06 2021-01-12 Acceleration Systems, LLC Systems and methods for providing a multiple secure link architecture
CN103942499B (zh) * 2014-03-04 2017-01-11 中天安泰(北京)信息技术有限公司 基于移动存储器的数据黑洞处理方法及移动存储器
US10020979B1 (en) 2014-03-25 2018-07-10 A10 Networks, Inc. Allocating resources in multi-core computing environments
US9806943B2 (en) 2014-04-24 2017-10-31 A10 Networks, Inc. Enabling planned upgrade/downgrade of network devices without impacting network sessions
US9525627B2 (en) 2014-05-27 2016-12-20 Google Inc. Network packet encapsulation and routing
US10129207B1 (en) 2015-07-20 2018-11-13 Juniper Networks, Inc. Network address translation within network device having multiple service units
EP3286954B1 (en) * 2015-08-21 2019-04-17 Telefonaktiebolaget LM Ericsson (publ) Communication of non-ip data over packet data networks
US10038672B1 (en) * 2016-03-29 2018-07-31 EMC IP Holding Company LLC Virtual private network sessions generation
CN106330653A (zh) * 2016-08-30 2017-01-11 成都极玩网络技术有限公司 基于轻量级安全虚拟专用网的智能分流网关
US10469446B1 (en) 2016-09-27 2019-11-05 Juniper Networks, Inc. Subscriber-aware network address translation
JP2018067248A (ja) * 2016-10-21 2018-04-26 富士通株式会社 制御プログラム、制御方法、及び情報処理装置
KR101920190B1 (ko) * 2016-11-22 2019-02-08 한국인터넷진흥원 임의의 ip 생성 방법 및 그 장치
US10594829B2 (en) * 2017-05-24 2020-03-17 At&T Intellectual Property I, L.P. Cloud workload proxy as link-local service configured to access a service proxy gateway via a link-local IP address to communicate with an external target service via a private network
US10565062B1 (en) * 2017-08-03 2020-02-18 Veritas Technologies Llc Systems and methods for managing replication of data to a remote storage device
CN107547690B (zh) * 2017-09-25 2021-06-18 新华三信息安全技术有限公司 Nat中的端口分配方法、装置、nat设备及存储介质
CN107943438A (zh) * 2017-12-21 2018-04-20 国网河北省电力有限公司衡水供电分公司 无人值守变电站的办公优化方法
US10791091B1 (en) * 2018-02-13 2020-09-29 Architecture Technology Corporation High assurance unified network switch
CN110858229B (zh) 2018-08-23 2023-04-07 阿里巴巴集团控股有限公司 数据处理方法、设备、访问控制系统及存储介质
CN109152096B (zh) * 2018-09-27 2020-09-25 安科讯(福建)科技有限公司 Eps架构的报文传输方法及计算机可读存储介质
CN110138748B (zh) * 2019-04-23 2020-10-23 北京交通大学 一种网络融合通信方法、网关设备和系统
JP7309443B2 (ja) * 2019-05-14 2023-07-18 キヤノン株式会社 印刷装置、制御方法及びプログラム
CN112671939B (zh) * 2020-08-17 2022-07-05 紫光云技术有限公司 一种区分nat删除和nat解绑弹性公网ip的方法
US11394686B1 (en) * 2021-02-25 2022-07-19 Nvidia Corporation Dynamic network address translation using prediction
CN113794788B (zh) * 2021-09-14 2023-07-25 北京百度网讯科技有限公司 网关导流方法、系统、装置、设备、存储介质及产品

Family Cites Families (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4727370A (en) * 1985-12-17 1988-02-23 Ampex Corporation Method and system for synchronous handshake generation
US5577209A (en) * 1991-07-11 1996-11-19 Itt Corporation Apparatus and method for providing multi-level security for communication among computers and terminals on a network
AU1829897A (en) * 1996-01-16 1997-08-11 Raptor Systems, Inc. Transferring encrypted packets over a public network
WO1997026735A1 (en) * 1996-01-16 1997-07-24 Raptor Systems, Inc. Key management for network communication
US5781550A (en) * 1996-02-02 1998-07-14 Digital Equipment Corporation Transparent and secure network gateway
EP0895684B1 (en) * 1996-04-24 2001-11-14 Nortel Networks Limited Internet protocol filter
US5983350A (en) * 1996-09-18 1999-11-09 Secure Computing Corporation Secure firewall supporting different levels of authentication based on address or encryption status
FI105753B (fi) * 1997-12-31 2000-09-29 Ssh Comm Security Oy Pakettien autentisointimenetelmä verkko-osoitemuutosten ja protokollamuunnosten läsnäollessa
US7032242B1 (en) * 1998-03-05 2006-04-18 3Com Corporation Method and system for distributed network address translation with network security features
US6353614B1 (en) * 1998-03-05 2002-03-05 3Com Corporation Method and protocol for distributed network address translation
US6055236A (en) * 1998-03-05 2000-04-25 3Com Corporation Method and system for locating network services with distributed network address translation
US6006259A (en) 1998-11-20 1999-12-21 Network Alchemy, Inc. Method and apparatus for an internet protocol (IP) network clustering system
US6691168B1 (en) * 1998-12-31 2004-02-10 Pmc-Sierra Method and apparatus for high-speed network rule processing
US6330562B1 (en) * 1999-01-29 2001-12-11 International Business Machines Corporation System and method for managing security objects
US6615357B1 (en) * 1999-01-29 2003-09-02 International Business Machines Corporation System and method for network address translation integration with IP security
US6449251B1 (en) * 1999-04-02 2002-09-10 Nortel Networks Limited Packet mapper for dynamic data packet prioritization
US6957346B1 (en) * 1999-06-15 2005-10-18 Ssh Communications Security Ltd. Method and arrangement for providing security through network address translations using tunneling and compensations
US6347376B1 (en) * 1999-08-12 2002-02-12 International Business Machines Corp. Security rule database searching in a network security environment
US7058973B1 (en) * 2000-03-03 2006-06-06 Symantec Corporation Network address translation gateway for local area networks using local IP addresses and non-translatable port addresses
JP3597756B2 (ja) * 2000-06-09 2004-12-08 日本電信電話株式会社 ネットワークアドレス変換装置およびvpnクライアント多重化システム

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20030062106A (ko) * 2002-01-16 2003-07-23 한국전자통신연구원 가상 사설망으로부터 데이터 패킷을 수신하는 방법 및 장치
KR100878764B1 (ko) * 2002-07-06 2009-01-14 삼성전자주식회사 사용자의 익명성보장을 위한 무선 랜 시스템 및 사용자의익명성 보장방법
US7649897B2 (en) 2002-10-12 2010-01-19 Electronics And Telecommunications Research Institute Method and apparatus for transmitting data in a system using network address translation
US7539192B2 (en) 2003-07-18 2009-05-26 Samsung Electronics Co., Ltd. Gateway and control method thereof

Also Published As

Publication number Publication date
TW494301B (en) 2002-07-11
DE60116610D1 (de) 2006-04-06
WO2001067258A1 (en) 2001-09-13
EP1259886B1 (en) 2006-01-11
RU2002126235A (ru) 2004-03-27
US20090059940A1 (en) 2009-03-05
EP1130846A3 (en) 2003-09-24
US8165140B2 (en) 2012-04-24
CN1332552A (zh) 2002-01-23
CN1408088A (zh) 2003-04-02
EP1259886A4 (en) 2004-04-28
DE60116610T2 (de) 2006-11-23
CA2401103A1 (en) 2001-09-13
MXPA02008626A (es) 2003-02-24
US20060185010A1 (en) 2006-08-17
US7581247B2 (en) 2009-08-25
AU2001243311B2 (en) 2003-12-18
CA2401103C (en) 2007-04-10
BR0109033B1 (pt) 2015-03-10
JP2003526270A (ja) 2003-09-02
ATE315860T1 (de) 2006-02-15
JP4634687B2 (ja) 2011-02-16
KR20020079979A (ko) 2002-10-21
BR0109033A (pt) 2003-06-03
KR100798660B1 (ko) 2008-01-28
JP2001313679A (ja) 2001-11-09
US7058973B1 (en) 2006-06-06
AU4331101A (en) 2001-09-17
EP1130846A2 (en) 2001-09-05
RU2241252C2 (ru) 2004-11-27
EP1259886A1 (en) 2002-11-27
CN1209712C (zh) 2005-07-06

Similar Documents

Publication Publication Date Title
KR20010087322A (ko) 로컬 아이피 주소와 변환할 수 없는 포트 주소를 이용한랜 네트워크 주소 변환 게이트웨이
US7159242B2 (en) Secure IPsec tunnels with a background system accessible via a gateway implementing NAT
US9838362B2 (en) Method and system for sending a message through a secure connection
CN106375493B (zh) 一种跨网络通信的方法以及代理服务器
US7155740B2 (en) Method and apparatus for robust NAT interoperation with IPSEC'S IKE and ESP tunnel mode
US8549285B2 (en) Method and apparatus for anonymous IP datagram exchange using dynamic network address translation
US7908651B2 (en) Method of network communication
US20020042875A1 (en) Method and apparatus for end-to-end secure data communication
US20060182103A1 (en) System and method for routing network messages
US20080130900A1 (en) Method and apparatus for providing secure communication
EP1328105B1 (en) Method for sending a packet from a first IPsec client to a second IPsec client through a L2TP tunnel
CN101420423A (zh) 网络系统
US12244670B2 (en) Session-based remote direct memory access
Montenegro et al. RSIP Support for End-to-end IPSEC
US20060171401A1 (en) Method for operating a local computer network connected to a remote private network by an IPsec tunnel, software module and IPsec gateway
CN118740549A (zh) Vpn报文传输方法和装置

Legal Events

Date Code Title Description
PA0109 Patent application

Patent event code: PA01091R01D

Comment text: Patent Application

Patent event date: 20010303

PG1501 Laying open of application
PC1203 Withdrawal of no request for examination
WITN Application deemed withdrawn, e.g. because no request for examination was filed or no examination fee was paid