TCP가 신뢰성을 어떻게 보장하는지 알려주세요

TCP는 신뢰성을 보장합니다

1. 일련 번호, 확인 응답, 타임 아웃 재전송
데이터가 수신기에 도착하면 수신기는 재전송을 보냅니다. 데이터 세그먼트가 수신되었음을 나타냅니다. 그리고 확인 시퀀스 번호는 다음에 수신 할 것으로 예상되는 데이터 시퀀스 번호를 나타냅니다. 발신자가 장시간 응답을받지 못하면 전송 된 데이터가 유실되거나 응답이 유실 된 것일 수 있으며, 이때 발신자는 일정 시간 기다린 후 데이터를 재전송합니다. 이 시간은 일반적으로 메시지의 왕복 시간입니다.

2. 윈도우 제어 및 고속 재전송
TCP는 윈도우 제어를 사용하여 전송 속도를 높이기 때문에 시리얼 포트 크기 내에서 상대방의 응답을 기다릴 필요없이 데이터를 계속 전송할 수 있으며 시리얼 포트는 대기없이 데이터를 계속 전송할 수있는 최대 값입니다. 창 제어가 없으면 확인 응답을받지 못한 모든 데이터를 다시 보내야합니다.

1001-2000의 데이터 세그먼트가 손실 된 경우 데이터를 수신 한 후 매번 확인 응답은 시퀀스 번호 1001로 응답을 보냅니다. 보낸 사람이이 응답을 세 번 받으면 즉시 다시 보냅니다.

3. 혼잡 제어
창을 너무 크게 설정하면 발신자가 많은 양의 데이터를 전송하여 네트워크 혼잡을 유발할 수 있습니다. 네트워크 마비를 유발합니다.

느린 시작, 혼잡 방지 : 혼잡 창을 처음에 1로 정의하고 확인 응답을받을 때마다 창 값 * 2를 설정합니다. 느린 시작 임계 값을 설정합니다. 혼잡 창의 크기가이 임계 값에 도달하면 혼잡 창이 기하 급수적으로 증가하지 않습니다. , 그러나 추가로 증가합니다.
매번 혼잡이 발생하면 먼저 임계 값을 현재 정상 값으로 설정 한 다음 창 값을 1로 설정합니다.

빠른 재전송 및 빠른 복구 : 3 개의 반복 확인 응답이 수신되면 3 개의 세그먼트가 수신되었지만 이전 세그먼트가 손실되고 재전송이 수행됨을 의미합니다. 그런 다음 임계 값을 현재 창의 절반으로 설정합니다. 창 크기는 임계 값에서 선형으로 증가합니다.

UDP는 신뢰성을 어떻게 보장합니까?

전송 계층은 안정적인 전송을 보장 할 수 없으므로 확인 메커니즘, 재전송 메커니즘 및 직렬 포트는 응용 프로그램 계층에서만 구현 될 수 있습니다.

추천

출처blog.csdn.net/aaaqqq1234/article/details/108294476