따라서 보편적 인 합의에 의해 TCP는이 매우 영리한 프로토콜이므로 "느린 시작"이라고합니다. 일반적으로 승인없이 몇 개의 패킷을 보낼 수있는 권한이 부여됩니다. 아이디어는 바로 여기로 이동하도록하겠습니다. 일반적으로이 숫자는 2입니다. 따라서 TCP가 시작되면 두 개의 패킷을 하나씩 전송할 수 있습니다. 첫 번째는 인정하지 않고 두 번째는 전송합니다. 그러나 기다립니다. 스로틀 링 규칙은 수신 할 때마다 수신 확인할 수없는 패킷 수가 하나씩 증가하도록 허용하는 것입니다.
생각해 보도록하겠습니다. 수신 확인할 때마다 수신 확인되지 않은 패킷 수를 하나씩 늘릴 수 있습니다. 따라서 합의 된 시작에 따라 두 개의 패킷을 먼저 보냅니다. 그들은 인정받습니다. 그래서 우리는 첫 승인을 받았습니다. 우리는 둘을 보내도록 허용했다. 이제이 첫 번째 승인을 받으면 1 ~ 3 씩 증가시킵니다. 따라서 이제 더 이상 승인하지 않고 3 개의 패킷을 더 보낼 수 있습니다. 이전에 보낸 내용에 대해 승인이 다시 오면 4로 증가시킵니다. 이것을 "혼잡 창"이라고합니다. 그것은 라인으로 전송 된 윈도우가 아닙니다. 즉 수신 윈도우와는 다릅니다. 수신 윈도우와는 다릅니다.이 윈도우는 우리가 전송할 수있는 데이터의 양을 알려주는 TCP 헤더의 16 비트입니다. 이것은 창입니다. 그것'
승인되지 않은 패킷의 수를 계속 늘리면 승인을받을 때마다 하나씩 보낼 수 있습니다. 어느 시점에서 한도에 도달 할 것입니다. 그리고이 시스템의 장점은 라우터 사이에서 가장 약한 링크보다 문자 그대로 링크를 빨리 보내려고 시도 할 때 어떤 점에서 가장 약한 링크가 깨지는 지점을 발견한다는 것입니다. 보내려고하는 패킷을 너무 빨리 보내려고하므로 삭제합니다. 따라서 데이터가 더 이상 통과하지 않기 때문에 다른 쪽 끝의 승인이 중지됩니다.
그리고 TCP가 수신하지 못한 경우 TCP가하는 일은 전략에 따라 다릅니다. 시간이 지남에 따라 전략, 실제 혼잡 방지 전략은 많이 달라졌습니다. Tahoe와 Reno와 같은 이름과 다른 행동이 있는지 구체적으로 나타내는 인터넷 검색 및 Wikipediaing을 수행하는 경우 볼 수있는 다른 것들이 있습니다. 그러나 발신자가 수신 확인이 누락되어 데이터가 더 이상 통과하지 않는다는 것을 인식하면 전송 속도가 빠르게 줄어든다는 아이디어입니다. 일반적으로 반으로 나눕니다. 따라서 크기를 크게 줄인 다음 다시 늘립니다.
따라서 이것이 의미하는 바는 패킷 손실이 "우리는 더 이상 데이터를 더 빨리 전송할 수 없습니다"라는 신호 기능이며, 인터넷을 통해 연결의 각 끝에있는 TCP 발신자는 항상 일종의 것입니다. ' 두 끝점 사이에서 사용할 수있는 최대 속도, 즉 가장 약한 링크, 즉 어디에서든지 항상 더 빠른 속도로 이동하려고 시도하며 항상 한계에 도달합니다. 따라서 패킷 전송 능력보다 약한 지점이 있다면 패킷을 펌핑하기 때문에 찾을 것입니다. 전송할 데이터가 있고 높은 대역폭 연결을 유지하는 한, 발신자는 전송 속도, 즉 미해결 패킷 수, 즉 승인으로 즉시 전송 될 수있는 패킷을 증가시킵니다. 돌아와, 그 숫자가 너무 멀어 질 때까지 그 숫자를 계속 위쪽으로 이동시킵니다. 그런 다음 많이 후퇴 한 다음 다시 앞으로 이동합니다.
그래서 이것은 실제로 TCP 연결 사이에서 일어나는 일입니다. 아마도 몇 퍼센트인지 모르지만 인터넷에서 트래픽의 대부분은 TCP 연결을 통해 발생합니다. 커널에있는 모든 운영 체제 (소위 TCP 스택)에는 이러한 카운터가 있습니다. 파일을 보낼 때, 큰 파일을 올리거나 웹 페이지를받을 때 다른 쪽 서버도 같은 일을합니다. 개별 연결을 기준으로 아직 승인되지 않은 많은 패킷을 푸시하여 실패하거나 중단되는 지점에 도달 할 때까지 패킷 속도를 높입니다. 그런 다음 다시 복구하고 복구 할 수 있도록 백업을 다시 시작합니다.
그래서 그것은 일종의 자체 조절 시스템으로 끝납니다. 제약 조건을 감안할 때, 그것은 실제로 일종의 펑키하고 조잡한 것 같습니다. "