KR100798660B1 - 로컬 ip 어드레스 및 변환불능 포트 어드레스를사용하는 구내 통신망에 대한 네트워크 어드레스 변환게이트웨이 - Google Patents

로컬 ip 어드레스 및 변환불능 포트 어드레스를사용하는 구내 통신망에 대한 네트워크 어드레스 변환게이트웨이 Download PDF

Info

Publication number
KR100798660B1
KR100798660B1 KR1020027011455A KR20027011455A KR100798660B1 KR 100798660 B1 KR100798660 B1 KR 100798660B1 KR 1020027011455 A KR1020027011455 A KR 1020027011455A KR 20027011455 A KR20027011455 A KR 20027011455A KR 100798660 B1 KR100798660 B1 KR 100798660B1
Authority
KR
South Korea
Prior art keywords
address
datagram
local
spi
external
Prior art date
Application number
KR1020027011455A
Other languages
English (en)
Other versions
KR20020079979A (ko
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 KR20020079979A publication Critical patent/KR20020079979A/ko
Application granted granted Critical
Publication of KR100798660B1 publication Critical patent/KR100798660B1/ko

Links

Images

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

네트워크 어드레스 변환 게이트웨이(20)는 로컬 IP 어드레스를 사용하는 구내 통신망(10)으로부터 외부 네트워크(30)으로 이동하는 IP 데이터그램에 대한 정상 네트워크 변환을 제공하지만, IPSec 프로토콜 모델의 일부인 ISAKMP "핸드셰이킹" 프로토콜과 같이, 특정 프로토콜에 대하여 포트가 예약될 때 소스 서비스 어드레스(포트) 변환을 중지한다. ISAKMP 교환은 소스 및 타겟 컴퓨터 모두가 동일한 서비스 어드레스(포트)를 사용할 것을 요구한다. 소스 서비스 어드레스(포트)를 변환하지 않는 네트워크 인터페이스를 제공함으로써, 이러한 게이트웨이는 로컬 IP 어드레스와 인터넷상의 서버 사이의 IPSec 프로토콜을 사용하여 안전하고, 암호화된 전송의 초기화 및 유지를 가능하게 한다.
Figure 112002028578297-pct00001
네트워크 어드레스 변환 게이트웨이, 로컬 IP 어드레스, 외부 네트워크, 인터넷, 서버, LAN, 소스 서비스 어드레스

Description

로컬 IP 어드레스 및 변환불능 포트 어드레스를 사용하는 구내 통신망에 대한 네트워크 어드레스 변환 게이트웨이{NETWORK ADDRESS TRANSLATION GATEWAY FOR LOCAL AREA NETWORKS USING LOCAL IP ADDRESSES AND NON-TRANSLATABLE PORT ADDRESSES}
TCP/IP를 사용하는 가상 사설망(VPN)은 통신 매체로서 인터넷을 사용하여, 리모트 컴퓨팅 사이트 사이의 안전한 고속 통신을 가능하게 한다. 인터넷을 가로지르는 사이트 사이를 통과하는 정보는 다양한 보안책에 의해 원치않는 도청 또는 악의의 해커에 의해 가로채기(interception) 당하는 것으로부터 보호될 수 있다. 효과적인 보안책은 최소한 임의의 또는 모두의 다음의 보호, 즉 전송 동안의 데이터의 부주의하거나 부당한 수정에 대한 데이터 보전; 안티-리피트 방법에 의한 서비스거부공격의 방지; 소스 인증; 전송 동안의 다른 헤더 정보 및 소스 어드레스의 신뢰도; 및 원치않는 가로채기에 대한 패킷 페이로드 보호를 보장하는 기능을 포함해야 한다. 인터넷 보안을 제공하는 하나의 스탠더드 모델은 인터넷 프로토콜 보안 슈트, IPSec이다. IPSec는 자체로 인터넷에 연결된 사설 LANs(구내 통신망)에 연결되거나 인터넷에 연결된 디바이스 사이에서 안전한 통신을 제공하기 위해 TCP/IP 통신 프로토콜과 함께 동작한다.
TCP/IP(전송 제어 프로토콜/인터넷 프로토콜) 프로토콜 슈트는 네트워크상의 각각의 디바이스를 식별하기 위해 IP 어드레스를 사용한다. 글로벌 IP 어드레스는 유일한 인터넷상의 디바이스를 식별한다. 이러한 디바이스는 컴퓨터, 프린터, 라우터, 스위치, 게이트웨이 또는 다른 네트워크 디바이스일 수 있다. 글로벌 IP 어드레스를 갖는 디바이스는 인터넷상의 소스 또는 행선지로서 직접 참조될 수 있다. 하지만, TCP/IP 통신 프로토콜은 인터넷에 배타적으로 제한되지 않고 사설 LANs에서도 물론 사용될 수 있다. TCP/IP를 사용하는 사설 LANs는 자주 네트워크 디바이스에 대해 "로컬" IP 어드레스를 사용한다. 사설 LAN 상의 어떤 2개의 디바이스도 동일한 로컬 IP 어드레스를 공유할 수 없지만, 사설 LANs는 인터넷으로부터 격리되어 LAN상의 로컬 디바이스는 인터넷으로부터 보이지 않을 수 있다. 따라서, 로컬 디바이스에 대한 IP 어드레스는 "전세계적으로" 유일할 필요가 없다. 로컬 IP 어드레스를 사용하는 LAN은 LAN과 인터넷사이의 메시지를 필터링하거나 라우팅할 수 있는 디바이스인 게이트웨이를 통하여 인터넷에 연결될 것이다. 게이트웨이가 인터넷에 직접 연결되고 그에 대해 보이기 때문에, 게이트웨이는 인터넷을 가로지르는 통신을 위해 전세계적으로 유일한 IP 어드레스를 가져야 한다. 그러나, LAN이 인터넷으로부터 직접 보이지 않기 때문에, LAN상의 로컬 머신은 전세계적으로 유일한 IP 어드레스를 필요로 하지 않는다.
TCP/IP는 인터넷상에 사용되는 통신 프로토콜이다. TCP/IP를 사용하여 통신되는 정보는 "데이터그램"내에 포함된다. 데이터그램은 하나 이상의 헤더가 부가된 정보의 이산적인 "패킷"으로 구성되어 있다. 헤더는 패킷을 그 의도된 행선지로 보내고 전송 동안 패킷의 적합한 처리를 보장하기 위해 TCP/IP에 의해 필요한 정보를 포함한다. 각각의 데이터그램은 개별적으로 어드레스가능하고, 접속식 TCP 데이터그램 또는 "커넥션레스형" UDP(사용자 데이터그램 프로토콜) 데이터그램일 수 있다. 각각의 UDP 데이터그램은 IP 헤더 및 UDP 헤더를 포함한다. IP 헤더는 적어도 "소스" IP 어드레스 및 "행선" IP 어드레스를 포함하고, UDP 헤더는 소스 및 행선 서비스 어드레스(포트 어드레스, 넘버로 주어진다)를 포함한다. IPv4에서, IP 어드레스는 길이가 32 비트이고, 이제는 친숙한 xxx.xxx.xxx.xxx 포맷과 관련되어 있다. 이러한 포맷에서, 각각의 3-숫자 세그먼트는 0과 255 사이의 넘버를 나타내는 2진법 옥텟이다. 완전한 IP 어드레스는 로컬 네트워크의 어드레스 또는 네트워크 세그먼트를 네트워크상의 "노드"(디바이스)의 어드레스와 조합한다. 네트워크 또는 네트워크 세그먼트의 어드레스는 IP 어드레스의 제1 3, 6, 또는 9 숫자를 포함할 수 있다. 네트워크 또는 네트워크 세그먼트상의 디바이스는 네트워크 또는 네트워크 세그먼트 어드레스에서 사용되지 않는 잔여 숫자로 구성된 노드 어드레스에 의해 식별된다.
UDP 헤더내에 포함된 소스 및 행선 서비스 어드레스는 전송 또는 수신 디바이스에 액티브한 의도된 프로세스로 패킷을 지향시키도록 하기 위해 사용되는, "포트" 또는 "소켓"으로 다양하게 알려진 16비트 넘버이다. 여기에 사용된 용어 "포트" 또는 "포트 어드레스"는 UDP 헤더내의 서비스 어드레스 필드를 가리킨다. 이론적으로 16비트 수의 어드레스 만큼의 포트가 존재하지만, 약속에 의해 많은 포트 어드레스가 달성된 프로세스에 대해 예약되어 있다. 따라서, 예를 들어, 포트 80은 HTTP에 대하여 예약되어 있고, 포트 20 및 21은 FTP에 대하여 예약되어 있다. 포트 어드레스를 사용함으로써, 하나 이상의 프로세스를 실행하는 로컬 머신에 도착한 데이터는 의도된 프로세스로 지향된다. 로컬 호스트에서 실행되는 프로세스가 예약된 프로세스중 하나가 아닌 경우에, 로컬 호스트는 "소스" 프로세스를 식별하기 위해 예약되지 않은 포트 넘버의 풀로부터 임의의 포트 넘버를 선택할 수 있다. "행선" 필드내의 포트 넘버를 참조하는 응답 패킷은 상기 프로세스로 전송된다.
지난 10년간 인터넷 사용의 폭발적인 증가 및 인터넷의 예측되는 미래의 성장과 함께, 전세계적으로 유일한 IP 어드레스는 진귀한 리소스가 되었다. 또한, 사설 LANs를 유지하는 많은 비지니스는 각각의 컴퓨터 및 LAN 상의 디바이스가 유일한 글로벌 IP 어드레스를 가질 필요가 거의 없거나 전혀 없다. 그러한 많은 비지니스는 어떤 경우건 그들의 컴퓨터의 IP 어드레스의 신뢰도를 유지하는 것이 바람직하다. 각각의 로컬 디바이스에 유일한 글로벌 IP 어드레스를 줌으로써 제한된 글로벌 리소스를 낭비하기 보다는 오히려 많은 사설 LANs는 LAN상의 디바이스에 대한 로컬 IP 어드레스를 사용한다. 인터넷에 접속하기 위해, 그러한 LANs는 인터넷으로부터 LAN을 분리하는 게이트웨이에 의해 인터넷상에 사용되도록 하나의 전세계적으로 유일한 어드레스를 사용한다.
네트워크 어드레스 변환(NAT) 기술을 사용함으로써, 인터넷으로부터 LAN을 분리하는 게이트웨이 디바이스는 로컬 IP 어드레스를 가진 머신이 게이트웨이의 유일한 글로벌 어드레스를 통해 인터넷에 액세스할 수 있도록 하면서 방화벽으로서 보안성을 제공한다. LAN상의 디바이스는 정적 로컬 IP 어드레스를 가질 수 있거나 로그 온시에 상기 디바이스에 동적 할당된 로컬 IP 어드레스를 가질 수 있다. 게이트웨이는 LAN상의 각각의 디바이스에 대하여 로컬 IP 어드레스를 갖는 변환 테이블을 유지한다. 로컬 머신으로부터 전송되고 인터넷이 행선지인 UDP 패킷은 IP의 소스 필드 및 UDP 헤더에서 식별되는 로컬 IP 어드레스 및 포트 어드레스를 각각 갖는다. 게이트웨이는 로컬 머신으로부터 패킷을 수신하고 IP 및 UDP 헤더의 소스 필드내로 게이트웨이의 외부의 세계적으로 유일한 IP 어드레스 및 (사용되지 않고 예약되지 않은 포트 어드레스의 풀로부터 취해진) 새로운 포트 어드레스를 대입한다. 다음으로, 게이트웨이는 CRC(순환 중복 검사)를 업데이트하고 임의의 다른 필요한 변화를 만들어 데이터 보전을 보장하고, 그후에 패킷을 인터넷에 전송한다. 프로세스의 일부로서, 게이트웨이는 로컬 머신의 IP 어드레스를 상기 머신에 의해 처음 보고된 소스 포트 어드레스, 인터넷에 바인드된 패킷에 할당된 새로운 소스 포트 어드레스, 그리고 행선 IP 어드레스와 상호 참조하기 위해 게이트웨이의 내부 변환 테이블을 업데이트한다. 인터넷으로부터 응답을 수신할 때에, 게이트웨이는 패킷 헤더내의 자체 IP 어드레스를 인식하고 입중계 패킷의 행선 포트 어드레스를 검사한다. 게이트웨이가 그 내부 테이블에서 행선 포트 어드레스를 발견하면, 게이트웨이는 상호 참조된 로컬 머신의 IP 어드레스 및 본래의 포트 어드레스를 패킷의 행선 필드에 대입하고, CRC 및 임의의 다른 필요한 파라미터를 업데이트하고, 그후에 패킷이 로컬 머신에 의해 수신되어 적당한 프로세스로 지향되는 패킷을 LAN에 디스패치한다. 이러한 방식으로, 로컬 IP 어드레스만을 갖는 LAN 상의 다수의 컴퓨터가 하나의 전세계적으로 유일한 IP 어드레스를 통해 인터넷과 통신할 수 있다.
NAT 게이트웨이가 인터넷으로부터 LAN의 직접 액세스에 대한 방화벽 보안을 제공하지만, NAT 게이트웨이는 인터넷상의 전송 동안 LAN으로 의도된 패킷의 가로채기 또는 수정에 대한 보안을 제공하지 않고, LAN내에서 발생된 문제로부터의 "신뢰성"을 보장하지는 않는다. 따라서, IPSec에 의해 제공된 보안은 인터넷과 인터페이스하는 동안 보안을 유지해야 하는 LANs에 대해 필요한 보호이다.
IPSec의 공동 실시는 적어도 하나의 메인 컴퓨팅 사이트 및 하나 이상의 리모트 LANs으로 구성된 VPNs에 대한 보안을 제공하는 것이다. 메인 사이트 및 리모트 LANs는 사이트 사이의 통신을 위해 상당하게 보다 비싼 사설 임대 라인 대신에 고속 매체를 사용하여 인터넷을 가로질러 연결되어 있다. 그러나, 전송 매체로서 인터넷을 사용하는 단점은 인터넷이 본래 불안전하고 해커에 의한 스누핑, 검출, "속임수(spoofing)" 또는 궁극적인 절도, 메시지의 수정 또는 우회에 대하여 본래의 보호가 거의 없거나 전혀 없다는 것이다. 따라서, 안전한 데이터 전송이 요구되는 포괄적인 보안 대책이 필요하다. IPSec 프로토콜은 데이터 및 데이터 보전의 인증을 보장하기 위한 보안 방법을 구현한다.
IPSec 프로토콜 슈트는 다층 OSI(개방 시스템간 상호접속) 네트워크 참조 모델의 네트워크층에서 보안을 구현한다. 슈트는 인터넷을 통하여 정보를 전달하는 UDP 데이터그램의 보안을 보장하기 위해 서로 연결되어 사용되는 다수의 별개의 프로토콜을 포함한다. IPSec 컴플라이언트 시스템의 기본 구조는 RFC2401, "Security Architecture for the Internet Protocol," S. Kent and R. Atkinson(November 1998)에 설명되어 있다. AH(인증 헤더) 프로토콜은 데이터 보전, 소스 인증을 보장하고, 서비스거부공격을 막기 위하여 "안티-리피트" 방법을 포함한다. ESP(Encapsulation Security Payload) 프로토콜은 AH와 유사한 보호를 제공하지만, 페이로드 암호화의 추가 특징이 부가되어 있다. AH 및 ESP 헤더 모두는 시큐어리티 파라미터 인덱스(SPI)에 대한 필드를 갖는다. SPI는 데이터그램에 대하여 시큐어리티 오소시에이션(SA)을 식별하기 위하여 사용되는 32 비트 의사난수값이다. 이러한 프로토콜에 대한 추가 정보는 RFC1826, "IP Authentication Header," by R.Atkinson (August 1995), and RFC2406, "IP Encapsulating Security Payload(ESP)," S.Kent R.Atkinson(November 1998)에서 발견할 수 있다. ISAKMP/Oakley (인터넷 시큐어리티 어소시에이션 및 키 관리 프로토콜, 또한 보통 인터넷 키 익스체인지-IKE로 불린다)는 2개의 호스트 사이트 사이의 보안 세션에 대한 파라미터를 구축하는 핸드셰이킹 프로토콜이고, 보안 세션을 구현하고 암호화된 데이터의 전송을 허용하기 위해 사용되는 키잉(keying) 및 시큐어리티 정보의 교환에 대해 제공한다. ISAKMP/Oakley 프로토콜(이후로는 단순히 ISAKMP로 부른다)은 인증이 구축될 수 있고 데이터 암호화를 위한 보안 키가 생성될 수 있는 초기화 데이터를 양쪽 머신 모두에 제공하기 위한 암호화되지 않은 메시지의 초기 교환을 포함한다. 이러한 프로세스의 설명은 RFC2409, "The Internet Key Exchange," D. Harkins and D. Carrel(November, 1998)에서 발견될 수 있다. 일단 호스트 사이에 시큐어리티 어소시에이션(SAs)를 충분히 구축하는 시큐어리티 파라미터가 교환되었다면, 모든 후속 전송은 암호화되고 동의에 기초한 프로토콜에 따라 완전히 인증된다. 그 포인트에서 ISAKMP 프로토콜은 종료한다. 후속 어드레싱은 각각의 머신에 대한 IP 어드레스 및 상기 세션에 대한 머신의 SPI에 기초한다. SPI는 세션 동안 각각의 머신에 대하여 유일하다. 사설 LAN 에 대한 게이트웨이는 로컬 머신의 IP 어드레스에 상호참조되는 값내의 "SPI-인" 및 "SPI-아웃"이 로컬 머신과 통신하는 인터넷상의 머신의 IP 어드레스에 상호참조되는 내부 테이블을 유지한다. 각각의 머신에 대한 SPI는 ISAKMP 전송 동안 교환되는 정보로부터 계산되고 UDP 패킷에 부착되는 AH 또는 ESP 헤더에 전달된다. IPSec 프로토콜이 다양한 환경에서 보안을 제공하도록 네스팅될 수 있기 때문에, 단일 데이터그램은 AH 및 ESP 헤더 모두를 포함할 수 있고, 임의의 헤더 정보를 암호화할 수 있다.
상기 시큐어리티 프로토콜의 각각은 패킷에 새로운 헤더 정보를 놓고, 사용중인 프로토콜에 합치하기 위해 패킷내의 특정 필드를 수정하며, 특정 경우에, 페이로드 및 다른 패킷 헤더의 모든 또는 일부를 암호화함으로써 UDP 패킷을 수정한다. 따라서, IPSec하에서, UDP 데이터그램은 신뢰받지 못한 네트워크를 가로질러 전송되기 위해 "안전한" 도메인을 떠날 때, 보통 IP 헤더, AH 또는 ESP 헤더 (또는 모두), 및 캡슐화된 페이로드로 구성된다. 헤더 정보는 행선 어드레스, SPI 및 충분한 SA 정보를 포함하여 데이터그램이 그 행선지에 도달하고 행선지 호스트에 인증될 수 있도록 보장한다. 페이로드를 캡슐화하면 페이로드내에 포함된 정보가 원치않는 도청자 및 해커에게 거부되는 것을 보장할 수 있다. 데이터그램에 대한 초기 행선 호스트는 라우터, 게이트웨이, 또는 LAN과 인터넷 사이의 방화벽일 수 있다. LAN과 인터넷 사이의 경계상의 디바이스에 도착할 때, 데이터그램은 오픈, 검사 또는 전체 또는 부분적으로 복호화될 수 있고, 추가 어드레스 정보에 대하여 분석되어 LAN 상의 로컬 IP 어드레스에 라우팅될 수 있다.
IPSec에서 사용되는 ISAKMP 핸드셰이킹 프로토콜은 양 호스트 사이에 보안 세션을 구축하도록 의도된 호스트 모두가 초기 메시지 교환에 대하여 프로세스-특정(process-specific) 포트 어드레스(포트 500)를 사용할 것을 요구한다. 이러한 이유에서, 포트 500은 ISAKMP 프로토콜에 독점적으로 사용되도록 할당되었다. 관습상, ISAMP 프로토콜을 사용함으로써 보안 통신 파라미터의 협상을 시도하는 컴퓨터는 각각의 컴퓨터의 포트 500을 통해서 제한적으로 통신해야 한다. 즉, 임의의 컴퓨터로부터의 ISAKMP 메시지는 포트 500을 소스 및 행선 포트 어드레스 모두로서 식별해야 한다. 포트 500이 소스 및 행선지 모두로서 지정되지 않은 패킷을 임의의 컴퓨터가 수신한다면, 패킷은 버려지게 된다.
이러한 프로토콜이 2개의 호스트가 서로 통신하도록 보장하지만, 로컬 IP 어드레스 및 NAT 게이트웨이를 사용하는 LAN상에 하나의 호스트가 위치될 때 작동불능이 될 수 있다. 예를 들어, NAT 게이트웨이에 의해 보호되는 리모트 LAN 상의 로컬 IP 어드레스를 갖는 호스트 A는 메인 오피스 컴퓨팅 사이트에 위치된 호스트 B와 보안 세션을 구축하기를 원한다. 호스트 A는 암호화되지 않은 UDP 데이터그램을 호스트 B에 전송하고, "행선"을 호스트 B의 IP 어드레스로서 그리고, 행선 포트 어드레스를 "포트 500"으로서 부여함으로써 프로토콜을 초기화한다. 그러나, 데이터그램이 리모트 LAN을 인터넷에 접속하는 NAT 게이트웨이에 도달할 때, 게이트웨이는 상기 행선 포트 어드레스를 임의의 포트 넘버로 변환한다. 호스트 B에 데이터그램이 도착할 때, ISAKMP 프로토콜은 인식되지 않고, 호스트 B는 응답하지 않는다. 컴퓨터는 보안 세션을 구축하는데 실패한다. 이러한 문제로 인해, 리모트 LAN 상의 각각의 컴퓨터가 글로벌 IP 어드레스보다 로컬 IP 어드레스를 사용하는 NAT 게이트웨이를 사용하여 VPN을 구축하는 데에 ISAKMP 프로토콜이 사용될 수 없다고 생각되어왔다.
따라서, 전송 매체로서 인터넷을 사용하여, 논-글로벌 IP 어드레스를 갖는 컴퓨터와 호스트 컴퓨터 사이의 키 교환 및 ISAKMP 프로토콜 인증의 사용을 허용하는 게이트웨이를 제공하는 것이 본 발명의 목적이다.
또한, 본 발명의 목적은 로컬 IP 어드레스를 사용하는 사설 LAN 상의 임의의 수의 컴퓨터가 ISAKMP 프로토콜을 사용하여 인터넷을 통하여 메시지를 초기화하거나 수신할 수 있도록 하는 게이트웨이를 제공하는 것이다.
본 발명의 또 다른 목적은 보안 통신을 초기화하기 위해 ISAKMP 프로토콜을 사용하여, 인터넷상의 2개 이상의 LAN 사이트 사이에 가상 사설 네트워킹을 사용하는 방법을 제공하는 것이다.
본 발명의 상기 방법 및 다른 방법은 아래의 설명을 통해 명백해질 것이다.
발명의 개시
본 발명에 따라, NAT 게이트웨이를 통해 인터넷과 같은 외부 네트워크에 연결된 리모트 LAN 상의 로컬 IP 어드레스를 사용하는 컴퓨터는 IPSec하에 보안 세션을 지원하는 SAs를 구축하고 키를 교환하기 위해 ISAKMP 프로토콜을 사용한다. 논-ISAKMP 트랙픽에 대하여, 게이트웨이는 어드레스 변환을 정상적으로 실행한다. 그러나, LAN상의 머신이 ISAKMP 프로토콜 메시지를 발생할 때마다, 게이트웨이는 포트 500의 포트 어드레스를 포함하는 데이터그램을 식별한다. 그러한 데이터그램을 만났을 때, 게이트웨이는 소스 IP 어드레스를 변환하지만, 소스 포트 어드레스를 변환하지 않고, 소스 포트 어드레스는 포트 500에 놓고, 소스 및 행선 포트 어드레스 모두로서 설계된 포트 500으로 인터넷에 패킷을 디스패치한다. 게이트웨이는 또한 로컬 IP 어드레스에 포트 500을 "바인드"하기 위해 게이트웨이의 내부 테이블을 업데이트하고 소정 시간동안 행선지 머신의 외부 IP 어드레스와 상기 바인딩을 관련시킨다. 유효한 응답이 소정의 시간내에 수신되지 않았다면, 포트 500과 로컬 IP 어드레스 사이의 "바인딩"은 해제된다. 이러한 특징은 예를 들어, 부정확한 행선 IP 어드레스에 ISAKMP 프로토콜 전송이 초기화된 상황에서와 같이, 포트 500이 무제한으로 타이 업되지 않도록 보장하기 위해 필요하다. 이러한 조건하에서, 게이트웨이는 유효한 응답을 절대 수신하지 않는다. 유효한 응답이 수신되지 않는 기간후에 포트 500을 해제하는 타이머가 존재하지 않는다면, 상기 포트는 게이트웨이가 리셋될 때까지 로컬 IP 어드레스에 바인드된 상태로 남아 있게 된다. 대부분의 컨디션에 대하여, 2초의 기간은 유효한 응답을 기다리는 동안 포트 500과 로컬 IP 어드레스 사이의 바인딩을 유지하기 위한 충분한 시간이어야 한다.
포트 500이 로컬 IP 어드레스에 바인드되어 있는 동안에, 게이트웨이는 유효한 응답을 기다리는 동안 포트 500 포트 어드레스를 갖지 않는 데이터그램의 정상 데이터그램 프로세싱을 계속한다. 유효한 응답은, 포트 500과 관련된 외부 IP 어드레스와 동일한 소스 IP 어드레스를 갖는 데이터그램이고, 포트 500으로서 소스 및 행선 포트 어드레스 모두를 갖는다. 유효한 응답을 기다리는 동안, 게이트웨이는 포트 500 소스 및 행선 포트 어드레스를 갖지만, 적합한 소스 IP 어드레스를 갖지 않는 외부 네트워크로부터의 다른 UDP 데이터그램을 무시한다. 또한, 포트 500이 로컬 IP 어드레스에 바인드되어 있는 동안, 포트 500의 소스 및 행선 포트 어드레스를 갖는 LAN으로부터 수신된 데이터그램은, 포트 500 소스 포트 어드레스가 외부 네트워크에 전송되기 전에 임의의, 사용되지 않는 포트 어드레스로 변환되는 "정상" 어드레스 변환 과정을 거치게 된다. 그러한 데이터그램이 포트 500의 소스 및 행선 포트 어드레스 모두를 가지지 않기 때문에, 이 데이터그램은 유효한 ISAKMP 데이터그램이 아니고, 상기 데이터그램의 IP 행선지에 도달할 때 무시된다. 포트 500을 로컬 IP 어드레스에 바인딩하는 기간이 게이트웨이에 의해 수신된 유효한 데이터그램 없이 종료되어야 한다면, 바인딩은 해제되고, 포트 500은 포트 500 소스 및 행선 포트 어드레스를 갖는 다음 데이터그램에 의해 사용되기에 유용하게 된다.
포트 500이 바인드되어 있는 동안에, 정확한 소스 IP 어드레스 및 포트 500의 소스 및 행선 포트 어드레스를 갖는 유효한 응답 데이터그램을 수신할 때, 게이트웨이는 로컬 머신의 IP 어드레스를 데이터그램 헤더의 행선 IP 어드레스 필드에 대입함으로써 데이터그램을 처리한 후에, 로컬 머신에 전달하기 위해 LAN을 통하여 데이터그램을 전송한다. 데이터그램이 게이트웨이를 떠날 때, 게이트웨이는 로컬 IP 어드레스와 포트 500 사이의 바인딩을 해제하고, 정상 데이터그램 프로세싱을 계속한다.
포트 500의 적합한 소스 IP 어드레스 및 포트 어드레스를 갖는 응답이 외부 네트워크로부터 수신되지 않는다면, 게이트웨이는 소정의 단시간후에 타임 아웃된 다. 게이트웨이가 유효한 응답이 수신되기 전에 타임 아웃되어야 한다면, ISAKMP 메시지 교환은 완료될 수 없고 다시 초기화되어야 한다.
일단, ISAMP 프로토콜이 완료되었고 암호화된 보안 세션이 진행중이라면, 게이트웨이는 입중계 및 출중계 데이터그램의 ESP 헤더내의 SPI를 참조함으로써 로컬 어드레스 변환을 실행한다. 게이트웨이는 또한 각각의 패킷 타입(ESP 패킷에 대한 타입 50)이 게이트웨이를 통과하는 데이터그램에 대하여 정확할 것을 보장한다. 종종, VPN을 통한 보안 세션은 인터럽트되거나 새로운 세션이 시작된다. 이것의 게이트웨이의 제1 표시는 IP 어드레스가 인식되지만 행선지와 관련된 SPI는 게이트웨이의 내부 테이블내에 나타나지 않는 타입 50 데이터그램을 수신하는 것이다. 이것이 발생할 때, 게이트웨이는 새로운 SPI를 사용하여 행선 IP 어드레스에 데이터그램을 디스패치하고, 게이트웨이의 테이블내의 행선 SPI 값(전송 방향에 의존하는 SPI-인 또는 SPI-아웃)을 새로운 값으로, 그리고 소스의 SPI 값을 제로로 설정한다. 전송에 대한 응답을 수신할 때, 게이트웨이는 SPI 필드 테이블내의 제로를 행선 IP 어드레스에 대한 새로운 SPI로 대체한다.
본 발명의 게이트웨이가 메시지를 암호화하거나 해독하지 않고 단순히 (암호화되거나 해독될 수 있는)페이로드를 수신 머신에서의 처리를 위해 LAN 또는 인터넷으로 통과시키기 때문에, 게이트웨이는 강력한 처리 기능을 필요로 하지 않고 셋업과 유지의 비용 및 단순성이 중요한 사설 LANs용으로 사용될 수 있다.
본 발명의 추가적인 목적과 이점은 하기의 첨부한 도면을 참조하여 바람직한 실시예의 상세한 설명에서 볼 수 있다.
도 1은 로컬 IP 어드레스를 사용하고 NAT 게이트웨이를 통하여 외부 네트워크에 연결된 리모트 LAN이 인터넷일 수 있는 외부 네트워크를 통하여 메인 컴퓨팅 사이트와 네트워크되는 가상 사설망을 도시한 도면,
도 2는 LAN으로부터 인터넷으로 전송하기 위해 수신된 UDP 데이터그램을 처리하도록 본 발명의 게이트웨이에 의해 사용되는 판정 차트를 도시한 도면,
도 3은 인터넷으로부터 LAN 상의 디바이스에 전달하기 위해 수신된 UDP 데이터 그램을 처리하기 위해 본 발명의 게이트웨이에 의해 사용되는 스텝의 판정 차트를 도시한 도면,
도 4는 도 5, 도 6, 도 7에 도시된 차트를 따르는데 있어서 참조하기 위해 제공된, LAN(L-1 내지 L-3) 상의 로컬 머신의 IP 어드레스, 게이트웨이의 내부 및 외부 IP 어드레스, 및 외부 네트워크상의 외부 디바이스("타겟" T-1 내지 T-3)의 IP 어드레스를 포함하는 표,
도 5a -5c 는 암호화된 데이터그램을 인증하기 위해 사용된 SPIs(시큐어리티 파라미터 인덱스)와 함께 외부 디바이스(T-1 내지 T-3)의 외부 IP 어드레스 및 LAN(L-1, L-2, . . . L-x)상의 머신의 로컬 IP 어드레스를 상호 참조하는 게이트웨이의 내부 테이블로부터의 대표적인 필드를 도시하는 도면으로서, SPI-아웃은 인터넷상의 디바이스에 대한 게이트웨이를 떠나는 암호화된 데이터그램의 SPI를 나타내고, SPI-인은 LAN 상의 로컬 머신이 행선지인 암호화된 데이터그램의 SPI를 나타내고, 표 a,b,c는 각각은 상이한 시점에서의 소스, 행선지 및 SPI에 대한 헤더 값을 나타내고, 변화값은 타겟 머신과 함께 로컬 머신 하나마다 세션의 개시를 나타내는 도면,
도 6은 외부 네트워크상의 단일 디바이스 및 단일 로컬 머신 사이에 교환되는 데이터그램 헤더내의 대표적인 필드를 도시하는 도면으로서, 헤드값은 본 발명의 게이트웨이에 의해 처리함으로써 수정되는 도면,
도 7은 외부 네트워크 상의 3개의 타겟(T-1 내지 T-3)과 LAN상의 3개의 로컬 머신(L-1 내지 L-3)이 본 발명의 게이트웨이에 의해 처리됨으로써 수정될 때 외부 네트워크 상의 3개의 타겟(T-1 내지 T-3)과 LAN상의 3개의 로컬 머신(L-1 내지 L-3) 사이에서 교환되는 데이터그램 헤더내의 대표적인 필드를 도시하는 도면, 및
도 8은 데이터그램 처리 펑션과 타이머 사이를 통과하는 신호의 개략도.
도 1에 사설 구내 통신망(LAN; 10)이 인터넷(50)상에 위치된 컴퓨팅 사이트(30)에 연결되어 있는 가상 사설망(VPN)이 도시되어 있다. LAN(10)은 로컬 IP 어드레스를 사용하고, 본 발명의 네트워크 주소 변환(NAT) 게이트웨이(20)를 통해 인터넷에 연결되어 있다. 컴퓨팅 사이트(30)는 비즈니스 헤드쿼터, 또는 다국적 기업, 교육기관, 또는 리모트 로케이션으로부터 자주 액세스되는 임의의 다른 사이트에 의해 사용되는 임의의 수의 사설 LANs중 하나일 수 있다. 이러한 사이트는 암호화 및 다른 보안 애플리케이션을 실행할 수 있는 게이트웨이(35) 또는 방화벽을 보통 가질 것이다. 이러한 게이트웨이는 패킷을 오픈하거나 그 콘텐츠를 해독하거나 액세스하고 주소 변환, 라우팅, 캡슐화해제 및 데이터 조작 기능도 실행하는 능력을 갖게 된다. 이러한 디바이스는 ISAKMP 및 다른 IPSec 프로토콜을 지원할 수 있고 패킷을 개방하거나 해독하고 데이터를 조작함으로써 ISAKMP 및 다른 IPSec 프로토콜을 지원하지만, 메인 컴퓨팅 사이트로 VPN을 구축하기 위해 필요한 리모트 LAN 사이트에서 효율적으로 사용되기에는 방대하고, 너무 비싸고 강력하다.
메인 사이트에서의 서버(40)는 VPN 서버 소프트웨어를 실행한다. 리모트 사이트에서의 컴퓨터(15) 각각은 각각의 컴퓨터상에 IPSec 시큐어리티 프로토콜을 구현하는 적합한 VPN 클라이언트 소프트웨어를 실행한다.
LAN(10)상의 컴퓨터(15)는 IP 데이터그램을 컴퓨팅 사이트(30)에서의 서버(40)에 전송함으로써 게이트웨이(20)를 통하여 인터넷 상의 또는 인터넷을 가로지르는 디바이스와 통신한다.
게이트웨이(20)에서 수신된 데이터그램은 도 2 및 도 3에 도시된 판정 차트에 따라 처리된다. 도 2 및 도 3의 순서도가 처리 스텝 및 이 스텝에 대한 시퀀스 모두를 도시하지만, 상기 기능의 일부를 실행하는 순서는 중요하지 않고 상기 스텝의 일부는 최종 결과에 영향을 주지 않고 순서도에 도시된 것과 다른 순서로 이루어질 수 있다. 예를 들어, 도 2 및 도 3은 데이터그램이 게이트웨이에 의해 수신된 후의 제1 스텝이 데이터그램 타입을 결정하는 것이고, 마지막 스텝은 데이터그램이 게이트웨이를 통과하기 전에 필요한 IP 주소 변환을 실행하는 것이라고 도시한다. 그러나, 일부 실시예는 프로세스내에서 보다 빠른 특정 포인트에 주소 변환의 스텝을 놓을 수 있고, 이것은 프로세스의 결과에 영향을 주지 않는다. IP 주소를 변환하는 순서는 전체 프로세서에 중요하지 않기 때문에, 이러한 변환이 언제 이루어져야 하는지에 대한 결정은 엔지니어링 선택의 문제이다.
도 2에 도시된 바와 같이, LAN으로부터 데이터그램을 수신시, 게이트웨이는 데이터그램이 암호화되었는지를 보기 위해 검사할 것이다. 이것은 게이트웨이가 다루는 데이터그램의 타입을 결정하고 데이터그램이 암호화되었는지를 보기 위해 IP 헤더내의 "넥스트 헤더" 필드를 체크함으로써 이루어진다. 50의 데이터그램 타입(ESP)은 데이터그램이 암호화되었음을 나타내고, 포트 어드레스 정보는 유용하지 않다.
계속해서 도 2의 판정 트리에서, 데이터그램이 암호화되었다면, 게이트웨이는 데이터그램의 SPI를 체크하여 게이트웨이의 내부 테이블의 SPI-아웃 필드내에 나타나는지를 본다. 그러한 테이블로부터의 대표적 필드는 도 5a-도 5c내에 도시되어 있다. 만약 데이터그램의 SPI가 내부 테이블의 SPI-아웃 필드내에서 발견되었다면, 게이트웨이는 데이터그램의 소스 IP 어드레스를 게이트웨이의 외부 IP 어드레스가 되도록 수정하고, 외부 디바이스에 전달하기 위해 외부 네트워크에 데이터그램을 전송한다.
데이터그램이 암호화되었지만, SPI가 게이트웨이의 내부 테이블내에 나타나지 않았다면, 도 2의 판정 차트에 따라 게이트웨이는 데이터그램이 새로운 세션을 초기화한다고 여기게 된다. 이러한 경우에, 게이트웨이는 그 내부 테이블의 SPI-인 필드를 제로(0)으로 설정하고 데이터그램으로부터 SPI-아웃을 새로운 SPI로 설정하게 된다. 내부 테이블에 대한 이러한 수정은 도 5a내의 게이트웨이의 내부 테이블의 SPI-아웃 필드내에 나타나지 않는 "새로운" SPI("14662")가 SPI-아웃 필드 로 입력된 것으로 도시되어있고 SPI-인은 도 5b내에 제로(0)로 설정되어 있는 도 5a 및 도 5b에 나타나있다. 그다음, 암호화된 데이터그램은 소스 IP 어드레스가 로컬 디바이스의 어드레스로부터 게이트웨이의 외부 IP 어드레스로 변환된 후에 외부 게이트에 전송된다. 이러한 스텝은 도 5b 및 도 5c에 도시되어 있다.
계속 도 2의 판정 차트에서, 데이터그램이 암호화되지 않았다면, 다음으로 게이트웨이는 데이터그램의 행선지 포트 어드레스를 체크하게 된다. 포트 어드레스가 포트 500이외의 다른 것이라면, 게이트웨이는 소스 포트 어드레스를 그 내부 테이블로 입력시켜 (로컬) 소스 IP 어드레스와 상호 참조하고, 그다음, 임의의, 사용되지 않는 포트 어드레스를 IP 헤더의 소스 포트 어드레스 필드와 바꾼다. 또한 게이트웨이는 그 내부 테이블내에 새로운 포트 어드레스를 입력시켜 다시 (로컬)소스 IP 어드레스와 상호 참조시킨다. 포트 어드레스로서 포트 500을 갖지 않는 암호화되지 않은 데이터그램에 대하여 사용되는 이러한 프로세스는 LAN상에서 발생된 데이터그램에 대한 "정상 어드레스 변환"으로 불리게 될 것이다. 이러한 변환은 도 6내의 행 1과 2에 도시되어 있다. 데이터그램은 그다음, 행선 IP 어드레스에 라우팅되기 위해 인터넷에 디스패치된다.
다음으로 게이트웨이는 입중계 데이터그램의 소스 및 행선 포트 어드레스가 포트 500인 도 2에서 포트 500이 이미 IP 어드레스에 바인드되었는지를 보기 위해 게이트웨이의 테이블을 체크해야 한다. 포트 500이 프리라면, 게이트웨이는 데이터그램의 (로컬) 소스 IP 어드레스에 포트 500을 "바인드"하고 포트와 (외부) 행선 IP 어드레스 사이에 연관을 생성하며 내부 타이머를 시작하기 위해 신호를 보낼 것이다. 또한 게이트웨이는 소스 IP 어드레스 필드내의 로컬 IP 어드레스 대신 게이트웨이의 외부 IP 어드레스를 대입함으로써 데이터그램을 처리한다. 그러나, 게이트웨이는 소스 포트 어드레스를 변환하지는 않는다. 소스 포트 어드레스의 "정상" 변환을 중지시킴으로써, 게이트웨이는 타겟 머신이 데이터그램을 ISAKM 데이터그램으로 인식할 수 있도록 보장한다. 이러한 스텝은 또한 도 6의 행 5,6에 도시되어 있다.
도 2에서, LAN으로부터의 입중계 데이터그램이 포트 500의 행선 포트 어드레스 및 소스를 갖지만, 포트 500이 이미 임의의 다른 로컬 IP 어드레스에 바인드되었다면, 게이트웨이는 처리를 위해 메시지에 대한 포트 500을 바인드할 수 없다. 이러한 경우에, 게이트웨이는 그것이 ISAKMP 데이터그램이 아닌 것처럼 데이터그램을 "정상적으로" 처리한다. 즉, 게이트웨이는 데이터그램의 소스 포트 어드레스를 임의의 넘버로 변환하고 소스 IP 어드레스를 게이트웨이의 외부 IP 어드레스로 변환한다. 그다음, 게이트웨이는 데이터그램이 ISAKMP 데이터그램과 합치하지 않기 때문에 타겟에 의해 거부되는 인터넷에 데이터그램을 전송한다. 이러한 동작은 도 7의 행 15, 16에 도시되어 있다.
도 3에서, 게이트웨이가 인터넷으로부터 수신된 데이터그램을 처리할 때 따르게 될 스텝을 아웃라인한 판정 차트가 도시되어 있다. 데이터그램의 수신시, 게이트웨이는 먼저 그 타입을 체크하고, 데이터그램이 암호화되었다면, SPI가 그 내부 테이블내에 나타나 있는지를 보기 위해 체크한다. SPI가 인식되었다면, 그 행선 IP 어드레스는 로컬 디바이스의 IP 어드레스로 변환되고, 데이터그램은 로컬 디바이스로 전달되기 위해 LAN으로 전송된다. SPI가 인식되지 않았다면, 게이트웨이는 다음으로 데이터그램의 소스 어드레스에 상응하는 게이트웨이의 SPI-인 필드가 제로(0)인지를 보기 위하여 체크한다. SPI-인이 제로라면, 게이트웨이는 데이터그램이 새로운 세션의 제1 응답이라고 가정하고 SPI-인 필드내의 제로를 데이터그램의 SPI로 바꾼다. 게이트웨이는 행선 IP 어드레스를 LAN상의 디바이스의 로컬 IP 어드레스로 변환하고 데이터그램을 전달을 위해 LAN에 전송한다. 이러한 동작은 도 5b, 및 도 5c에 도시되어 있다. 도 5b에서, 로컬 머신 L-1에 대한 SPI-인은 제로로 설정된다. 3288의 SPI를 갖는 인터넷으로부터 데이터그램을 게이트웨이가 수신할 때, 게이트웨이는 SPI-인 필드내에 그 SPI를 찾지 못하게 된다. 게이트웨이는 다음으로, SPI-인 필드가 제로의 값을 유지하고 있는지를 보기 위하여 체크한다. 로컬 머신 L-1에 대한 SI-인이 제로라고 결정할 때, 게이트웨이는 제로를 데이터그램의 SPI("3288")로 바꾸고 LAN으로 이 데이터그램을 전송한다. 이것은 도 5c에 도시되어 있다.
도 3에서, 인터넷으로부터의 데이터그램이 암호화되지 않았다면, 게이트웨이는 그것이 500의 포트 어드레스를 가졌는지를 보기 위하여 체크한다. 데이터그램이 500의 포트 어드레스를 가지고 있지 않다면, 데이터그램은 외부 네트워크로부터 데이터그램에 대한 "정상" 어드레스 변환을 거치게 되는데, 이것은 LAN상의 디바이스의 로컬 포트 어드레스 및 로컬 IP 어드레스가 데이터그램의 행선 필드로 변경되고 데이터그램은 전달되기 위해 LAN에 전송되는 것을 의미한다. 인터넷으로부터의 데이터그램에 대한 이러한 "정상" 어드레스 변환은 도 6의 행 3, 4에 도시되어 있 다.
다시 도 3에서, 데이터그램이 500의 포트 어드레스를 갖고 있지 않다면, 게이트웨이는 다음으로, 포트 500이 로컬 IP 어드레스에 바인드되어 데이터그램의 (외부) 소스 IP 어드레스와 관련되어 있는지를 보기 위해 체크해야 한다. 만약 그러하다면, 데이터그램은 유효하고, 행선 IP 어드레스가 외부 게이트웨이의 어드레스로부터 로컬 디바이스의 IP 어드레스로 변환된 후에 LAN으로 통과된다. LAN에 데이터그램을 통과시, 게이트웨이는 포트 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은 ISAKMP 데이터그램을 타겟 T-3으로 전송하고, 포트 500을 L-3의 IP 어드레스로 바인드하고 T-3의 IP 어드레스와의 연관을 생성한다. 포트 500이 바인드되면, 응답은 T-1로부터 수신된다. 그러나, 포트 500이 바인드되었기 때문에 T-3의 IP 어드레스와 관련되어 있고 T-1으로부터의 응답은 폐기된다. 이것은 도 7의 행 30, 31에 도시되어 있다.
도 5a-5c는 인터넷상의 타겟과 로컬 컴퓨터 사이의 암호화된 통신에 대한 SPI 넘버 및 IP 어드레스가 유지되는 게이트웨이의 내부 테이블을 도시하고 있다. "L-1," "L-2," "L-x" 및 "T-1" 내지"T-3"에 대한 필드는 참조의 용이를 위해 포함되어 있고, 게이트웨이의 내부 테이블내에는 나타나지 않는다. 도 5에서, 필드 "SP-아웃"은 LAN 상의 특정 컴퓨터와의 보안 세션동안 각각의 타겟 머신에 대한 SPI를 홀딩한다. "SPI-인" 필드는 로컬 컴퓨터에 대해 의도된 유효한 데이터그램을 의미하는 것으로 로컬 컴퓨터에 의해 인식될 상응하는 SPI를 준다. 도 5a는 시작 시간에서의 테이블을 도시한다. 8개의 로컬 컴퓨터는 테이블의 데이터의 수명 동안 3개의 타겟, T-1 내지 T-3로 암호화된 세션에 관련되어 있다. 이것은 각각의 로컬 머신이 그 IP 어드레스와 관련된 SPI-인을 도시한다는 사실에 의해 도시되어 있다. 오직 3개의 타겟만이 테이블내에 도시되어 있지만, 각각의 타겟이 각각의 로컬 머신과 통신하기 위해 상이한 SPI-아웃을 사용하고 있다는 것을 알 수 있다. 이러한 방식으로, 타겟은 어느 소스로부터 암호화된 데이터그램이 발생되었는지를 알게 된다.
도 5b는 도 5a와 동일한 로컬 및 타겟 컴퓨터를 도시한다. 그러나, 여기에서, L-1과 T-1 사이의 세션에 대한 SPI-아웃은 컴퓨터 사이의 새로운 세션을 나타내는 새로운 SPI이다. 새로운 세션이 일어나고 있다는 게이트웨이의 제1 표시는 테이블내에 없는 SPI-"14662"-를 갖는 LAN으로부터 암호화된 데이터그램을 게이트웨이가 수신하는 것이다. 게이트웨이는 데이터그램을 인터넷에 전송하지만, 또한 새로운 SPI를 상기 데이터그램에 대한 소스 및 행선 IP 어드레스와 관련된 SPI-아웃 필드내에 놓기 위하여 게이트웨이의 테이블을 수정한다. 게이트웨이는 새로운 SPI-인이 또한 예상된다는 것을 나타내기 위하여 마커로서 SPI-인 필드내에 제로를 놓는다. 도 5c는 새로운 SPI-"3288"-가 T-1로부터 수신된 데이터그램내에 포함되었다는 것을 도시한다. 이 SPI가 게이트웨이의 SPI-인 필드내에 입력되었다면 이러한 세션동안의 L-1과 T-1 사이의 추가 통신이 그것들의 메시지를 증명하기 위해 상기 SPI's를 사용하게 된다.
도 6은 인터넷상의 리모트 타겟과 통신하는 LAN 상의 단일 컴퓨터에 의해 본 발명의 게이트웨이를 통한 대표적인 데이터그램의 흐름의 차트이다. 이 차트의 각각의 행은 게이트웨이와의 LAN 인터페이스 또는 게이트웨이와의 인터넷 인터페이스중 어느 하나에서의 데이터그램내의 정보를 나타낸다. 연속 행은 일측으로부터 게이트웨이를 들어가서 타측에서 게이트웨이를 떠나는 데이터를 나타낸다. 게이트웨이는 LAN과의 인터페이스에서 로컬 IP 어드레스이고 인터넷과의 인터페이스에서 글로벌 IP 어드레스일 수 있는 하나의 IP 어드레스를 갖는다. 도 6내의 행은 데이터그램이 통과하고 있는 게이트웨이의 측부, 데이터그램의 타입, 데이터그램의 소스 IP 어드레스 및 포트 어드레스, 데이터그램의 행선 IP 어드레스 및 포트 어드레스, 및 ESP 프로토콜을 사용하는 타입 50의 암호화된 데이터그램에 대한 데이터그램의 시큐어리티 파라미터 인덱스(SPI)를 나타낸다.
도 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 어드레스를 대신하게 되는 정상 변환을 거치게 된다. 변환된 소스 포트 어드레스가 "임의의"로 불리지만, 이것은 게이트웨이에 의해 유지되는 예약되지 않고 현재 사용되지 않는 포트 어드레스의 풀로부터 취해진 시퀀스내에서 정상적으로 그 다음이 된다.
데이터그램이 게이트웨이를 나갈 때, 도 6의 행 2에 도시된 바와 같이, 게이트웨이의 어드레스 변환 펑션은 소스 IP 어드레스 대신에 데이터그램 헤더내에 게이트웨이의 외부 IP 어드레스스를 대입하고 소스 포트에 임의의 넘버를 제공한다. 행 3,4는 타겟으로부터의 응답 데이터그램을 도시한다. 행 3에서, 타겟으로부터의 UDP 데이터그램은 행선 IP 어드레스를 게이트웨이의 외부 IP 어드레스로, 그리고 행선 포트를 게이트웨이에 의해 임의로 할당된 포트 어드레스로서 나타낸다. 데이터그램이 암호화되지 않고 500의 포트 어드레스를 갖고 있지 않기 때문에, 데이터그램은 행선 포트 어드레스 및 IP 어드레스의 정상 변환을 거친 후에 LAN으로 전송되게 된다. 행 4에서, 게이트웨이는 LAN으로 데이터그램을 전송하기 전에 헤더의 행선 필드내에 포트 어드레스 및 로컬 컴퓨터의 로컬 IP 어드레스를 대입한다.
도 6의 행 5에서, 로컬 컴퓨터는 타겟과의 ISAKMP 프로토콜을 초기화한다. 데이터그램 타입은 ISAKMP로서 표시되어 있다. 소스 및 행선 포트 어드레스는 포트 500이다. 행선 포트 어드레스가 포트 500이라고 게이트웨이가 결정할 때, 게이트웨이는 포트 500이 현재 IP 어드레스에 바인드되었는지를 보기 위해 체크한다. 행선 포트 어드레스가 포트 500이 아니라면, 게이트웨이는 데이터그램을 통과시키고, 게이트웨이의 외부 IP 어드레스를 나타내기 위해 소스 IP 어드레스 필드만을 변환하지만, 소스 포트 어드레스를 변화시키지는 않는다.
도 6에서, 행 5 내지 16은 완전히 암호화되고 인증된 데이터그램을 지원하기 위해 SAs(시큐러티 어소시에이션)를 구축하는데 필요한 6개의 스탠더드 ISAKMP "핸드셰이킹" 데이터그램 교환을 나타낸다. ISAKMP의 일부 모델이 보다 적은 교환을 사용하지만, 메인 모드는 도 6에 묘사되어 있다. SAs의 구축에 이어, 로컬 컴퓨터 및 타겟은 ESP 프로토콜 암호화된 데이터그램을 사용하여 통신을 시작한다. 여기에서, 데이터그램 유효성은 데이터그램의 헤더의 SPI 필드내의 시큐어리티 파라미터 인덱싱(SPI) 번호를 사용함으로써 유지된다. 각각의 호스트는 계속되는 시큐어리티를 보장하기 위해 필요한 대로 호스트의 상호 동의에 의해 세션 동안 수정될 수 있는 자체 SPI에 "어드레스"된 데이터그램을 인식한다. 암호화된 데이터그램이 도 6의 행 17 및 행 18에 나타낸 바와 같이 게이트웨이를 통과할 때, 데이터그램의 소스 IP 어드레스가 게이트웨이의 외부 IP 어드레스가 되도록 변환되더라도, 소스와 행선 SPI 어떤 것도 게이트웨이에 의해 수정되지는 않는다.
따라서, 암호화된 데이터그램이 게이트웨이에 수신되었다면, 타입 50(ESP)의 데이터그램에 의해 표시된다. 그러한 데이터그램 타입을 만나게 되면, 게이트웨이는 SPI가 그 내부 테이블내에 레코드되었는지를 보기 위하여 데이터그램의 시큐어리티 파라미터 인덱스(SPI)를 체크한다. 만약, SPI가 그 내부 테이블에 레코드되었다면, 게이트웨이는 데이터그램의 소스 또는 행선 IP 어드레스를 적합한 것으로 변환하여 그 데이터그램을 전송 방향에 따라 LAN 또는 인터넷에 전송한다. 그러나, LAN으로부터의 데이터그램의 SPI가 게이트웨이의 내부 테이블에 나타나지 않고 소스 및 행선지가 IP 어드레스로 인식된다면 게이트웨이는 새로운 세션이 시작되었다고 인식하게 된다. 이러한 경우에, 게이트웨이는 새로운 SPI를 그대로 두는 외부 네트워크에 데이터그램을 보내지만, 게이트웨이의 내부 테이블의 "SPI-아웃" 필드내에 새로운 SPI를 레코드하고 제로를 "SPI-인" 필드내에 놓게 된다. 행 25 및 26에서, 새로운 세션을 의미하는 새로운 SPI가 나타나는 것을 볼 수 있다. 이러한 이벤트는 "SPI-인" 필드내의 "0"가 "14662"의 새로운 SPI-아웃에 상응하는 도 5b에 상응한다. 행 27,28에서, 외부 네트워크로부터의 응답 패킷은 "이전" SPI "9802"가 "새로운" SPI "3288"로 교체되었음을 나타낸다.
도 7은 L-1, L-2, L-3으로 표시된 LAN상의 3개의 컴퓨터 사이의 데이터그램의 본 발명의 게이트를 통한 경로 및 유일한 글로벌 IP 어드레스를 갖는 인터넷상의 3개의 타겟, T-1, T-2, T-3을 설명하는 것을 제외하고는 도 6과 유사하다. 도 4에서, 용이한 참조를 위해 이러한 디바이스의 IP 어드레스를 포함하는 테이블이 주어져 있다. 도 7에 도시된 바와 같이, "L-1 아웃"으로 표시된 전송은 로컬 컴퓨터(L-1)로부터 게이트웨이로의 전송을 나타낸다. "T-1 인"은 게이트웨이로부터 타겟 T-1로의 전송을 나타낸다. "T-1 아웃"은 타겟 T-1로부터 게이트웨이로의 전송 을 나타내고, "L-1 인"은 게이트웨이로부터 컴퓨터 L-1로의 전송을 나타낸다.
도 7의 행 1-8에 도시된 바와 같이, 컴퓨터 L-1 및 L-2는 타겟 T-1 및 T-2과 "클리어(in the clear)" 통신을 수행한다. 행 9에서, L-1은 T-1과 함께 ISAKMP 세션을 시작한다. 행 9-14는 ISAKMP 프로토콜 동안 L-1 및 T-1 사이에 교환되는 제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이 그 ISAKMP-1 전송을 행 19에서 재시도할 때, 전송에 성공하게 된다.
도 7의 행 19-20에서, L-3의 ISAKMP-1 전송은 포트 500을 L-3의 IP 어드레스에 바인드한다. 따라서, L-1이 그 ISAKM-5 전송을 시도할 때, 행 21-22에서, 포트 500은 유용하지 않고, 게이트웨이는 단순히 행선 포트 어드레스를 포트 500으로부터 "임의의" 포트 넘버- 이경우에는 "9063"-로 변환하여, 타겟 T-1이 상기 데이터그램을 ISAKMP 데이터그램으로 인식하지 않는 인터넷으로 상기 데이터그램을 전송하게 된다. 그러나, L-3이 행 23-24에서 포트 500을 해제한 후에, L-1가 그 ISAKMP-5 전송을 보내려는 다음 시도는 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에서 수신된다. L-1 및 T-1은 그것들의 ISAKMP 핸드셰이킹에 이어 행 38-39 및 42-43에서 ESP 프로토콜을 사용하여 안전하게 통신할 수 있다.
도 7의 행 38-57은 다수의 로컬 컴퓨터 및 타겟 사이의 다양한 데이터그램을 게이트웨이가 처리하는 것을 보여준다. UDP 데이터그램은 행 40-41에 나타나 있고, ESP 데이터그램은 행 42-43 및 52-53에 나타나 있고, ISAKMP 데이터그램은 행 44-45에 나타나 있다. 도 7의 차트가 각각의 디바이스에 대하여 상이한 IP 어드레스를 나타내지만, 실제로, 다수의 프로세스가 동일한 디바이스에서 실행되는 일이 일어날 수 있다. 게이트웨이에 의한 유일한 소스 포트의 대입, 암호화된 전송을 차별화하는 SPI's의 사용은 단일 머신에서 실행되는 다수의 프로세스로부터 나오는 데이터그램의 방향이 잘못 되지 않도록 보장한다.
도 8은 데이터그램 프로세싱 회로(100) 및 타이머(110) 사이의 신호의 초기화 및 전송을 도시한다. IP 어드레스로 바인드되는 포트 어드레스를 요구하는 이벤트가 발생할 때, 신호(120)는 타이밍을 시작하도록 타이머에 전송된다. 적합한 인터벌의 종료시에, 타이머는 시간이 종료되었다는 것을 나타내는 신호(140)를 전송하는데, 이러한 경우에 바인드되는 임의의 포트는 해제된다. 그 사이에, 예상된 데이터그램이 도착되고 이전에 바인드된 포트가 해제될 것이라면, 디스에이블링 신호(130)는 타이밍을 시작하기 위해 다음 신호를 기다리도록 타이머가 리셋되어야 한다는 것을 나타내는 타이머에 전송된다. 당업분야에 알려진 수많은 타이밍 회로가 존재하고 도 8에 도시된 특정 구성은 많은 가능한 실시예중 하나일 뿐이라는 것은 명백하다.
상술로부터, 여기에 설명된 바람직한 실시예만이 본 발명을 실현하는 수단이 아니고, 다른 실시예가 본 발명의 정신과 범위를 벗어남 없이 본 발명을 실현하기 위해 선택될 수 있다라는 것을 당업자는 이해할 것이다. 예를 들어, 바람직한 실시예가 ISAKMP 프로토콜과 사용하기 위해 배타적으로 예약된 포트 500에 관하여 설명하였지만, 본 발명은 추후 다른 프로세스 또는 프로토콜에 할당될 수 있는 다른 포트 어드레스가 행선지인 데이터그램을 처리하기 위해 동일한 방식으로 사용될 수 있다. 특별히, 인터넷에서 플레이되는 많은 게임은 정상적인 어드레스 변환을 견디어낼 수 없는 로컬 및 외부 머신상의 특정 포트의 사용을 필요로 한다. 또한, 본 발명이 사설 LAN 및 인터넷 사이의 통신에 대하여 주로 설명되었지만, 본 발명의 게이트웨이가 2개의 네트워크 사이의 임의의 인터페이스에서 사용될 수 있고 상술된 것과 동일한 기능을 가질 것이라는 것이 명백하다.
여기에 첨부된 청구항은 본 발명의 정신 및 범위내의 수정 및 변화를 포함하도록 의도되었다.

Claims (18)

  1. LAN은 로컬 IP 어드레스를 사용하고, 게이트웨이는 상기 LAN상의 디바이스에 의해 보여질 수 있는 로컬 IP 어드레스 및 외부 네트워크상의 디바이스에 의해 보여질 수 있는 외부 IP 어드레스를 가지며, 상기 LAN을 상기 외부 네트워크에 연결하는 네트워크 어드레스 변환 게이트웨이에 있어서, 상기 게이트웨이는
    상기 LAN 상의 로컬 디바이스의 로컬 IP 어드레스, 상기 외부 네트워크상의 외부 디바이스의 외부 IP 어드레스, SPI-인 값, SPI-아웃 값, 소스 포트 어드레스, 행선 포트 어드레스, 예약된 포트 어드레스의 조합을 연관시키고 예약된 포트 어드레스의 리스트를 유지하는 복수의 내부 테이블;
    상기 LAN으로부터 상기 외부 네트워크로 전송되는 데이터그램 및 상기 외부 네트워크로부터 상기 LAN으로 전송되는 데이터그램에 대해 정상 어드레스 변환을 실행하는 수단;
    상기 LAN 상의 로컬 디바이스로부터 상기 외부 네트워크상의 외부 디바이스에 전달하기로 의도된 데이터그램을 수신하고, 상기 데이터그램에 대한 행선 포트 어드레스가 상기 예약된 포트 어드레스의 리스트내에 포함되어 있는지를 결정하고, 상기 행선 포트 어드레스가 상기 예약된 포트 어드레스의 리스트내에 포함되어 있지 않다면, 상기 데이터그램에 대한 정상 어드레스 변환을 실행하고 상기 데이터그램을 상기 외부 디바이스에 라우팅 및 전달하기 위해 상기 외부 네트워크에 전송하고,
    상기 행선 포트 어드레스가 상기 예약된 포트 어드레스의 리스트내에 포함되어 있다면, 상기 행선 포트 어드레스가 상기 로컬 디바이스의 상기 로컬 IP 어드레스에 바인드되었는지를 결정하고, 상기 행선 포트 어드레스가 상기 로컬 IP 어드레스에 바인드되어 있다면, 상기 데이터그램에 대한 정상 어드레스 변환을 실행하고 상기 데이터그램을 상기 외부 디바이스에 라우팅 및 전달하기 위해 상기 외부 네트워크에 전송하여
    상기 행선 포트 어드레스가 상기 로컬 디바이스의 상기 로컬 IP 어드레스에 바인드되어 있지 않다면, 상기 데이터그램의 소스 IP 어드레스를 상기 게이트웨이의 상기 외부 IP 어드레스가 되도록 수정하고, 상기 행선 포트 어드레스를 상기 로컬 디바이스의 상기 로컬 IP 어드레스에 바인드하고 상기 행선 포트 어드레스와 상기 외부 디바이스의 외부 IP 어드레스 사이에 연관을 생성하고, 상기 데이터그램을 상기 외부 디바이스에 라우팅 및 전달하기 위하여 상기 외부 네트워크에 전송함으로써, 상기 LAN상의 로컬 디바이스로부터 상기 외부 네트워크상의 외부 디바이스로 상기 데이터그램을 전달하는 수단;을 포함하는 것을 특징으로 하는 네트워크 어드레스 변환 게이트웨이.
  2. 제 1 항에 있어서, 상기 LAN상의 로컬 디바이스로부터 상기 외부 디바이스로 데이터그램을 전달하는 수단은, 상기 데이터그램이 암호화되었는지를 결정하고, 상기 데이터그램이 암호화되었다면, 상기 데이터그램의 SPI가 상기 내부 테이블내의 SPI-아웃 필드내에 레코드되어 있는지를 결정하고, 상기 SPI가 상기 SPI-아웃 필드내에 레코드되어 있다면, 상기 데이터그램의 소스 IP 어드레스를 상기 게이트웨이의 상기 외부 IP 어드레스가 되도록 수정하고 상기 데이터그램을 상기 외부 디바이스에 라우팅 및 전달하기 위해 상기 외부 네트워크에 전송하는 수단을 더 포함하는 것을 특징으로 하는 네트워크 어드레스 변환 게이트웨이.
  3. 제 2 항에 있어서, 상기 SPI가 상기 내부 테이블의 상기 SPI-아웃 필드내에 레코드되어 있지 않다면, 상기 로컬 디바이스의 로컬 IP 어드레스에 상응하는 SPI-인 필드를 제로로 설정하고 상기 SPI-아웃 필드를 상기 SPI와 같게 설정하며, 상기 데이터그램의 상기 소스 IP 어드레스를 상기 게이트웨이의 상기 외부 IP 어드레스가 되도록 수정하고 상기 데이터그램을 상기 외부 디바이스에 라우팅 및 전달하기 위해 상기 외부 네트워크에 전송하는 수단을 더 포함하는 것을 특징으로 하는 네트워크 어드레스 변환 게이트웨이.
  4. 제 1 항에 있어서, 상기 네트워크 어드레스 변환 게이트웨이는, 상기 LAN상의 상기 로컬 디바이스로 전달되기로 의도된 데이터그램을 상기 외부 네트워크상의 상기 외부 디바이스로부터 수신함으로써 상기 외부 디바이스로부터 상기 로컬 디바이스로 데이터그램을 전달하고, 상기 데이터그램이 암호화되어 있는지를 결정하고, 상기 데이터그램이 암호화되어 있다면, 상기 데이터그램의 SPI가 상기 내부 테이블의 SPI-인 필드내에 레코드되어 있는지를 결정하고, 상기 SPI가 상기 SPI-인 필드내에 레코드되어 있다면, 상기 데이터그램의 행선 IP 어드레스를 상기 로컬 디바이스의 상기 로컬 IP 어드레스가 되도록 수정하고 상기 데이터그램을 상기 로컬 디바이스에 라우팅 및 전달하기 위해 상기 LAN에 전송하고, 상기 SPI가 상기 내부 테이블의 상기 SPI-인 필드내에 레코드되어 있지 않다면, 상기 외부 디바이스의 IP 어드레스에 상응하는 상기 SPI-인 필드가 제로인지를 결정하고, 상기 SPI-인 필드가 제로가 아니라면, 상기 데이터그램을 버리고, 상기 SPI-인 필드가 제로라면, 상기 SPI-인 필드를 상기 SPI와 동일하게 설정하고 상기 데이터그램의 행선 IP 어드레스를 상기 로컬 디바이스의 상기 로컬 IP 어드레스가 되도록 수정하고 상기 데이터그램을 상기 로컬 디바이스에 전달하기 위해 상기 LAN에 전송하고, 상기 데이터그램이 암호화되어 있지 않다면, 상기 데이터그램에 대한 행선 포트 어드레스가 상기 예약된 포트 어드레스의 리스트내에 포함되어 있는지를 결정하고, 상기 행선 포트 어드레스가 상기 예약된 포트 어드레스의 리스트내에 포함되어 있지 않다면, 상기 데이터그램에 대한 정상 어드레스 변환을 실행하고 상기 데이터그램을 상기 로컬 디바이스에 전달하기 위해 상기 LAN에 전송하고, 상기 행선 포트 어드레스가 상기 예약된 포트 어드레스의 상기 리스트내에 포함되어 있다면, 상기 행선 포트 어드레스가 상기 로컬 디바이스의 로컬 IP 어드레스에 바인드되어 있는지를 결정하고, 상기 행선 포트 어드레스가 상기 로컬 IP 어드레스에 바인드되어 있지 않다면, 상기 데이터그램을 버리고, 상기 행선 포트 어드레스가 상기 로컬 IP 어드레스에 바인드되어 있다면, 상기 데이터그램의 상기 행선 IP 어드레스를 상기 로컬 디바이스의 상기 로컬 IP 어드레스가 되도록 수정하고, 상기 로컬 IP 어드레스로부터 상기 행선 포트 어드레스를 바인드해제하고, 상기 데이터그램을 상기 로컬 디바이스에 전달하기 위해 상기 LAN에 전송하는 수단을 더 포함하는 것을 특징으로 하는 네트워크 어드레스 변환 게이트웨이.
  5. 제 1 항에 있어서, 타이머를 더 포함하고, 포트 어드레스가 IP 어드레스에 바인드되었다는 신호를 수신할 때, 상기 타이머는 소정의 시간 동안 타이밍을 시작하고, 상기 소정의 시간의 종료시에, 상기 포트 어드레스가 상기 IP 어드레스로부터 바인드해제되도록 하는 신호를 전송하고, 상기 포트 어드레스가 상기 소정의 시간의 종료전에 상기 IP 어드레스로부터 바인드해제되었다는 것을 나타내는 신호를 수신할 때, 상기 타이머는 타이밍을 중지하고 리셋되는 것을 특징으로 하는 네트워크 어드레스 변환 게이트웨이.
  6. 제 1 항에 있어서, 상기 외부 네트워크는 인터넷인 것을 특징으로 하는 네트워크 어드레스 변환 게이트웨이.
  7. 제 6 항에 있어서, 상기 LAN은 가상 사설망인 것을 특징으로 하는 네트워크 어드레스 변환 게이트웨이.
  8. 로컬 IP 어드레스를 사용하는 LAN상의 로컬 디바이스로부터 네트워크 변환 게이트웨이를 통하여 외부 네트워크상의 외부 디바이스로 IP 데이터그램을 처리하는 방법에 있어서,
    상기 LAN상의 로컬 디바이스의 로컬 IP 어드레스, 상기 외부 네트워크상의 외부 디바이스의 외부 IP 어드레스, 상기 로컬 디바이스의 포트 어드레스, 상기 외부 디바이스의 포트 어드레스, SPI-인 값, SPI-아웃 값, 및 예약된 포트 어드레스, 및 예약된 포트 어드레스의 리스트를 연관시키는 복수의 테이블을 유지하는 단계;
    상기 LAN으로부터 데이터그램을 수신하는 단계;
    상기 데이터그램에 대한 행선 포트 어드레스가 상기 예약된 포트 어드레스의 테이블내에 포함되어 있는지를 결정하고, 상기 행선 포트 어드레스가 상기 예약된 포트 어드레스내에 포함되어 있지 않다면, 상기 데이터그램에 대한 정상 어드레스 변환을 실행하고 상기 데이터그램을 상기 외부 디바이스에 라우팅 및 전달하기 위해 상기 외부 네트워크에 전송하는 단계;
    상기 행선 포트 어드레스가 상기 예약된 포트 어드레스의 테이블내에 포함되어 있다면, 상기 행선 포트 어드레스가 IP 어드레스에 바인드되어 있는지를 결정하고, 상기 행선 포트 어드레스가 IP 어드레스에 바인드되어 있다면, 상기 데이터그램에 대한 정상 어드레스 변환을 실행하고 상기 데이터그램을 상기 외부 디바이스에 라우팅 및 전달하기 위해 상기 외부 네트워크에 전송하는 단계;
    상기 행선 포트 어드레스가 IP 어드레스에 바인드되어 있지 않다면, 소스 IP 어드레스를 상기 외부 디바이스에 대한 상기 외부 IP 어드레스가 되도록 수정하고, 상기 행선 포트 어드레스를 상기 로컬 디바이스의 로컬 IP 어드레스에 바인드하고 상기 행선 포트 어드레스와 상기 외부 디바이스의 상기 외부 IP 어드레스 사이의 연관을 생성하고, 상기 데이터그램을 상기 외부 디바이스에 라우팅 및 전달하기 위해 상기 외부 네트워크에 전송하는 단계;를 포함하는 것을 특징으로 하는 방법.
  9. 제 8 항에 있어서,
    상기 데이터그램이 암호화되어 있는지를 결정하고, 상기 데이터그램이 암호화되어 있다면, 상기 데이터그램내의 SPI가 상기 복수의 테이블중 하나의 SPI-아웃 필드내에 레코드되어 있는지를 결정하고, 상기 SPI가 상기 테이블의 상기 SPI-아웃 필드내에 레코드되어 있다면, 상기 소스 IP 어드레스를 상기 게이트웨이의 외부 IP 어드레스가 되도록 수정하고 상기 데이터그램을 상기 외부 디바이스에 라우팅 및 전달하기 위해 상기 외부 네트워크에 전송하고, 상기 SPI가 상기 테이블의 상기 SPI-아웃 필드내에 레코드되어 있지 않다면, 상기 외부 디바이스의 IP 어드레스에 상응하는 상기 SPI-아웃 필드를 상기 SPI와 동일하게 설정하고 상기 테이블의 SPI-인 필드를 제로로 설정하고, 상기 소스 IP 어드레스를 상기 게이트웨이의 상기 외부 IP 어드레스가 되도록 수정하고, 상기 외부 디바이스에 라우팅 및 전달하기 위해 상기 데이터그램을 상기 외부 네트워크에 전송하는 단계를 더 포함하는 것을 특징으로 하는 방법.
  10. 외부 네트워크상의 외부 디바이스로부터 네트워크 변환 게이트웨이를 통하여 로컬 IP 어드레스를 사용하는 LAN상의 로컬 디바이스로 IP 데이터그램을 처리하는 방법에 있어서,
    상기 LAN상의 로컬 디바이스의 로컬 IP 어드레스, 상기 외부 네트워크상의 외부 디바이스의 외부 IP 어드레스, 상기 로컬 디바이스의 포트 어드레스, 상기 외부 디바이스의 포트 어드레스, SPI-인 값, SPI-아웃 값, 및 예약된 포트 어드레스, 및 예약된 포트 어드레스의 리스트를 관련시키는 복수의 테이블을 유지하는 단계;
    데이터그램을 상기 외부 네트워크로부터 수신하는 단계;
    상기 데이터그램이 암호화되어 있는지를 결정하고 상기 데이터그램이 암호화되어 있지 않다면, 상기 데이터그램에 대한 행선 포트 어드레스가 상기 예약된 포트 어드레스의 리스트내에 포함되어 있는지를 결정하고, 상기 행선 포트 어드레스가 상기 예약된 포트 어드레스의 리스트내에 포함되어 있지 않다면, 정상 어드레스 변환을 실행하여 상기 데이터그램을 상기 로컬 디바이스에 라우팅 및 전달하기 위해 상기 LAN에 전송하는 단계;
    상기 행선 포트 어드레스가 상기 예약된 포트 어드레스의 리스트내에 포함되어 있다면, 상기 행선 포트 어드레스가 상기 로컬 IP 어드레스에 바인드되어 있는지를 결정하고, 상기 행선 포트 어드레스가 상기 로컬 IP 어드레스에 바인드되어 있지 않다면, 상기 데이터그램을 버리는 단계;
    상기 행선 포트 어드레스가 상기 로컬 IP 어드레스에 바인드되어 있다면, 행선 IP 어드레스를 상기 로컬 디바이스의 상기 로컬 IP 어드레스가 되도록 수정하고, 상기 행선 포트 어드레스를 상기 로컬 IP 어드레스로부터 바인드해제하고, 상기 데이터그램을 상기 로컬 디바이스에 라우팅 및 전달하기 위해 상기 LAN에 전송하는 단계;를 포함하는 것을 특징으로 하는 방법.
  11. 제 10 항에 있어서, 상기 방법은 상기 데이터그램이 암호화되어 있다면,
    상기 데이터그램내의 SPI가 상기 복수의 테이블중 하나의 SPI-인 필드내에 레코드되어 있는지를 결정하고, 상기 SPI가 상기 테이블의 상기 SPI-인 필드내에 레코드되어 있다면, 행선 IP 어드레스가 상기 로컬 디바이스의 내부 IP 어드레스가 되도록 수정하고 상기 데이터그램을 상기 로컬 디바이스에 라우팅 및 전달하기 위해 상기 LAN에 전송하는 단계;
    상기 SPI가 상기 테이블의 상기 SPI-인 필드내에 레코드되어 있지 않다면, 상기 외부 디바이스의 IP 어드레스에 상응하는 상기 SPI-인 필드가 제로인지를 결정하고, 상기 SPI-인 필드가 제로가 아니라면, 상기 데이터그램을 버리는 단계;
    상기 SPI-인 필드가 제로라면, 상기 SPI-인 필드를 상기 SPI가 되도록 수정하고, 상기 행선 IP 어드레스를 상기 로컬 디바이스의 상기 로컬 IP 어드레스가 되도록 수정하고, 상기 데이터그램을 상기 로컬 디바이스에 라우팅 및 전달하기 위해 상기 LAN에 전송하는 단계;를 더 포함하는 것을 특징으로 하는 방법.
  12. 제 11 항에 있어서,
    상기 행선 포트 어드레스가 상기 로컬 디바이스의 상기 로컬 IP 어드레스에 바인드될 때마다 타이머를 시작하는 단계;
    상기 행선 포트 어드레스가 해제될 때마다 상기 타이머를 리셋하는 단계; 및
    상기 타이머가 액티브하고 상기 타이머가 시작된 시점으로부터 소정의 시간이 종료될 때마다 신호를 전송하는 단계;를 더 포함하는 것을 특징으로 하는 방법.
  13. 제 12 항에 있어서, 상기 행선 포트 어드레스가 상기 로컬 디바이스의 상기 로컬 IP 어드레스에 바인드될 때마다 타이머를 시작하는 단계;
    상기 행선 포트 어드레스가 해제될 때마다 상기 타이머를 리셋하는 단계; 및
    상기 타이머가 액티브하고 상기 타이머가 시작된 시점으로부터 소정의 시간이 종료될 때마다 신호를 전송하는 단계;를 더 포함하는 것을 특징으로 하는 방법.
  14. 제 11 항에 있어서, 상기 외부 네트워크는 인터넷인 것을 특징으로 하는 방법.
  15. 제 12 항에 있어서, 상기 외부 네트워크는 인터넷인 것을 특징으로 하는 방법.
  16. 제 11 항에 있어서, 상기 LAN은 가상 사설망인 것을 특징으로 하는 방법.
  17. 제 12 항에 있어서, 상기 LAN은 가상 사설망인 것을 특징으로 하는 방법.
  18. LAN을 네트워크 어드레스 변환 게이트웨이를 통해 외부 네트워크에 연결하고 머신에 의해 실행가능한 복수의 코드 섹션을 갖는 컴퓨터 프로그램을 저장한 머신 판독가능 기억장치에 있어서, 상기 LAN상의 디바이스에 의해 보여질 수 있는 로컬 IP 어드레스를 갖고 상기 외부 네트워크상의 디바이스에 의해 보여질 수 있는 외부 IP 어드레스를 가지며, 상기 LAN상의 로컬 디바이스의 로컬 IP 어드레스, 상기 외부 네트워크상의 외부 디바이스의 외부 IP 어드레스, 소스 포트 어드레스, 행선 포트 어드레스, 예약된 포트 어드레스, 및 예약된 포트 어드레스의 리스트의 조합을 관련시키는 복수의 내부 테이블을 더 포함하는 상기 게이트웨이는, 상기 머신이
    상기 외부 네트워크상의 외부 디바이스에 전달하기로 의도된 데이터그램을 상기 LAN 상의 로컬 디바이스로부터 수신함으로써 상기 LAN상의 로컬 디바이스로부터 상기 외부 네트워크상의 외부 디바이스에 데이터그램을 전달 시도하는 단계;
    상기 데이터그램에 대한 행선 포트 어드레스가 상기 예약된 포트 어드레스의 리스트내에 포함되어 있는지를 결정하고 상기 행선 포트 어드레스가 상기 로컬 디바이스의 상기 로컬 IP 어드레스에 바인드되어 있는지를 결정하는 단계;
    상기 행선 포트 어드레스가 상기 예약된 포트 어드레스의 리스트내에 포함되어 있지 않다면 상기 데이터그램에 대해 정상 어드레스 변환을 실행하고 상기 외부 디바이스에 라우팅 및 전달하기 위해 상기 외부 네트워크에 상기 데이터그램을 전송하는 단계;
    상기 행선 포트 어드레스가 상기 예약된 포트 어드레스의 리스트내에 포함되어 있고 상기 행선 포트 어드레스가 상기 로컬 IP 어드레스에 바인드되어 있다면, 상기 데이터그램에 대한 정상 어드레스 변환을 실행하고 상기 외부 디바이스에 라우팅 및 전달하기 위해 상기 외부 네트워크에 상기 데이터그램을 전송하는 단계; 및
    상기 데이터그램의 소스 IP 어드레스를 상기 게이트웨이의 상기 외부 IP 어드레스가 되도록 수정하고, 상기 행선 포트 어드레스를 상기 로컬 디바이스의 상기 로컬 IP 어드레스에 바인드하고 상기 행선 포트 어드레스와 상기 외부 디바이스의 외부 IP 어드레스 사이의 연관을 생성하며, 상기 행선 포트 어드레스가 상기 로컬 디바이스의 상기 로컬 IP 어드레스에 바인드되어 있지 않다면 상기 데이터그램을 상기 외부 디바이스에 라우팅 및 전달하기 위해 상기 외부 네트워크에 전송하는 단계;를 실행하도록 돕는 것을 특징으로 하는 머신 판독가능 기억장치.
KR1020027011455A 2000-03-03 2001-02-27 로컬 ip 어드레스 및 변환불능 포트 어드레스를사용하는 구내 통신망에 대한 네트워크 어드레스 변환게이트웨이 KR100798660B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
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
US09/518,399 2000-03-03

Publications (2)

Publication Number Publication Date
KR20020079979A KR20020079979A (ko) 2002-10-21
KR100798660B1 true KR100798660B1 (ko) 2008-01-28

Family

ID=24063767

Family Applications (2)

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

Family Applications After (1)

Application Number Title Priority Date Filing Date
KR1020010011042A KR20010087322A (ko) 2000-03-03 2001-03-03 로컬 아이피 주소와 변환할 수 없는 포트 주소를 이용한랜 네트워크 주소 변환 게이트웨이

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)

Families Citing this family (162)

* 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制御装置、及び通信制御プログラム
KR20030062106A (ko) * 2002-01-16 2003-07-23 한국전자통신연구원 가상 사설망으로부터 데이터 패킷을 수신하는 방법 및 장치
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 华为技术有限公司 网络地址转换中私网用户访问资源分配方法
GB2413248B (en) * 2002-06-13 2006-06-21 Nvidia Corp Method and apparatus for enhanced security for communication over a network
US7143188B2 (en) 2002-06-13 2006-11-28 Nvidia Corporation Method and apparatus for network address translation integration with internet protocol security
US7191331B2 (en) 2002-06-13 2007-03-13 Nvidia Corporation Detection of support for security protocol and address translation integration
GB2418821B (en) * 2002-06-13 2006-08-09 Nvidia Corp Method and apparatus for enhanced security for communication over a network
US7143137B2 (en) * 2002-06-13 2006-11-28 Nvidia Corporation Method and apparatus for security protocol and address translation integration
US7120930B2 (en) 2002-06-13 2006-10-10 Nvidia Corporation Method and apparatus for control of security protocol negotiation
JP3564117B2 (ja) 2002-07-01 2004-09-08 株式会社バッファロー 無線lan装置
KR100878764B1 (ko) * 2002-07-06 2009-01-14 삼성전자주식회사 사용자의 익명성보장을 위한 무선 랜 시스템 및 사용자의익명성 보장방법
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
KR100479261B1 (ko) 2002-10-12 2005-03-31 한국전자통신연구원 네트워크 주소 변환 상에서의 데이터 전송 방법 및 장치
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
KR100568178B1 (ko) 2003-07-18 2006-04-05 삼성전자주식회사 게이트웨이 장치 및 그 제어방법
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
EP1615372B1 (en) * 2004-04-05 2013-12-18 Nippon Telegraph And Telephone Corporation Packet cryptographic processing proxy apparatus, method therefor and recording medium for program
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ä
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
US8739274B2 (en) 2004-06-30 2014-05-27 Citrix Systems, Inc. Method and device for performing integrated caching in a data communication network
US8046830B2 (en) 2004-07-23 2011-10-25 Citrix Systems, Inc. Systems and methods for network disruption shielding techniques
CA2572401A1 (en) 2004-07-23 2006-02-02 Citrix Systems, Inc. A method and systems for securing remote access to private networks
US7657657B2 (en) 2004-08-13 2010-02-02 Citrix Systems, Inc. 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
US8706877B2 (en) 2004-12-30 2014-04-22 Citrix Systems, Inc. Systems and methods for providing client-side dynamic redirection to bypass an intermediary
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
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
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
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
WO2006072052A2 (en) 2004-12-31 2006-07-06 Anonymizer, Inc. System for protecting identity in a network environment
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
KR20070104566A (ko) 2005-01-24 2007-10-26 사이트릭스 시스템스, 인크. 네트워크에서 동적으로 발생된 객체들의 캐싱을 수행하는시스템 및 방법
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
CA2611340A1 (en) * 2005-06-22 2007-01-04 The Johns Hopkins University Biomarker for ovarian cancer: ctap3-related proteins
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模式下支持多会话应用层协议的网络地址转换方法
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
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
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
JP4708297B2 (ja) * 2006-09-29 2011-06-22 富士通テレコムネットワークス株式会社 IPsecの複数セッションを処理する通信装置
CN101155183B (zh) * 2006-09-29 2012-02-08 松下电器产业株式会社 处理巢状网际网络安全协议信道的方法及网络装置
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
WO2010054471A1 (en) 2008-11-17 2010-05-20 Sierra Wireless, Inc. Method and apparatus for network port and network 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
WO2012106820A1 (en) 2011-02-08 2012-08-16 Sierra Wireless, Inc. Method and system for forwarding data between network devices
US9275238B2 (en) * 2011-04-29 2016-03-01 Antaios (Beijing) Information Technology Co., Ltd. Method and apparatus for data security reading
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
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
US8621038B2 (en) 2011-09-27 2013-12-31 Cloudflare, Inc. Incompatible network gateway provisioned through DNS
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
CN108027805B (zh) 2012-09-25 2021-12-21 A10网络股份有限公司 数据网络中的负载分发
US10021174B2 (en) 2012-09-25 2018-07-10 A10 Networks, Inc. Distributing service sessions
US10027761B2 (en) 2013-05-03 2018-07-17 A10 Networks, Inc. Facilitating a secure 3 party network session by a network device
RU2637471C2 (ru) * 2013-10-09 2017-12-04 Нек Корпорейшн Система связи, аппаратура связи и способ управления связью
CN103797774B (zh) * 2013-11-05 2017-07-21 华为技术有限公司 一种网络地址转换设备及方法
CN103607403A (zh) * 2013-11-26 2014-02-26 北京星网锐捷网络技术有限公司 一种nat网络环境下使用安全域的方法、装置和系统
AU2014381693B2 (en) * 2014-02-06 2019-11-07 E^NAT Technologies 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
PL3525514T3 (pl) * 2015-08-21 2022-12-27 Telefonaktiebolaget Lm Ericsson (Publ) Komunikacja danych innych niż IP przez sieci danych pakietowych
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 北京百度网讯科技有限公司 网关导流方法、系统、装置、设备、存储介质及产品

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5825891A (en) 1996-01-16 1998-10-20 Raptor Systems, Inc. Key management for network communication
US5898784A (en) 1996-01-16 1999-04-27 Raptor Systems, Inc. Transferring encrypted packets over a public network
US5940591A (en) 1991-07-11 1999-08-17 Itt Corporation Apparatus and method for providing network security
US5983350A (en) 1996-09-18 1999-11-09 Secure Computing Corporation Secure firewall supporting different levels of authentication based on address or encryption status
US6006259A (en) 1998-11-20 1999-12-21 Network Alchemy, Inc. Method and apparatus for an internet protocol (IP) network clustering system

Family Cites Families (15)

* 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
US5781550A (en) * 1996-02-02 1998-07-14 Digital Equipment Corporation Transparent and secure network gateway
CN1216657A (zh) * 1996-04-24 1999-05-12 北方电讯有限公司 互联网协议过滤器
FI105753B (fi) * 1997-12-31 2000-09-29 Ssh Comm Security Oy Pakettien autentisointimenetelmä verkko-osoitemuutosten ja protokollamuunnosten läsnäollessa
US6055236A (en) * 1998-03-05 2000-04-25 3Com Corporation Method and system for locating network services with distributed network address translation
US6353614B1 (en) * 1998-03-05 2002-03-05 3Com Corporation Method and protocol for distributed network address translation
US7032242B1 (en) * 1998-03-05 2006-04-18 3Com Corporation Method and system for distributed network address translation with network security features
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クライアント多重化システム

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5940591A (en) 1991-07-11 1999-08-17 Itt Corporation Apparatus and method for providing network security
US5825891A (en) 1996-01-16 1998-10-20 Raptor Systems, Inc. Key management for network communication
US5898784A (en) 1996-01-16 1999-04-27 Raptor Systems, Inc. Transferring encrypted packets over a public network
US5983350A (en) 1996-09-18 1999-11-09 Secure Computing Corporation Secure firewall supporting different levels of authentication based on address or encryption status
US6006259A (en) 1998-11-20 1999-12-21 Network Alchemy, Inc. Method and apparatus for an internet protocol (IP) network clustering system

Also Published As

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

Similar Documents

Publication Publication Date Title
KR100798660B1 (ko) 로컬 ip 어드레스 및 변환불능 포트 어드레스를사용하는 구내 통신망에 대한 네트워크 어드레스 변환게이트웨이
US7120930B2 (en) Method and apparatus for control of security protocol negotiation
US7191331B2 (en) Detection of support for security protocol and address translation integration
US6591306B1 (en) IP network access for portable devices
US7028337B2 (en) Method of virtual private network communication in security gateway apparatus and security gateway apparatus using the same
US9253146B2 (en) Preventing duplicate sources from clients served by a network address port translator
US20030158962A1 (en) Methods and systems for resolving addressing conflicts based on tunnel information
CA2602778A1 (en) Preventing duplicate sources from clients served by a network address port translator
KR100479261B1 (ko) 네트워크 주소 변환 상에서의 데이터 전송 방법 및 장치
JP5158021B2 (ja) トンネル通信装置及び方法
Schmitt Host Identity Protocol Extensions for the Traversal of Network Address Translators

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
N231 Notification of change of applicant
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20130122

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20140102

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20160104

Year of fee payment: 9

LAPS Lapse due to unpaid annual fee