컴퓨터 지식 네트워크 - 컴퓨터 프로그래밍 - 호스트 a 와 호스트 b 는 TCP 를 사용합니다.

호스트 a 와 호스트 b 는 TCP 를 사용합니다.

(1) 첫 번째 단락에서 몇 바이트의 데이터를 가지고 있습니까? 데이터는 70-99, 100-70 = 30 입니다.

(2) 호스트 B 가 첫 번째 메시지 세그먼트를 받은 후 반송된 확인 번호는 무엇입니까? 반송된 확인 번호는 100 입니다.

(3) B 가 두 번째 메시지 세그먼트를 받은 후 반송된 확인 번호가 180 이면 A 가 보낸 두 번째 메시지 세그먼트의 데이터는 몇 바이트입니까? 확인 번호가 180 이면 데이터는 180- 100=80 입니다.

(4) A 가 보낸 첫 번째 단락이 분실되었지만 두 번째 단락이 B 에 도착하면 B 는 두 번째 단락이 도착한 후 A 에게 확인을 보냅니다. 이 확인번호는 얼마여야 하나요? 첫 번째 메시지 세그먼트를 받지 못했기 때문에 확인 번호는 70 입니다.

확장 데이터:

함수 mytcp_sync_mss 는 TCP 소켓의 MSS 관련 멤버를 데이터 동기화합니다. 기본 알고리즘은 다음과 같습니다.

1. 일반적으로 현재 MSS 는 mtu-IP header -TCP header (옵션 없음) 여야 합니다.

2, TCP _ sock 구성-> rx _ opt-> Mss_clamp 에는 피어가 통보한 허용 가능한 MSS 값이 포함되어 있습니다. 이 값이 첫 번째 단계에서 계산된 MSS 보다 작으면 이 값을 기준으로 합니다.

3. IP 보고 헤더에 IP 옵션이 있는 경우 MSS 에서 옵션 길이를 빼야 합니다.

4. MSS 가 48 보다 작으면 48 로 설정합니다.

5. TCP 헤더에서 옵션의 길이를 뺍니다.

6. MSS 가 현재 슬라이딩 창 크기의 1/2 보다 큰 경우 슬라이딩 창 크기의 1/2 를 MSS 값 (48 미만 아님) 으로 가져옵니다.

7. 멤버 mss_cache 는 방금 계산된 MSS 를 캐시하는 데 사용됩니다.

따라서 로컬 이더넷의 MSS 는 1460 이 정확하지 않으며 동적으로 변경됩니다. IP 헤더 및 TCP 헤더에 옵션이 있는 경우 MSS 를 그에 따라 줄여야 합니다. 일반 TCP 헤더에는 12 바이트의 타임스탬프 옵션 (2 바이트 채우기 옵션 추가) 이 있습니다. 여기서 MSS 는 1448 과 같습니다.

Baidu 백과 사전 -—TCP 메시지 형식

上篇: 인류 역사상 최초의 우주국가가 시민 모집을 시작했는데 자리가 거의 남지 않았습니다! ! ! 下篇: 충전기 8a와 6a의 차이점은 무엇인가요?
관련 내용