TCP는 신뢰성을 보장합니다
1. 일련 번호, 확인 응답, 타임 아웃 재전송
데이터가 수신기에 도착하면 수신기는 재전송을 보냅니다. 데이터 세그먼트가 수신되었음을 나타냅니다. 그리고 확인 시퀀스 번호는 다음에 수신 할 것으로 예상되는 데이터 시퀀스 번호를 나타냅니다. 발신자가 장시간 응답을받지 못하면 전송 된 데이터가 유실되거나 응답이 유실 된 것일 수 있으며, 이때 발신자는 일정 시간 기다린 후 데이터를 재전송합니다. 이 시간은 일반적으로 메시지의 왕복 시간입니다.
2. 윈도우 제어 및 고속 재전송
TCP는 윈도우 제어를 사용하여 전송 속도를 높이기 때문에 시리얼 포트 크기 내에서 상대방의 응답을 기다릴 필요없이 데이터를 계속 전송할 수 있으며 시리얼 포트는 대기없이 데이터를 계속 전송할 수있는 최대 값입니다. 창 제어가 없으면 확인 응답을받지 못한 모든 데이터를 다시 보내야합니다.
1001-2000의 데이터 세그먼트가 손실 된 경우 데이터를 수신 한 후 매번 확인 응답은 시퀀스 번호 1001로 응답을 보냅니다. 보낸 사람이이 응답을 세 번 받으면 즉시 다시 보냅니다.
3. 혼잡 제어
창을 너무 크게 설정하면 발신자가 많은 양의 데이터를 전송하여 네트워크 혼잡을 유발할 수 있습니다. 네트워크 마비를 유발합니다.
느린 시작, 혼잡 방지 : 혼잡 창을 처음에 1로 정의하고 확인 응답을받을 때마다 창 값 * 2를 설정합니다. 느린 시작 임계 값을 설정합니다. 혼잡 창의 크기가이 임계 값에 도달하면 혼잡 창이 기하 급수적으로 증가하지 않습니다. , 그러나 추가로 증가합니다.
매번 혼잡이 발생하면 먼저 임계 값을 현재 정상 값으로 설정 한 다음 창 값을 1로 설정합니다.
빠른 재전송 및 빠른 복구 : 3 개의 반복 확인 응답이 수신되면 3 개의 세그먼트가 수신되었지만 이전 세그먼트가 손실되고 재전송이 수행됨을 의미합니다. 그런 다음 임계 값을 현재 창의 절반으로 설정합니다. 창 크기는 임계 값에서 선형으로 증가합니다.
UDP는 신뢰성을 어떻게 보장합니까?
전송 계층은 안정적인 전송을 보장 할 수 없으므로 확인 메커니즘, 재전송 메커니즘 및 직렬 포트는 응용 프로그램 계층에서만 구현 될 수 있습니다.