문제

현재 컴퓨터 과학 및 엔지니어링에서 학사 논문을 쓰고 있으며 OpenGL을 사용하여 C ++에서 경주 게임을 만드는 것입니다.보고서에서 TCP와 UDP의 사용을 비교하고 소스 는 여러 TCP 연결이 UDP 연결에서 패킷 손실을 유도 할 수 있다고 주장했습니다.나는 심지어 참조

문제는 13 세임을 거짓말하지만이 문제를 해결하기 위해 프로토콜이 수정 된 표시를 찾을 수 없었습니다.또한 종이 나 기사를 찾을 수 없었습니다. 이는 비슷한 조사를 수행합니다

이 질문은 관련성이있는 프로토콜에 대한 변경 사항이 있든 / 또는 논문 보고서 에서이 이전 참조를 사용하는 것을 잊어야하는 경우

도움이 되었습니까?

해결책

Read the significant points in the article:

  1. First, we focused on the case in which only TCP connections use all of the bandwidth of the network.
  2. With the increase in the number of TCP connections, a larger number of packets can simultaneously arrive at the node, thereby making the buffer severely congested and thus making packet loss occur more often.

So the WAN link under test is saturated and the testing is for fairness of the TCP and UDP protocols. The 29 West article linked in the comments also notes:

Myth--There is no loss in networks that are operating properly.

Reality--The normal operation of TCP congestion control may cause loss due to queue overflow. See this report for more information. Loss rates of several percent were common under heavy congestion.

None of this is particularly new or should be surprising to anyone. Consider a home Internet connection, DSL or Cable with minimal speed, e.g. 2mb/s and setup one computer with Bittorrent downloading several large files, now try to run a UDP game such as Valve's Team Fortress 2. It's not going to work well.

With VoIP many networking persons started looking at methods to improve this situation which brings QoS to the table. QoS however demands co-operation both ends of the WAN and so this is of no benefit to the majority of end users. The only real solution is bandwidth throttling. If you have a 2mb link you set the TCP traffic to say 1.5mb and leave the remainder for UDP traffic for gaming.

If you are developing a split protocol game you would define a upper bandwidth limit, say 25KB/s per client for the total traffic and then define separate limits for TCP and UDP traffic within that limit, e.g. 15KB/s for TCP and 10KB/s for UDP. Generally games tend to use HTTP (TCP) for downloading game content outside of the game and then switch to UDP inside the game to remove the issue completely.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top