KR101547048B1 - 라우터에서의 통신들을 관리하는 기술 - Google Patents

라우터에서의 통신들을 관리하는 기술 Download PDF

Info

Publication number
KR101547048B1
KR101547048B1 KR1020137029889A KR20137029889A KR101547048B1 KR 101547048 B1 KR101547048 B1 KR 101547048B1 KR 1020137029889 A KR1020137029889 A KR 1020137029889A KR 20137029889 A KR20137029889 A KR 20137029889A KR 101547048 B1 KR101547048 B1 KR 101547048B1
Authority
KR
South Korea
Prior art keywords
data
router
wan
protocol stack
lan
Prior art date
Application number
KR1020137029889A
Other languages
English (en)
Other versions
KR20140002040A (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 KR20140002040A publication Critical patent/KR20140002040A/ko
Application granted granted Critical
Publication of KR101547048B1 publication Critical patent/KR101547048B1/ko

Links

Images

Classifications

    • 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
    • H04L45/00Routing or path finding of packets in data switching networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/52Multiprotocol routers
    • 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/08Protocols for interworking; Protocol conversion

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Small-Scale Networks (AREA)

Abstract

라우터는, 통상적으로 광역 네트워크로부터 수신된 데이터를 프로세싱하면서 라우터에 국부적인 네트워크 프로토콜 스택에서 로컬 영역 네트워크로부터 수신된 데이터를 프로세싱할 수 있다. 데이터의 소스로부터 라우터로의 스택 프로세싱의 오프로딩은, 수신된 데이터에 기초한 패킷들 및 그 패킷들의 목적지로부터의 확인응답들 양자가 이동해야 하는 네트워크 홉들의 수를 감소시키고, 이에 의해, 통신 레이턴시를 감소시킨다. 부가적으로, 스택 프로세싱을 라우터로 오프로딩하는 것은 데이터 소스에서의 프로세싱 부하를 감소시킬 수 있다. 추가로, 라우터는 로컬 영역 및 광역 트래픽에 대해 상이한 서비스 품질 또는 다른 프로세싱 프로토콜들을 구현할 수 있다.

Description

라우터에서의 통신들을 관리하는 기술{TECHNIQUE FOR MANAGING COMMUNICATIONS AT A ROUTER}
관련 출원들
본 출원은 2011년 4월 13일자로 출원된 미국 출원번호 제13/086,000호의 우선권 이점을 주장한다.
본 개시는 컴퓨터 네트워크들에 관한 것으로서, 더 상세하게는, 컴퓨터 네트워크에 대한 라우팅 디바이스들에 관한 것이다.
컴퓨터들은 점점 더, 통신 네트워크를 통해 다른 컴퓨터들과 통신한다. 네크워크는 컴퓨터로 하여금 컴퓨터에 의해 개별적으로 수행될 수 없는 다양한 서비스들을 제공하게 한다. 예를 들어, 컴퓨터들의 집합은 사용자들로 하여금 온라인 게임에 참여하게 할 수 있으며, 여기서, 사용자들은 컴퓨터들 간에 공유된 공통 게임 환경에서 경쟁한다. 하지만, 컴퓨터에 의해 통신 네트워크로 통신되는 정보의 양이 증가함에 따라, 컴퓨터 리소스들은 스트레스를 받게 되어 정보 전송에 있어서 바람직하지 않은 지연들을 야기할 수 있다. 이는 열등한 사용자 경험을 초래할 수 있다. 예를 들어, 사용자는 네트워크 래그를 경험할 수 있으며, 여기서, 네트워크에 의해 전송된 정보는 컴퓨터에 의해 충분한 속도로 프로세싱되지 않아서, 사용자가 정보 전송에 있어서 지연을 인지할 수 있다. 추가로, 네트워크 래그 및 다른 네트워크 전송 문제들은 게이밍 어플리케이션들, 음성 통신 어플리케이션들 등과 같은 매우 다양한 어플리케이션들에 영향을 줄 수 있다.
일부 실시형태들에 있어서, 일 방법은 로컬 영역 네트워크 (LAN) 프로세싱의 소스 노드로부터 LAN 에 커플링된 라우터로 네트워크 프로토콜 스택 프로세싱을 오프로딩하는 단계를 포함한다.
일부 실시형태들에 있어서, 네트워크 프로토콜 스택 프로세싱을 오프로딩하는 단계는 라우터의 제 1 입력부에서 LAN 으로부터의 제 1 데이터를 수신하는 단계로서, 제 1 데이터는 라우터에 커플링된 광역 네트워크로의 통신용으로 적합하지 않은 제 1 포맷인, 상기 제 1 데이터를 수신하는 단계; 라우터의 네트워크 프로토콜 스택에서 제 1 데이터를 프로세싱하여 제 2 포맷의 제 2 데이터를 결정하는 단계로서, 제 2 포맷은 광역 네트워크로의 통신용으로 적합한, 상기 제 2 데이터를 결정하는 단계; 및 제 2 데이터를 광역 네트워크로 통신하는 단계를 포함한다.
일부 실시형태들에 있어서, 그 방법은 라우터의 제 2 입력부에서 광역 네트워크로부터의 제 3 데이터를 수신하는 단계로서, 제 3 데이터는 제 2 포맷인, 상기 제 3 데이터를 수신하는 단계; 및 제 3 데이터를 라우터로부터 광역 네트워크로 라우팅하는 단계를 더 포함한다.
일부 실시형태들에 있어서, 네트워크 스택 프로세싱을 오프로딩하는 단계는 라우터에서 광역 네트워크로부터의 패킷을 수신하는 것에 응답하여, 라우터에서 실행된 네트워크 프로토콜 스택에서 확인응답을 생성하는 단계; 및 확인응답을 광역 네트워크로 통신하는 단계를 포함한다.
일부 실시형태들에 있어서, 네트워크 스택 프로세싱을 오프로딩하는 단계는 라우터에서 실행된 네트워크 프로토콜 스택에서, 제 1 데이터의 수신의 확인응답이 제 1 시간량에서 수신되지 않았었음을 결정하는 것에 응답하여 제 2 데이터를 재통신하는 단계를 포함한다.
일부 실시형태들에 있어서, 제 2 데이터를 결정하는 단계는 제 1 데이터에 기초하여 제 1 패킷을 형성하는 단계를 포함하고, 패킷의 복수의 사본들을 라우터로부터 광역 네트워크로 통신하는 단계를 더 포함한다.
일부 실시형태들에 있어서, 라우터의 네트워크 프로토콜 스택은 TCP/IP 스택을 포함한다.
일부 실시형태들에 있어서, 라우터의 네트워크 프로토콜 스택은 UDP 스택을 포함한다.
일부 실시형태들에 있어서, 일 방법은 라우터에서 제 1 데이터를 수신하는 단계; 제 1 데이터가 로컬 영역 네트워크 (LAN) 의 노드로 타겟팅됨을 결정하는 것에 응답하여, LAN 의 노드로 라우팅하기 위한 제 1 데이터의 제 1 개수의 사본들을 로컬 영역 네트워크로 전송하는 단계; 및 제 1 데이터가 광역 네트워크 (WAN) 의 노드로 타겟팅됨을 결정하는 것에 응답하여, WAN 의 노드로 라우팅하기 위한 제 1 데이터의 제 2 개수의 사본들을 광역 네트워크로 전송하는 단계를 포함한다.
일부 실시형태들에 있어서, 그 방법은 라우터에서 LAN 으로부터의 제 2 데이터를 수신하는 단계로서, 제 2 데이터는 WAN 으로의 통신용으로 적합하지 않은 제 1 포맷인, 상기 제 2 데이터를 수신하는 단계; 라우터의 네트워크 프로토콜 스택에서 제 1 데이터를 프로세싱하여 제 2 포맷의 제 3 데이터를 결정하는 단계로서, 제 2 포맷은 WAN 으로의 통신용으로 적합한, 상기 제 3 데이터를 결정하는 단계; 및 제 2 데이터를 WAN 으로 통신하는 단계를 더 포함한다.
일부 실시형태들에 있어서, 그 방법은 라우터에서 광역 네트워크로부터의 제 3 데이터를 수신하는 단계로서, 제 3 데이터는 제 2 포맷인, 상기 제 3 데이터를 수신하는 단계; 및 제 3 데이터를 라우터로부터 WAN 으로 라우팅하는 단계를 더 포함한다.
일부 실시형태들에 있어서, 그 방법은 라우터에서 WAN 으로부터의 패킷을 수신하는 것에 응답하여, 라우터에서 실행된 네트워크 프로토콜 스택에서 확인응답을 생성하는 단계; 및 확인응답을 광역 네트워크로 통신하는 단계를 더 포함한다.
일부 실시형태들에 있어서, 그 방법은 라우터에서 실행된 네트워크 프로토콜 스택에서, 제 1 데이터의 수신의 확인응답이 제 1 시간량에서 수신되지 않았었음을 결정하는 것에 응답하여 제 2 데이터를 재통신하는 단계를 더 포함한다.
일부 실시형태들에 있어서, 라우터의 네트워크 프로토콜 스택은 TCP/IP 스택을 포함한다.
일부 실시형태들에 있어서, 라우터의 네트워크 프로토콜 스택은 UDP 스택을 포함한다.
일부 실시형태들에 있어서, 라우터는 로컬 영역 네트워크 (LAN) 에 커플링되도록 구성된 입력부; 및 LAN 의 소스 노드로부터 네트워크 프로토콜 스택 프로세싱을 오프로딩하도록 구성된 프로세서를 포함한다.
일부 실시형태들에 있어서, 프로세서는, 라우터의 제 1 입력부에서 LAN 으로부터의 제 1 데이터를 수신하는 것으로서, 제 1 데이터는 라우터에 커플링된 광역 네트워크로의 통신용으로 적합하지 않은 제 1 포맷인, 상기 제 1 데이터를 수신하는 것; 라우터의 네트워크 프로토콜 스택에서 제 1 데이터를 프로세싱하여 제 2 포맷의 제 2 데이터를 결정하는 것으로서, 제 2 포맷은 광역 네트워크로의 통신용으로 적합한, 상기 제 2 데이터를 결정하는 것; 및 제 2 데이터를 광역 네트워크로 통신하는 것;에 의해 네트워크 프로토콜 스택 프로세싱을 오프로딩한다.
일부 실시형태들에 있어서, 프로세서는 라우터의 제 2 입력부에서 광역 네트워크로부터의 제 3 데이터를 수신하는 것으로서, 제 3 데이터는 제 2 포맷인, 상기 제 3 데이터를 수신하고; 그리고 제 3 데이터를 라우터로부터 광역 네트워크로 라우팅한다.
일부 실시형태들에 있어서, 프로세서는 라우터에서 광역 네트워크로부터의 패킷을 수신하는 것에 응답하여, 라우터에서 실행된 네트워크 프로토콜 스택에서 확인응답을 생성하는 것; 및 확인응답을 광역 네트워크로 통신하는 것;에 의해 네트워크 프로토콜 스택 프로세싱을 오프로딩한다.
일부 실시형태들에 있어서, 프로세서는 라우터에서 실행된 네트워크 프로토콜 스택에서, 제 1 데이터의 수신의 확인응답이 제 1 시간량에서 수신되지 않았었음을 결정하는 것에 응답하여 제 2 데이터를 재통신하는 것에 의해 네트워크 프로토콜 스택 프로세싱을 오프로딩한다.
첨부 도면들을 참조함으로써, 본 개시가 더 잘 이해될 수도 있고, 그 다수의 특징들 및 이점들이 당업자에게 자명하게 될 수도 있다.
도 1 은 본 개시의 일 실시형태에 따른 통신 네트워크의 블록 다이어그램이다.
도 2 는 본 개시의 일 실시형태에 따른 라우터의 블록 다이어그램이다.
도 3 은 본 개시의 일 실시형태에 따른 통신 시스템의 블록 다이어그램이다.
도 4 는 본 개시의 일 실시형태에 따른 네트워크 프로토콜 스택의 블록 다이어그램이다.
도 5 는 본 개시의 일 실시형태에 따른 도 1 의 라우터의 동작을 도시한 플로우 다이어그램이다.
도 6 은 본 개시의 일 실시형태에 따른 도 1 의 라우터에서의 통신들을 관리하는 방법의 플로우 다이어그램이다.
도 1 내지 도 6 은, 통신 네트워크에 커플링된 로컬 영역 네트워크로부터 수신된 데이터를, 통신 네트워크에 접속된 광역 네트워크로부터 수신된 데이터와는 상이하게 프로세싱하도록 라우터를 구성함으로써 통신 네트워크의 통신 효율을 개선시키는 기술들을 도시한다. 특히, 라우터는, 통상적으로 광역 네트워크로부터 수신된 데이터를 프로세싱하면서 라우터에 국부적인 네트워크 프로토콜 스택에서 로컬 영역 네트워크로부터 수신된 데이터를 프로세싱할 수 있다. 데이터의 소스로부터 라우터로의 스택 프로세싱의 오프로딩은, 수신된 데이터에 기초한 패킷들 및 그 패킷들의 목적지로부터의 확인응답들 양자가 이동해야 하는 네트워크 홉들의 수를 감소시키고, 이에 의해, 통신 레이턴시를 감소시킨다. 부가적으로, 스택 프로세싱을 라우터로 오프로딩하는 것은 데이터 소스에서의 프로세싱 부하를 감소시킬 수 있다. 추가로, 라우터는 로컬 영역 및 광역 트래픽에 대해 상이한 서비스 품질 또는 다른 프로세싱 프로토콜들을 구현할 수 있다. 예를 들어, 라우터는 데이터의 다중의 사본들을 로컬 영역 네트워크에서의 목적지로 통신함으로써 로컬 영역 네트워크와 관련하여 상대적으로 낮은 레이턴시를 이용할 수 있고, 이에 의해, 목적지가 확인응답들을 전송할 필요성을 감소 또는 제거하고 따라서 레이턴시를 감소시킬 수 있다.
본 명세서에서 사용되는 바와 같이, 네트워크 프로토콜 스택은 하나 이상의 컴퓨터 어플리케이션들에 의해 제공된 원시 데이터를 전송가능 데이터로 변환하는 기능들의 세트를 지칭한다. 전송가능 데이터 및 전송가능 패킷들은 광역 네트워크를 통해 통신될 수 있는 데이터를 지칭한다. 네트워크 프로토콜 스택은 원시 데이터를, 컴퓨터 네트워크의 라우터들 및 다른 스위칭 디바이스들을 통한 송신용으로 적합한 포맷으로 변환한다. 예를 들어, 원시 데이터는 데이터 스트림을 통해 기본 패킷화된 형태로 어플리케이션에 의해 제공될 수 있다. 네트워크 프로토콜 스택은 데이터 스트림으로부터 원시 데이터를 추출하고, 원시 데이터를 하나 이상의 전송가능 패킷들로 포맷팅하고, 전송가능 패킷들에 임의의 헤더 또는 다른 정보를 첨부하며, 전송가능 패킷들을 통신을 위해 네트워크에 제공한다.
도 1 은 본 개시의 일 실시형태에 따른 통신 네트워크 (100) 를 도시한 것이다. 통신 네트워크 (100) 는 로컬 영역 네트워크 (LAN; 101), 라우터 (102), 및 광역 네트워크 (WAN; 120) 를 포함한다. 본 명세서에서 사용되는 바와 같이, LAN 은 가정, 학교, 컴퓨터 실습실, 또는 사무 빌딩과 같은 제한된 지리적 영역에서 컴퓨터들 및 디바이스들을 접속시키는 컴퓨터 네트워크를 지칭한다. WAN 은, 넓은 영역을 커버하고 대도시, 지방, 또는 국경을 교차하는 컴퓨터 네트워크를 지칭한다. 이에 따라, LAN (101) 및 WAN (120) 각각은 통신 네트워크 (100) 를 통해 통신하도록 구성된 서버들, 라우터들, 및 다른 컴퓨터 디바이스들을 포함한다. 라우터들 및 다른 스위칭 디바이스들은, 각각의 패킷에 포함된 어드레스 정보에 따라 수신된 패킷들을 다른 네트워크 노드들로 라우팅함으로써 LAN (101) 및 WAN (120) 에 대한 통신 백본들을 형성한다. 통신을 위해 네트워크로부터 데이터를 수신하거나 네트워크로 데이터를 전송할 수 있는 네트워크 내 각각의 포인트는 네트워크 노드로서 지칭된다. 이에 따라, 각각의 네트워크 노드는 하나 이상의 라우터들, 서버들, 컴퓨터 디바이스들 등, 또는 이들의 임의의 조합을 포함할 수 있다. 통신을 위해 데이터를 발신하거나 데이터에 대한 타겟 목적지인 네트워크 노드는 그 데이터에 대한 엔드포인트로서 지칭된다.
라우터 (102) 는, LAN (101) 및 WAN (120) 양자로부터 데이터를 수신하고 LAN (101) 내의 노드들 및 WAN (120) 내의 네트워크 노드들을 포함한 다른 네트워크 노드들로 데이터를 통신하도록 구성된 라우터 디바이스이다. LAN (101) 의 네트워크 노드들로부터 수신된 데이터는 논의의 목적으로 LAN측 트래픽으로서 지칭되지만, WAN 의 네트워크 노드들로부터 수신된 데이터는 WAN측 트래픽으로서 지칭된다. 라우터 (102) 는 LAN (101) 의 노드들에 지리적으로 근접하게 위치된다. 예를 들어, 라우터 (102) 는 LAN (101) 의 네트워크 노드들과 동일한 빌딩, 예를 들어, 집 또는 사무 빌딩에 위치될 수 있다. 이에 따라, 라우터 (102) 에 대한 LAN측 트래픽은 통상적으로 WAN측 트래픽보다 더 작은 레이턴시를 갖는다. 즉, LAN측 트래픽은 통상적으로, 라우터 (102) 에 도달하는데 WAN측 트래픽보다 더 적은 시간이 걸린다.
라우터 (102) 는, LAN측 트래픽을 WAN측 트래픽과는 상이하게 프로세싱함으로써, LAN측 트래픽에 대한 상대적으로 작은 레이턴시를 이용할 수 있다. 예를 들어, LAN측 트래픽은, WAN (120) 을 통한 라우팅에 적합하지 않은 기본 패킷화된 데이터 스트림에 제공될 수 있다. 라우터 (102) 는 국부적으로 실행된 네트워크 프로토콜 스택에서 LAN측 트래픽을 프로세싱하여 LAN측 트래픽을 WAN (120) 을 통한 통신용으로 적합한 포맷으로 배치하고, 통상적으로, 프로세싱된 트래픽을 라우팅할 수 있다. 부가적으로, 라우터 (102) 는 통상적으로, WAN (120) 의 노드들로 타겟팅된 WAN측 트래픽을 라우팅할 수 있다. LAN (101) 의 노드로 타겟팅된 WAN측 트래픽에 있어서, 라우터 (102) 는 국부적으로 실행된 네트워크 프로토콜 스택을 통한 트래픽을 프로세싱하여 WAN (120) 을 통한 통신용으로 적합하지 않은 데이터 스트림을 형성하고, 그 데이터 스트림을 타겟 네트워크 노드에 제공할 수 있다. 따라서, 라우터 (102) 는 개별 노드들에서 통상 수행되는, LAN (101) 의 노드들에 대한 네트워크 프로토콜 스택 기능들을 수행할 수 있다. 네트워크 프로토콜 스택 기능들을 라우터 (102) 로 오프로딩함으로써, LAN (101) 의 각각의 노드에서의 프로세싱이 단순화된다.
추가로, 스택 프로세싱 기능들의 라우터 (102) 로의 오프로딩은 LAN (101) 으로부터 수신된 정보에 기초하여 패킷에 대한 네트워크 홉들의 수를 적어도 하나의 홉만큼 감소시키고, 이에 의해, 네트워크 레이턴시를 감소시킨다. 특히, 일부 통신 프로토콜들에 있어서, 네트워크 프로토콜 스택은, 패킷이 수신되었다는 확인응답을 전송하기 위해 패킷의 목적지에 대한 지정된 시간량을 대기함으로써 통신 신뢰도를 개선시킨다. 확인응답이 지정된 (미리결정된 또는 프로그램가능한) 시간 기간 내에 수신되지 않으면, 네트워크 프로토콜 스택은 수신된 패킷을 재송신한다. 유사하게, 네트워크 프로토콜 스택은, 패킷을 수신하는 것에 응답하여 확인응답을 패킷 소스로 전송할 책임이 있을 수 있다. 도 1 의 도시된 실시형태에 있어서, 라우터 (102) 의 네트워크 프로토콜 스택은 LAN (101) 으로부터 수신된 데이터에 대한 확인응답들의 전송 및 패킷들의 재송신 양자를 관리한다. 라우터 (102) 가 네트워크 홉들의 관점에서 목적지에 더 근접하기 때문에, 라우터에서의 네트워크 프로토콜 스택은 LAN (101) 의 노드보다 더 신속하게 확인응답을 수신 및 전송할 수 있고, 통신 레이턴시가 감소될 수 있다.
부가적으로, 일부 실시형태들에 있어서, 통신 신뢰도는, 패킷이 그 타겟 목적지에서 수신되었다는 확인응답을 대기하는 것보다는 패킷의 다중의 사본들을 LAN (101) 내의 목적지로 전송하는 것에 의해 개선될 수 있다. WAN (120) 내의 목적지로 타겟팅된 패킷들에 있어서, 라우터 (102) 로부터 다중의 패킷들을 전송하는 것은 상대적인 레이턴시 및 대역폭 문제들로 인해 가능하지 않거나 바람직하지 않다. 하지만, LAN (101) 내의 목적지로 타겟팅된 정보는, 정보가 WAN (120) 을 통해 통신되는 라우터 (102) 로부터 더 신속하게 통신된다. 이에 따라, 라우터 (102) 의 네트워크 프로토콜 스택에서 패킷이 LAN (101) 의 노드로 타겟팅됨을 결정하는 것에 응답하여, 라우터 (102) 는 각 패킷의 다중의 사본들을 목적지 노드로 전송할 수 있다. 이는 목적지 노드로부터의 확인응답들을 대기할 필요성을 감소 또는 제거하고, 이에 의해, 통신 레이턴시를 감소시킬 수 있다. 라우터 (102) 에서의 네트워크 스택은 TCP/IP, UDP 등과 같은 하나 이상의 통신 프로토콜들과 부합할 수 있다.
다른 실시형태에 있어서, 라우터 (102) 는 WAN측 트래픽에 비해, LAN측 트래픽에 대한 상이한 서비스 품질 또는 다른 프로세싱 기능들을 제공할 수 있다. 예를 들어, 통신의 강인성은 데이터의 다중의 사본들을 타겟 목적지로 전송하는 것에 의해 개선될 수 있다. 하지만, 다중의 사본들을 생성하는 것은 WAN측 트래픽과 같은 고 레이턴시 트래픽에 대해 가능하지 않을 수도 있다. 이에 따라, 라우터 (102) 는 WAN측 트래픽을 통해 제공된 데이터의 사본들보다 LAN측 트래픽을 통해 제공된 데이터의 더 많은 사본들을 전송할 수 있다. 예를 들어, LAN측 트래픽과 연관된 각각의 패킷에 있어서 (패킷이 LAN (101) 의 노드에 의해 제공되든지 또는 라우터 (102) 의 국부적으로 실행된 네트워크 프로토콜 스택에 의해 형성되든지), 라우터 (102) 는 패킷의 N개의 사본들을 타겟 네트워크 노드로 전송할 수 있으며, 여기서, N 은 정수이다. 대조적으로, WAN측 트래픽과 연관된 패킷들에 있어서, 라우터 (102) 는 패킷의 M개의 사본들을 타겟 네트워크 노드로 전송할 수 있으며, 여기서, M 은 정수이다. 일 실시형태에 있어서, M 은 N 보다 작다.
도 2 를 참조하면, 라우터 (102) 의 블록 다이어그램이 본 개시의 일 실시형태에 따라 도시된다. 라우터 (102) 는, 전송가능 패킷들 및 원시 데이터 양자의 수신 및 라우팅을 용이하게 하기 위한 다수의 모듈들을 포함한다. 특히, 도 1 의 도시된 예에 있어서, 라우터 (102) 는 프로세서 (204), 패킷 버퍼 (206), 스위칭 패브릭 (210), 및 데이터 접속부들 (215-217) 을 포함한다. 데이터 접속부들은 로컬 영역 데이터 접속부 (215) 및 광역 네트워크 데이터 접속부들 (216 및 217) 을 포함한다. 광역 네트워크 접속부들 (216 및 217) 각각은, 광역 네트워크 (120) 의 노드들로부터의 패킷들의 수신 및 광역 네트워크 (120) 의 노드들로의 패킷들의 통신 양자를 허용하는 네트워크로의 입력/출력 접속부이다. 특히, 광역 네트워크 데이터 접속부들 (216 및 217) 각각은 광역 네트워크 (120) 에 포함된 노드들의 상이한 서브세트에 접속된다. 이에 따라, 하나의 네트워크 접속부에서 패킷을 수신하고 다른 네트워크 접속부를 통해 패킷을 송신함으로써, 라우터 (102) 는 노드들의 일 서브세트로부터 다른 서브세트로 패킷을 통신한다. 로컬 영역 데이터 접속부 (215) 는 로컬 영역 네트워크 (101) 에 접속되고, 광역 네트워크 (120) 를 통한 전송용으로 적합하지 않은 원시 데이터를 송신 또는 수신할 수 있다. 예를 들어, 원시 데이터는 네트워크를 통한 전송을 위한 적절한 헤더 정보를 포함하지 않을 수도 있다. 추가로, 원시 데이터는 네트워크를 통한 통신을 허용하는 포맷으로 구성되지 않을 수도 있다.
스위칭 패브릭 (210) 은, 전송가능 패킷들을 라우터 (102) 의 모듈들 사이에서 라우팅하는 통신 백본이다. 스위칭 패브릭은, 라우터 (102) 의 어느 모듈이 제공된 전송가능 패킷을 수신하는지를 나타내는 제어 시그널링을 수신한다. 이에 따라, 스위칭 패브릭 (210) 은 라우터 (102) 에 의한 전송가능 패킷들의 수신, 저장, 및 제공을 용이하게 한다.
패킷 버퍼 (206) 는 수신된 전송가능 패킷들을 저장하는 랜덤 액세스 메모리 (RAM), 비휘발성 메모리, 또는 다른 메모리와 같은 메모리 구조물이다. 패킷 버퍼 (206) 는 전송가능 패킷들을 개별적으로 어드레스가능한 위치들에 저장할 수 있고, 이에 의해, 패킷 버퍼 (206) 는 수신된 제어 시그널링에 기초하여 어드레스가능한 위치들에서 전송가능 패킷들을 저장 또는 취출한다. 제어 시그널링은 패킷 버퍼 (206) 로의 액세스 요청이 판독 또는 기입 액세스인지를 나타내고, 액세스와 연관된 위치의 어드레스를 나타낸다. 응답하여, 패킷 버퍼 (206) 는 기입 액세스의 경우에, 수신된 전송가능 패킷을 표시된 위치에 저장하거나, 또는 판독 액세스의 경우에, 표시된 위치에 저장된 패킷을 취출한다.
프로세서 (204) 는 라우터 (102) 의 동작을 제어하도록 동작가능한 모듈이다. 이에 따라, 프로세서 (204) 는 범용 또는 어플리케이션 특정 프로세서, 상태 머신을 구현하기 위한 하나 이상의 로직 모듈들 등, 또는 이들의 임의의 조합일 수 있다. 라우터 (102) 의 동작들을 제어하기 위하여, 프로세서 (204) 는 라우터 (102) 에서 수신된 패킷들을 모니터링하고, 제어 시그널링을 제공하여, 각각의 패킷과 연관된 어드레스 정보에 기초하여 수신된 패킷들의 저장 및 라우팅을 용이하게 한다. 프로세서 (204) 는 또한 네트워크 프로토콜 스택을 실행하여, 전송가능 패킷들과 원시 데이터 간을 변환할 수 있다.
예시를 위해, 동작 동안, 전송가능 패킷이 광역 네트워크 데이터 접속부들 (216 및 217) 중 하나에서 수신된다. 패킷을 수신하는 것에 응답하여, 프로세서 (204) 는 제어 시그널링을 스위칭 패브릭 (210) 에 제공하여, 패킷이 패킷 버퍼 (206) 에 제공되게 한다. 프로세서 (204) 는 또한 제어 시그널링을 패킷 버퍼 (206) 에 제공하여, 수신된 패킷이 프로세서 (204) 에 의해 표시된 어드레스에 저장된다. 프로세서 (204) 는 또한 패킷 버퍼 (206) 로부터 패킷을 취출하고 패킷에 포함된 목적지 어드레스 정보를 분석하며 스위칭 패브릭 (210) 을 제어하기 위해 제어 시그널링을 제공할 수 있어서, 패킷이 목적지 어드레스에 의해 표시된 광역 네트워크 데이터 접속부들 (216 및 217) 중 하나에 제공된다. 특히, 프로세서 (204) 는, 라우터 (202) 에 접속된 네트워크 노드들의 각각의 서브세트와 연관된 목적지 어드레스 범위들을 나타내는 하나 이상의 라우팅 테이블들 (도시 안됨) 에 액세스할 수 있다. 어드레스에 의해 표시된 노드들의 서브세트에 기초하여, 라우터 제어 모듈은 스위칭 패브릭 (210) 을 제어하여, 노드들의 표시된 서브세트와 연관된 광역 네트워크 데이터 접속부들 (216 및 217) 중 하나에 패킷을 제공할 수 있다.
부가적으로, 프로세서 (104) 는 로컬 영역 네트워크 데이터 접속부 (215) 로부터 원시 데이터를 수신하고, 네트워크 프로토콜 스택을 실행하여 원시 데이터를 전송가능 패킷들로 변환할 수 있다. 그 후, 프로세서 (204) 는 전송가능 패킷들을 통신을 위해 패킷 버퍼 (206) 에 저장한다. 부가적으로, 프로세서 (204) 는 패킷 버퍼 (206) 에 저장된 전송가능 패킷들이 LAN (101) 의 네트워크 노드로 타겟팅됨을 결정하고, 응답하여, 네트워크 프로토콜 스택을 채용하여 전송가능 데이터 패킷들을 원시 데이터로 변환할 수 있다. 프로세서 (204) 는, LAN (101) 의 타겟 네트워크 노드로의 통신을 위해 원시 데이터를 로컬 영역 네트워크 데이터 접속부 (215) 에 제공한다.
원시 데이터의 전송가능 패킷들로의 변환에 부가하여, 프로세서 (204) 에서 실행하는 네트워크 프로토콜 스택은, 로컬 영역 네트워크 접속부 (215) 를 통해 수신된 데이터로부터 형성된 전송가능 패킷들에 대한, 네트워크 프로토콜 스택과 연관된 플로우 제어 및 다른 기능들을 포함한 다른 기능들을 수행할 수 있다. 예를 들어, 프로세서 (204) 에서 실행된 네트워크 프로토콜 스택은, WAN (120) 으로부터 수신되고 LAN (101) 으로 타겟팅된 패킷들에 대한 확인응답들을 생성하는 것, 목적지로 패킷을 재전송하거나 다른 패킷을 전송할지를 결정하기 위해 패킷 목적지로부터의 확인응답들을 대기하는 것 등과 같은 통신 신뢰도 기능들을 관리할 수 있다. 추가로, 프로세서 (204) 에서의 네트워크 프로토콜 스택은, LAN (101) 에서의 노드들로 타겟팅된 패킷들에 대한 확인응답들을 채용하는 대신, 각각의 패킷의 다중의 사본들을 전송하고 이에 의해 통신 레이턴시를 감소시킬 수 있다. 이에 따라, 프로세서 (204) 는 로컬 영역 네트워크 접속부 (215) 에 접속된 컴퓨터 디바이스에 대한 네트워크 프로토콜 스택 프록시로서 수행한다.
도 3 은 본 개시의 일 실시형태에 따른 도 1 의 라우터 (102) 를 통합한 통신 시스템 (300) 을 도시한 것이다. 통신 시스템 (300) 은 또한 WAN (120) 및 LAN (101) 을 포함한다. LAN (101) 은, 각각이 라우터 (102) 에 접속된 컴퓨터 디바이스들 (330 및 331) 을 포함한다. 컴퓨터 디바이스들 (330 및 331) 각각은 어플리케이션들을 실행한다. 예를 들어, 컴퓨터 디바이스 (330) 는 어플리케이션 (340) 을 실행한다.
도시된 실시형태에 있어서, 컴퓨터 디바이스들 (330 및 331) 은 라우터 (102) 의 LAN (101) 에 각각 접속되지만 WAN (120) 은 WAN 접속부들 (216 및 217) 에 접속됨이 가정된다. 컴퓨터 디바이스 (330) 는, 어플리케이션 (340) 으로부터 원시 데이터를 수신하고 수신된 원시 데이터를, 접속부를 통해 라우터 (102) 로 통신될 수 있는 포맷으로 프로세싱하며 변환된 원시 데이터를 라우터 (102) 로 통신하는 라우터 인터페이스 프로토콜 스택 (341) 을 실행한다. 라우터 인터페이스 프로토콜 스택 (341) 은 수신된 데이터를 전송가능 패킷들로 변환하지 않는다. 이에 따라, 라우터 (102) 에서의 프로세서 (204) 는, 라우터 인터페이스 프로토콜 스택에 의해 제공된 원시 데이터를 전송가능 데이터 패킷들로 변환하는 네트워크 프로토콜 스택 (350) 을 실행한다. 부가적으로, 네트워크 프로토콜 스택 (350) 은 컴퓨터 디바이스 (330) 로 타겟팅된 전송가능 패킷들을 원시 데이터로 변환하고, 원시 데이터를 라우터 인터페이스 프로토콜 스택 (341) 에 제공한다. 응답하여, 라우터 인터페이스 프로토콜 스택 (341) 은 수신된 데이터를, 어플리케이션 (340) 에 의해 프로세싱될 수 있는 포맷으로 변환한다. 일 실시형태에 있어서, 라우터 인터페이스 프로토콜 스택은 컴퓨터 디바이스 (330) 의 네트워크 인터페이스 카드 (NIC) 와 같은 네트워크 인터페이스 디바이스에 의해 실행된다.
부가적으로, 네트워크 프로토콜 스택 (350) 은 컴퓨터 디바이스 (330) 대신 플로우 제어 및 다른 네트워크 프로토콜 스택 기능들을 수행한다. 이는 컴퓨터 디바이스 (330) 에서의 프로세싱 부하를 감소시키고, 이에 의해, 네트워크 래그 및 다른 통신 문제들을 감소시킨다.
도 4 는 본 개시의 일 실시형태에 따른 네트워크 프로토콜 스택 (400) 을 도시한 것이다. 네트워크 프로토콜 스택 (400) 은 전송 계층 (422), 인터넷 계층 (424), 및 링크 계층 (426) 을 포함하고, 그 계층들 각각은 네트워크 프로토콜 스택 (400) 에 대한 관련 기능들을 수행한다. 특히, 네트워크 프로토콜 스택 (400) 은 어플리케이션 계층 (420) 에서 실행하는 어플리케이션들을 갖는 정보를 통신한다. 도시된 실시형태에 있어서, 어플리케이션 계층 (420) 은 도 3 의 컴퓨터 디바이스 (330) 와 같은 엔드포인트에서 실행된다. 전송 계층 (422), 인터넷 계층 (424), 및 링크 계층 (426) 은 라우터 (102) 의 프로세서 (204) 에서 각각 실행되고, 이에 의해, 이들 기능들을 엔드포인트로부터 오프로딩한다.
도 5 는 본 개시의 일 실시형태에 따른 라우터 (102) 의 동작을 예시한 플로우 다이어그램을 도시한 것이다. 블록 530 에서, 정보가 데이터 접속부들 (215-217) 에서 수신된다. 정보가 WAN 접속부들 (216 및 217) 중 하나에서 수신되면, 그 정보는 전송가능 패킷들이고, 블록 534 에서, 라우터 (102) 는 전송가능 패킷들을 타겟 네트워크 노드로 라우팅한다. 정보가 LAN 접속부 (215) 에서 수신되면, 블록 532 에서, 라우터 (102) 는 수신된 원시 데이터를 네트워크 프로토콜 스택에 제공한다. 네트워크 프로토콜 스택 (532) 은 수신된 원시 데이터를 전송가능 패킷들로 변환하고, 블록 534 에서, 전송가능 패킷들을 타겟 네트워크 노드로 라우팅한다.
도 6 은 본 개시의 일 실시형태에 따른 라우터 (102) 에서의 통신들을 관리하는 방법의 플로우 다이어그램을 도시한 것이다. 블록 602 에서, 라우터는 데이터 접속부들 (215-217) 중 하나로부터 통신될 데이터를 수신한다. 블록 604 에서, 라우터 (102) 는, LAN (101) 의 노드로 타겟팅된 데이터가 수신되는지 또는 WAN (120) 의 노드로 타겟팅된 데이터가 수신되는지를 결정한다. 이러한 결정은, 예를 들어, 데이터를 수신하게 하는 특정 데이터 접속부에 기초하여 실시될 수 있다. 데이터가 LAN (101) 의 노드로 타겟팅되면, 라우터 (102) 는 국부적으로 실행된 네트워크 프로토콜 스택에서 데이터를 프로세싱하여 패킷들을 형성하고, 블록 606 에서, 통신을 위해 각각의 패킷의 N개의 사본들을 생성하며, 여기서, N 은 정수이다. 블록 608 에서, 라우터 (102) 는 각각의 패킷의 N개의 사본들을 WAN (120) 또는 LAN (101) 의 타겟 네트워크 노드로 전송한다. 블록 604 에서, 수신된 데이터가 WAN (120) 의 노드로 타겟팅됨을 라우터 (102) 가 결정하면, 방법 플로우는 블록 610 으로 진행하고, 라우터 (102) 는 각각의 수신된 패킷의 M개의 사본들을 생성하며, 여기서, M 은 N 과는 상이한 정수이다. 블록 612 에서, 라우터 (102) 는 M개의 사본들을 타겟 네트워크 노드로 라우팅한다. 일 실시형태에 있어서, M 은 1 과 동일하며, 라우터 (102) 는 수신된 패킷들의 사본들을 생성하지 않고, 대신, 사본의 생성없이 각각의 패킷을 타겟 노드로 라우팅한다.
상기 개시된 주제는 한정이 아닌 예시적으로 고려되어야 하며, 첨부된 청구항들은 본 발명의 진정한 사상 및 범위 내에 있는 모든 그러한 변형예들, 개선예들, 및 다른 실시형태들을 커버하도록 의도된다. 따라서, 법률에 의해 허용되는 최대의 범위에서, 본 발명의 범위는 다음의 청구항들 및 그 균등물들의 최광의 허용가능한 해석에 의해 결정되어야 하며, 전술된 상세한 설명에 의해 제약되거나 한정되지 않아야 한다.

Claims (20)

  1. 라우터에서의 통신 방법으로서,
    로컬 영역 네트워크 (LAN) 의 소스 노드로부터 상기 LAN 에 커플링된 상기 라우터로 네트워크 프로토콜 스택 프로세싱을 오프로딩하는 단계를 포함하고,
    상기 네트워크 프로토콜 스택 프로세싱을 오프로딩하는 단계는,
    상기 라우터의 제 1 입력부에서, 상기 소스 노드로부터의 제 1 데이터를 수신하는 단계로서, 상기 제 1 데이터는 상기 라우터에 커플링된 광역 네트워크 (WAN) 상의 각 노드 및 상기 LAN 상의 각 노드로의 통신용으로 적합하지 않은 제 1 포맷인, 상기 제 1 데이터를 수신하는 단계;
    상기 라우터의 네트워크 프로토콜 스택에서 상기 제 1 데이터를 프로세싱하여 제 2 포맷의 제 2 데이터를 결정하는 단계로서, 상기 제 2 포맷은 상기 WAN 의 통신용으로 적합한, 상기 제 2 데이터를 결정하는 단계; 및
    상기 제 2 데이터를 상기 WAN 으로 송신하는 단계를 포함하는, 라우터에서의 통신 방법.
  2. 삭제
  3. 제 1 항에 있어서,
    상기 라우터의 제 2 입력부에서, 상기 WAN 으로부터의 제 3 데이터를 수신하는 단계로서, 상기 제 3 데이터는 상기 제 2 포맷인, 상기 제 3 데이터를 수신하는 단계;
    상기 라우터의 상기 네트워크 프로토콜 스택에서 상기 제 3 데이터를 프로세싱하여 상기 제 1 포맷의 제 4 데이터를 결정하는 단계; 및
    상기 제 4 데이터를 상기 라우터로부터 상기 소스 노드로 송신하는 단계를 더 포함하는, 라우터에서의 통신 방법.
  4. 제 1 항에 있어서,
    상기 라우터에서 상기 WAN 으로부터의 패킷을 수신하는 것에 응답하여, 상기 라우터의 상기 네트워크 프로토콜 스택에서 확인응답을 생성하는 단계; 및
    상기 확인응답을 상기 WAN 으로 송신하는 단계를 더 포함하는, 라우터에서의 통신 방법.
  5. 제 1 항에 있어서,
    상기 라우터의 상기 네트워크 프로토콜 스택에서, 상기 제 1 데이터의 수신의 확인응답이 제 1 시간량에서 수신되지 않았었음을 결정하는 것에 응답하여 상기 제 2 데이터를 상기 WAN 으로 송신하는 단계로부터 상기 제 2 데이터를 재송신하는 단계를 더 포함하는, 라우터에서의 통신 방법.
  6. 제 1 항에 있어서,
    상기 제 1 데이터에 적어도 부분적으로 기초하여 패킷을 형성하는 단계; 및
    상기 패킷의 복수의 사본들을 상기 라우터로부터 상기 WAN 으로 송신하는 단계를 더 포함하는, 라우터에서의 통신 방법.
  7. 제 1 항에 있어서,
    상기 라우터의 네트워크 프로토콜 스택은 TCP/IP 스택을 포함하는, 라우터에서의 통신 방법.
  8. 제 1 항에 있어서,
    상기 라우터의 네트워크 프로토콜 스택은 UDP 스택을 포함하는, 라우터에서의 통신 방법.
  9. 라우터에서의 통신 방법으로서,
    상기 라우터에 수신된 제 1 데이터가 로컬 영역 네트워크 (LAN) 의 노드로 타겟팅되는지 또는 광역 네트워크 (WAN) 의 노드로 타겟팅되는지 여부를, 상기 라우터에서, 결정하는 단계;
    상기 제 1 데이터가 상기 LAN 의 노드로 타겟팅됨을 결정하는 것에 응답하여, 상기 LAN 의 노드로 라우팅하기 위한 상기 제 1 데이터의 제 1 복수의 사본들을 상기 LAN 으로 송신하는 단계로서, 상기 LAN 의 노드에 의해 상기 제 1 복수의 사본들 중 사본이 수신되지 않았었다는 상기 LAN 의 노드로부터의 확인응답에 대한 대기없이 상기 제 1 복수의 사본들이 상기 LAN 의 노드로 송신되는, 상기 제 1 데이터의 제 1 복수의 사본들을 상기 LAN 으로 송신하는 단계; 및
    상기 제 1 데이터가 상기 WAN 의 노드로 타겟팅됨을 결정하는 것에 응답하여, 상기 WAN 의 노드로 라우팅하기 위한 상기 제 1 데이터의 제 2 복수의 사본들을 상기 WAN 으로 송신하는 단계를 포함하는, 라우터에서의 통신 방법.
  10. 제 9 항에 있어서,
    상기 라우터에서 상기 LAN 으로부터의 제 2 데이터를 수신하는 단계로서, 상기 제 2 데이터는 상기 WAN 으로의 통신용으로 적합하지 않은 제 1 포맷인, 상기 제 2 데이터를 수신하는 단계;
    상기 라우터의 네트워크 프로토콜 스택에서 상기 제 2 데이터를 프로세싱하여, 상기 WAN 으로의 통신용으로 적합한 제 2 포맷의 제 3 데이터를 결정하는 단계; 및
    상기 제 3 데이터를 상기 WAN 으로 송신하는 단계를 더 포함하는, 라우터에서의 통신 방법.
  11. 제 10 항에 있어서,
    상기 라우터에서, 상기 WAN 으로부터의 제 4 데이터를 수신하는 단계로서, 상기 제 4 데이터는 상기 제 2 포맷인, 상기 제 4 데이터를 수신하는 단계; 및
    상기 제 4 데이터를 상기 라우터로부터 상기 WAN 으로 라우팅하는 단계를 더 포함하는, 라우터에서의 통신 방법.
  12. 제 9 항에 있어서,
    상기 라우터에서 상기 WAN 으로부터의 패킷을 수신하는 것에 응답하여, 상기 라우터의 네트워크 프로토콜 스택에서 확인응답을 생성하는 단계; 및
    상기 확인응답을 상기 WAN 으로 통신하는 단계를 더 포함하는, 라우터에서의 통신 방법.
  13. 제 10 항에 있어서,
    상기 라우터의 상기 네트워크 프로토콜 스택에서, 상기 제 3 데이터의 수신의 확인응답이 제 1 시간량에서 수신되지 않았었음을 결정하는 것에 응답하여 상기 제 3 데이터를 상기 WAN 으로 송신하는 단계로부터 상기 제 3 데이터를 재송신하는 단계를 더 포함하는, 라우터에서의 통신 방법.
  14. 제 10 항에 있어서,
    상기 라우터의 네트워크 프로토콜 스택은 TCP/IP 스택을 포함하는, 라우터에서의 통신 방법.
  15. 제 10 항에 있어서,
    상기 라우터의 네트워크 프로토콜 스택은 UDP 스택을 포함하는, 라우터에서의 통신 방법.
  16. 로컬 영역 네트워크 (LAN) 에 커플링되도록 구성된 제 1 입력부; 및
    상기 LAN 의 소스 노드로부터 네트워크 프로토콜 스택 프로세싱을 오프로딩하도록 구성된 프로세서를 포함하고,
    상기 프로세서는, 추가로,
    라우터의 상기 제 1 입력부에서, 상기 소스 노드로부터의 제 1 데이터를 수신하는 것으로서, 상기 제 1 데이터는 상기 라우터에 커플링된 광역 네트워크 (WAN) 상의 각 노드 및 상기 LAN 상의 각 노드로의 통신용으로 적합하지 않은 제 1 포맷인, 상기 제 1 데이터를 수신하고;
    상기 라우터의 상기 네트워크 프로토콜 스택에서 상기 제 1 데이터를 프로세싱하여 제 2 포맷의 제 2 데이터를 결정하는 것으로서, 상기 제 2 포맷은 상기 WAN 으로의 통신용으로 적합한, 상기 제 2 데이터를 결정하며; 그리고
    상기 제 2 데이터를 상기 WAN으로 송신하도록
    구성되는, 라우터.
  17. 삭제
  18. 제 16 항에 있어서,
    상기 프로세서는, 추가로,
    상기 라우터의 제 2 입력부에서, 상기 WAN으로부터의 제 3 데이터를 수신하는 것으로서, 상기 제 3 데이터는 상기 제 2 포맷인, 상기 제 3 데이터를 수신하고;
    상기 라우터의 상기 네트워크 프로토콜 스택에서 상기 제 3 데이터를 프로세싱하여 상기 제 1 포맷의 제 4 데이터를 결정하고; 그리고
    상기 제 4 데이터를 상기 라우터로부터 상기 소스 노드로 송신하도록 구성되는, 라우터.
  19. 제 16 항에 있어서,
    상기 프로세서는, 추가로,
    상기 라우터에서 상기 WAN 으로부터의 패킷의 수신에 응답하여, 상기 라우터의 상기 네트워크 프로토콜 스택에서 확인응답을 생성하고; 그리고
    상기 확인응답을 상기 WAN 으로 송신하도록 구성되는, 라우터.
  20. 제 16 항에 있어서,
    상기 프로세서는, 추가로,
    상기 라우터의 상기 네트워크 프로토콜 스택에서, 상기 제 1 데이터의 수신의 확인응답이 제 1 시간량에서 수신되지 않았었음을 결정하는 것에 응답하여 상기 제 2 데이터를 상기 WAN 으로 송신하는 것으로부터 상기 제 2 데이터를 재송신하도록 구성되는, 라우터.
KR1020137029889A 2011-04-13 2012-04-13 라우터에서의 통신들을 관리하는 기술 KR101547048B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US13/086,000 2011-04-13
US13/086,000 US9172774B2 (en) 2011-04-13 2011-04-13 Technique for managing communications at a router
PCT/US2012/033689 WO2012142534A1 (en) 2011-04-13 2012-04-13 Technique for managing communications at a router

Publications (2)

Publication Number Publication Date
KR20140002040A KR20140002040A (ko) 2014-01-07
KR101547048B1 true KR101547048B1 (ko) 2015-08-24

Family

ID=46018108

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020137029889A KR101547048B1 (ko) 2011-04-13 2012-04-13 라우터에서의 통신들을 관리하는 기술

Country Status (6)

Country Link
US (1) US9172774B2 (ko)
EP (2) EP3386166A1 (ko)
JP (1) JP5815838B2 (ko)
KR (1) KR101547048B1 (ko)
CN (2) CN106059938A (ko)
WO (1) WO2012142534A1 (ko)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10938877B2 (en) * 2018-11-30 2021-03-02 Xaptum, Inc. Optimizing data transmission parameters of a proprietary network

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080313449A1 (en) 2005-06-30 2008-12-18 Intel Corporation Offloading the processing of a network protocol stack

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04341033A (ja) * 1991-05-17 1992-11-27 Fujitsu Ltd Lan−fmbs接続方式
US5619650A (en) 1992-12-31 1997-04-08 International Business Machines Corporation Network processor for transforming a message transported from an I/O channel to a network by adding a message identifier and then converting the message
US5757783A (en) * 1995-06-15 1998-05-26 Lucent Technologies Inc. Method and apparatus for routing ATM cells in an AD-ATM LAN
US6128654A (en) * 1997-02-14 2000-10-03 Advanced Micro Devices, Inc. Method and apparatus for transmitting multiple copies by replicating data identifiers
US6317854B1 (en) * 1999-05-14 2001-11-13 Nokia Corporation Apparatus, and associated method, for selecting retransmission of packet data
US6714978B1 (en) * 1999-12-04 2004-03-30 Worldcom, Inc. Method and system for processing records in a communications network
US7003571B1 (en) * 2000-01-31 2006-02-21 Telecommunication Systems Corporation Of Maryland System and method for re-directing requests from browsers for communication over non-IP based networks
JP4460195B2 (ja) * 2001-08-06 2010-05-12 株式会社日立製作所 パケット転送装置およびルーティング制御装置
US6625169B1 (en) * 2002-06-14 2003-09-23 Telesys Technologies, Inc. Integrated communication systems for exchanging data and information between networks
US7373423B2 (en) * 2002-09-11 2008-05-13 Trend Micro Incorporated Network infrastructure management and data routing framework and method thereof
US20040210663A1 (en) 2003-04-15 2004-10-21 Paul Phillips Object-aware transport-layer network processing engine
CN100435534C (zh) * 2004-09-15 2008-11-19 无锡三通科技有限公司 复合型网络通讯设备及其控制方法
US7660296B2 (en) 2005-12-30 2010-02-09 Akamai Technologies, Inc. Reliable, high-throughput, high-performance transport and routing mechanism for arbitrary data flows
US8170023B2 (en) 2007-02-20 2012-05-01 Broadcom Corporation System and method for a software-based TCP/IP offload engine for implementing efficient digital media streaming over internet protocol networks
JP2008259094A (ja) * 2007-04-09 2008-10-23 Matsushita Electric Ind Co Ltd 無線lan電話通信方法及びシステム
ATE537655T1 (de) * 2008-02-05 2011-12-15 Ericsson Telefon Ab L M Kombinieren von lokal adressierten einrichtungen und über grossflächiges netzwerk (wan) adressierten einrichtungen in einem einzigen netzwerk
CN101267376B (zh) * 2008-04-25 2010-08-04 北京携远天成技术有限公司 一种用于扩展Zigbee网络的网关的数据传输方法

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080313449A1 (en) 2005-06-30 2008-12-18 Intel Corporation Offloading the processing of a network protocol stack

Also Published As

Publication number Publication date
US9172774B2 (en) 2015-10-27
CN103460668B (zh) 2016-10-26
EP2697950B1 (en) 2018-05-30
CN103460668A (zh) 2013-12-18
KR20140002040A (ko) 2014-01-07
WO2012142534A1 (en) 2012-10-18
JP2014514857A (ja) 2014-06-19
JP5815838B2 (ja) 2015-11-17
CN106059938A (zh) 2016-10-26
US20120265852A1 (en) 2012-10-18
EP3386166A1 (en) 2018-10-10
EP2697950A1 (en) 2014-02-19

Similar Documents

Publication Publication Date Title
US10237153B2 (en) Packet retransmission method and apparatus
US6934255B1 (en) Internet over satellite apparatus
WO2014037760A1 (zh) 增加数据流传输的方法和系统
CN103312807B (zh) 数据传输方法、装置及系统
JP3814678B2 (ja) サテライトを介するインターネット
JP2006287331A (ja) 輻輳制御ネットワーク中継装置、および輻輳制御ネットワーク中継方法
CN106612284B (zh) 一种流数据的传输方法和装置
JPWO2012066824A1 (ja) 通信装置および通信システム
JP2015534352A (ja) データ転送レートを増加させるためのデータストリーム分割
JP2008252393A (ja) 通信端末装置、配信装置、エラー通知方法およびエラー通知プログラム
CN115002023A (zh) 一种链路聚合方法、链路聚合装置、电子设备及存储介质
US20050074010A1 (en) Method and apparatus for exchanging routing information in distributed router system
WO2013152614A1 (zh) 一种基于应用层数据的网络接入系统和方法
KR101547048B1 (ko) 라우터에서의 통신들을 관리하는 기술
US8451847B2 (en) Intermediate node device, method of controlling intermediate node device, and network system
JP6200870B2 (ja) データ転送制御装置、方法及びプログラム
US20140369189A1 (en) Method of controlling packet transmission in network system and network system transmitting packet using pseudo-tcp agent
Nosheen et al. Performance evaluation of DCCP and SCTP for MPEG4 video over wireless networks
JP2010153944A (ja) 通信システム、受信装置、送信装置、および通信方法
JP2012134907A (ja) Tcp転送装置およびそのプログラム
KR100606350B1 (ko) 스태킹된 라우팅 시스템에서의 에이알피 공유 장치
JP2010154130A (ja) 経路確認装置、経路確認システム、経路確認方法およびそのプログラム
Sivaraman Lecture 2: Internet overview
JP2008295082A (ja) ゲートウェイ装置、送信方法、受信方法および情報記録媒体
Ingebretsen et al. MultiPath TCP-communication (in NorNet Core)

Legal Events

Date Code Title Description
A201 Request for examination
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: 20180628

Year of fee payment: 4