KR100548835B1 - 층간플로제어를위한데이터통신프로토콜을구비한통신방법,및데이터통신단말장치 - Google Patents

층간플로제어를위한데이터통신프로토콜을구비한통신방법,및데이터통신단말장치 Download PDF

Info

Publication number
KR100548835B1
KR100548835B1 KR1019980039746A KR19980039746A KR100548835B1 KR 100548835 B1 KR100548835 B1 KR 100548835B1 KR 1019980039746 A KR1019980039746 A KR 1019980039746A KR 19980039746 A KR19980039746 A KR 19980039746A KR 100548835 B1 KR100548835 B1 KR 100548835B1
Authority
KR
South Korea
Prior art keywords
packet
layer
data link
data
link layer
Prior art date
Application number
KR1019980039746A
Other languages
English (en)
Other versions
KR19990030108A (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 KR19990030108A publication Critical patent/KR19990030108A/ko
Application granted granted Critical
Publication of KR100548835B1 publication Critical patent/KR100548835B1/ko

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/90Buffering arrangements
    • H04L49/9063Intermediate storage in different physical parts of a node or terminal
    • H04L49/9078Intermediate storage in different physical parts of a node or terminal using an external memory or storage device
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/90Buffering arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/90Buffering arrangements
    • H04L49/9063Intermediate storage in different physical parts of a node or terminal
    • 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/30Definitions, standards or architectural aspects of layered protocol stacks
    • H04L69/32Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
    • H04L69/321Interlayer communication protocols or service data unit [SDU] definitions; Interfaces between layers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/40Network security protocols
    • 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/30Definitions, standards or architectural aspects of layered protocol stacks
    • H04L69/32Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level

Landscapes

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

Abstract

트랜스포트층과 데이터 링크층 사이의 데이터 플로(flow)를 제어하기 위한 데이터 통신 프로토콜이 구현된다. 이 프로토콜은 두가지 방법의 데이터 플로 제어를 제공한다. (1) 첫번째 방법에서는, 데이터 링크층의 패킷 버퍼의 점유율이 제1 임계치보다 더 크면, 데이터 링크층이 트랜스포트층에 패킷 전송을 일시 중지할 것을 통지하고, 그 후 상기 점유율이 제1 임계치보다 작은 제2 임계치보다 더 작으면, 데이터 링크층이 트랜스포트층에 패킷 전송을 재개할 것을 요청한다. (2) 두번째 방법에서는, 패킷들의 양이 전송 레이트와 최대 버스트 크기에 근거하여 미리 지정된 값보다 더 작으면, 트랜스포트층이 패킷을 하위층에 전송하고, 패킷 양이 상기 값보다 더 크면, 미리 지정된 시간이 경과한 후 패킷이 전송되어 전송 레이트를 미리 지정된 레이트로 제어한다.

Description

층간 플로 제어를 위한 데이터 통신 프로토콜을 구비한 통신 방법, 및 데이터 통신 단말 장치{COMMUNICATION METHOD, AND DATA COMMUNICATIONS TERMINAL, WITH DATA COMMUNICATION PROTOCOL FOR INTER-LAYER FLOW CONTROL}
본 발명은 트랜스포트층(transport layer)과 데이터 링크층(data link layer) 간에 패킷 전송용 데이터 통신 프로토콜을 구비한 통신 방법에 관한 것이고, 또한 데이터 통신을 위해 데이터 통신 프로토콜을 사용하는 데이터 통신 단말 장치에 관한 것이다.
데이터 통신을 위한 인터페이스용 조건이 되는 데이터 통신 프로토콜로서의 전형인 TCP/IP (Transmission Control Protocol/Internet Protocol)와 OSI (Open Systems Interconnection) 프로토콜들은 도 1에 나타낸 바와 같은 계층 구조를 갖는다. 도시된 바와 같이, 이 계층 구조는 애플리케이션 프로그램들에 의해 실행 가능한 동작들의 레벨에서 통신 단말 장치의 특성과 코딩 제어 기능 등을 포함하는 애플리케이션층(16)과, 통신-지향 프로파일들, 문서-지향 프로파일 등을 포함하는 프리젠테이션층(15)과, 데이터 전송 및 IDs 수신을 위한 제어 기능 등을 갖는 세션층(14)과, 더 상위층이기 때문에 임의의 네트워크에 관계없이 전송 작업을 수행하는 트랜스포트층(13), 각각의 네트워크에 대한 호출 지정, 접속 단절 등을 제어하는 네트워크층(12), 데이터 링크의 개설, 해제, 에러 제어등을 위한 데이터 링크층(11), 및 사용자 및 네트워크 전압의 물리적 인터페이스 조건들을 지정하는 물리층(10)으로 구성된다.
패킷 전송에 대해, 애플리케이션층(16) (프리젠테이션층(15) 및 세션층(14)을 또한 포함함) 의 소프트웨어에 의해 발생된 패킷은 트랜스포트층(13)을 구현하는 소프트웨어에 전송되고, 계속해서 트랜스포트층(13)으로부터 네트워크층(12)에, 그리고 네트워크층(12)으로부터 데이터 링크층(11)에, 그리고 더 낮은 층으로 전송된다. 최종적으로, 이 패킷은 데이터 통신 단말 장치로부터 전송용으로 전기 또는 광 펄스의 형태로 나타내어진다.
종래의 패키지형 데이터 통신 단말 장치에 있어서, 패킷은 메모리로부터 오직 두번만 복사된다. 즉, 메모리 복사는, 도 2에 도시된 바와 같이, 패킷이 메인 메모리(1) 내에서 애플리케이션층(16)으로부터 트랜스포트층(13)으로 이동될 때와 패킷이 데이터 통신 단말 장치의 메인 메모리(1)로부터 버스(5)를 경유하여 네트워크 인터페이스 모듈(11)에 이동될 때 수행된다. 패킷은 단지 포인터를 패킷이 저장되는 메인 메모리(1) 내의 위치로 패스(pass)함으로써 데이터 링크(11)보다 상위에 있는 다른 층들 사이에서 이동된다.
애플리케이션층(16)으로부터 트랜스포트층(13)에의 메모리 복사에 있어서, 플로 제어는 트랜스포트층(13)에서 패킷 버퍼 오버플로에 기인한 어떠한 데이터 손실도 피하기 위해 수행된다. 즉, 트랜스포트층(13)의 패킷 버퍼가 오버플로되려고 할 때, 애플리케이션층(16)이 패킷 복사를 일시 중지하도록 하는 제어가 수행될 것이다. 그러나, 데이터 링크층(11)과 더 상위층 간의 데이터 플로는 제어되지 않을 것이다. 데이터 링크층(11)의 패킷 버퍼들은 네트워크 인터페이스 모듈(2) 내의 하나와 메인 메모리(1) 내의 하나를 포함한다. 그러나, 플로 제어가 전혀 수행되지 않기 때문에, 두개 버퍼들에서 오버플로가 있더라도, 더 상위층은 계속해서 데이터 링크층(11)에 패킷들을 전송할 것이고 그 결과 패킷들이 버려질 것이다.
상기의 이유는 트랜스포트층(13) 이하의 층들에 대해서는 데이터 통신의 신뢰성이 보장되지 않고 층들 사이의 상호 작용이 최소화되는 종래의 데이터 통신 프로토콜의 기본 설계 방침 때문이다.
데이터 통신의 신뢰성은 트랜스포트층(13)으로부터의 패킷 재전송에 의해서만 보장된다. 그러므로, 데이터 링크층(11)의 패킷 버퍼들 내에 패킷들을 위한 공간이 없더라도, 프랜스포트층(13)의 프로토콜은 패킷 전송을 일시 중지하지 않고, 이에 따라 패킷들이 손실되고 그후에 패킷들은 재전송된다.
그러나, 종래에는, 패킷은 애플리케이션층(16)에 의해 발생되고, 네트워크 인터페이스 모듈(2)로부터 단말 장치의 외부로의 패킷 전송 레이트보다 더 낮은 레이트로, 트랜스포트층(13) 및 네트워크층(12)을 경유하여 데이터 링크층(11)에 전송되어, 데이터 링크층(11)의 패킷 버퍼의 오버플로에 기인한 패킷 손실이 거의 발생하지 않는다.
종래의 데이터 통신 프로토콜에서는 단말 장치 효율성 및 네트워크 기능이 더 높아짐에 따라 데이터 통신의 스루풋(throughput)이 크게 저하되기 쉽다. 더 구체적으로 보면, CPU 등과 같은 단말 장치 소자들의 성능이 급격히 향상되었기 때문에, 어떤 경우에는, 상위층으로부터 데이터 링크층(11)으로의 패킷 전송 레이트가 네트워크 인터페이스 모듈(2)로부터 단말 장치 밖으로의 패킷 전송의 레이트보다 더 높다. 이러한 경우에, 데이터 링크층(11)의 패킷 버퍼들이 오버플로하고, 그 결과 단말 장치 내에서도 패킷 손실이 초래될 가능성이 있다.
또한, 데이터 링크층(11)은 패킷 전송 레이트를 ATM(asynchronous transmission mode)에서와 같이 자유롭게 바꾸도록 기능적으로 향상되었다. 이러한 경우, 데이터 링크층(11)으로부터 단말 장치 밖으로의 패킷 전송의 레이트는 그 네트워크가 얼마나 많이 정체되어 있는가에 따라 낮은 레이트로 제어된다. 이에 따라 패킷 전송 레이트가 낮기 때문에, 데이터 링크층(11)으로부터 단말 장치(11) 밖으로의 패킷 전송 레이트와 더 상위층으로부터 데이터 링크층(11)으로의 패킷 전송 레이트 사이의 차가 더 커지고, 패킷 손실의 가능성이 더 커질 것이다.
패킷이 손실되면, 트랜스포트층(13)은 패킷을 재전송해야 하고, 이에 따라 데이터 전송 스루풋이 낮아지게 될 것이고, 네트워크의 대역폭이 낭비될 것이다. 특히, TCP와 같은 정체(congestion) 제어용 트랜스포트 프로토콜에 있어서는, 패킷 손실이 검출되면, 전송 윈도우 크기 또는 그에 상당한 것을 감소시킴으로써 패킷 전송 레이트가 자율적으로 낮은 레이트로 제어되어, 데이터 전송 스루풋이 현저하게 낮아질 것이다.
도 3은 TCP 스루풋 대 최대 전송 윈도우 크기의 특성 곡선을 나타낸다.
전송 단말 장치와 수신 단말 장치 사이의 라운드 트립 시간(round trip time, RTT)은 20ms이다. RTT가 크면, TCP에 의해 더 높은 데이터 전송 스루풋을 제공하기 위해 전송 윈도우 크기가 증가되어야 한다. 본 명세서에서 참조된 전송 윈도우 크기는 수신 확인의 응답없이 배치-전송(batch-trasmitted)될 수 있는 최대 데이터 길이를 의미한다. 만일 전송 윈도우 크기가 지나치게 증가된다면, 데이터 링크층(11)의 패킷 버퍼들은 오버플로되어 패킷 손실이 초래된다. 이것은 더 상위층이 전송 윈도우 크기에 따른 양의 데이터를 데이터 링크층(11)에 배치-전송하게 될 것이라는 사실에 의해 유발된다. 만일 패킷이 손실되면, TCP의 사용율(availability) 제어가 데이터 전송 스루풋을 크게 낮추는 조치를 취한다. 종래의 데이터 통신 프로토콜은 단말 장치 내부에서 패킷 손실을 회피하고자 한 것이 데이터 전송 스루풋 및 네트워크 사용율을 저하시킨다는 데에 단점이 있다.
이에 따라, 본 발명의 목적은 트랜스포트층과 데이터 링크층 사이에 전송된 패킷이 버려지지 않고 단말 장치 내부에서 패킷이 손실되지 않아서 데이터 전송 스루풋 및 네트워크 사용율이 낮아지는 것을 방지하는 통신 방법 및 데이터 통신 단말 장치를 제공함으로써 종래 기술의 단점들을 극복하는 것이다.
상기 목적은 트랜스포트층과 데이터 링크층 사이의 데이터 플로가 제어되는 통신 방법을 제공함으로써 달성될 수 있다. 즉, 트랜스포트층으로부터의 패킷 전송은 하기의 두가지 방법들 중의 임의의 것에 의해 데이터 링크층의 패킷 버퍼들이 오버플로되는 것을 방지하도록 제어된다.
제1 플로 제어 방법에서는, 데이터 링크층의 패킷 버퍼들이 너무 많이 점유되어서 버퍼들이 오버플로되려고 할 때, 데이터 링크층이 패킷 전송을 일시 중지할 것을 트랜스포트층에 통지한다. 제2 방법에서는, 데이터 링크층의 패킷 전송 레이트가 트랜스포트층에 통지되어, 트랜스포트층이 통지받은 레이트보다 더 낮은 레이트로 패킷을 하위층에 전송한다.
본 발명에 따르면, 플로 제어가 트랜스포트층과 데이터 링크층 사이에서 수행되어, 단말 장치 내부에서 패킷 손실이 전혀 발생하지 않고, 데이터 전송 스루풋 및 네트워크 사용율이 낮아지는 것이 방지될 수 있다.
도 2는 본 발명에 따른 데이터 통신 단말 장치의 구성을 나타내고, 도 3은 본 발명에 따른 플로 제어가 채택될 때 얻을 수 있는 데이터 전송 스루풋을 나타낸다.
도 2로부터 알 수 있는 바와 같이, 통신 프로토콜은 소프트웨어에 의해 구현되고 중앙 처리 장치(CPU, 4)에 의해 실행된다. 전송될 패킷은 애플리케이션층에 의해 메인 메모리(1)에서 발생된다. 패킷은 데이터 링크층을 구현하는 소프트웨어에 의해 네트워크 인터페이스 모듈(2) 내의 패킷 버퍼(3)에 이동된다. 이 패킷은 네트워크 인터페이스 모듈(2)에 의해 단말 장치로부터 외부로 전송된다.
도 3은 본 발명에 따른 플로 제어를 구비한 TCP와 종래의 TCP에서의 데이터 전송 스루풋을 비교하기 위해 나타낸 도면이다. TCP 윈도우 크기 제어에 있어서, 데이터 전송 및 수신은 수신용 단말 장치 내의 버퍼 크기에 대응하는 연속적으로 수신이 가능한 패킷들의 수(윈도우 크기)에 따라 제어된다. 종래의 TCP에서는 최대 윈도우 크기가 약 170 kB를 초과하면 데이터 전송 스루풋이 낮아진다. 반면에, 본 발명에 따른 플로 제어를 구비한 TCP는 데이터 전송 스르풋이 감소됨이 없이 증가하게 해준다. 플로 제어를 구비한 TCP에 있어서, 트랜스포트층으로부터의 데이터 전송 레이트를 지정된 레이트로 유지하는 기능이 종래의 TCP에 첨가된다. 지정된 레이트는 일반적으로 도 3의 그래프로 도시된 실재 데이터 전송 스루풋과 같다. 종래의 TCP와는 달리, 본 발명에 따른 플로 제어를 구비한 TCP는 전송 윈도우 크기가 크더라도, 도 3에 나타낸 바와 같이, 데이터 전송 스루풋이 낮아지지 않을 것이다. 그 이유는 패킷이 손실되지 않을 것이기 때문이다.
(제1 실시예)
도 4a 및 도 4b는 본 발명의 제1 실시예에 따른 플로 제어의 동작 흐름도를 나타낸다.
제1 실시예는 데이터 링크층의 패킷 버퍼들이 너무 많이 점유되어 버킷 패킷(bucket packet)이 오버플로되려고 할 때, 데이터 링크층이 패킷 전송을 일시 중지할 것을 트랜스포트층에 통지한다.
이러한 제1 실시예의 플로 제어에 있어서, 메인 메모리(1)는 패킷 버퍼 오버플로의 확률을 나타내는 변수 (이하 "버퍼 오버플로 플래그"로서 참조될 것임)를 내부에 구비하는데, 이 변수는 데이터 링크층을 구현하는 소프트웨어 (이하, "데이터 링크층 프로그램"으로서 참조될 것임)와 트랜스포트층을 구현하는 소프트웨어 (이하 "트랜스포트층 프로그램"으로서 참조됨) 둘 다에 의해 액세스될 수 있다.
도 4a는 데이터 링크층 프로그램의 동작을 나타내고, 도 4b는 트랜스포트층 프로그램의 동작을 나타낸다. 데이터 링크층의 패킷 버퍼들의 점유율 또는 활성화율이 임계치 T1 이상이면, 데이터 링크층 프로그램은 버퍼 오버플로 플래그를 세팅하거나 또는 올릴 것이다 (단계 201). 한편, 트랜스포트층 프로그램은 패킷을 하위층으로 전송하기 전에 버퍼 오버플로 플래그를 체크하여 플래그가 세팅되어 있는지를 판별하고 (단계 211) 플래그가 세팅되어 있다면 패킷 전송을 일시 중지한다 (단계 212). 그런 후에, 데이터 링크층의 패킷 버퍼들의 점유율이 임계치 T2 이하로 되면, 데이터 링크층 프로그램은 버퍼 오버플로 플래그를 낮추고 (단계 203 및 204), 트랜스포트층 프로그램이 패킷 전송을 재개할 것을 호출 및 요청한다 (단계 205). 임계치들 T1 및 T2는 네트워크 인터페이스 모듈(2)의 특성에 따른 값 (T1>T2)이다. 데이터 링크층으로부터 패킷 전송을 재개하라는 요청이 왔음을 알게 되면 (단계 214), 트랜스포트층 프로그램은 패킷 전송을 재개할 것이다 (단계 215). 그런 다음, 전송될 패킷이 더 이상 존재하지 않을 때까지 (단계 216), 트랜스포트층은 데이터 링크층에 버퍼 오버플로 플래그가 세트되지 않은 것을 확인하면서, 패킷들을 전송할 것이다 (단계 211 및 213).
(제2 실시예)
본 발명의 제2 실시예는 데이터 링크층의 패킷 전송 레이트가 트랜스포트층에 통지되고 그 결과 트랜스포트층이 상기 통지된 레이트보다 더 낮은 레이트로 패킷을 하위층에 전송하게 되는 제2의 플로 제어 방법을 채택한다.
제2 실시예의 플로 제어에 있어서는, 데이터 전송이 시작되면, 데이터 링크층 프로그램은 먼저 데이터 링크층으로부터 데이터가 전송되는 레이트를 트랜스포트층 프로그램에 알릴 것이다. 또한, 데이터 전송이 시작된 후에, 데이터 링크층으로부터의 데이터 전송 레이트가 바뀔 때 마다, 데이터 링크층 프로그램은 새로운 데이터 전송 레이트를 프랜스포트층에 알릴 것이다. 트랜스포트층 프로그램은 내부에 트래픽 셰이핑(shaping) 기능을 구비하는데, 이것은 하위층으로의 데이터 전송 레이트를 제어하여, 패킷 전송이 데이터 링크층의 데이터 전송 레이트보다 더 낮은 레이트에서 수행되도록 하는 기능이다.
더 구체적으로는, 트랜스포트층으로부터 데이터 링크층으로의 패킷 전송 레이트를 데이터 링크층으로부터의 패킷 전송 레이트보다 더 낮은 미리 지정된 값 Rt로 제어하기 위해, 트랜스포트층은 시각 t-s부터 t까지의 기간 동안 전송된 패킷들의 데이터의 합 Psum과 전송되려고 하는 패킷의 크기 P의 토탈 합인 Psum + P가 패킷의 최초 전송 이후에 시각 t-s에서 패킷 전송 레이트 Rt와 최대 버스트 크기 Bmax를 근거로 결정된 값 Rt×(t-s) + Bmax보다 더 작을 때에만 패킷을 하위층에 전송한다. 다른 경우에 있어서, 상기 조건들이 만족되는 시각 t 이후 시각 t' 이전에 아무런 패킷 전송이 수행되지 않고, 시각 t'에서 패킷 전송이 수행되어 상기 목적을 달성한다.
도 5는 본 발명의 제2 실시예에 따른 트래픽 셰이핑의 흐름도이다.
도 5에 도시된 실시예에 있어서, 제2 플로 제어 방법은 언제 패킷 전송이 수행될 지를 결정하는 식에서 패킷 전송 시작 시각 t-s부터 현재 시각 t까지의 임의의 기간 S0 동안 달성된다.
트랜스포트층 프로그램은 두개의 파라메터들인, 데이터 전송 레이트 Rt와 최대 버스트 크기 Bmax, 및 변수인 토큰 T를 갖는다. 토큰의 초기값은 최대 버스트 크기 Bmax와 같다. 개념적으로, 토큰은 시간이 지남에 따라 데이터 전송 레이트 Rt로 증가하나 최대 버스트 크기 Bmax 이상으로는 증가하지 않는다.
휴지(idling) 상태 (단계 100) 이후, 패킷이 애플리케이션층으로부터 도달되면 (단계 101), 먼저 토큰 T가 갱신된다 (단계 103). 즉, 토큰 T는 T = min(Bmax, T + Rt×(t-tp))의 값으로 갱신되는데, 여기서 t는 현재 시각이고 tp는 이전의 패킷 전송 시각이다.
다음으로, 패킷 크기 P가 토큰 T와 비교된다 (단계 104). P<T이면, 패킷이 전송된다 (단계 106). 패킷이 전송되면, 토큰 T는 패킷 크기 P만큼 감소된다 (T = T - P). 패킷 전송 후, 전송할 패킷이 존재하는지가 판별된다 (단계 107). 만일 전송될 패킷이 더 없으면, 동작은 휴지 상태로 되돌아 간다 (단계 100). 전송될 패킷 또는 패킷들이 남아있으면, 패킷 전송이 타임-아웃 동안 처리된다 (단계 102).
반면에, 만일 비교 결과 토큰 T가 P보다 더 작다면, 패킷은 전송되지 않는다. 토큰 T가 P보다 더 커지게 되면 시간 t0 = t + (P-T)/Rt이 계산되는데, 여기서 t0는 타임 아웃 동작 시간 길이를 지정한 타임 아웃 시간이다 (단계 105).
타임-아웃 동작이 수행될 때, 타임-아웃 프로세싱이 시작하고 (단계 102), 트랜스포트층 프로그램이 호출되고, 패킷 전송이 재개된다 (단계 101).
데이터 전송 레이트 Rt는 데이터 링크층에서 알려온 데이터 링크층의 데이터 전송 레이트 R1보다 더 낮아야 함을 주목해야 한다. 또한, 최대 버스트 크기 Bmax는 Buf × (Rmax - R1) / Rmax보다 더 작아야 하는데, 여기서 Buf는 데이터 링크층의 패킷 버퍼 크기이고, Rmax는 데이터 링크층에서의 버퍼 오버플로를 피하기 위한 트랜스포트층으로부터 하위층으로의 최대 전송 레이트이다.
상술한 바와 같이, 본 발명은 트랜스포트층과 데이터 링크층 사이의 플로 제어를 제공하여 단말 장치에서 패킷이 손실되지 않게 하여, 데이터 전송 스루풋 및 네트워크 사용율이 낮아지는 것을 방지할 수 있다.
도 1은 데이터 통신 프로토콜의 계층 구조를 나타낸 도면.
도 2는 본 발명에 따른 데이터 통신 단말 장치의 구성을 나타낸 도면.
도 3은 본 발명에 의해 얻을 수 있는 데이터 전송 스루풋의 특성 곡선 및 종래의 TCP에 의해 얻을 수 있는 특성 곡선을 나타낸 도면.
도 4a 및 도 4b는 본 발명의 제1 실시예에 따른 플로 제어의 동작 흐름도.
도 5는 본 발명의 제2 실시예에 따른 트래픽 셰이핑(traffic shaping)의 흐름도.
<도면의 주요 부분에 대한 부호의 설명>
1 : 메인 메모리
2 : 네트워크 인터페이스 모듈
3 : 패킷 버퍼
4 : CPU
5 : 버스
11 : 데이터 링크층
13 : 트랜스포트층

Claims (4)

  1. 위로부터, 애플리케이션층, 프리젠테이션층, 세션층, 트랜스포트층, 네트워크층, 데이터 링크층, 및 물리층으로 구성된 계층 구조를 갖는 데이터 통신 프로토콜을 구비한 통신 방법에 있어서,
    상기 데이터 통신 프로토콜은, 상기 데이터 링크층의 패킷 버퍼가 오버플로하려고 할 때 상기 데이터 링크층이 상기 트랜스포트층으로부터 상기 네트워크층을 경유하는 상기 데이터 링크층으로의 패킷 전송을 일시 중지할 것을 상기 트랜스포트층에 통지하거나 또는 상기 트랜스포트층에 상기 데이터 링크층의 패킷 전송 레이트를 통지하고 상기 통지된 패킷 전송 레이트보다 낮은 레이트로 상기 트랜스포트층으로부터 패킷을 전송함으로써, 상기 트랜스포트층과 상기 데이터 링크층 사이의 데이터 플로가 제어되도록 하는 것을 특징으로 하는 통신 방법.
  2. 제1항에 있어서,
    상기 플로 제어는, 상기 데이터 링크층 내의 상기 패킷 버퍼의 사용율(availability)이 제1 임계치보다 크면 패킷 전송을 일시 중지할 것을 상기 트랜스포트층에 지시하는 상기 데이터 링크층의 통지와, 그 후 상기 패킷 버퍼의 사용율이 상기 제1 임계치보다 작은 제2 임계치보다 작으면 패킷 전송을 재개하라고 상기 트랜스포트층에 요구하는 상기 데이터 링크층의 요청을 통해 수행되는 것을 특징으로 하는 통신 방법.
  3. 제1항에 있어서,
    상기 플로 제어는 시각 t-s부터 시각 t까지 기간 동안 전송된 패킷들의 데이터의 합 Psum과 전송되려고 하는 패킷의 크기 P의 총합인 Psum + P가 패킷의 최초 전송 이후 시각 t-s에서의 패킷 전송 레이트 Rt와 최대 버스트 크기 Bmax에 기초하여 결정된 값 Rt × (t-s) + Bmax보다 작을 때만, 상기 패킷을 트랜스포트층으로부터 하위층으로 전송하고, 상기와 다른 경우에는, 상기 조건들이 만족된 시각 t 이후 시각 t' 이전에는 패킷을 전송하지 않고 시각 t'에 패킷을 전송함으로써, 상기 트랜스포트층으로부터 상기 데이터 링크층으로의 패킷 전송 레이트를 상기 데이터 링크층으로부터의 패킷 전송 레이트보다 작은 소정값 Rt로 제어하는 것을 특징으로 하는 통신 방법.
  4. 중앙 처리 장치, 메인 메모리, 및 상기 중앙 처리 장치와 상기 메인 메모리 사이에 버스를 경유하여 접속된 네트워크 인터페이스 모듈을 갖는 데이터 통신 단말 장치에 있어서, 상기 중앙 처리 장치에 의해 제1항 내지 제3항 중 어느 한 항에 기재된 플로 제어가 수행되는 것을 특징으로 하는 데이터 통신 단말 장치.
KR1019980039746A 1997-09-25 1998-09-24 층간플로제어를위한데이터통신프로토콜을구비한통신방법,및데이터통신단말장치 KR100548835B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP25947497A JP3413788B2 (ja) 1997-09-25 1997-09-25 層間のフロー制御を行う通信プロトコルを持つ通信方法およびデータ通信端末
JP97-259474 1997-09-25

Publications (2)

Publication Number Publication Date
KR19990030108A KR19990030108A (ko) 1999-04-26
KR100548835B1 true KR100548835B1 (ko) 2006-07-25

Family

ID=17334586

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019980039746A KR100548835B1 (ko) 1997-09-25 1998-09-24 층간플로제어를위한데이터통신프로토콜을구비한통신방법,및데이터통신단말장치

Country Status (7)

Country Link
US (1) US6233224B1 (ko)
EP (1) EP0905950B1 (ko)
JP (1) JP3413788B2 (ko)
KR (1) KR100548835B1 (ko)
CN (1) CN1214589C (ko)
DE (1) DE69816213T2 (ko)
SG (1) SG74080A1 (ko)

Families Citing this family (56)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7155662B1 (en) * 1998-08-31 2006-12-26 Xerox Corporation Representing an entity as a document using a data source having active properties
US6507563B1 (en) 1998-12-24 2003-01-14 Cisco Technology, Inc. Methods and apparatus for controlling congestion within diverse protocol stacks
US6438105B1 (en) * 1999-02-08 2002-08-20 3Com Corporation Reliable internet facsimile protocol
JP2000324164A (ja) * 1999-05-12 2000-11-24 Nec Corp パケットデータ転送装置
AU2196401A (en) * 1999-12-18 2001-06-25 Roke Manor Research Limited Improvements in or relating to internet access
US6928057B2 (en) 2000-02-08 2005-08-09 Agere Systems Inc. Translation system and related method for use with a communication device
US20020002611A1 (en) * 2000-04-17 2002-01-03 Mark Vange System and method for shifting functionality between multiple web servers
US6868461B1 (en) * 2000-07-19 2005-03-15 Mindspeed Technologies, Inc. Link layer controller that provides a memory status signal to a network layer system in a communication device
EP1261183A1 (en) 2001-05-23 2002-11-27 Telefonaktiebolaget L M Ericsson (Publ) Method and system for processing a data unit
JP4573470B2 (ja) * 2001-06-08 2010-11-04 富士通株式会社 伝送装置及びそのフロー制御方法
US7088678B1 (en) * 2001-08-27 2006-08-08 3Com Corporation System and method for traffic shaping based on generalized congestion and flow control
US7281052B2 (en) 2001-12-14 2007-10-09 International Business Machines Corporation Data tracing identifiers
JP3947424B2 (ja) 2002-05-02 2007-07-18 株式会社エヌ・ティ・ティ・ドコモ パケット送信制御装置、移動ノード、制御ノード、パケット通信方法、及びパケット通信システム
JPWO2004059914A1 (ja) * 2002-12-26 2006-05-11 松下電器産業株式会社 ネットワーク端末装置、通信過負荷回避方法およびプログラム
US6993342B2 (en) * 2003-05-07 2006-01-31 Motorola, Inc. Buffer occupancy used in uplink scheduling for a communication device
US7266081B2 (en) 2003-06-05 2007-09-04 Nokia Corporation Method and system for arranging data flow control in a data transfer system
AU2003251099A1 (en) * 2003-08-15 2005-03-07 Nokia Corporation Data flow control for multi-layered protocol stack
EP1528722A1 (en) * 2003-10-31 2005-05-04 Siemens Mobile Communications S.p.A. Fast signalling procedure for streaming services quality of service management in wireless networks
US7418464B2 (en) * 2004-01-27 2008-08-26 International Business Machines Corporation Method, system, and program for storing data for retrieval and transfer
US7797723B2 (en) * 2004-10-30 2010-09-14 Sharp Laboratories Of America, Inc. Packet scheduling for video transmission with sender queue control
US8218770B2 (en) * 2005-09-13 2012-07-10 Agere Systems Inc. Method and apparatus for secure key management and protection
US8521955B2 (en) 2005-09-13 2013-08-27 Lsi Corporation Aligned data storage for network attached media streaming systems
US7912060B1 (en) * 2006-03-20 2011-03-22 Agere Systems Inc. Protocol accelerator and method of using same
CN1764200B (zh) * 2005-10-27 2010-05-05 武蒙 一种网络安全访问控制体系结构及实现方法
CN1988710B (zh) * 2005-12-20 2010-06-09 中兴通讯股份有限公司 一种mac状态迁移的控制方法与***
FR2898231A1 (fr) * 2006-03-06 2007-09-07 France Telecom Mecanisme de regulation multicouches du debit d'un flux de donnees tcp dans un reseau haut debit ethernet full duplex
US7760723B1 (en) 2006-06-01 2010-07-20 World Wide Packets, Inc. Relaying a data stream from a data device to a network tunnel
US7653056B1 (en) * 2006-06-02 2010-01-26 World Wide Packets, Inc. Virtual switching using a provisional identifier to conceal a user identifier
US8018938B1 (en) 2006-06-02 2011-09-13 World Wide Packets, Inc. Translating between a switching format and a transport format
US8462629B2 (en) * 2006-06-14 2013-06-11 Riverbed Technology, Inc. Cooperative operation of network transport and network quality of service modules
CN1909523B (zh) * 2006-08-17 2012-05-02 华为技术有限公司 检测器、呼叫会话控制***及检测呼叫信号的方法
EP2074769A2 (en) * 2006-10-06 2009-07-01 ViaSat, Inc. Dynamic feedback for outbound link rate adjustment in multi-rate downstream
US7830883B1 (en) 2006-12-19 2010-11-09 World Wide Packets, Inc. Modifying duplicate packets to have different transport formats
US9170970B2 (en) * 2007-01-15 2015-10-27 Lantiq Beteiligungs-GmbH & Co. KG Detector to search for control data
JP4894563B2 (ja) * 2007-03-07 2012-03-14 日本電気株式会社 通信装置
EP2248309B1 (en) * 2008-02-27 2017-06-21 Nokia Technologies Oy Buffer control for multi-transport architectures
JP5087595B2 (ja) * 2009-07-31 2012-12-05 日本電信電話株式会社 エッジノード、ウィンドウサイズ制御方法およびプログラム
JP5087594B2 (ja) * 2009-07-31 2012-12-05 日本電信電話株式会社 エッジノード、ウィンドウサイズ制御方法およびプログラム
CN101626384B (zh) * 2009-08-05 2012-05-30 腾讯科技(深圳)有限公司 一种基于tcp协议传输数据包的方法和***
US8238244B2 (en) * 2009-08-10 2012-08-07 Micron Technology, Inc. Packet deconstruction/reconstruction and link-control
US8510621B2 (en) * 2009-12-29 2013-08-13 Industrial Technology Research Institute Method and apparatus for providing resource unit based data block partition
KR101094013B1 (ko) * 2009-12-30 2011-12-15 주식회사 팬택 사용자 단말기 및 그의 무선자원을 이용한 프레임 송수신 방법, 그리고, 기지국의 무선자원을 이용한 프레임 전송 방법
JP5283638B2 (ja) * 2010-01-08 2013-09-04 アラクサラネットワークス株式会社 パケット中継装置
CN102148743B (zh) * 2010-02-05 2013-08-21 联芯科技有限公司 一种数据流量的控制方法、装置及移动终端
JP5105111B2 (ja) * 2010-02-26 2012-12-19 Necアクセステクニカ株式会社 パケット中継装置及びパケット中継方法
JP5506591B2 (ja) * 2010-08-03 2014-05-28 日本電信電話株式会社 通信システム及び通信品質制御方法
JP5598306B2 (ja) * 2010-12-20 2014-10-01 富士通株式会社 中継装置および通信方法
WO2013140602A1 (ja) * 2012-03-23 2013-09-26 富士通株式会社 輻輳制御方法、輻輳制御装置、通信システム及び輻輳制御プログラム
ITFI20130011A1 (it) 2013-01-15 2014-07-16 V E T Srl Sa Sistema e metodo per telecomunicazioni dati con terminali mobili
CN104426858B (zh) * 2013-08-26 2018-03-23 联想(北京)有限公司 一种信息处理方法及电子设备
KR102117515B1 (ko) * 2013-09-30 2020-06-01 엘지전자 주식회사 Iptv 및 그 구동 방법
JP6248638B2 (ja) * 2014-01-06 2017-12-20 富士通株式会社 通信端末、プログラム、及び通信方法
KR102548738B1 (ko) * 2016-01-22 2023-06-29 삼성전자주식회사 전자 장치, 그의 무선 통신 방법 및 비일시적 컴퓨터 판독가능 기록매체
KR102560594B1 (ko) * 2016-05-03 2023-07-27 삼성전자주식회사 무선 통신 시스템에서 패킷을 송신하기 위한 장치 및 방법
CN106412091A (zh) * 2016-10-25 2017-02-15 广东欧珀移动通信有限公司 数据传输的控制方法、装置及***
US20200145881A1 (en) * 2018-11-06 2020-05-07 Qualcomm Incorporated System and method for flow control and buffer status report

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0486935A (ja) * 1990-07-31 1992-03-19 Nec Corp 計算機装置
JPH0697983A (ja) * 1992-09-10 1994-04-08 Toshiba Corp ネットワークシステム

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA1266318A (en) 1985-10-07 1990-02-27 Hiroshi Suzuki High-speed packet-switched communications system with end-to-end flow control and retransmission
US5361372A (en) 1991-12-27 1994-11-01 Digital Equipment Corporation Memory management for data transmission networks
US5313454A (en) * 1992-04-01 1994-05-17 Stratacom, Inc. Congestion control for cell networks
JPH0793645B2 (ja) * 1993-01-11 1995-10-09 日本電気株式会社 信号接続制御部
US5367523A (en) * 1993-08-26 1994-11-22 International Business Machines Corporation Adaptive rate-based congestion and flow control in packet communications networks
SG47794A1 (en) * 1993-09-30 1998-04-17 Intel Corp Buffer memory management for a computer network node
US6034963A (en) * 1996-10-31 2000-03-07 Iready Corporation Multiple network protocol encoder/decoder and data processor
US6046980A (en) * 1996-12-09 2000-04-04 Packeteer, Inc. System for managing flow bandwidth utilization at network, transport and application layers in store and forward network
US6018530A (en) * 1997-06-19 2000-01-25 Sham Chakravorty Method for transmitting using a modified transport control protocol
US6081524A (en) * 1997-07-03 2000-06-27 At&T Corp. Frame relay switched data service

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0486935A (ja) * 1990-07-31 1992-03-19 Nec Corp 計算機装置
JPH0697983A (ja) * 1992-09-10 1994-04-08 Toshiba Corp ネットワークシステム

Also Published As

Publication number Publication date
CN1214589C (zh) 2005-08-10
JPH1198219A (ja) 1999-04-09
EP0905950B1 (en) 2003-07-09
EP0905950A1 (en) 1999-03-31
DE69816213D1 (de) 2003-08-14
JP3413788B2 (ja) 2003-06-09
US6233224B1 (en) 2001-05-15
CN1218346A (zh) 1999-06-02
SG74080A1 (en) 2000-07-18
DE69816213T2 (de) 2004-05-27
KR19990030108A (ko) 1999-04-26

Similar Documents

Publication Publication Date Title
KR100548835B1 (ko) 층간플로제어를위한데이터통신프로토콜을구비한통신방법,및데이터통신단말장치
US7876678B2 (en) Congestion control for signalling transport protocols
US7369498B1 (en) Congestion control method for a packet-switched network
US6167027A (en) Flow control technique for X.25 traffic in a high speed packet switching network
US7499402B2 (en) Network delay control
JP4738594B2 (ja) データフロー制御方法および装置
US6438101B1 (en) Method and apparatus for managing congestion within an internetwork using window adaptation
EP0688481B1 (en) Device and method for atm end system cell flow regulation
JP5020076B2 (ja) 低頻度ackのシステムに適した高性能tcp
KR100599920B1 (ko) 동기식 디지털 계층 전송 네트워크 상에서의 이더넷데이터 흐름을 제어하는 방법
KR100333259B1 (ko) 프레임릴레이교환네트워크를통하여인정정보속도를적응시키는방법
EP1371192B1 (en) Method and device for improving a data throughput
WO2001097446A2 (en) Enhancement of explicit congestion notification (ecn) for wireless network applications
US8416694B2 (en) Network feedback method and device
EP3262804B1 (en) Supporting delivery of data packets using transmission control protocol in a wireless communication network
JP3003095B1 (ja) フロー制御方法
JPH11331265A (ja) 入出力バッファを使用するための方法及び装置
CN111092907B (zh) 基于udp协议的数据流快速传输方法、***及介质
JP4531302B2 (ja) パケット中継装置、及びその方法
JP4925916B2 (ja) データ送信装置、データ送信方法及びデータ送信プログラム
Goldstein Congestion control in frame relay networks using explicit binary feedback
JPH11261632A (ja) 帯域割当制御方法
JP2002290426A (ja) 輻輳度考慮優先パケット送信装置
Buntinas Congestion control schemes for tcp/ip networks
KR100603570B1 (ko) 네트워크 혼잡 제어 장치 및 방법

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: 20130125

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20140117

Year of fee payment: 9

FPAY Annual fee payment

Payment date: 20150116

Year of fee payment: 10

FPAY Annual fee payment

Payment date: 20160119

Year of fee payment: 11

FPAY Annual fee payment

Payment date: 20170113

Year of fee payment: 12

FPAY Annual fee payment

Payment date: 20180112

Year of fee payment: 13

EXPY Expiration of term