CS 과제 정리
[CS] 브라우저 검색 시 클라이언트-서버 흐름
thisnorm
2025. 1. 9. 18:10
만약만약 클라이언트가 브라우저에 www.naver.com을 검색했다고 가정해보자.
그러면 서버에서 로컬 네임 서버에 질의를 한다.
그 다음 로컬 네임 서버가 루트 네임 서버에 질의를 한다.
그 다음 루트 네임 서버가 책임 네임 서버에 질의를 한다.
최종 책임 네임 서버가 도메인 네임에 맞는 IP 주소를 반환한다.
반환한 IP 주소를 역순으로 넘겨준다.
마지막으로 서버가 클라이언트에게 네이버에 맞는 IP 주소를 반환해준다.
혹은 반복적으로 질의를 하여
로컬 네임 서버가 루트 네임 서버에게 질의를 하여 가능하면 바로 반환
아니면 다음으로 책임 네임 서버에게 질의를 하여 가능하면 바로 반환
또 아니면 다음으로 책임 네임 서버에게 질의를 하여 가능하면 바로 반환하는 시스템이다.
이렇게 IP 주소를 반환받았다면
이제는 서버와 연결을 해야 한다.
연결이 수립되지 않은 상태(순서 과정 설명)
- CLOSED
- LISTEN → 대기 상태
- 패시브 오픈 호스트는 LISTEN 상태를 유지
- LISTEN 상태는 SYN 세그먼트를 기다리는 상태
- LISTEN 상태인 호스트에게 SYN 세그먼트를 보내면 쓰리 웨이 핸드셰이크가 시작
연결 수립 상태(순서 과정 설명)
- SYN-SENT
- SYN - RECEIVED
- ESTABLISHED
연결 수립 상태(순서 과정 설명)
- SYN-SENT
- SYN - RECEIVED
- ESTABLISHED
연결 종료 상태(순서 과정 설명)
- FIN - WAIT - 1
- CLOSE - WAIT
- FIN - WAIT - 2
- LAST - ACK
- TIME - WAIT
이렇게 연결을 하고 마무리하게 된다.