반응형
Stateless는 http와 같이 이전의 상태를 기록하지 않는 접속입니다.
어떤 절차에 따른 작업을 하기 위해서 웹서버에 접속을 하고 작업을 진행하다 접속이 끊어졌을때 작업을 새로이 시작해야 한다고 보시면 됩니다. 하긴 요즈음의 경우 쿠키같은 것으로 조금은 개선이 되어 있기는 하지만요..
결국 웹서버가 사용자의 작업을 기억하지 않고 있다는 의미입니다.
그에 비해 stateful은 상태를 기억하고 있는 것입니다. 아마 이에 대한 적절한 예는 온라인 게임의 경우라고 볼 수 있겠네요. 사용자가 진행한 작업또는 사용자의 요청을 서버가 기록하고 있으며 사용자가 다시 게임에 로그온 했을때는 이전에 기록된 단계에서 부터 다시 시작하는 것입니다.
그럼 방화벽에서의 stateful은 이러합니다.
일반적인 라우터 기반의 방화벽은 tcp 패킷의 syn 또는 syn-ack로서 처리를 하는데 방화벽 내부에 위치한 네트워크로 들어보는 패킷을 차단하려면 라우터의 프로세서가 패킷의 tcp 헤더를 열어서 tcp헤더 정보가 syn인것은 차단하고 syn-ack는 통과 결정 하므로 상당한 부하가 발생합니다.
그래서 방화벽에서는 stateful 패킷 필터링을 사용하는데 이것은 내부네트워크에서 외부로 접속하는 접속에 대한 정보(syn)를 기록하고 외부에서 내부로의 응답(syn-ack)이 오게 되면 방화벽의 프로세서는 응답을 기록된 정보와 비교해서 정보가 존재하면 선택적으로 통과 시키게 됩니다. stateful기능이 없다면 외부에서 내부로 들어 오는 패킷은 모두 차단되어 버리는 결과가 발생하므로 패킷을 하나하나 열어서 tcp 헤더를 확인해야 되므로 고속처리는 어려워 지게 됩니다.
결국 접속의 상태를 기록(또는 유지)하느냐 안하느냐의 차이라고 개념을 잡으심 되겠고요..해석하실때는 그냥 stateful 또는 stateless라고 적으시면 됩니다.
반응형