KR19980070104A - 전송 제어 프로토콜 글루를 통한 세션 및 전송 계층 프록시 개선 방법 - Google Patents
전송 제어 프로토콜 글루를 통한 세션 및 전송 계층 프록시 개선 방법 Download PDFInfo
- Publication number
- KR19980070104A KR19980070104A KR1019970061123A KR19970061123A KR19980070104A KR 19980070104 A KR19980070104 A KR 19980070104A KR 1019970061123 A KR1019970061123 A KR 1019970061123A KR 19970061123 A KR19970061123 A KR 19970061123A KR 19980070104 A KR19980070104 A KR 19980070104A
- Authority
- KR
- South Korea
- Prior art keywords
- proxy
- connection
- host
- packet
- tcp
- Prior art date
Links
- 239000003292 glue Substances 0.000 title description 52
- 238000000034 method Methods 0.000 claims abstract description 81
- 238000013507 mapping Methods 0.000 claims abstract description 21
- 230000008569 process Effects 0.000 claims abstract description 15
- 238000004026 adhesive bonding Methods 0.000 claims abstract description 9
- 238000012986 modification Methods 0.000 claims abstract description 7
- 230000004048 modification Effects 0.000 claims abstract description 7
- 238000004891 communication Methods 0.000 claims description 17
- 230000005540 biological transmission Effects 0.000 claims description 12
- 230000008859 change Effects 0.000 claims description 10
- 239000000872 buffer Substances 0.000 claims description 9
- 238000012546 transfer Methods 0.000 claims description 9
- 230000004044 response Effects 0.000 claims description 3
- 238000013475 authorization Methods 0.000 claims 4
- 238000007726 management method Methods 0.000 claims 3
- 230000009849 deactivation Effects 0.000 claims 1
- 230000006870 function Effects 0.000 description 15
- 238000012545 processing Methods 0.000 description 14
- 238000010586 diagram Methods 0.000 description 10
- 230000007246 mechanism Effects 0.000 description 3
- 230000003111 delayed effect Effects 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 230000001788 irregular Effects 0.000 description 2
- 230000007704 transition Effects 0.000 description 2
- 230000000903 blocking effect Effects 0.000 description 1
- 238000012790 confirmation Methods 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- 230000006855 networking Effects 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 238000002230 thermal chemical vapour deposition Methods 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/16—Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/40—Support for services or applications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/16—Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
- H04L69/161—Implementation details of TCP/IP or UDP/IP stack architecture; Specification of modified or new header fields
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/16—Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
- H04L69/161—Implementation details of TCP/IP or UDP/IP stack architecture; Specification of modified or new header fields
- H04L69/162—Implementation details of TCP/IP or UDP/IP stack architecture; Specification of modified or new header fields involving adaptations of sockets based mechanisms
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/16—Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
- H04L69/163—In-band adaptation of TCP data exchange; In-band control procedures
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/16—Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
- H04L69/165—Combined use of TCP and UDP protocols; selection criteria therefor
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Multimedia (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Computer And Data Communications (AREA)
Abstract
공통 호스트에서 종료되는 두 개의 분리된 TCP 접속을 합병하고 두 개의 엔드 시스템 사이의 단일 접속으로 글루잉(gluing)하는 방법으로서, 단일 접속은 TCP 엔드-투-엔드 의미론을 유지한다. 본 기술은 전송 계층 프록시의 세션 셋업 기능을 유지하지만, 릴레이 동작을 개선하기 위해 커넬 공간으로 데이터 카피를 밀어 넣는 방법을 제공한다. 특히 분할 접속의 한 쪽 엔드에 도달하는 바이트 스트림은 다른 분할 접속의 순서 번호 공간으로 직접 매핑된다. 이러한 매핑, 또는 TCP 글루잉 프로세스는 TCP 및 IP 헤더 필드의 서브셋트, 즉 소스 및 데스티네이션 어드레스, 포트 번호, 순서 번호 및 체크섬을 갱신하는 것을 수반한다. TCP/IP 패킷 헤더의 변경은, 패킷이 원래의 분리된 TCP 접속들 사이의 글루잉된 접속을 통해 릴레이 될 때 진행된다.
Description
본 발명은 일반적으로 패킷 교환 네트워크 통신에 관한 것으로, 특히, 네트워크 화이어월(firewalls)과 같은 세션 계층 프록시와, 인터넷과 같은 통신 네트워크를 통한 통신용 캐싱 프록시의 성능 효율을 개선하는 방법에 관한 것이다.
인터넷은 전세계를 통한 공통 네트워크로서, 정부 대행기관, 교육 기관 및 사기업을 포함하여 가입 조직들 사이에서 자원의 공유를 용이하게 한다. 이러한 네트워크는 전송 제어 프로토콜/인터넷 프로토콜(TCP/IP) 프로토콜 수트(suite)를 사용하며 공통 어드레스 공간을 공유한다. 따라서,인터넷상의 컴퓨터는 호환성있는 통신 표준을 사용하며, 서로 접속하고 데이터를 교환하는 기능을 공유한다. 인터넷 사용자는 주로 전자 메일(e-mail), 월드 와이드 웹을 억세스하기 위한 프로토콜인 http, 사용자가 원격 호스트로 로그 인(log in)하도록 하는 프로세스인 텔넷(Telnet), 원격 호스트상의 정보를 로컬 사이트로 전송하도록 허용하는 프로토콜인 파일 전송 프로토콜(FTP)을 통해서 주로 통신한다.
근거리 통신망(LAN)과 같은 네트워크를 인터넷에 접속할 때 가장 큰 문제는 보안이다. 더 중요한 문제중 하나는 로컬 호스트에 대한 억세스를 시도하는 침입자이다. 이러한 유형의 침입을 방지하기 위한 공통 방법은 소위 화이어월을 설치하는 것으로 이는 인터넷에 접속을 위한 안전한 단일 포인트(secure single point)이다. 이러한 접속을 위한 안전한 단일 포인트는 어떠한 정보도 통과하는 것을 허용하지 않지만 인입(incoming) 및 송출(outgoing) 접속은 허용하는 화이어월 호스트 형태를 취한다. 전형적인 화이어월 호스트를 실현하는데 있어서, 사용자는 LAN의 호스트상에서 하나의 파일을 인터넷을 통해서 외부 호스트로 전송하고자 할 때 먼저 상기 파일을 화이어월 호스트로 전송하고 이어서 화이어월로 로그인한 뒤 파일을 외부 호스트로 전송한다. 이러한 과정이 단일 사용자에게는 높은 수준의 보안을 제공하지만, 다수의 사용자가 이러한 호스트에 억세스하고자 할 때는 보안을 유지하는 것이 어려워진다. 화이어월에 관한 일반 정보를 얻고자 하면 William R. Cheswick와 Steven M. Belloven 저, 화이어월 및 인터넷 보안(Firewall and Internet Security), Addison-Wesley (1994)를 참조해 볼 수 있다.
SOCKS라고 하는 전송 계층 프록시 설계는, 다수의 사용자에 의한 억세스를 허용할 때 보안상의 문제를 최소화하기 위해 시도하는 과정에서 생겨나게 되었다. 예를 들어, David Koblas와 Michelle R. koblas 저 SOCKS, UNIX 보안 심포지움, USENIX Association (199_), 77-83페이지, Ying-Da Lee 저 SOCKS : protocal for TPC proxy across firewalls, http://www.socks.nec.com/socks4.protocal, M. Leech, M.Genis, Y.Lee, R.Kuris, D. koblas 및 L.Jones 저 SOCKS Protocol Version 5, ftp://es.internic.net/rfc/rfc 1928.txt를 참조해 볼 수 있다. 전송 계층 프록시 아키텍춰에서, 클라이언트라고 하는 하나의 엔드 시스템이 상기 프록시에 접속시키므로 세션을 기동한다. 상기 클라이언트 및 프록시는 인증 또는 프록시 요구와 같은 세션 셋업 정보를 교섭(negotiate)하는 메시지를 교환하기 위한 접속을 사용한다(예를 들면, HTTP(하이퍼텍스트 전송 프로토콜) 프록시를 페치(fetch)하기 위해 화이어월 프록시 또는 URL(균일 자원 로케이터)로 접속하기 위한 외국 호스트). 상기 프록시는 상기 요구를 수행하여, 보통은 클라이언트에 의해서 지시될 때 서버라고 불리는, 상기 화이어월 외부의 또 다른 엔드-시스템으로 접속을 개방한다. 상기 프록시는 상기 접속상에서 상기 서버와 세션 셋트 정보를 교환할 수 있다. 세션 셋업이 양 접속상에서 완료된 후에, 상기 프록시는 상기 두 접속사이에서 전후 방향으로 데이터 카피를 시작하지만 호스트들 사이에서 흐르는 정보를 소거, 추가 또는 변경하지 않게 된다(비록 그것이 HTTP 캐싱 프록시의 경우에, 정보의 카피를 조용히 유지한다 할지라도 그러하다).
TCP 프록시(예를들면, SOCKS 서버)를 구성하는 현재 사용되는 기술에는 TCP 접속을 두 개의 반부(half)(클라이언트-프록시 및 프록시-서버)로 분할하고 이어서 상기 엔드 사이에서 데이터를 교환하기 위한 애플리케이션 계층 서버를 사용하는 것이 포함된다. 모든 공지된 현재의 전송 계층 프록시는 사용자 공간에서 데이터 카피 기능을 수행하는데, 말하자면, 사용자 프로세서는 하나의 소켓으로부터 데이터를 판독하며 또 다른 것으로 기록하는 타이트 루프(tight loop)를 대기한다. 상기 클라이언트 또는 서버와 비교해 볼 때, 상기 프록시는 프로토콜 처리, 데이터 카피 및 콘텍스트 스위칭시에 두 배의 CPU 사이클을 소모한다. 이때 필요로 하는 것은 릴레이 동작을 더 효율적으로 하도록 데이터 이동 동작을 커넬(kernel) 공간으로 효과적으로 밀어넣는 방법이다.
따라서 본 발명의 방법은 네트워크 화이어월과 같은 세션 계층 프록시 및 캐싱 프록시의 성능을 개선하는 방법을 제공하는 것이다.
본 발명에 따르면, 소위 TCP 글루잉(gluing)으로 불리는 기술은 전송 계층 프록시(transport layer proxy)의 세션 셋업 기능을 갖지만 상기 데이터 카피를 커넬 공간으로 밀어넣는 방법을 제공한다. 분할된 접속의 한쪽 엔드상에 도달하는 바이트 스트림은 다른 분할된 접속의 연속되는 번호 공간으로 직접 매핑된다. 상기 매핑 기능, 그리고 관련된 일련의 글루잉 동작은, 상기 클라이언트 및 서버가 이러한 동작을 전혀 모르게 설계된다. 엔드-시스템의 관점에서 볼 때, 어떤 데이터도 손실되거나 카피되지 않는다.
상기 글루잉 프로세스는 단지 TCP 및 IP 헤더 필드의 서브셋트를 변경하는 것을 수반한다. 패킷이 결합된 접속상에서 릴레이됨에 따라 동작중인 TCP/IP 패킷 헤더에 변화가 일어난다. 이것은 비교적 가벼운 동작인데, 왜냐하면 상기 프록시가 상기 표준 IP 헤더 처리에 더해서 몇 개의 특별한 사이클만을 소모하기 때문이다. 상태 유지 또는 애플리케이션 계층 처리는 필요치 않다.
본 발명에 따른 기술은 다음의 네가지 방법으로 종래기술의 현재 상태를 개선한다.
1) 효율 : 프록시는 계층 3.5 루터와 같이 동작한다. 그것은 전송 또는 애플리케이션 계층 프로토콜 처리 오버헤드를 야기시키지 않는다.
2) 간략한 부기 : TCP 글루 프록시는 상기 분할 접속의 각 엔드에 대해 완전한 TCP 상태를 유지할 필요가 없다. 더욱이, 확인응답(ACKs)이 엔드-투-엔드(end-to-end)이므로, 상기 프록시는 어떤 패킷을 버퍼하는데 필요치 않다.
3) 더욱 양호한 엔드-투-엔드(E2E) 의미론(semantics) : TCP 글루는 상기 접속의 두 엔드가 피어(peer)로서 통신하게 하여, 확인응답, 라운드 트립 타임(RTT) 평가, 윈도우 크기, 수신 버퍼 크기 등과 같은 제어 정보가 엔드-투-엔드로 흐르도록 한다. 다른 장점외에도, 이것은 또한 더 양호한 신뢰성 및 정체 제어를 제공한다.
4) 더욱 양호한 대역외 의미론 : 현재의 프록시 해결방법은 대역외 데이터를 사용하는데 상당한 제한을 가한다. 예를 들면, SOCKS 만이 대역외(OOB) 데이터를 인-라인으로 지원한다. 이러한 제한으로 텔넷 및 FTP와 같은 공통 애플리케이션이 야기될 수 있으며, 상기 프록시 전체를 통해서 수정이 일어나게 한다. 엔드 호스트사이에 TCP 결합된 접속이 실제의 TCP 엔드-투-엔드 의미론을 제공하므로, 상기 엔드 시스템은 그것들이 선택한 것이면 어떤 방법이든지 OOB 데이터를 사용할 수 있으며 넌-프록시드 접속이 수행한 것과 동일 의미론을 볼 수 있다.
프록시를 통해 데이터를 차단하고 루팅하기 위해 사용자 라이브러리를 사용하는, 다른 전송 계층 프록시와 같이, TCP 글루로 이루어지는 프록시는, 클라이언트 및 서버에게 변화가 보이지 않고, 클라이언트 또는 프로토콜 스택에 변화가 일어나지 않으며, 프록시만이 수정되도록 구성될 수 있다.
도 1은 레이블된 상태 카운터를 갖는 전형적인 TCP 접속을 도시하는 데이터 흐름도.
도 2는 클라이언트 라이브러리에 의한 클라이언트 서지 동기화의 이용을 보여주는, 텔넷 클라이언트, 프록시 화이어월 및 텔넷 서버 사이의 메시지 교환을 예시하는 상태도.
도 3은 서버 서지 동기화의 사용을 보여주는, 웹 브라우저, 캐싱 프록시 및 웹 서버 사이의 메시지 교환을 예시하는 상태도.
도 4는 프록시에 의해서 함께 결합된 두 개의 접속을 도시하느 데이터 흐름도.
도 5는 TCP 글루 설정의 과정을 도시하는 상태도.
도 6은 TCP 글루 처리 로직을 도시하는 흐름도.
도 7은 TCP 글루 해제 과정을 도시하는 상태도.
*도면의 주요부분에 대한 부호의 설명*
11 : 텔넷 클라이언트12 : 화이어월 프록시
13 : 텔넷 서버14 : TCP 글루
본 발명의 바람직한 실시예가 TCP/IP 프로토콜에 의해서 기술되지만, 본 기술분야에 숙련된 당업자라면 두 개의 이미 설정된 전송 계층 세션을 취하고 패킷헤더를 적당히 수정하므로 그것들을 단일 엔드-투-엔드 접속으로 변환하는 개념이, TCP/IP에 외에도 OSI, XNS, Novell, Netbils, IPX 등을 포함하는 모든 패킷에 기초한 통신 네트워크 프로토콜에 적용될 수 있음을 알 수 있다. 이어지는 설명에서, 이러한 기술의 특정 예가 TCP/IP 프로토콜 수트에 적용된다.
본 발명의 바람직한 실시예에 따라서, TCP 데이터의 각 세그먼트가 엔드 시스템으로부터 결합된 접속의 한쪽 소켓에 도달하게 되면, 그것은 즉시 처리되어 상기 결합된 접속의 다른 소켓을 다른 엔드 시스템으로 전달한다. 본 발명의 완전한 해결책은 다음의 네가지 부분을 포함한다. 즉;
1. 상기 엔드 시스템과 상기 프록시 사이에 동기화를 설정한다.
2. 매핑 기능을 선택한다.
3. 패킷 헤더에서 필요한 변화를 실시한다.
4. 완료된 접속을 해제한다.
각각의 부분을 설명하기 전에, TCP에 대한 어느정도의 배경이 필요하다. TCP 글루는 두 개의 보통 TCP 접속상에서 수행되는 동작이다. 상기 글루 동작이 수행되기 전에, 상기 접속은 별개로 일어난다. 상기 글루 동작이 완료된 후에, 상기 접속은 함께 이어지고, 상기 프록시는 어떤 접속도 판독하거나 기록할 수 없다.
도면, 특히 도 1로 돌아가면, 보통의 TCP 접속이 도시되어 있다. 각각의 보통 TCP 접속은 포인트-투-포인트(point-to-point) 접속이며 어드레스 및 포트 번호로 명명되는 TCP 소켓에서 종료된다. TCP 접속은 그 엔드 포인트에서 두 개의 소켓의 이름으로 유일하게 식별된다. 도 1에 도시된 상기 두 개의 소켓은, addr1.port1 명명되는와, addr2, port2로 명명되는로 표시된다. 각각의 TCP 소켓에서, 보통 TCP 상태 머신은 다음의 세 개의 카운터를 유지하는데, 이는 TCP가 상기 접속상에서 전달되는 모든 데이터를 레이블하도록 사용하여 데이터 손실 또는 카피를 복구할 수 있다. 즉;
snd_nxt 전송되는 다음 데이터 바이트의 연속되는 번호
snd_una 제1의 확인 응답되지 않은 데이터 바이트의 연속되는 번호(수신된 최대 ACK의 연속되는 번호와 동일함)
rev_nxt 상기 소켓이 수신하기를 예상하는 데이터의 다음 바이트의 연속되는 번호(이제까지 수신된 최대의 연속되는 번호보다 일이 큰 번호와 동일함)
이러한 카운터는 상기 소켓과 결합된 순서 공간을 정의한다. 경사된 폰트로 상기 순서 공간상에 레이블된 카운터는 소켓로 유지된다. 상기 순서 공간의 하부에서 세리프 볼드(serif bold)로 레이블된 카운터는 일반론을 벗어나지 않은 채 소켓로 유지되며, 이러한 설명에서 각각의 순서 공간이 제로에서 계수되기 시작한다고 가정한다.
TCP 접속은 접속 셋업 타임에서 교섭된 TCP 옵션의 형태의 상태를 갖는다. 본 발명의 바람직한 실시예에서, 상기 TCP 글루는 동일 옵션이 상기 프록시-클라이언트 및 프록시-서버 접속에서 교섭되는 것을 보장하지 않으며, 따라서 이러한 접속이 여러 TCP 옵션으로 교섭되는 것이 가능하다. 이것은 일단 상기 두 개의 접속이 함께 결합될 때 문제를 야기시킬 수 있다. 왜냐하면 엔드 시스템이 예상치 못한 TCP 옵션을 수용할 수 있거나 다른 엔드 시스템에 의해서 처리되는 것으로 예상되는 옵션을 갖을 수 있기 때문이다. 본 발명의 옵션 부정합이 문제를 일으키면, 본 발명의 바람직한 실시예는, 새로운 소켓을 접속할 때 현재의 소켓에서 교섭된 것과 같은 동일 옵션 셋트를 교섭하기 위해 프록시 네트워킹 스택으로 새로운 커넬 호출을 추가하여 수정될 수 있다.
상기 TCP 글루 메카니즘은 상기 글루의 발생을 각각의 엔드 시스템의 데이터 전송에 동기화시키기 위한 방법을 제공한다. 세션 셋업이 상기 애플리케이션 공간에서 발생하며 상기 글루 셋업이 상기 커넬에서 발생하므로, 동기 메카니즘은 소켓상에서 데이터 전송을 시작하는 것이 안전할 때 애플리케이션을 통지하는데 필요하다.
상기 프록시가 상기 TCP 글루를 셋업하기 전에 하나의 엔드 시스템이 다른 엔드 시스템에 대해 의도된 데이터를 전송하면, 그 데이터는 프록시가 판독하는 것이 가능한 프록시 소켓 버퍼에서 종료되지만, 그것들은 다른 엔드 시스템으로 전달되지 않게 된다. 이것은 상기 엔드 시스템이 데이터를 전송하는데 상기 프록시를 서징 어헤드(surging ahead)므로 클라이언트 또는 서버 서지(server surge)라고 불리운다. TCP 글루는 두 개의 서로 다른 동기화 메카니즘을 제공하는데, 하나는 클라이언트 서지를 카피하기 위한 것이고 다른 하나는 서버 서지로 카피하기 위한 것이다. 상기 프록시 설계자는 프록싱할 때 관심있는 형태의 세션을 동기화하기 위해 정확한 동기화 프리미티브(primitives) 조합을 불러들이도록 선택하여야 한다. 클라이언트가 수정될 수 있으며, 따라서 명시(explicit) OK 메시지를 전송하므로 클라이언트가 동기화된다고 가정한다. 한편, 서버는 수정되지 않는다. 따라서, 서버 서지에 대한 기술에서 상기 서버를 트릭하여 상기 글루가 완벽하게 셋업될 때까지 상기 서버에 그 데이터를 유지하도록 하는 것이 포함된다.
[클라이언트 서지]
TCP 글루는 상기 프록시 설계자가 고정된 크기의 OK 메시지를 클라이언트에게 전송하게 하여 상기 OK 메시지가 수신될 때, 상기 TCP 글루가 셋업된다. 어떤 데이터는 상기 OK 메시지가 프록시가 아니라, 상기 서버로부터 도출된 후에, 클라이언트의 소켓으로부터 판독된다. 도 2에 도시된 바와 같이, 상기 클라이언트의 설계자는, 접속을 상기 서버에 개방하고, 세션 셋업 데이터를 상기 프록시와 교환하고, 이어서 상기 OK 메시지가 도달할 때까지 블로킹함으로써 동기화를 위한 OK 메시지를 사용할 수 있다.
도 2에 도시된 바와 같이 텔넷 클라이언트(11), 프록시 화이어월(12) 및 텔넷서버(13) 사이에서 메시지를 교환할 때, 상기 텔넷 클라이언트(11)는 상기 접속을 개방하고 상기 서버 어드레스를 화이어월 프록시(12)로 전송함으로써 상기 접속을 설정한다. 상기 화이어월 프록시(12)로부터의 인증 챌린지(authentication challenge)에 응답하여, 상기 텔넷 클라이언트(11)는 인증 응답을 제공한다. 상기 TCP 글루(14)는 상기 화이어월 프록시(12)에 의해 셋업되며, 이것이 발생할 때, 상기 텔넷 클라이언트(11)가 또다른 통신을 차단한다. 상기 TCP 글루가 셋업될 때, 텔넷 서버(13)로 접속이 개방되고 OK 메시지가 상기 텔넷 클라이언트(11)로 전달된다. 상기 OK 메시지를 수신할 때, 통신이 차단되지 않으며, 텔넷 클라이언트(11)로부터의 데이터 1은 상기 화이어월 프록시(12)를 통해서 텔넷 서버(13)로 전송되며 상기 텔넷 서버(13)로부터의 데이터 2는 화이어월 프록시(12)를 통해서 텔넷 클라이언트로 전송된다.
[서버 서지]
TCP 글루는 상기 프록시 설계자가 소켓을 TCP 확인응답(ACKs)으로 전달하지 못하도록 한다. 그 결과는, 상기 서버에 의해서 전달된 서지 데이터가 도달하였고 상기 프록시에 의해서 판독된다 할지라도, 상기 서버는 그것이 도달하였음을 믿지 않고 ACKs가 리-인에이블되거나 상기 TCP 글루가 완성되고 클라이언트가 상기 데이터를 수신 및 ACK 할 때까지 그것을 재 전송하게 된다는 것이다. 도 3은 HTTP 캐싱 프록시에 사용되는 그러한 동기화 스킴을 도시한다.
도 3에 도시된 메시지 호환은 웹 브라우저(클라이언트)(23), 캐싱 프록시(22), 및 웹 서버(23) 사이에서 일어난다. 상기 웹 브라우저(21)는 접속을 개방하고 http:X로 어드레스 된 URL을 HTTP 캐싱 프록시(22)로 전달한다. 상기 캐싱 프록시(22)는 상기 ACKs(23)를 턴 오프하며, 웹 브라우저(23)와 접속을 개방하고, 상기 URL http:X를 페치한다. 데이터 1은 상기 캐싱 프록시(22)에 의해서 웹 서버(23)로부터 검색되는데 상기 캐싱 프록시는 TCP 글루(24)를 셋업한다. 일단 상기 TCP 글루가 셋업되었으면, 상기 ACKs는 다시 턴온되며 데이터는 캐싱 프록시(22)로부터 웹 브라우저(21)로 흐른다.
[TCP 글루를 사용한 웹-프록시 설계]
본 발명의 바람직한 실시예에서, SOCKS 화이어월 서버는 TCP 글루잉 기술을 설명하기 위한 예로서 사용된다. 상기 SOCKS 예는 네트워크 통신에 대한 본 발명의 한가지 응용에 불과하다. 일반적으로, TCP 글루잉 기술은, HTTP 캐싱 프록시를 포함하여, 어떤 전송 계층 프록시의 성능을 개선하기 위해 애플리케이션 될 수 있다.
HTTP 캐싱 프록시는 그와 유사한 기술도 채용할 수 있다. 그러나, 언급할 만한 세가지 주된 차이가 있다. 즉;
(1) 지적할 만한 중요한 점은 도 2에 도시된 인증 교환이 상기 SOCKS 프로토콜에서 유일하게 요구된 단계라는 사실이다. 그것은 상기 TCP 글루를 셋업하기 위한 조건이 아니다. 사실상, HTTP 캐싱 프록시는 상기 인증 단계를 누락하도록 선택할 수 있다.
(2) TCP 글루는 임의의 량의 데이터가 각각의 접속상에서 교환된 후에도 설정될 수 있다. 상기 SOCKS 예에서, 상기 TCP 글루는 상기 인증 단계후에 즉시 설정되지만, 일반적으로, 그러한 제한은 없다.
(3) SOCKS 프록시와는 달리, HTTP 프록시는 결합된 접속상에서 릴레이되는 데이터 스트림의 카피를 유지하도록 선택할 수도 있다. 상기 저장된 데이터 스트림은, 동일한 정보에 대한 다른 클라이언트로부터 또다른 요구를 처리하는데 사용되는 데이터 캐시를 채우기 위해 상기 프록시상에서 수행되는 또다른 애플리케이션에 의해서 사용될 수 있다. 그러나, 데이터 스트림의 카피를 유지하는 것은 요구조건은 아니다. 일반적으로, HTTP 프록시는 다음의 요소중 하나에 기초해서 (그러나 그것에 제한되지는 않음) 데이터 스트림의 카피를 유지하거나 버리도록 선택한다.
패킷 인터-어라이벌 타임 - HTTP 캐싱의 목적은 처리량을 개선하고 웹 억세스를 위한 대기시간을 줄이는 것이다. 패킷 인터-어라이벌 타임이 짧으면, 패킷은 이미 상당히 빠른 속도로 서버로부터 도달하고 있다. 그러므로, 프록시는 상기 도달하는 데이터 스트림을 캐싱하도록 선택할 수 있다.
정보 요구에 대한 이력 - 접속을 이루기 위한 판단은 그러한 정보 요구에 대한 이력에 의존할 수 있는데; 예를 들면, HTTP 프록시는, 과거에 그러한 아이템에 대해 어떤 임계치 이상의 억세스가 있음을 발견할 때마다 데이터 스트림을 캐시하도록 판단할 수 있다.
프록시상의 가용 자원 - 중앙 처리 장치(CPU), 디스크 공간 및 메모리는 데이터 스트림을 캐싱하기 위해 필요로 하는 세가지 주요 자원이다. 그것중 어느것이 공급이 줄어들면, 캐싱 판단이 영향을 받게 될 수 있다.
상기 프록시 캐시의 현재 내용 - 캐싱 폴리시는 캐싱 판단을 내리는데 프록시 캐시의 현재 내용을 고려할 수 있다.
상기 데이터 내용의 특성 - HTTP 프록시는 그 내용에 기초해서 데이터 스트림을 캐시하도록 선택할 수 있다. 예를 들어, HTTP 프록시는 헤더가 어떤 키워드를 포함하는 웹 페이지만을 캐시할 수 있다.
[순서 번호(sequence number) 매핑]
두 접속(클라이언트-프록시 및 프록시-서버)이 모두 그 자체의 순서 공간(sequence space)을 가지므로, 세그먼트가 하나의 접속(말하자면, 상기 프록시-서버 접속) 상에 도달할 때 모든 순서 공간 관련 정보는, 전송전에 다른 접속(클라이언트-프록시 접속)의 순서 공간으로 매핑될 수 있거나 그 세그먼트가 다른 엔드-시스템(클라이언트)에 감지되지 않게 된다.
상기 동기화 프리미티브(primitives)를 적당히 사용하게 되면, 손실되는 데이터가 없게 되며, 예외적인 OK 메시지가 클라이언트로 전달될 때, 모든 데이터 흐름은 정지되게 된다. 도 4는 두 개의 접속이 결합될 때 그 접속들을 도시한다. 상기 두 개의 접속, 소켓대 소켓 ±A와 소켓 ±B 대 소켓는 프록시에 의해서 함께 결합된다. 경사진 폰트로 상기 순서 공간상에서 레이블된 카운터는 상기 프록시의 소켓 ±A 및 ±B에 의해서 유지된다. 상기 순서 공간 아래에서 세리프 볼드로 레이블된 카운터는 엔드 시스템의 소켓들, 즉, 소켓및에 의해서 유지된다. 굵은 화살표는 하나의 접속상에서 수신된 데이터의 다음 바이트가 어떻게 다른 접속상에서 전달된 데이터의 다음 바이트로 매핑되는지를 도시한다.
서버로부터 클라이언트 순서 공간으로의 매핑은, 소켓로부터 소켓 ±B에 도달하는 다음 데이터 바이트가 지정되는데, 클라이언트가 프록시상의 소켓 ±A로부터 수신하기를 예상하는 소켓상의 다음 순서 번호와 같은 순서 번호로 지정되도록 선택된다. 서버로부터 클라이언트 순서 공간으로의 매핑은 대응하는 방식으로 선택된다. 이러한 매핑은 두 개의 결합된 소켓 각각에 대해서 두 개의 번호로 기술된다. 상기 번호는 새로운 가상 순서 공간에 대한 베이스 포인트로 작용하며 글루 초기 수신 순서 번호(glue_ire) 및 글루 초기 전달 순서 번호(glue_iss)로 부른다. 소켓 ±A에 대한 TCP 글루 베이스 포인트는 glue_irs가 rcv_nxt와 같으며 glue_iss가 snd_nxt와 같을 때 설정된다(OK 메시지를 위해 순서 공간에 방을 남긴다). 소켓 ±B에서, glue_ire는 rcv_nxt와 같으며 glue_iss는 snd_nxt와 같다.
상기 접속 설정 및 해제 단계중에, 상기 프록시에서 종단되는 두 개의 TCP 접속의 엔드 포인트는 여러 상태 전이에 놓인다. 도 5는 전술된 바와 같이 글루 설정 과정을 도시하는 상태도이다. 상기 과정에 관련된 두 개의 TCP 접속이 있으므로, 상기 상태도의 각 박스는 수직 바에 의해서 분리된 각각의 접속 상태를 도시하는데, 말하자면, 소켓 A의 상태는 상기 바의 좌측으로 도시되며, 소켓 B의 상태는 상기 바의 우측으로 도시된다.
상기 프록시에서, 소켓 A는 LISTEN 상태(51)로 머무는데, 그것이 클라이언트 또는 로컬 호스트로부터 OPEN CONNECTION(접속 개방) 메시지(TCP 용어로 SYN 패킷으로 부름)를 수신할 때까지 머물게 된다. 상기 프록시는 SYN ACK 메시지에 응답하고 SYN_TCVD 상태(52)로 이동한다. 상기 SYN ACK에 대한 확인응답이 클라이언트로부터 도달할 때, 클라이언트와 프록시 사이의 접속은 상태(53)에서 설정된다. 새롭게 설정된 접속에서, SOCKS 버전 4 또는 5 프로토콜을 이용하여, 상기 클라이언트 및 프록시는 인증 정보를 교환한다. 클라이언트가 상기 인증 검사에 실패하면, 소켓 A는 LISTEN 상태(51)로 돌아가서, 클라이언트와 프록시 사이의 접속을 리셋트한다. 상기 인증 프로세스를 성공적으로 완수하면, 상기 접속은 ESTABLISHED AND AUTH 상태(54)로 이동한다.
상기 프록시는 클라이언트로부터 SOCKS 접속 또는 SOCKS 바인드 메시지를 수신한다. SOCKS 접속 메시지를 이용하여, 상기 클라이언트는, TCP 접속을 개방하기 위해 상태(55)에서 접속 메시지에서 규정된 어드레스로 상기 프록시를 유도한다. 유사하게, SOCKS 바인드 메시지를 이용하여, 상기 클라이언트는 상태(55)에서 원격서버로부터 접속의 수용을 시작하기 위한 프록시를 요구한다. 이 두 경우에, 상기 프록시는 새로운 소켓, B를 개방하고, TCP의 표준 스리-웨이 헨드쉐이크(three-way handshake) 프로토콜을 이용하여, 프록시와 원격 서버 사이의 새로운 접속을 설정한다. 따라서, SOCKS 접속 메시지의 경우에, 상태(55)에서 표시된 바와 같이, 상기 소켓 A의 상태는 ESTABLISHED 상태로 유지되며, 상기 프록시는 소켓 B에서 원격 호스트로 SYN 패킷을 전송한다. SOCKS 바인드 메시지의 경우에, 상태(56)에 표시된 바와 같이, 소켓 A는 ESTABLISHED 상태를 유지하고 상기 프록시에서 소켓 B는 LISTEN 상태에 있다. 상기 SYN 패킷이 소켓 B에서 수신될 때, 상태(57)에 도시된 바와 같이, 소켓 B의 상태는 SYN_RCVD로 진행된다.
이 시점까지, 소켓 A 및 B는 독립적으로 존재하는데, 말하자면, 그들은 함께 결합되지 않는다. 양 접속상에서 수신된 데이터는 상기 프록시의 소켓 버퍼에서 수신되어 계속해서 상기 프록시상에서 동작중인 애플리케이션 서버에 의해서 처리된다. 상기 두 개의 소켓은, 상태(56)에서 둘다 ESTABLISHED 상태라고 해도, 프리글루(preglue) 상태에 있다. 동기 메시지, OK의 전송은 상기 프리글루 상태에서 결합된 상태로 전이를 표시한다. 상기 결합된 상태(59)에서, 상기 결합된 접속상에서 수신된 데이터는 상기 프록시의 소켓 버퍼에서 더 이상 버퍼되지 않는다. 대신에, 상기 데이터는 적당히 헤더를 수정한 후에 다른 엔드로 직접 릴레이된다.
[패킷 헤더 수정]
각각의 세그먼트가 결합된 소켓에서 수신될 때, 상기 세그먼트의 헤더는 상기 결합된 접속의 다른 엔드의 소켓으로 세그먼트를 어드레스하기 위해 변경된다. 상기 세그먼트의 TCP 헤더는 변경되어 상기 세그먼트가 도달할 때 상기 엔드 시스템이 그 세그먼트를 감지하게 된다. 즉, 상기 세그먼트는 보통의 TCP 접속의 연속같이 보이며, 상기 엔드 시스템은 먼저 상기 프록시에서 시작한다. 하나의 세그먼트를 처리하는 것은 세 개의 단계를 요구하는데, 상기 IP 및 TCP 헤더를 변화시키며 특별히 세니티 체크(sanity check)를 수행하는 것이다.
[IP 헤더 변경]
소스(source) 및 데스티네이션(destination) 어드레스를 송출 접속의 어드레스로 변화시킴.
인입 패킷으로부터 IP 옵션을 제거함.
IP 헤더 체크섬(checksum)을 갱신함.
[TCP 헤더 변경]
송출 접속을 매치시키기 위해 소스 및 데스티네이션 포트 번호를 변화시킴.
인입 순서 공간으로부터 송출 공간으로 순서 번호를 매핑함. seq_num=(seq_num - in6goue_irs) + out6glue_iss
인입 순서 공간으로부터 송출 공간으로 ACK 번호를 매핑함. ack_num=(ack_num - in6glue_iss) + out6glue_irs
TCP 헤더 체크섬을 갱신함.
[세니티 체크 수행]
상기 OK 메시지는 프록시와 통신하는 클라이언트와 상기 서버와 통신하는 클라이언트 사이의 경계를 표시한다. 상기 매핑 포인트 전에 클라이언트가 순서 번호에 eogo 수행하는 어떤 레퍼런스도 프록시의 보통(normal) TCP 상태 머신에 의해서 처리되어야 하는데, 그 이유는 상기 클라이언트가 상기 OK 메시지의 재전송 또는 다른 복잡한 기능성을 요구할 수 있기 때문이다.
그것이 간단한 TCP 글루에 대해서는 결코 일어나지 않을지라도, 상기 서버에서 일반적인 경우에, 클라이언트-프록시 순서 공간으로 매핑될 때 상기 OK 메시지에 의해서 소모된 순서 번호에 중첩되는 데이터를 재전송하는 것이 가능하다. 그러나 이것은 발생되지 않게 된다. 왜냐하면 OK 메시지를 잘못 전달되게 할 수 있기 때문이다. 중첩을 방지하기 위해서, 상기 프록시는, 상기 매핑 포인트에서 상기 매핑 포인트 ±A6glue_iss와 중첩하는 어떤 세그먼트의 개시를 쵸핑(chop)해야 한다.
OK 메시지에 대한 재전송 요구로서 국부적으로 포인트를 매핑하기 전에 순서 번호의 클라이언트 ACKs를 번역함.
매핑 포인트에서 서버 세그먼트를 쵸핑함으로써 서버로부터의 의사(spurious) 재전송으로부터 OK 메시지를 보호함.
TCP 옵션은 제자리에 남게 되며, 따라서 엔드 시스템이 상기 TCP 전송 계층의 완전한 기능성을 이용할 수 있다.
이러한 프로세스는 도 6의 흐름도에 의해서 더 상세히 설명된다. 패킷은 기능 블록(61)에서 수신되며 IP 계층에서 처리된다. 결합된 TCP 상태 정보는 기능 블록(62)에 배치된다. 상기 OK 메시지가 전달되기 전에, 양 소켓 A 및 B는 도 5에 도시된 바와 같이, PRE_GLUE 상태로 표시된다. 따라서, 판단 블록(63)에서, 상기 수신된 패킷이 결합된 접속에 속하는지에 대한 판단이 이루어진다. 매핑 포인트(도 4의 A6glue_iss) 전에 클라이언트가 순서 번호에 대해 수행하는 레퍼런스는 기능 블록(64)에서 프록시의 보통 TCP 상태 머시인에 의해서 처리되어야 한다. 왜냐하면 상기 클라이언트가 OK 메시지의 재전송 또는 다른 복잡한 기능성을 요구할 수 있기 때문이다.
상기 패킷이 결합된 접속에 속하도록 판단 블록(63)에서 판단되었으면, 판단블록(65)에서 상기 소켓이 PRE_GLUE 상태에 있는지를 판단하기 위해 또 다른 검사가 수행된다. 그것이 간단한 TCP 글루에서는 결코 일어나지 않는다 할지라도, 상기 서버에 대해서 일반적인 경우에, 클라이언트-프록시 순서 공간으로 매핑될 때, OK 메시지에 의해서 소모된 순서 번호에 중첩되는 데이터를 재전송하는 것이 가능하다. 이것은 일어나지 않는다. 왜냐하면 그것이 OK 메시지를 잘못전달되게 할 수 있기 때문이다. 중첩을 방지하기 위해서, 상기 프록시는, 기능 블록(66)에 표시된 바와 같이, 상기 매핑 포인트의 매핑 포인트 A6glue_iss에 중첩하는 어떤 세그먼트의 개시를 쵸핑해야 한다. 세그먼트 #1은 기능 블록(67)으로 인가되는데 여기서 상기 표준 TCP 처리가 수행되며 상기 패킷은 상기 프록시의 소켓 계층으로 전달된다.
다음의 체크가 수행된다. 즉;
상기 OK 메시지에 대한 재전송 요구로서 국부적으로 포인트를 매핑하기 전에 순서 번호의 클라이언트 ACKs를 번역함.
매핑 포인트에서 서버 세그먼트를 쵸핑함으로써, 서버로부터의 의사 재전송으로부터 OK 메시지를 보호함.
그러나, 이러한 체크는, 판단 블록(68)에서 판단되는 바와 같이, 프록시의 소켓 버퍼에 확인 응답되지 않은 데이터가 있는 동안은 계속 필요하다. A 및 B 소켓 버퍼의 데이터가 확인 응답된 후에, 상기 프록시는 이러한 체크를 안전하게 생략할 수 있다. 도 6은 소켓이 PRE_GLUE 상태에 있을 때 이러한 체크가 수행됨을 도시한다. 기능 블록(69)에서는, 상기 프록시가 세니티 체크가 더 이상 필요하지 않는 것으로 판단하면, 결합된 소켓의 상태를 PRE_GLUE로부터 GLUE로 변화시킨다. 이 포인트에서, 다음 패킷이 처리되도록 수신되는 기능 블록(61)으로 돌아간다.
판단 블록(63)에서 판단된 바와 같이, 수신된 패킷이 결합된 접속에 속하고, 판단 블록(65)에서 판단된 바와 같이, 소켓이 PRE_GLUE 상태에 놓이지 않게 되면(즉, 소켓이 GLUE 상태에 있음), 프로세스는 기능 블록(70)으로 간다. 여기서;
소스 어드레스 및 소스 포트 번호는 변화되며;
데스티네이션 어드레스 및 데스티네이션 포트 번호가 변화되며;
순서 번호 필드가 수정되며;
확인 응답 번호 필드가 수정되며;
패킷 체크섬이 재연산된다.
TCP 선택 확인 응답 옵션을 제외하고는, 나머지 TCP 옵션이 제자리에 남아서, 엔드 시스템이 상기 TCP 전송 계층의 완전한 기능을 사용할 수 있다. 상기 TCP 선택 확인 승인 옵션이 순서 번호를 이용하므로, 인입 순서 공간으로부터 송출 순서 공간으로 순서 번호를 매핑하는 것이 필요하다. TCP 긴급 포인터는 상기 세그먼트의 순서 번호로부터 오프셋(offset)으로서 표시된다. 그것들은 상기 매핑 순서동안에 변화되지 않는다.
본 실시예는 구현을 용이하게 하기 위해 두 TCP 및 IP 체크섬 모두를 스크래치로부터 재연산하지만, 일반적인 실시예에서는 기술은 체크섬이 고장에 안전한 방식(fail-safe manner)으로 갱신되도록 허용한다. 고장에 안전한 체크섬을 수행함으로써 프록시가 체크섬을 검증할 필요가 없게 되며 상기 패킷에 가해지는 변화를 반영하는 체크섬을 갱신하는 비용을 감소시켜서, 성능을 더욱 향상시킨다.
기능 블록(70)의 처리가 완료되면, 상기 수정된 패킷은 기능 블록(71)에서 새로운 데스티네이션으로 릴레이된다. 처리되어야 할 다음 패킷을 수신하기 위해 기능 블록(61)으로 복귀된다.
[접속 해제]
TCP 세그먼트가 글루를 통해서 통과할 때, 상기 세그먼트는 엔드 시스템이 그 접속을 폐쇄하고 있음을 표시하기 위해 검사된다. 상기 엔드 시스템이 그 접속을 종료할 때, 상기 TCP 글루 코드는 두 개의 소켓 사이의 글루를 해제하고 그것들을 자유롭게 한다.
상기 TCP 글루를 해제하기 위한 두가지 기본 법칙은;
보통 폐쇄 : 각각의 사이드가 종료 메시지(FIN)를 전달하고 ACK 메시지를 다른 사이드의 FIN 메시지로 전달하면, 상기 글루를 해제한다. 왜냐하면 상기 엔드 시스템이 폐쇄되어 있기 때문이다.
중지 폐쇄(abortive close) : 양 사이드가 리셋 메시지(RST)를 전달하면, 상기 글루를 해제한다.
두 경우에, 상기 폐쇄 동작에 이어서, 상기 결합된 접속과 연관된 접속 상태 정보가 타임아웃 기간동안 지속된다. 이것은 상기 결합된 접속상에서 수신된 어떤 지연된 세그먼트가 정확히 다른 엔드로 릴레이되도록 한다. 상기 타임아웃 기간 후에, 더 이상 글루 상태를 유지할 필요가 없다. 왜냐하면 어떤 일정치 않은 세그먼트가 상기 타임아웃 기간의 끝에 의해서 네트워크로부터 소거될 수 있기 때문이다.
상기 TCP 글루 코트는, 사용자 공간에서 프록시 처리로부터의 명령으로 글루 접속을 해제하거나, 또는 상기 결합된 접속시 전달된 다수의 바이트와 같이 로깅을 목적으로 프록시 처리 통계로 다시 보고하기 위해 수정될 수도 있다.
보통 폐쇄를 위한 TCP 글루 해제 처리는 도 7의 상태도에 도시되어 있다. 도 5의 상태도에서 볼 때, 상기 프록시는 데이터 전달 상태(72)에 있는데, 말하자면, 상기 글루가 설정된다. 제1접속(FIN 1)의 로컬 호스트로부터의 FIN 메시지가 프록시에 의해서 수신될 때, 그 메시지는 제2접속의 원격 호스트에 연관되며, 상기 프록시는 대기 상태(FIN_WAIT_1)(73)로 들어간다. 확인응답 메시지(ACK 1)가 원격 호스트로부터 수신될 때, 상기 프록시는 이 메시지를 로컬 호스트로 릴레이하여 제2대기 상태(FIN_WAIT_2)(74)로 들어간다. 상기 원격 호스트는 상기 프록시에 종료 메시지(FIN 2)를 전송하는데, 상기 프록시는 이를 로컬 호스트에 릴레이한다. 상기 프록시는 대기 상태(75)에서 연속된다. 상기 결합된 접속과 연관된 접속 상태 정보는, 무엇이 먼저 오든지간에, 상기 로컬 호스트가 확인 응답 메시지(ACK 2)를 전송할 때까지 또는 타이아웃 기간(76) 동안 지속된다. 상기 ACK 2 메시지가 타임 아웃 기간 전에 수신되면, 상기 메시지는 프록시에 의해서 원격 호스트로 릴레이되며, 상기 접속이 해제된다. 타임아웃 기간은 상기 결합된 접속상에서 수신된 어떤 지연된 세그먼트가 다른 엔드로 정확히 릴레이됨을 보장한다. 상기 타임아웃 기간후에, 상기 글루 상태를 유지하는 것이 더 이상 필요없다. 왜냐하면 어떤 일정치 않은 세그먼트가 상기 타임아웃 기간의 끝에 의해서 상기 네트워크로부터 소거될 것이기 때문이다.
동시 폐쇄도 가능하다. 이 경우에, 종료 메시지는 로컬 호스트 및 원격 호스트 모두에 의해서 전송된다. 상기 프록시는 종료 메시지(FIN 1 및 FIN 2)를 각각의 원격 및 로컬 호스트로 릴레이하며 대기 상태(77)로 들어간다. 그 후 확인 응답(ACK 1 또는 ACK 2)을 수신하여, 상기 프록시는 타임아웃 기간을 시작하기 위한 상태(75)로 들어간다.
본 발명에 따른 방법은 두 개의 TCP 접속을 결합하여, 어떤 전송 또는 애플리케이션 계층 처리 오버헤드를 초래하지 않고, 하나의 접속에서 수신된 세그먼트가 다른 접속으로 전달되게 하며, 그 역으로도 가능하게 한다. 이러한 기술은 SOCKSs 화이어월 게이트웨이 및 HTTP 캐싱 프록시와 같은 프록시 서버의 성능을 개선하도록 효율적으로 사용될 수 있다. 상기 글루잉 기술은 애플리케이션계층 게이트웨이의 방법보다, 더 효율적이며, 상태 유지가 수월하며, 더 양호한 엔드-투-엔드 의미론, 신뢰성 등을 제공하며, 더 양호한 대역외 데이터 전달 의미론을 제공하는 면에서 우수하다.
본 발명이 하나의 양호한 실시예에 의해서 기술되었지만, 본 기술 분야의 당업자라면 본 발명이 첨부된 청구범위의 사상 및 그 범위내에서 여러가지 변경이 가능함을 알 수 있다.
Claims (38)
- 패킷 통신 네트워크에서 제1 및 제2접속 - 상기 제1 및 제2접속은 모두 공통 호스트에서 종단되고, 또한 상기 제1 및 제2접속은 각각 제1엔드 포인트 및 제2엔드 포인트에서 종단됨 - 을 단일 엔드-투-엔드 접속으로 결합(gluing) 시키는 방법에 있어서,상기 공통 호스트에서, 상기 제2접속의 패킷 헤더에 대응하도록 상기 제1접속의 제1엔드 포인트로부터 수신된 제1패킷의 헤더를 수정하고, 제1패킷을 상기 제2접속의 제2엔드 포인트로 전송하는 단계; 및상기 공통 호스트에서, 상기 제1접속의 패킷 헤더에 대응하도록 상기 제2접속의 제2엔드 포인트로부터 수신된 제2패킷의 헤더 - 상기 헤더는 패킷이 공통호스트에서 수신될 때 동작중(on-the-fly)에 수정됨 - 를 수정하고, 제2패킷을 상기 제1접속의 제1엔드 포인트로 전송하는 단계를 포함하는 패킷 통신 네트워크에서의 접속 결합 방법.
- 제1항에 있어서,상기 제1엔드 포인트는 화이어월에 의해서 보호되는 네트워크에 부착되는 로컬 호스트이고, 상기 제2엔드 포인트는 상기 화이어월의 외부에 있지만 상기 화이어월에 의해서 접속이 가능한 네트워크에 접속된 원격 호스트이며, 상기 화이어월을 거쳐 데이터를 송신 및 수신 수신히기 위한 억세스 권리를 갖는 프록시가 상기 공통 호스트에서 실행되고 로컬 호스트 및 및 원격 호스트 사이의 중재자(mediator)로서 작용하며, 상기 접속은 전송제어 프로토콜(TCP) 접속이며 상기 패킷은 TCP/인터넷 프로토콜(IP) 헤더를 갖고 있는 패킷 통신 네트워크에서의 접속 결합 방법.
- 제2항에 있어서,상기 제1접속을 통해 프록시에서 수신된 패킷에 대한 헤더 수정 단계는,(a) 데스티네이션 IP 어드레스를 원격 호스트 IP 어드레스의 그 어드레스로 변경하는 단계;(b) 소스 IP 어드레스를, 패킷을 원격 호스트로 송신하는데 사용되는 프록시 인터페이스의 IP 어드레스의 그 어드레스로 변경하는 단계;(c) TCP 포트 번호를 변경하는 단계;(d) 송신 순서 번호 필드를 변경하는 단계;(e) 확인응답(ACK) 순서 번호 필드를 변경하는 단계; 및(f) 체크섬을 재연산 및 갱신하는 단계를 포함하고,상기 제2접속을 통해 프록시에서 수신된 패킷에 대한 헤더 수정 단계는,(g) 데스티네이션 IP 어드레스를 로컬 호스트 IP 어드레스의 그 어드레스로 변경하는 단계;(h) 소스 IP 어드레스를, 패킷을 로컬 호스트로 송신하기 위해 사용되는 프록시 인터페이스의 IP 어드레스의 그 어드레스로 변경하는 단계;(i) TCP 포트 번호를 변경하는 단계;(j) 송신 순서 번호 필드를 변경하는 단계;(k) ACK 순서 필드를 변경하는 단계; 및(l) 체크섬을 재연산 또는 갱신하는 단계를 포함하는 패킷 통신 네트워크에서의 접속 결합 방법.
- 제3항에 있어서,두 개의 독립적인 TCP 접속, 즉, 로컬 호스트와 프록시 사이의 제1접속과, 프록시와 원격 호스트 사이의 제2접속이 있으며, 상기 프록시는 상기 두 개의 TCP 접속사이에서 패킷을 릴레이하며,(a) 수정 이후에, 패킷이 제2접속에 속하게 되고, 헤더 정보는 패킷이 프록시에서 수신될 때 동작중에 수정되도록, 상기 제1접속의 패킷의 TCP/IP 헤더를 수정하는 단계;(b) 상기 수정된 헤더정보를 갖는 패킷을 상기 원격 호스트로 전송하는 단계; 및(c) 상기 원격 호스트로부터 수신되며 프록시에 의해 상기 로컬 호스트로 릴레이 되는 모든 패킷에 대해 상기 단계 (a) 및 (b)를 반복하는 단계를 포함하는 패킷 통신 네트워크에서의 접속 결합 방법.
- 제3항에 있어서,제1 및 제2접속이 함께 결합된 후, 상기 제2접속을 통해 상기 공통 호스트로부터 전송된 차기 데이터 바이트에 로컬 호스트가 상기 제1접속을 통해 수신할 것으로 예상하는 차기 순서 번호와 동일한 순서 번호가 할당되고, 상기 제1접속을 통해 원격 호스트로 전송된 차기 데이터 바이트에 상기 원격 호스트가 상기 제2접속을 통해 수신할 것으로 예상하는 차기 순서 번호와 동일한 순서 번호가 할당되도록, 상기 프록시에서 매핑하는 순서 번호를 선택하는 단계를 포함하는 패킷 통신 네트워크에서의 접속 결합 방법.
- 제5항에 있어서,소정의 포인트에서 프록시가 두 개의 TCP 접속을 함께 결합시킬 때, 상기 프록시 및 원격 호스트는 각각 프록시 및 원격 호스트 TCP 접속을 통해 임의의 데이터를 교환하고, 상기 프록시 및 로컬 호스트는 각각 프록시 및 로컬 호스트 TCP 접속을 통해 임의의 데이터를 교환할 수 있으며, 그 후, 로컬 호스트에 의해 프록시로 전송된 패킷은 변경되어 원격 호스트로 전송되고, 원격 호스트에 의해 프록시에 전송된 패킷은 변경되어 로컬 호스트로 전송되도록 되어 있는 패킷 통신 네트워크에서의 접속 결합 방법.
- 제1항에 있어서,상기 제1엔드 포인트는, 화이어월에 의해서 보호되는 네트워크에 부착된 로컬 호스트이고, 상기 제2엔드 포인트는 상기 화이어월 외부에서 상기 화이어월에 의해 접속가능한 네트워크에 접속된 원격 호스트이며, 상기 화이어월을 통해 데이터를 송신 및 수신하는 억세스 권리를 가진 프록시가 공통 호스트 상에서 실행되고, 로컬 호스트 및 원격 호스트 사이에서 중재자로서 작용하며, 상기 방법은,(a) 승인된 로컬 호스트 이외의 호스트로부터의 모든 시도되는 접속을 상기 프록시에 의해 기부하고, 인증 및/또는 인증 체크에 장애를 가져오는 모든 접속을 상기 프록시에 의해 종료하는 단계;(b) 그 로컬 호스트가 통신하고자 하는 원격 호스트의 어드레스를 지정하는 로컬 호스트에 의한 데이터 접속을 상기 프록시에 설정하는 단계;(c) 패킷이 상기 프록시로부터 기원하는 것으로 나타나도록 상기 로컬 호스트로부터 수신되는 모든 패킷의 헤더를 상기 프록시에 의해 수정하고, 상기 프록시에 의해 상기 패킷을 상기 원격 호스트로 전송하는 단계;(d) 패킷이 상기 프록시로부터 기원하는 것으로 나타나도록 상기 로컬 호스트에 의해 개시된 접속의 일부로서 상기 원격 호스트에 의해 송신되는 모든 패킷의 헤더를 상기 프록시에 의해 수정하고, 상기 패킷을 상기 로컬 호스트로 전송하는 단계;(e) 상기 접속의 일부로서 상기 프록시에 의해 상기 로컬 및 원격 호스트로부터 수신되는 패킷에 대해 상기 단계(c) 및 (d)를 반복하는 단계; 및(f) 프록시에 의해, 인증 및/또는 인증 체크를 통과한 접속의 일부가 아닌 프록시에 도달하는 어떤 패킷을 시도된 보안 위반으로 취급하는 단계를 더 포함하는 패킷 통신 네트워크에서의 접속 결합 방법.
- 제7항에 있어서,공통 호스트 상에서 실행되는 프록시에 의해 결합 동작과 로컬 호스트 및 원격 호스트를 동기화하는 단계를 더 포함하는 패킷 통신 네트워크에서의 접속 결합 방법.
- 제8항에 있어서,상기 로컬 호스트, 상기 프록시 및 상기 원격 호스트를 동기화시키는 단계는 어떤 수정이 이루어진 인증 및 권한부여 프로토콜의 기존의 메시지를 송신 및 수신함으로써 수행되는 패킷 통신 네트워크에서의 접속 결합 방법.
- 제7항에 있어서,상기 프록시가 결합 동작을 수행할 때, 상기 프록시와 상기 원격 호스트 사이 또는 상기 로컬 호스트와 상기 프록시 사이의 네트워크를 통해 데이터가 전송중에 있는 경우에, 데이터가 그 데스티네이션으로 정확히 전달되고, 필요에 따라 재전송되도록 보장하는 단계를 더 포함하는 패킷 통신 네트워크에서의 접속 결합 방법.
- 제7항에 있어서,상기 프록시에 의해 릴레이되는 각 패킷으로부터 데이터 카피를 상기 프록시에서 선택적으로 저장하는 단계; 및상기 저장된 데이터 카피를, 프록시가 실행되는 머신상의 다른 프로세스에 사용가능하게 만드는 단계를 더 포함하는 패킷 통신 네트워크에서의 접속 결합 방법.
- 제11항에 있어서,상기 저장된 데이터 카피는, 상기 데이터에 대한 다른 로컬 호스트로부터의 요구에 서비스하기 위해 사용되는 데이터 캐시에 저장되는 패킷 통신 네트워크에서의 접속 결합 방법.
- 제12항에 있어서,상기 프록시는 하이퍼텍스트 전송 프로토콜(HTTP) 캐싱 프록시인 패킷 통신 네트워크에서의 접속 결합 방법.
- 제11항에 있어서,상기 기억된 데이터는 다른 프로세스가 상기 저장된 데이터를 판독할 수 있는 프록시의 버퍼로 카피되는 패킷 통신 네트워크에서의 접속 결합 방법.
- 제11항에 있어서,패킷 인터어라이벌 타임, 그 정보에 대한 요구의 과거 이력, 상기 프록시상의 이용가능한 자원, 프록시 캐시의 현재 내용, 상기 프록시가 캐시 데이터를 저장 또는 검색할 수 있는 속도, 및 상기 데이터 내용의 특성중 어느 하나에 근거하여, 상기 데이터 카피를 저장하기 위한 판단을 하는 단계를 더 포함하는 패킷 통신 네트워크에서의 접속 결합 방법.
- 제7항에 있어서,완료된 접속을 해제하는 단계를 더 포함하고, 여기서, 두 접속의 각 엔드 포인트가 종료(FIN) 메시지를 송신하고 다른 엔드 포인트가 상기 FIN 메시지에 대한 확인응답(ACK) 메세지를 송신할 때, 또는 상기 엔드 포인트에 의해 리셋(RST)이 전송될 때, 제3접목된(spliced) 접속이 해제되고, 상기 프록시에서 제3접속에 의해 소모된 자원을 릴리스되는 패킷 통신 네트워크에서의 접속 결합 방법.
- 전송 제어 프로토콜(TCP)을 사용하는 패킷 통신 네트워크에서, 제1 및 제2엔드 시스템과 세션 계층 프록시 사이의 접속을 관리하기 위한 방법에 있어서,상기 제1 및 제2엔드 시스템과 상기 세션 계층 프록시 사이의 동기화를 부여하는 단계;상기 세션 계층 프록시에서, 상기 제1 또는 제2엔드 시스템의 TCP 순서 공간을 상기 제2 또는 제1엔드 시스템으로 각각 매핑하는 단계;각각의 TCP 세그먼트가 상기 제1 또는 제2엔드 시스템으로부터 세션 계층 프록시에서 수신될 때, 상기 세그먼트를 상기 제2 또는 제1엔드 시스템으로 각각 어드레스 하기 위해 상기 세그먼트의 헤더 정보를 수정하는 단계; 및상기 제1 및 제2엔드 시스템 사이의 접속이 폐쇄될 때, 상기 제1 및 제2엔드 시스템 사이의 완료된 접속을 해제하는 단계를 포함하는 접속 관리 방법.
- 제17항에 있어서,상기 해제 단계는, 상기 제1 또는 제2엔드 시스템이 종료(FIN) 메시지를 전송하고, 상기 제2 또는 제1엔드 시스템이 상기 FIN 메시지에 응답하여 확인응답(ACK) 메시지를 전송할 때마다 수행되는 접속 관리 방법.
- 제18항에 있어서,상기 해제 단계는 상기 제1 또는 제2엔드 시스템중 한 시스템이 리셋(RST) 메시지를 전송할 때마다 부가적으로 수행하는 접속 관리 방법.
- 제17항에 있어서,상기 제1엔드 시스템은 로컬 네트워크에 접속된 로컬 호스트이고, 상기 제2엔드 시스템은 원격 네트워크에 접속된 원격 호스트이며, 상기 세션 계층 프록시는 로컬 네트워크가 접속되는 네트워크 화이어월 상에서 실행되며, 상기 네트워크 화이어월은 단지, 한 세트의 인증된 호스트로부터 기원하고 그 호스트로 향하는 트래픽이, 상기 네트워크 화이어월 및 상기 네트워크 화이어월을 통해 데이터를 송신 및 수신하는 억세스 권리를 갖는 세션 계층 프록시를 통해 흐르도록 허용하는 접속 관리 방법.
- 제20항에 있어서,상기 원격 네트워크 인터넷이고, 상기 패킷은 TCP/IP(인터넷 프로토콜) 헤더를 가지며, 상기 방법은,상기 로컬 호스트 및 원격 호스트의 TCP/IP 헤더에 각각 대응하도록 상기 원격 호스트 및 로컬 호스트로부터 수신된 패킷의 TCP/IP 헤더를 수정 - 여기서, 상기 헤더는 패킷이 세션 계층 프록시에 의해 수신될 때 동작중에 수정됨 - 하는 단계를 포함하는 접속 관리 방법.
- 제17항에 있어서,상기 제1엔드 시스템은 로컬 네트워크에 접속된 로컬 호스트이고, 상기 제2엔드 시스템은 원격 네트워크에 접속된 원격 호스트이며, 상기 세션 계층 프록시는 상기 로컬 호스트 및 원격 호스트로부터의 데이터 스트림이 저장되는 데이터 캐시를 포함하는 캐싱 프록시인 접속 관리 방법.
- 제22항에 있어서,상기 원격 네트워크는 인터넷이고, 상기 패킷은 TCP/IP(인터넷 프로토콜) 헤더를 가지며, 상기 방법은,상기 로컬 호스트 및 원격 호스트의 TCP/IP 헤더에 각각 대응하도록 상기 원격 호스트 및 로컬 호스트로부터 수신된 패킷의 TCP/IP 헤더를 수정 - 여기서, 상기 헤더는 패킷이 세션 계층 프록시에 의해 수신될 때 동작중에 수정됨 - 하는 단계를 포함하는 접속 관리 방법.
- 패킷 통신 네트워크에서, 제1 및 제2호스트에서 각각 종료되는 제1 및 제2접속을 세션 계층 프록시의 단일 엔드-투-엔드 접속으로 접목시키는 방법에 있어서,제1 및 제2호스트와 세션 계층 프록시 사이의 동기화를 부여하는 단계; 및상기 제1접속 및 제2접속의 패킷 헤더를 상기 제2 및 제1접속의 패킷 헤더에 각각 대응하도록 수정 - 여기서, 상기 헤더 정보는 패킷이 상기 세션 계층 프록시에서 수신될 때 동작중에 수정됨 - 하는 단계를 포함하는 접속 접목 방법.
- 패킷 통신 네트워크에 있어서,로컬 네트워크에 부착된 로컬 호스트;상기 로컬 호스트에 접속되며 상기 로컬 네트워크를 보호하는 네트워크 화이어월; 상기 네트워크 화이어월 외부에 있지만 상기 네트워크 화이어월에 의해 접속가능한 네트워크에 접속된 원격 호스트; 및상기 네트워크 화이어월 상에서 실행되며 상기 네트워크 화이어월을 통해 데이터를 송신 및 수신하는 억세스 권리를 갖는 세션 계층 프록시를 포함하고,상기 세션 계층 프록시는, 상기 로컬 호스트와 상기 원격 호스트 사이의 중재자로서 작용하며, 또한, 상기 세션계층 프록시는, 로컬 호스트 및 원격 호스트와 세션 계층 프록시 사이의 동기화를 부여하고, 상기 로컬 호스트와 네트워크 화이어월 사이의 제1접속의 패킷 헤더를 상기 원격 호스트와 네트워크 화이어월 사이의 제2접속의 패킷 헤더에 대응하도록 수정하기 위해 동작하며, 상기 헤더 정보는 상기 패킷이 상기 세션 계층 프록시에서 수신될 때 동작중에 수정되는 데이터 통신 네트워크.
- 패킷 통신 시스템내의 네트워크 화이어월 상에서 구현되며 로컬 호스트와 네트워크 화이어월 사이의 제1접속과, 원격 호스트와 네트워크 화이어월 사이의 제2접속 - 여기서, 프록시는 상기 네트워크 화이어월을 통해 데이터를 송신 및 수신하기 위한 억세스 권리를 가지며, 상기 로컬 호스트와 상기 원격 호스트 사이의 중재자로서 작용함 - 을 제공하는 방법에 있어서,(a) 상기 프록시는, 승인된 로컬 호스트 이외의 호스트로부터의 모든 시도되는 접속을 거부하고, 인증 및/또는 권한부여 체크에 실패한 모든 접속을 종료하는 단계;(b) 승인된 로컬 호스트는, 상기 프록시로 데이터 접속을 설정하고, 통신하고자 하는 원격 호스트의 어드레스를 지정하는 단계;(c) 상기 프록시는, 상기 로컬 호스트로부터 수신된 모든 패킷의 헤더를 상기 패킷이 상기 프록시로부터 기원하는 것으로 나타나도록 수정하고, 그것을 원격 호스트로 전송하는 단계;(d) 상기 프록시는, 상기 로컬 호스트에 의해 개시된 데이터 접속의 일부로서 상기 원격 호스트로 전송된 모든 패킷의 헤더를 상기 패킷이 상기 프록시로부터 기원하는 것으로 나타나도록 수정하고, 그것을 상기 로컬 호스트로 전송하는 단계;(e) 상기 로컬 호스트로부터, 상기 로컬 호스트에 의해 개시된 데이터 접속의 일부인 원격 호스트로 전송되는 패킷에 대해 상기 단계(c) 및 (d)를 반복하는 단계; 및(f) 인증 및/또는 권한부여 체크를 통과한 데이터 접속의 일부가 아닌 프록시에 도달하는 패킷을 시도된 보안 위반로 취급하는 단계를 포함하는 방법.
- 제26항에 있어서,상기 제1 및 제2접속은 전송 제어 프로토콜(TCP) 접속이며, 상기 패킷 헤더는 TCP/IP(인터넷 프로토콜) 패킷 헤더인 방법.
- 제27항에 있어서,상기 프록시에 의해 헤더를 수정하는 단계는, 상기 제1접속을 통해 상기 프록시에서 수신된 패킷에 대하여,(a) 데스티네이션 IP 어드레스를 원격 호스트 IP 어드레스의 그 어드레스로 변경하는 단계;(b) 소스 IP 어드레스를, 상기 원격 호스트로 패킷을 전송하기 위해 사용되는 프록시 인터페이스의 IP 어드레스의 그 어드레스로 변경하는 단계;(c) TCP 포트 번호를 변경하는 단계;(d) 송신 순서 번호 필드를 변경하는 단계;(e) 확인응답(ACK) 순서 번호 필드를 변경하는 단계; 및(f) 체크섬을 재연산 또는 갱신하는 단계를 포함하고,상기 제2접속을 통해 상기 프록시에서 수신된 패킷에 대하여,(g) 데스티네이션 IP 어드레스를 로컬 호스트 IP 어드레스의 그 어드레스로 변경하는 단계;(h) 소스 IP 어드레스를, 로컬 호스트로 패킷을 전송하기 위해 사용되는 프록시 인터페이스의 IP 어드레스의 그 어드레스로 변경하는 단계;(i) TCP 포트 번호를 변경하는 단계;(j) 송신전달 순서 번호 필드를 변경하는 단계;(k) ACK 순서 필드를 변경하는 단계; 및(l) 체크섬을 재연산 또는 갱신하는 단계를 포함하는 방법.
- 제28항에 있어서,상기 세션 계층 프록시에서, 상기 제1 또는 제2엔드 시스템의 TCP 순서 공간을 상기 제2 또는 제1엔드 시스템으로 각각 매핑하는 단계를 더 포함하는 방법.
- 제27항에 있어서,두 개의 독립적인 TCP 접속, 즉 상기 로컬 호스트와 상기 프록시 사이의 제1접속과, 상기 프록시와 상기 원격 호스트 사이의 제2접속이 있으며, 상기 프록시는 상기 두 개의 TCP 접속사이에서 패킷을 릴레이하며, 상기 방법은,(a) 수정 이후에, 상기 패킷이 상기 제2접속에 속한 것으로 나타나게 되도록, 상기 제1접속의 패킷의 TCP/IP 헤더를 수정 - 여기서, 헤더 정보는 상기 패킷이 상기 프록시에서 수신될 때 동작중에 수정됨 - 하는 단계;(b) 상기 수정된 헤더 정보를 갖는 상기 패킷을 상기 원격 호스트로 전송하는 단계; 및(c) 상기 원격 호스트로부터 수신되어 상기 로컬 호스트로 릴레이되는 모든 패킷에 대해 상기 (a) 및 (b)를 반복하는 단계를 포함하는 방법.
- 전송 제어 프로토콜(TCP)를 이용하는 패킷 통신 네트워크에서, 원격 호스트와 프록시 사이의 TCP 접속과 로컬 호스트와 프록시 사이의 TCP 접속을 함께 결합하는 방법에 있어서,프록시/원격 호스트 TCP 접속을 통해 상기 프록시와 상기 원격 호스트 사이에서 임의의 데이터를 교환하는 단계;프록시/로컬 호스트 TCP 접속을 통해 상기 프록시와 상기 로컬 호스트 사이에서 임의의 데이터를 교환하는 단계; 및상기 로컬 호스트에 의해 상기 프록시로 전송된 패킷은 상기 프록시에 의해 변경되어 상기 원격 호스트로 전송되고, 상기 원격 호스트에 의해 상기 프록시로 전송된 패킷은 상기 프록시에 의해 변경되어 상기 로컬 호스트로 전송되도록, 상기 프록시에 의해 두 개의 TCP 접속을 함께 결합하는 단계를 포함하는 TCP 접속 결합 방법.
- 제31항에 있어서,상기 결합 단계는 상기 프록시에 의해 상기 로컬 호스트 및 상기 원격 호스트를 동기화하는 단계를 포함하고, 프록시에 수신된 패킷의 변경은 프록시/원격 호스트 TCP 접속의 패킷 TCP 헤더를, 동작중에 프록시/로컬 호스트 TCP 접속의 패킷 헤더에 대응하도록 수정하는 단계를 포함하는 TCP 접속 결합 방법.
- 제32항에 있어서,상기 프록시가 상기 결합 단계를 수행할 때, 상기 로컬 호스트와 상기 프록시 사이 또는 상기 프록시와 상기 원격 호스트 사이의 네트워크 를 통해 데이터가 전송중에 있는 경우에, 데이터가 그 데스티네이션으로 정확히 전달되고, 필요에 따라 재전송되도록 보장하는 단계를 더 포함하는 TCP 접속 결합 방법.
- 제32항에 있어서,상기 동기화 단계는 인증 및 권한부여 프로토콜의 기존의 메시지를 송신 및 수신함으로 수행되는 TCP 접속 결합 방법.
- 제32항에 있어서,상기 프록시가 각각의 패킷으로부터의 데이터 스트림의 카피를 보유하거나, 상기 프록시가 상기 데이터 스트림의 카피를 릴레이하여 다른 프로세스에 이용가능하게 만드는 선택적 단계를 더 포함하는 TCP 접속 결합 방법.
- 제35항에 있어서,카피된 데이터 스트림은, 동일 정보에 대한 다른 로컬 호스트로부터의 미래의 요구에 서비스하기 위해 사용되는 데이터 캐시를 채우기 위해 상기 프록시에 의해 사용될 수 있는 TCP 접속 결합 방법.
- 제35항에 있어서,카피된 데이터 스트림은 프록시의 버퍼로 카피되며, 상기 버퍼로부터 다른 호스트가 상기 카피된 데이터 스트림을 판독할 수 있는 TCP 접속 결합 방법.
- 제35항에 있어서,데이터 스트림 카피를 보유하는 선택된 단계는, 패킷 인터어라이벌 타임, 그 정보에 대한 요구의 과거 이력, 상기 프록시상의 이용가능한 자원, 프록시 캐시의 현재 내용, 상기 프록시가 캐시 데이터를 저장 또는 검색할 수 있는 속도, 및 데이터 내용의 특성중 어느 것에 의존하는 TCP 접속 결합 방법.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US08/789,447 US5941988A (en) | 1997-01-27 | 1997-01-27 | Session and transport layer proxies via TCP glue |
US8/789,447 | 1997-01-27 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR19980070104A true KR19980070104A (ko) | 1998-10-26 |
KR100255501B1 KR100255501B1 (ko) | 2000-05-01 |
Family
ID=25147669
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1019970061123A KR100255501B1 (ko) | 1997-01-27 | 1997-11-19 | 전송 제어 프로토콜 글루를 통한 세션 및 전송 계층 프록시 개선 방법 |
Country Status (2)
Country | Link |
---|---|
US (1) | US5941988A (ko) |
KR (1) | KR100255501B1 (ko) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100661006B1 (ko) * | 2005-12-28 | 2006-12-22 | 주식회사 케이티 | 홈네트워크 단말 관리 시스템 및 그 방법 |
Families Citing this family (278)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6950991B2 (en) * | 1995-11-13 | 2005-09-27 | Citrix Systems, Inc. | Interacting with software applications displayed in a web page |
US6437803B1 (en) | 1998-05-29 | 2002-08-20 | Citrix Systems, Inc. | System and method for combining local and remote windows into a single desktop environment |
US6088515A (en) | 1995-11-13 | 2000-07-11 | Citrix Systems Inc | Method and apparatus for making a hypermedium interactive |
US6370552B1 (en) | 1997-05-14 | 2002-04-09 | Citrix Systems, Inc. | Apparatus and method for displaying application output in an HTML document |
USRE39501E1 (en) | 1996-10-31 | 2007-03-06 | Nvidia Corporation | Multiple network protocol encoder/decoder and data processor |
US7020700B1 (en) * | 1997-02-28 | 2006-03-28 | International Business Machines Corporation | Client side socks server for an internet client |
US6370571B1 (en) * | 1997-03-05 | 2002-04-09 | At Home Corporation | System and method for delivering high-performance online multimedia services |
US7529856B2 (en) | 1997-03-05 | 2009-05-05 | At Home Corporation | Delivering multimedia services |
ES2290986T3 (es) | 1997-03-12 | 2008-02-16 | Nomadix, Inc. | Transmisor o router nomada. |
US6587877B1 (en) * | 1997-03-25 | 2003-07-01 | Lucent Technologies Inc. | Management of time and expense when communicating between a host and a communication network |
US6157944A (en) * | 1997-05-14 | 2000-12-05 | Citrix Systems, Inc. | System and method for replicating a client/server data exchange to additional client notes connecting to the server |
US5941949A (en) * | 1997-05-14 | 1999-08-24 | Citrix Systems, Inc. | System and method for transmitting data from a server application to more than one client node |
US6167438A (en) * | 1997-05-22 | 2000-12-26 | Trustees Of Boston University | Method and system for distributed caching, prefetching and replication |
US6219803B1 (en) * | 1997-07-01 | 2001-04-17 | Progress Software Corporation | Testing and debugging tool for network applications |
US6006268A (en) * | 1997-07-31 | 1999-12-21 | Cisco Technology, Inc. | Method and apparatus for reducing overhead on a proxied connection |
US6775692B1 (en) * | 1997-07-31 | 2004-08-10 | Cisco Technology, Inc. | Proxying and unproxying a connection using a forwarding agent |
US6401171B1 (en) | 1998-02-27 | 2002-06-04 | Cisco Technology, Inc. | Method and device for storing an IP header in a cache memory of a network node |
US6636485B1 (en) | 1998-05-14 | 2003-10-21 | 3Com Corporation | Method and system for providing quality-of-service in a data-over-cable system |
US6775276B1 (en) * | 1998-05-27 | 2004-08-10 | 3Com Corporation | Method and system for seamless address allocation in a data-over-cable system |
US6412015B1 (en) * | 1998-06-24 | 2002-06-25 | New Moon Systems, Inc. | System and method for virtualizing and controlling input and output of computer programs |
US6892229B1 (en) | 1998-09-30 | 2005-05-10 | 3Com Corporation | System and method for assigning dynamic host configuration protocol parameters in devices using resident network interfaces |
CA2281431A1 (en) * | 1998-10-28 | 2000-04-28 | Lucent Technologies Inc. | Mobile-tcp and method of establishing and maintaining a mobile-tcp connection |
US6411986B1 (en) * | 1998-11-10 | 2002-06-25 | Netscaler, Inc. | Internet client-server multiplexer |
US8713641B1 (en) | 1998-12-08 | 2014-04-29 | Nomadix, Inc. | Systems and methods for authorizing, authenticating and accounting users having transparent computer access to a network using a gateway device |
US8266266B2 (en) | 1998-12-08 | 2012-09-11 | Nomadix, Inc. | Systems and methods for providing dynamic network authorization, authentication and accounting |
US7194554B1 (en) | 1998-12-08 | 2007-03-20 | Nomadix, Inc. | Systems and methods for providing dynamic network authorization authentication and accounting |
US6292839B1 (en) * | 1998-12-09 | 2001-09-18 | 3Com Corporation | Method and system for reflexive tunneling |
US6928469B1 (en) | 1998-12-29 | 2005-08-09 | Citrix Systems, Inc. | Apparatus and method for determining a program neighborhood for a client node in a client-server network using markup language techniques |
US7139268B1 (en) * | 1999-01-29 | 2006-11-21 | Pravin Bhagwat | Performance of intermediate nodes with flow splicing |
US7099338B1 (en) | 1999-02-27 | 2006-08-29 | 3Com Corporation | System and method for insuring dynamic host configuration protocol operation by a host connected to a data network |
US6412009B1 (en) * | 1999-03-15 | 2002-06-25 | Wall Data Incorporated | Method and system for providing a persistent HTTP tunnel |
US6349336B1 (en) * | 1999-04-26 | 2002-02-19 | Hewlett-Packard Company | Agent/proxy connection control across a firewall |
US6654387B1 (en) | 1999-05-21 | 2003-11-25 | 3Com Corporation | Method for network address table maintenance in a data-over-cable system using a network device registration procedure |
US6611868B1 (en) | 1999-05-21 | 2003-08-26 | 3Com Corporation | Method and system for automatic link hang up |
US6754622B1 (en) | 1999-05-24 | 2004-06-22 | 3Com Corporation | Method for network address table maintenance in a data-over-cable system using destination reachibility |
US6985437B1 (en) | 1999-05-25 | 2006-01-10 | 3Com Corporation | Method for dynamic performance optimization in a data-over-cable system |
US6785292B1 (en) | 1999-05-28 | 2004-08-31 | 3Com Corporation | Method for detecting radio frequency impairments in a data-over-cable system |
US7305473B2 (en) * | 1999-05-28 | 2007-12-04 | The Coca-Cola Company | Provision of transparent proxy services to a user of a client device |
US6263371B1 (en) * | 1999-06-10 | 2001-07-17 | Cacheflow, Inc. | Method and apparatus for seaming of streaming content |
AU7060300A (en) | 1999-08-16 | 2001-03-13 | Iready Corporation | Internet jack |
US6594260B1 (en) * | 1999-09-03 | 2003-07-15 | Cisco Technology, Inc. | Content routing |
US6308238B1 (en) | 1999-09-24 | 2001-10-23 | Akamba Corporation | System and method for managing connections between clients and a server with independent connection and data buffers |
US6801927B1 (en) | 1999-09-24 | 2004-10-05 | Akamba Corporation | Network adaptor card with reverse proxy and cache and method implemented therewith |
US6877036B1 (en) * | 1999-09-24 | 2005-04-05 | Akamba Corporation | System and method for managing connections between a client and a server |
FR2800224B1 (fr) * | 1999-10-21 | 2002-12-27 | Ibm | Procede et systeme de mise en antememoire de donnees http transportees avec des donnees de socks dans des datagrammes ip |
WO2001031885A2 (en) | 1999-10-22 | 2001-05-03 | Nomadix, Inc. | Gateway device having an xml interface and associated method |
US6529983B1 (en) | 1999-11-03 | 2003-03-04 | Cisco Technology, Inc. | Group and virtual locking mechanism for inter processor synchronization |
US7506358B1 (en) * | 1999-12-09 | 2009-03-17 | Cisco Technology, Inc. | Method and apparatus supporting network communications through a firewall |
US7013251B1 (en) * | 1999-12-15 | 2006-03-14 | Microsoft Corporation | Server recording and client playback of computer network characteristics |
US6493341B1 (en) | 1999-12-31 | 2002-12-10 | Ragula Systems | Combining routers to increase concurrency and redundancy in external network access |
US6510448B1 (en) * | 2000-01-31 | 2003-01-21 | Networks Associates Technology, Inc. | System, method and computer program product for increasing the performance of a proxy server |
US6725272B1 (en) * | 2000-02-18 | 2004-04-20 | Netscaler, Inc. | Apparatus, method and computer program product for guaranteed content delivery incorporating putting a client on-hold based on response time |
JP3494610B2 (ja) * | 2000-02-28 | 2004-02-09 | 富士通株式会社 | Tcp終端機能付きipルータ装置および媒体 |
US8380854B2 (en) | 2000-03-21 | 2013-02-19 | F5 Networks, Inc. | Simplified method for processing multiple connections from the same client |
US7343413B2 (en) | 2000-03-21 | 2008-03-11 | F5 Networks, Inc. | Method and system for optimizing a network by independently scaling control segments and data flow |
US7089580B1 (en) | 2000-03-29 | 2006-08-08 | 3Com Corporation | Method for improved cable modem ranging in a data-over-cable system |
US6804262B1 (en) | 2000-04-28 | 2004-10-12 | 3Com Corporation | Method and apparatus for channel determination through power measurements |
US6789112B1 (en) | 2000-05-08 | 2004-09-07 | Citrix Systems, Inc. | Method and apparatus for administering a server having a subsystem in communication with an event channel |
US6785726B1 (en) | 2000-05-08 | 2004-08-31 | Citrix Systems, Inc. | Method and apparatus for delivering local and remote server events in a similar fashion |
US6785713B1 (en) | 2000-05-08 | 2004-08-31 | Citrix Systems, Inc. | Method and apparatus for communicating among a network of servers utilizing a transport mechanism |
US6922724B1 (en) | 2000-05-08 | 2005-07-26 | Citrix Systems, Inc. | Method and apparatus for managing server load |
US6505269B1 (en) | 2000-05-16 | 2003-01-07 | Cisco Technology, Inc. | Dynamic addressing mapping to eliminate memory resource contention in a symmetric multiprocessor system |
US6944881B1 (en) | 2000-06-19 | 2005-09-13 | 3Com Corporation | Method for using an initial maintenance opportunity for non-contention ranging |
US6950947B1 (en) | 2000-06-20 | 2005-09-27 | Networks Associates Technology, Inc. | System for sharing network state to enhance network throughput |
US6816500B1 (en) | 2000-07-10 | 2004-11-09 | 3Com Corporation | Apparatus, method and system for multimedia access network channel management |
US7461150B1 (en) * | 2000-07-19 | 2008-12-02 | International Business Machines Corporation | Technique for sending TCP messages through HTTP systems |
US6996631B1 (en) * | 2000-08-17 | 2006-02-07 | International Business Machines Corporation | System having a single IP address associated with communication protocol stacks in a cluster of processing systems |
US6941384B1 (en) | 2000-08-17 | 2005-09-06 | International Business Machines Corporation | Methods, systems and computer program products for failure recovery for routed virtual internet protocol addresses |
US7120697B2 (en) * | 2001-05-22 | 2006-10-10 | International Business Machines Corporation | Methods, systems and computer program products for port assignments of multiple application instances using the same source IP address |
US6954784B2 (en) * | 2000-08-17 | 2005-10-11 | International Business Machines Corporation | Systems, method and computer program products for cluster workload distribution without preconfigured port identification by utilizing a port of multiple ports associated with a single IP address |
US7562147B1 (en) * | 2000-10-02 | 2009-07-14 | Microsoft Corporation | Bi-directional HTTP-based reliable messaging protocol and system utilizing same |
US20020042839A1 (en) * | 2000-10-10 | 2002-04-11 | Christopher Peiffer | HTTP multiplexor/demultiplexor |
US7055028B2 (en) * | 2000-10-10 | 2006-05-30 | Juniper Networks, Inc. | HTTP multiplexor/demultiplexor system for use in secure transactions |
US7107326B1 (en) | 2000-10-13 | 2006-09-12 | 3Com Corporation | Method and system for integrating IP address reservations with policy provisioning |
US7801978B1 (en) | 2000-10-18 | 2010-09-21 | Citrix Systems, Inc. | Apparatus, method and computer program product for efficiently pooling connections between clients and servers |
US6963917B1 (en) | 2000-10-20 | 2005-11-08 | International Business Machines Corporation | Methods, systems and computer program products for policy based distribution of workload to subsets of potential servers |
US6965930B1 (en) | 2000-10-20 | 2005-11-15 | International Business Machines Corporation | Methods, systems and computer program products for workload distribution based on end-to-end quality of service |
US7039717B2 (en) | 2000-11-10 | 2006-05-02 | Nvidia Corporation | Internet modem streaming socket method |
US7068597B1 (en) | 2000-11-27 | 2006-06-27 | 3Com Corporation | System and method for automatic load balancing in a data-over-cable network |
US6940874B2 (en) * | 2000-11-30 | 2005-09-06 | 3Com Corporation | Method for reducing interference from initializing network devices in a data-over-cable system |
US6948184B1 (en) | 2000-11-30 | 2005-09-20 | 3Com Corporation | System and method for calibrating power level during initial ranging of a network client device |
US20020078164A1 (en) * | 2000-12-13 | 2002-06-20 | Marnetics Ltd. | System and method for data transfer acceleration in a TCP network environment |
US6697206B2 (en) * | 2000-12-19 | 2004-02-24 | Imation Corp. | Tape edge monitoring |
US6850982B1 (en) * | 2000-12-19 | 2005-02-01 | Cisco Technology, Inc. | Methods and apparatus for directing a flow of data between a client and multiple servers |
US7519048B2 (en) * | 2000-12-28 | 2009-04-14 | Nec Corporation | Communication system and packet switching method thereof |
US7024479B2 (en) * | 2001-01-22 | 2006-04-04 | Intel Corporation | Filtering calls in system area networks |
WO2002057917A2 (en) * | 2001-01-22 | 2002-07-25 | Sun Microsystems, Inc. | Peer-to-peer network computing platform |
US7197565B2 (en) * | 2001-01-22 | 2007-03-27 | Sun Microsystems, Inc. | System and method of using a pipe advertisement for a peer-to-peer network entity in peer-to-peer presence detection |
US20020099851A1 (en) * | 2001-01-22 | 2002-07-25 | Shah Hemal V. | Decoupling TCP/IP processing in system area networks |
US7165107B2 (en) * | 2001-01-22 | 2007-01-16 | Sun Microsystems, Inc. | System and method for dynamic, transparent migration of services |
US7379475B2 (en) | 2002-01-25 | 2008-05-27 | Nvidia Corporation | Communications processor |
US6952428B1 (en) | 2001-01-26 | 2005-10-04 | 3Com Corporation | System and method for a specialized dynamic host configuration protocol proxy in a data-over-cable network |
US7068598B1 (en) * | 2001-02-15 | 2006-06-27 | Lucent Technologies Inc. | IP packet access gateway |
US7073055B1 (en) | 2001-02-22 | 2006-07-04 | 3Com Corporation | System and method for providing distributed and dynamic network services for remote access server users |
US20020120743A1 (en) * | 2001-02-26 | 2002-08-29 | Lior Shabtay | Splicing persistent connections |
US7222255B1 (en) | 2001-02-28 | 2007-05-22 | 3Com Corporation | System and method for network performance testing |
US20020143954A1 (en) * | 2001-04-03 | 2002-10-03 | Aiken John Andrew | Methods, systems and computer program products for content-based routing via active TCP connection transfer |
US8218555B2 (en) | 2001-04-24 | 2012-07-10 | Nvidia Corporation | Gigabit ethernet adapter |
US7272636B2 (en) * | 2001-04-24 | 2007-09-18 | Sun Microsystems, Inc. | Peer group name server |
US7711831B2 (en) * | 2001-05-22 | 2010-05-04 | International Business Machines Corporation | Methods, systems and computer program products for source address selection |
US7089320B1 (en) | 2001-06-01 | 2006-08-08 | Cisco Technology, Inc. | Apparatus and methods for combining data |
US6987765B2 (en) * | 2001-06-14 | 2006-01-17 | Nortel Networks Limited | Changing media sessions |
US7774492B2 (en) * | 2001-07-26 | 2010-08-10 | Citrix Systems, Inc. | System, method and computer program product to maximize server throughput while avoiding server overload by controlling the rate of establishing server-side net work connections |
US7088678B1 (en) | 2001-08-27 | 2006-08-08 | 3Com Corporation | System and method for traffic shaping based on generalized congestion and flow control |
US7207061B2 (en) * | 2001-08-31 | 2007-04-17 | International Business Machines Corporation | State machine for accessing a stealth firewall |
KR100416230B1 (ko) | 2001-10-24 | 2004-01-31 | 한국전자통신연구원 | 유무선 복합 네트워크 환경에서 무선 tcp프록시의 동적위치 선정 방법 |
US7085306B1 (en) | 2001-10-30 | 2006-08-01 | 3Com Corporation | System and method for a multi-frequency upstream channel in a computer network |
US7000027B2 (en) * | 2001-11-29 | 2006-02-14 | International Business Machines Corporation | System and method for knowledgeable node initiated TCP splicing |
KR20030047471A (ko) * | 2001-12-10 | 2003-06-18 | (주)애니 유저넷 | 인터넷 전화의 방화벽 통과방법 및 터널링 게이트웨이 |
US7072337B1 (en) | 2002-01-25 | 2006-07-04 | 3Com Corporation | System and method for resolving network addresses for network devices on distributed network subnets |
US20030163536A1 (en) * | 2002-02-27 | 2003-08-28 | Siemens Medical Solutions Health Services Corporation | Message communications addressing system |
US6973496B2 (en) * | 2002-03-05 | 2005-12-06 | Archduke Holdings, Inc. | Concealing a network connected device |
US7535913B2 (en) | 2002-03-06 | 2009-05-19 | Nvidia Corporation | Gigabit ethernet adapter supporting the iSCSI and IPSEC protocols |
US8135843B2 (en) * | 2002-03-22 | 2012-03-13 | Citrix Systems, Inc. | Methods and systems for providing access to an application |
US7299264B2 (en) * | 2002-05-07 | 2007-11-20 | Hewlett-Packard Development Company, L.P. | System and method for monitoring a connection between a server and a passive client device |
US7490162B1 (en) * | 2002-05-15 | 2009-02-10 | F5 Networks, Inc. | Method and system for forwarding messages received at a traffic manager |
FI20021300A (fi) * | 2002-07-01 | 2004-01-02 | Sonera Oyj | Pakettikytketyn yhteyden ohjaus |
AU2003247700A1 (en) * | 2002-07-02 | 2004-01-23 | Netscaler, Inc | System, method and computer program product to avoid server overload by controlling http denial of service (dos) attacks |
US20040015591A1 (en) * | 2002-07-18 | 2004-01-22 | Wang Frank Xiao-Dong | Collective TCP control for improved wireless network performance |
US7325070B1 (en) * | 2002-08-26 | 2008-01-29 | Network Appliance, Inc. | Sub-application layer data transfer in a network comprising a layered architecture |
US7849140B2 (en) * | 2002-08-29 | 2010-12-07 | Oracle America, Inc. | Peer-to-peer email messaging |
US7263560B2 (en) * | 2002-08-30 | 2007-08-28 | Sun Microsystems, Inc. | Decentralized peer-to-peer advertisement |
DE60324567D1 (de) * | 2002-09-20 | 2008-12-18 | Matsushita Electric Ind Co Ltd | Tes netzwerkelement zur verbindung von datenkommunikationsnetzen |
JP3445986B1 (ja) * | 2002-09-27 | 2003-09-16 | 松下電器産業株式会社 | インターネットに接続するサーバ、機器および通信システム |
CA2406565A1 (en) * | 2002-10-04 | 2004-04-04 | Ibm Canada Limited-Ibm Canada Limitee | Method and apparatus for using business rules or user roles for selecting portlets in a web portal |
CA2406713C (en) * | 2002-10-04 | 2009-06-30 | Ibm Canada Limited-Ibm Canada Limitee | Method and apparatus for relaying session information from a portal server |
CA2406569C (en) * | 2002-10-04 | 2011-03-22 | Ibm Canada Limited-Ibm Canada Limitee | Method and apparatus for enabling associated portlets of a web portal to collaborate for synchronized content display |
US7650416B2 (en) | 2003-08-12 | 2010-01-19 | Riverbed Technology | Content delivery for client-server protocols with user affinities using connection end-point proxies |
US7454785B2 (en) * | 2002-12-19 | 2008-11-18 | Avocent Huntsville Corporation | Proxy method and system for secure wireless administration of managed entities |
US7774484B1 (en) | 2002-12-19 | 2010-08-10 | F5 Networks, Inc. | Method and system for managing network traffic |
US7394761B2 (en) * | 2003-04-29 | 2008-07-01 | Avocent Huntsville Corporation | System and method for delivering messages using alternate modes of communication |
US7400622B2 (en) * | 2003-07-29 | 2008-07-15 | Hewlett-Packard Development Company, L.P. | Method and apparatus for allocating a transport identifier for a network data connection |
US9614772B1 (en) | 2003-10-20 | 2017-04-04 | F5 Networks, Inc. | System and method for directing network traffic in tunneling applications |
US7509373B2 (en) | 2003-11-24 | 2009-03-24 | At&T Intellectual Property I, L.P. | Methods for providing communications services |
US20050114224A1 (en) * | 2003-11-24 | 2005-05-26 | Hodges Donna K. | Methods for providing communications services |
US7467219B2 (en) * | 2003-11-24 | 2008-12-16 | At&T Intellectual Property I, L.P. | Methods for providing communications services |
US7788715B2 (en) * | 2003-12-10 | 2010-08-31 | Cisco Technology, Inc. | Authentication for transmission control protocol |
US7797752B1 (en) * | 2003-12-17 | 2010-09-14 | Vimal Vaidya | Method and apparatus to secure a computing environment |
US7899913B2 (en) | 2003-12-19 | 2011-03-01 | Nvidia Corporation | Connection management system and method for a transport offload engine |
US8176545B1 (en) | 2003-12-19 | 2012-05-08 | Nvidia Corporation | Integrated policy checking system and method |
US8549170B2 (en) | 2003-12-19 | 2013-10-01 | Nvidia Corporation | Retransmission system and method for a transport offload engine |
US7624198B1 (en) | 2003-12-19 | 2009-11-24 | Nvidia Corporation | Sequence tagging system and method for transport offload engine data lists |
US7260631B1 (en) | 2003-12-19 | 2007-08-21 | Nvidia Corporation | System and method for receiving iSCSI protocol data units |
EP1695492A1 (en) * | 2003-12-19 | 2006-08-30 | The Regents of The University of California | Resource sharing broadband access system, methods, and devices |
US8065439B1 (en) | 2003-12-19 | 2011-11-22 | Nvidia Corporation | System and method for using metadata in the context of a transport offload engine |
US20100211626A1 (en) * | 2004-01-12 | 2010-08-19 | Foundry Networks, Inc. | Method and apparatus for maintaining longer persistent connections |
US7206872B2 (en) | 2004-02-20 | 2007-04-17 | Nvidia Corporation | System and method for insertion of markers into a data stream |
US7249306B2 (en) | 2004-02-20 | 2007-07-24 | Nvidia Corporation | System and method for generating 128-bit cyclic redundancy check values with 32-bit granularity |
US7616644B2 (en) * | 2004-02-25 | 2009-11-10 | Nokia Corporation | Method and apparatus providing a protocol to enable a wireless TCP session using a split TCP connection |
US7698413B1 (en) | 2004-04-12 | 2010-04-13 | Nvidia Corporation | Method and apparatus for accessing and maintaining socket control information for high speed network connections |
US20060031571A1 (en) * | 2004-04-29 | 2006-02-09 | International Business Machines Corporation | Data communications through a split connection proxy |
US7444454B2 (en) * | 2004-05-11 | 2008-10-28 | L-3 Communications Integrated Systems L.P. | Systems and methods for interconnection of multiple FPGA devices |
US7921323B2 (en) * | 2004-05-11 | 2011-04-05 | L-3 Communications Integrated Systems, L.P. | Reconfigurable communications infrastructure for ASIC networks |
US8224966B2 (en) * | 2004-08-24 | 2012-07-17 | Cisco Technology, Inc. | Reproxying an unproxied connection |
KR100601124B1 (ko) | 2004-08-26 | 2006-07-19 | 주식회사 나라비전 | Sip 서비스 기반의 tcp채널 제공 방법 |
US7957379B2 (en) | 2004-10-19 | 2011-06-07 | Nvidia Corporation | System and method for processing RX packets in high speed network applications using an RX FIFO buffer |
JP4561980B2 (ja) * | 2004-11-08 | 2010-10-13 | 日本電気株式会社 | セッション中継装置およびセッション中継方法 |
US7577749B1 (en) | 2004-12-03 | 2009-08-18 | Ux Ltd. | Emulation of persistent HTTP connections between network devices |
US9118717B2 (en) * | 2005-02-18 | 2015-08-25 | Cisco Technology, Inc. | Delayed network protocol proxy for packet inspection in a network |
US7577759B2 (en) * | 2005-03-01 | 2009-08-18 | International Business Machines Corporation | Method and apparatus for in-kernel application-specific processing of content streams |
US20060248194A1 (en) | 2005-03-18 | 2006-11-02 | Riverbed Technology, Inc. | Connection forwarding |
US8069250B2 (en) * | 2005-04-28 | 2011-11-29 | Vmware, Inc. | One-way proxy system |
US7826487B1 (en) | 2005-05-09 | 2010-11-02 | F5 Network, Inc | Coalescing acknowledgement responses to improve network communications |
US8418233B1 (en) | 2005-07-29 | 2013-04-09 | F5 Networks, Inc. | Rule based extensible authentication |
US8533308B1 (en) | 2005-08-12 | 2013-09-10 | F5 Networks, Inc. | Network traffic management through protocol-configurable transaction processing |
US20070153807A1 (en) * | 2005-12-29 | 2007-07-05 | The Regents Of The University Of California | Base-station aided resource sharing broadband access system, methods, and devices |
US8565088B1 (en) | 2006-02-01 | 2013-10-22 | F5 Networks, Inc. | Selectively enabling packet concatenation based on a transaction boundary |
US8151323B2 (en) | 2006-04-12 | 2012-04-03 | Citrix Systems, Inc. | Systems and methods for providing levels of access and action control via an SSL VPN appliance |
WO2007149687A2 (en) | 2006-05-30 | 2007-12-27 | Riverbed Technology, Inc. | Selecting proxies from among autodiscovered proxies |
US8677007B2 (en) * | 2006-08-03 | 2014-03-18 | Citrix Systems, Inc. | Systems and methods for bypassing an appliance |
US7953889B2 (en) * | 2006-08-03 | 2011-05-31 | Citrix Systems, Inc. | Systems and methods for routing VPN traffic around network disruption |
KR100871422B1 (ko) | 2006-08-30 | 2008-12-03 | 엔에이치엔(주) | 인터넷폰 서비스 제공 장치 및 그 방법 |
US8312507B2 (en) | 2006-10-17 | 2012-11-13 | A10 Networks, Inc. | System and method to apply network traffic policy to an application session |
US8738703B2 (en) | 2006-10-17 | 2014-05-27 | Citrix Systems, Inc. | Systems and methods for providing online collaborative support |
US8584199B1 (en) | 2006-10-17 | 2013-11-12 | A10 Networks, Inc. | System and method to apply a packet routing policy to an application session |
US7808995B2 (en) * | 2006-11-16 | 2010-10-05 | L-3 Communications Integrated Systems L.P. | Methods and systems for relaying data packets |
US9137212B2 (en) * | 2006-12-04 | 2015-09-15 | Oracle America, Inc. | Communication method and apparatus using changing destination and return destination ID's |
US20080235382A1 (en) * | 2007-01-22 | 2008-09-25 | The Regents Of The University Of Colorado | Fault tolerant tcp splice systems and methods |
US9106606B1 (en) | 2007-02-05 | 2015-08-11 | F5 Networks, Inc. | Method, intermediate device and computer program code for maintaining persistency |
US7706266B2 (en) | 2007-03-12 | 2010-04-27 | Citrix Systems, Inc. | Systems and methods of providing proxy-based quality of service |
US20080307109A1 (en) * | 2007-06-08 | 2008-12-11 | Galloway Curtis C | File protocol for transaction based communication |
US20080309665A1 (en) * | 2007-06-13 | 2008-12-18 | 3D Systems, Inc., A California Corporation | Distributed rapid prototyping |
US8073046B2 (en) * | 2007-06-14 | 2011-12-06 | Zoran Corporation | Fast training equalization of a signal by using adaptive-iterative algorithm with main path phase correction |
EP2009867A1 (en) * | 2007-06-28 | 2008-12-31 | Alcatel Lucent | Access node with TCP traffic termination |
US7916728B1 (en) | 2007-09-28 | 2011-03-29 | F5 Networks, Inc. | Lockless atomic table update |
US7899031B2 (en) * | 2007-11-20 | 2011-03-01 | Microsoft Corporation | Locally terminating an established connection |
US8667175B2 (en) * | 2008-03-13 | 2014-03-04 | Cisco Technology, Inc. | Server selection for routing content to a client using application layer redirection |
US8806053B1 (en) | 2008-04-29 | 2014-08-12 | F5 Networks, Inc. | Methods and systems for optimizing network traffic using preemptive acknowledgment signals |
US8051185B2 (en) * | 2008-05-16 | 2011-11-01 | Fastsoft, Inc. | Network communication through a specified intermediate destination |
US9832069B1 (en) | 2008-05-30 | 2017-11-28 | F5 Networks, Inc. | Persistence based on server response in an IP multimedia subsystem (IMS) |
US8306036B1 (en) | 2008-06-20 | 2012-11-06 | F5 Networks, Inc. | Methods and systems for hierarchical resource allocation through bookmark allocation |
US8069469B1 (en) * | 2008-07-25 | 2011-11-29 | Sprint Communications Company L.P. | Addressing security in asymmetrical networks |
US8769681B1 (en) | 2008-08-11 | 2014-07-01 | F5 Networks, Inc. | Methods and system for DMA based distributed denial of service protection |
US9130846B1 (en) | 2008-08-27 | 2015-09-08 | F5 Networks, Inc. | Exposed control components for customizable load balancing and persistence |
US8566444B1 (en) | 2008-10-30 | 2013-10-22 | F5 Networks, Inc. | Methods and system for simultaneous multiple rules checking |
US8447884B1 (en) | 2008-12-01 | 2013-05-21 | F5 Networks, Inc. | Methods for mapping virtual addresses to physical addresses in a network device and systems thereof |
US20100174817A1 (en) * | 2009-01-06 | 2010-07-08 | Chetuparambil Madhu K | Splicing proxied web requests with callback for subsequent requests |
US8103809B1 (en) | 2009-01-16 | 2012-01-24 | F5 Networks, Inc. | Network devices with multiple direct memory access channels and methods thereof |
US8880632B1 (en) | 2009-01-16 | 2014-11-04 | F5 Networks, Inc. | Method and apparatus for performing multiple DMA channel based network quality of service |
US9152483B2 (en) | 2009-01-16 | 2015-10-06 | F5 Networks, Inc. | Network devices with multiple fully isolated and independently resettable direct memory access channels and methods thereof |
US8880696B1 (en) | 2009-01-16 | 2014-11-04 | F5 Networks, Inc. | Methods for sharing bandwidth across a packetized bus and systems thereof |
US8112491B1 (en) | 2009-01-16 | 2012-02-07 | F5 Networks, Inc. | Methods and systems for providing direct DMA |
WO2010090182A1 (ja) | 2009-02-03 | 2010-08-12 | 日本電気株式会社 | アプリケーションスイッチシステム、及びアプリケーションスイッチ方法 |
CN101834833B (zh) * | 2009-03-13 | 2014-12-24 | 瞻博网络公司 | 对分布式拒绝服务攻击的服务器防护 |
US10157280B2 (en) | 2009-09-23 | 2018-12-18 | F5 Networks, Inc. | System and method for identifying security breach attempts of a website |
US9313047B2 (en) | 2009-11-06 | 2016-04-12 | F5 Networks, Inc. | Handling high throughput and low latency network data packets in a traffic management device |
US10721269B1 (en) | 2009-11-06 | 2020-07-21 | F5 Networks, Inc. | Methods and system for returning requests with javascript for clients before passing a request to a server |
US8868961B1 (en) | 2009-11-06 | 2014-10-21 | F5 Networks, Inc. | Methods for acquiring hyper transport timing and devices thereof |
US8368423B2 (en) * | 2009-12-23 | 2013-02-05 | L-3 Communications Integrated Systems, L.P. | Heterogeneous computer architecture based on partial reconfiguration |
US8397054B2 (en) * | 2009-12-23 | 2013-03-12 | L-3 Communications Integrated Systems L.P. | Multi-phased computational reconfiguration |
US9141625B1 (en) | 2010-06-22 | 2015-09-22 | F5 Networks, Inc. | Methods for preserving flow state during virtual machine migration and devices thereof |
US10015286B1 (en) | 2010-06-23 | 2018-07-03 | F5 Networks, Inc. | System and method for proxying HTTP single sign on across network domains |
US8908545B1 (en) | 2010-07-08 | 2014-12-09 | F5 Networks, Inc. | System and method for handling TCP performance in network access with driver initiated application tunnel |
US8347100B1 (en) | 2010-07-14 | 2013-01-01 | F5 Networks, Inc. | Methods for DNSSEC proxying and deployment amelioration and systems thereof |
US9083760B1 (en) | 2010-08-09 | 2015-07-14 | F5 Networks, Inc. | Dynamic cloning and reservation of detached idle connections |
US8630174B1 (en) | 2010-09-14 | 2014-01-14 | F5 Networks, Inc. | System and method for post shaping TCP packetization |
US8463909B1 (en) | 2010-09-15 | 2013-06-11 | F5 Networks, Inc. | Systems and methods for managing server resources |
US8886981B1 (en) | 2010-09-15 | 2014-11-11 | F5 Networks, Inc. | Systems and methods for idle driven scheduling |
US8804504B1 (en) | 2010-09-16 | 2014-08-12 | F5 Networks, Inc. | System and method for reducing CPU load in processing PPP packets on a SSL-VPN tunneling device |
WO2012058643A2 (en) | 2010-10-29 | 2012-05-03 | F5 Networks, Inc. | System and method for on the fly protocol conversion in obtaining policy enforcement information |
US8959571B2 (en) | 2010-10-29 | 2015-02-17 | F5 Networks, Inc. | Automated policy builder |
US8627467B2 (en) | 2011-01-14 | 2014-01-07 | F5 Networks, Inc. | System and method for selectively storing web objects in a cache memory based on policy decisions |
US10135831B2 (en) | 2011-01-28 | 2018-11-20 | F5 Networks, Inc. | System and method for combining an access control system with a traffic management system |
CN102130910B (zh) * | 2011-02-28 | 2015-04-29 | 华为技术有限公司 | Tcp代理插入和卸载方法及业务网关设备 |
CN102215231A (zh) * | 2011-06-03 | 2011-10-12 | 华为软件技术有限公司 | 一种转发数据的方法及网关 |
US9246819B1 (en) | 2011-06-20 | 2016-01-26 | F5 Networks, Inc. | System and method for performing message-based load balancing |
US8788656B2 (en) * | 2011-11-14 | 2014-07-22 | Cisco Technology, Inc. | System and method for video caching based on available resources |
US9270766B2 (en) | 2011-12-30 | 2016-02-23 | F5 Networks, Inc. | Methods for identifying network traffic characteristics to correlate and manage one or more subsequent flows and devices thereof |
US9036822B1 (en) | 2012-02-15 | 2015-05-19 | F5 Networks, Inc. | Methods for managing user information and devices thereof |
US10230566B1 (en) | 2012-02-17 | 2019-03-12 | F5 Networks, Inc. | Methods for dynamically constructing a service principal name and devices thereof |
US9172753B1 (en) | 2012-02-20 | 2015-10-27 | F5 Networks, Inc. | Methods for optimizing HTTP header based authentication and devices thereof |
US9231879B1 (en) | 2012-02-20 | 2016-01-05 | F5 Networks, Inc. | Methods for policy-based network traffic queue management and devices thereof |
US9118618B2 (en) | 2012-03-29 | 2015-08-25 | A10 Networks, Inc. | Hardware-based packet editor |
EP2853074B1 (en) | 2012-04-27 | 2021-03-24 | F5 Networks, Inc | Methods for optimizing service of content requests and devices thereof |
US10033837B1 (en) | 2012-09-29 | 2018-07-24 | F5 Networks, Inc. | System and method for utilizing a data reducing module for dictionary compression of encoded data |
US9338225B2 (en) | 2012-12-06 | 2016-05-10 | A10 Networks, Inc. | Forwarding policies on a virtual service network |
US9270602B1 (en) | 2012-12-31 | 2016-02-23 | F5 Networks, Inc. | Transmit rate pacing of large network traffic bursts to reduce jitter, buffer overrun, wasted bandwidth, and retransmissions |
US10375155B1 (en) | 2013-02-19 | 2019-08-06 | F5 Networks, Inc. | System and method for achieving hardware acceleration for asymmetric flow connections |
US9992107B2 (en) | 2013-03-15 | 2018-06-05 | A10 Networks, Inc. | Processing data packets using a policy based network path |
WO2014179753A2 (en) | 2013-05-03 | 2014-11-06 | A10 Networks, Inc. | Facilitating secure network traffic by an application delivery controller |
US9864606B2 (en) | 2013-09-05 | 2018-01-09 | F5 Networks, Inc. | Methods for configurable hardware logic device reloading and devices thereof |
US10187317B1 (en) | 2013-11-15 | 2019-01-22 | F5 Networks, Inc. | Methods for traffic rate control and devices thereof |
US10230770B2 (en) * | 2013-12-02 | 2019-03-12 | A10 Networks, Inc. | Network proxy layer for policy-based application proxies |
WO2015095000A1 (en) | 2013-12-16 | 2015-06-25 | F5 Networks, Inc. | Methods for facilitating improved user authentication using persistent data and devices thereof |
US8806011B1 (en) | 2014-01-06 | 2014-08-12 | Cloudflare, Inc. | Transparent bridging of transmission control protocol (TCP) connections |
US8984635B1 (en) | 2014-01-06 | 2015-03-17 | Cloudflare, Inc. | Authenticating the identity of initiators of TCP connections |
US9942152B2 (en) | 2014-03-25 | 2018-04-10 | A10 Networks, Inc. | Forwarding data packets using a service-based forwarding policy |
US9270605B2 (en) * | 2014-05-28 | 2016-02-23 | Robin Systems, Inc. | Method and system of setting network traffic flow quality of service by modifying port numbers |
US10015143B1 (en) | 2014-06-05 | 2018-07-03 | F5 Networks, Inc. | Methods for securing one or more license entitlement grants and devices thereof |
US11838851B1 (en) | 2014-07-15 | 2023-12-05 | F5, Inc. | Methods for managing L7 traffic classification and devices thereof |
US10122630B1 (en) | 2014-08-15 | 2018-11-06 | F5 Networks, Inc. | Methods for network traffic presteering and devices thereof |
US10268467B2 (en) | 2014-11-11 | 2019-04-23 | A10 Networks, Inc. | Policy-driven management of application traffic for providing services to cloud-based applications |
US10182013B1 (en) | 2014-12-01 | 2019-01-15 | F5 Networks, Inc. | Methods for managing progressive image delivery and devices thereof |
US11895138B1 (en) | 2015-02-02 | 2024-02-06 | F5, Inc. | Methods for improving web scanner accuracy and devices thereof |
US10834065B1 (en) | 2015-03-31 | 2020-11-10 | F5 Networks, Inc. | Methods for SSL protected NTLM re-authentication and devices thereof |
US11350254B1 (en) | 2015-05-05 | 2022-05-31 | F5, Inc. | Methods for enforcing compliance policies and devices thereof |
US10505818B1 (en) | 2015-05-05 | 2019-12-10 | F5 Networks. Inc. | Methods for analyzing and load balancing based on server health and devices thereof |
US11757946B1 (en) | 2015-12-22 | 2023-09-12 | F5, Inc. | Methods for analyzing network traffic and enforcing network policies and devices thereof |
US10404698B1 (en) | 2016-01-15 | 2019-09-03 | F5 Networks, Inc. | Methods for adaptive organization of web application access points in webtops and devices thereof |
US11178150B1 (en) | 2016-01-20 | 2021-11-16 | F5 Networks, Inc. | Methods for enforcing access control list based on managed application and devices thereof |
US10797888B1 (en) | 2016-01-20 | 2020-10-06 | F5 Networks, Inc. | Methods for secured SCEP enrollment for client devices and devices thereof |
US10791088B1 (en) | 2016-06-17 | 2020-09-29 | F5 Networks, Inc. | Methods for disaggregating subscribers via DHCP address translation and devices thereof |
US11063758B1 (en) | 2016-11-01 | 2021-07-13 | F5 Networks, Inc. | Methods for facilitating cipher selection and devices thereof |
US10505792B1 (en) | 2016-11-02 | 2019-12-10 | F5 Networks, Inc. | Methods for facilitating network traffic analytics and devices thereof |
US10361997B2 (en) | 2016-12-29 | 2019-07-23 | Riverbed Technology, Inc. | Auto discovery between proxies in an IPv6 network |
US11496438B1 (en) | 2017-02-07 | 2022-11-08 | F5, Inc. | Methods for improved network security using asymmetric traffic delivery and devices thereof |
US10791119B1 (en) | 2017-03-14 | 2020-09-29 | F5 Networks, Inc. | Methods for temporal password injection and devices thereof |
US10812266B1 (en) | 2017-03-17 | 2020-10-20 | F5 Networks, Inc. | Methods for managing security tokens based on security violations and devices thereof |
US10931662B1 (en) | 2017-04-10 | 2021-02-23 | F5 Networks, Inc. | Methods for ephemeral authentication screening and devices thereof |
US10972453B1 (en) | 2017-05-03 | 2021-04-06 | F5 Networks, Inc. | Methods for token refreshment based on single sign-on (SSO) for federated identity environments and devices thereof |
US11343237B1 (en) | 2017-05-12 | 2022-05-24 | F5, Inc. | Methods for managing a federated identity environment using security and access control data and devices thereof |
US11122042B1 (en) | 2017-05-12 | 2021-09-14 | F5 Networks, Inc. | Methods for dynamically managing user access control and devices thereof |
US11122083B1 (en) | 2017-09-08 | 2021-09-14 | F5 Networks, Inc. | Methods for managing network connections based on DNS data and network policies and devices thereof |
US11855898B1 (en) | 2018-03-14 | 2023-12-26 | F5, Inc. | Methods for traffic dependent direct memory access optimization and devices thereof |
US11658995B1 (en) | 2018-03-20 | 2023-05-23 | F5, Inc. | Methods for dynamically mitigating network attacks and devices thereof |
US11044200B1 (en) | 2018-07-06 | 2021-06-22 | F5 Networks, Inc. | Methods for service stitching using a packet header and devices thereof |
CN109088892B (zh) * | 2018-10-19 | 2021-02-12 | 网宿科技股份有限公司 | 数据传输方法、系统以及代理服务器 |
US11537716B1 (en) | 2018-11-13 | 2022-12-27 | F5, Inc. | Methods for detecting changes to a firmware and devices thereof |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5021949A (en) * | 1988-02-29 | 1991-06-04 | International Business Machines Corporation | Method and apparatus for linking an SNA host to a remote SNA host over a packet switched communications network |
US5249292A (en) * | 1989-03-31 | 1993-09-28 | Chiappa J Noel | Data packet switch using a primary processing unit to designate one of a plurality of data stream control circuits to selectively handle the header processing of incoming packets in one data packet stream |
US5781715A (en) * | 1992-10-13 | 1998-07-14 | International Business Machines Corporation | Fault-tolerant bridge/router with a distributed switch-over mechanism |
US5668809A (en) * | 1993-10-20 | 1997-09-16 | Lsi Logic Corporation | Single chip network hub with dynamic window filter |
US5802287A (en) * | 1993-10-20 | 1998-09-01 | Lsi Logic Corporation | Single chip universal protocol multi-function ATM network interface |
JPH09510596A (ja) * | 1994-06-08 | 1997-10-21 | エイチイー・ホールディングス・インコーポレーテッド・ディー ビーエー・ヒューズ・エレクトロニクス | ハイブリッドネットワークアクセスのための装置および方法 |
US5550816A (en) * | 1994-12-29 | 1996-08-27 | Storage Technology Corporation | Method and apparatus for virtual switching |
US5566170A (en) * | 1994-12-29 | 1996-10-15 | Storage Technology Corporation | Method and apparatus for accelerated packet forwarding |
US5692124A (en) * | 1996-08-30 | 1997-11-25 | Itt Industries, Inc. | Support of limited write downs through trustworthy predictions in multilevel security of computer network communications |
-
1997
- 1997-01-27 US US08/789,447 patent/US5941988A/en not_active Expired - Fee Related
- 1997-11-19 KR KR1019970061123A patent/KR100255501B1/ko not_active IP Right Cessation
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100661006B1 (ko) * | 2005-12-28 | 2006-12-22 | 주식회사 케이티 | 홈네트워크 단말 관리 시스템 및 그 방법 |
Also Published As
Publication number | Publication date |
---|---|
KR100255501B1 (ko) | 2000-05-01 |
US5941988A (en) | 1999-08-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR100255501B1 (ko) | 전송 제어 프로토콜 글루를 통한 세션 및 전송 계층 프록시 개선 방법 | |
Maltz et al. | TCP Splice for application layer proxy performance | |
Spatscheck et al. | Optimizing TCP forwarder performance | |
US8250643B2 (en) | Communication device, communication system, communication method, and program | |
US7827404B1 (en) | Secure sockets layer proxy architecture | |
US7969876B2 (en) | Method of determining path maximum transmission unit | |
US6415329B1 (en) | Method and apparatus for improving efficiency of TCP/IP protocol over high delay-bandwidth network | |
US8862684B2 (en) | Method and apparatus for remotely controlling a computer with peer-to-peer command and data transfer | |
JP4727125B2 (ja) | ファイア・ウォールを経由する安全なデュアル・チャネル通信システム及び方法 | |
US7979528B2 (en) | System and method for traversing firewalls, NATs, and proxies with rich media communications and other application protocols | |
US8938553B2 (en) | Cooperative proxy auto-discovery and connection interception through network address translation | |
US7908472B2 (en) | Secure sockets layer cut through architecture | |
US8090859B2 (en) | Decoupling TCP/IP processing in system area networks with call filtering | |
US8724656B2 (en) | Methods and devices for transmitting data between storage area networks | |
JP4274195B2 (ja) | マルチメディア・アプリケーションに関連付けられたマルチメディアデータを送信する方法、データ送信方法、分散されたネットワーク中にマルチメディアデータを送信するシステム、及びコンピュータ間のマルチメディア通信をイネーブルする通信プロトコル | |
Knutsson et al. | Transparent proxy signalling | |
US20030217149A1 (en) | Method and apparatus for tunneling TCP/IP over HTTP and HTTPS | |
US7139268B1 (en) | Performance of intermediate nodes with flow splicing | |
AU2001290633A1 (en) | System and method for secure dual channel communication through a firewall | |
US20050120140A1 (en) | Method of and system for multi-patch communication | |
WO2004068811A2 (en) | Methods and devices for transmitting data between storage area networks | |
Bhagwat et al. | MSOCKS+: an architecture for transport layer mobility | |
US20070288645A1 (en) | Method and System for Persistent and Reliable Data Transmission | |
CN111314447A (zh) | 代理服务器及其处理访问请求的方法 | |
JPH1132088A (ja) | ネットワークシステム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant | ||
LAPS | Lapse due to unpaid annual fee |