본문 바로가기
네트워크/컴퓨터네트워크

Silly Window Syndrome / SYN Flooding

by HJINHA 2021. 4. 6.

- 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)ACK0을 넣어 보내므로 송신측에서 바로 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

댓글