- Silly Window Syndrome
: 보내는 데이터의 크기가 헤더의 크기보다도 작아서 발생하는 비효율적 상황.
1. 송신 측에서 발생하는 Silly Window Syndrome
- 1바이트 데이터 보내려고 40바이트 헤더 사용 -> 비효율적임
- 해결 방법
- 1) Nagle 알고리즘
: 보낼 데이터가 MSS(maximum segment size)로 정의된 크기만큼 쌓일 때까지 기다리다 보냄. but 이전에 보냈던 데이터에 대한 ACK이 오면, MSS보다 작더라도 보냄.
2. 수신 측에서 발생하는 Silly Window Syndrome
- 수신 측 버퍼가 꽉 찼는데 수신측에서 하나만 가져감 -> 송신측은 rwnd=1를 받으므로 하나만 보냄 -> 작은 데이터를 보내려고 큰 헤더를 쓰는 비효율적 상황
- 해결 방법
- 1) Clark 해결 방법
: 수신 측에서 ACK을 보낼 때, rwnd=1이 아닌 rwnd=0을 보냄. (1) 버퍼의 반이 비거나 (2) MSS를 채울 정도로 비면 그때 rwnd를 제대로 보냄. - 2) 확인 응답의 지연
일정 크기 이상의 빈 공간이 생기기 전까지 ACK 자체를 보내지 않음. - * 1)과 2)의 차이점: 1)은 ACK에 0을 넣어 보내므로 송신측에서 바로 stop가능하지만, 2)는 ACK 자체를 안 보내므로 송신측에선 그전 rwnd 크기까지는 계속 보낼 수 있음
- SYN Flooding
: 자기 주소가 아닌 주소로 SYN을 보내면 서버가 그 ‘다른 주소’에 SYN+ACK을 보냄 -> 서버는 SYN에 대한 ACK을 받지 못하고, 연결 요청 대기 큐는 관련 없는 client들로 채워짐 -> 공간이 모두 차면 정상적인 서비스가 불가능해짐
- DOS 공격의 일종이다. 조작된 주소로 SYN을 많이 보내 대기 큐를 차게 만들어 어느 누구와도 연결하지 못하게 만드는 공격.
'네트워크 > 컴퓨터네트워크' 카테고리의 다른 글
TCP (0) | 2021.06.28 |
---|---|
Error Control (0) | 2021.04.06 |
TCP 확인응답 (0) | 2021.03.23 |
TCP (0) | 2021.03.23 |
OSI MODEL, TCP/IP PROTOCOL (0) | 2021.03.23 |
댓글