Open kgh2120 opened 3 months ago
주소를 브라우저에 입력하게 되면, 문자열로 되어 있는 주소에 해당하는 IP를 DNS로부터 찾게 됩니다. DNS에서 받은 IP에 TCP 통신을 결합하여 3-way handshake 작업을 진행하여 서버와의 연결을 시도합니다. 연결이 완료되면, 서버는 클라이언트의 요청을 처리한 후 응답을 반환합니다. 클라이언트는 반환받은 응답을 바탕으로 화면을 랜더링하게 됩니다.
- 3way handshake에 대해서 설명해주세요 TCP 통신을 이용하여 신뢰성있는 연결을 보장하는 방식입니다. 클라이언트 단에서 SYN 패킷을 보내 요청을하면 서버단에서 SYN-ACK 패킷을 수락여부를 반환한 후 클라이언트가 ACK 요청을 하여 연결을 보장하고, 데이터의 순서를 보장합니다.
www.naver.com을 입력하면 DNS 서버에 해당 도메인 주소를 보내 주소에 해당하는 IP 주소를 얻어냅니다. DNS에서 받은 IP 주소를 이용해 서버와 연결하여 클라이언트는 서버의 데이터를 받고 해당 내용을 화면으로 보여줍니다.
- 3way handshake에 대해서 설명해주세요 3-way handshake는 TCP 통신에 사용되는 방식으로 서버와 클라이언트 사이의 연결을 위해 사용됩니다. 과정은 클라이언트에서 SYN 패킷을 보내 서버가 연결할 준비가 되었다면 ACK + SYN 패킷을 클라이언트에게 보냅니다. 이후 클라이언트도 수신 완료했다는 의미인 ACK 패킷을 다시 서버에 보내면 서버와 클라이언트는 연결 상태가 됩니다.
먼저 도메인 주소를 서버의 IP주소로 변환해야 하기 때문에 브라우저의 DNS 캐시에서 먼저 DNS 조회를 수행하고, 브라우저 캐시에 존재하지 않는다면 DNS 서버와 통신해 IP 주소로 변환합니다. 해당 작업은 UDP 프로토콜로 수행됩니다. 이후에는 서버와 TCP/IP 프로토콜로 3-way-handshake 과정이 일어나 연결을 수립하게 되고, response를 받게 됩니다.
3-way-handshake란, TCP/IP 통신에서 연결을 수립할 때 발생하는 작업으로 먼저 request를 보내는 클라이언트에서 syn 요청을 보내고, 서버에서는 받은 syn 요청을 확인하고 다시 syn/ack 요청을 클라이언트에 보낸 후, 마지막으로 클라이언트가 ack 요청을 보내 정상적으로 요청을 받을 것을 확인함으로써 연결을 수립하는 과정입니다.
문제
예상 꼬리 질문
- 3way handshake에 대해서 설명해주세요들어가야 할 키워드 정리