3 Way Handshake
① 클라이언트는 SYN패킷( sequence number 포함 )을 생성해서 서버에 전달한다.
② 서버는 SYN 패킷( sequence number 포함 )과 받은 ACK 패킷( SYN의 대답 / acknowledgement number 포함 )을 클라이언트에게 전달한다.. 그리고 서버는 클라이언트의 접속을 받아들이기 위해, 램( RAM )에 일정 공간을 확보 해 둔다.
③ 클라이언트는 방금 받은 ACK 패킷( SYN의 대답 / acknowledgement number 포함 )을 서버에 전달합니다. 여기서도 마찬가지로 acknowledgement number의 값은 방금 받은 SYN 패킷의 sequence number 값에 일정 값을 증가시켜서 보낸다.
SYN Flooding
3 Way Handshake 2번 과정에서, 클라이언트가 SYN 패킷만을 계속적으로 보내고 ACK 패킷을 안 보내게 되면, 서버는 클라이언트의 연결을 받아들이기 위해 램( RAM ) 공간을 점점 더 많이 확보해둔 상태에서 대기한다.
그리고 서버의 램( RAM )이 꽉 차게 되면 더이상 연결을 받아들일 수 없게되고, 서버는 서비스를 서비스를 계속할 수가 없게 된다.
SYN Flooding 대응방안
1. Syncookie 기능을 활성화
2. 특정 IP 주소에서 오는 SYN 패킷의 수를 제한
'Layer7 > WriteUp' 카테고리의 다른 글
File Descriptor 개념 정리 (0) | 2024.08.29 |
---|---|
시스템해킹 환경구축 (0) | 2024.08.13 |
ARP 정리 (0) | 2024.07.26 |
DNS 정리 (0) | 2024.07.26 |
나만의 vm C언어로 구현하기 (0) | 2024.07.16 |