2024. 4. 16. 09:27ㆍ공부/면접 준비
웹 브라우저에 URL을 입력했을때 일어나는 과정
웹 브라우저에 URL을 입력하면 요청한 웹 페이지를 가져와 표시하기 위해 여러 단계가 발생합니다.
URL 입력: 사용자가 웹 브라우저에 URL을 입력하고 Enter 키를 누릅니다.
도메인명의 IP 주소 조회: 브라우저는 입력한 도메인을 IP 주소로 변환하기 위해 DNS를 조회합니다.
TCP 연결 시작: 브라우저는 서버와 TCP 연결을 설정하여 통신을 시작합니다.
HTTP 요청 전송: 브라우저는 서버에 HTTP 요청을 보냅니다. 요청에는 요청 라인, 헤더, 본문이 포함됩니다.
서버 응답: 서버는 요청을 받고 처리한 후 응답을 보냅니다. 응답에는 상태 라인, 헤더, 리소스(HTML, CSS, Javascript 등)가 포함됩니다.
콘텐츠 렌더링: 브라우저는 받은 HTML을 파싱하고 추가 리소스(이미지, CSS, Javascript 등)를 요청하여 페이지를 렌더링합니다.
OSI 7계층
OSI 모델은 7개 계층의 네트워크 상호 작용을 이해하는 데 사용되는 개념적 구조 입니다.
계층 1: 물리적 계층(리피터, 허브 사용) - 물리적 매체를 통한 원시 비트 스트림의 하드웨어 전송을 처리합니다.
계층 2: 데이터 링크 계층(브리지, 계층 2 스위치 사용) - 노드 간 데이터 전송을 담당하고 오류 검사 및 프레임 동기화를 처리합니다.
계층 3: 네트워크 계층(라우터, 계층 3 스위치 사용) - 장치 주소 지정을 관리하고 네트워크의 장치 위치를 추적하며 데이터를 이동하는 최선의 방법을 결정합니다.
계층 4: 전송 계층(게이트웨이 사용) - 최종 시스템 간에 투명한 데이터 전송을 제공하고 종단 간 오류 복구 및 흐름 제어를 담당합니다.
레이어 5: 세션 레이어 - 최종 사용자 간의 세션을 관리하고 연결 설정, 관리 및 종료를 제어합니다.
계층 6: 프리젠테이션 계층 - 애플리케이션 계층의 데이터를 중간 형식으로 변환하고 암호화, 압축 등을 처리합니다.
계층 7: 애플리케이션 계층(L7 스위치 사용) - 최종 사용자 프로세스가 네트워크 서비스에 액세스할 수 있도록 합니다.
주요 네트워크 장치:
리피터 및 허브(물리적 계층): 리피터는 신호를 재생성하여 전송 범위를 확장합니다. 허브는 여러 이더넷 장치를 연결하여 단일 네트워크 세그먼트처럼 작동하게 합니다.
브리지 및 L2 스위치(데이터 링크 계층): 브리지는 MAC 주소를 기반으로 트래픽을 필터링합니다. L2 스위치는 동일한 기능을 수행하지만 하드웨어 기반이며 더 빠릅니다.
라우터 및 L3 스위치(네트워크 계층): 라우터는 IP 주소를 기반으로 네트워크 간에 패킷을 라우팅합니다. L3 스위치는 모든 L2 기능 외에도 라우팅 작업을 수행할 수 있습니다.
L4 스위치: 전송 계층까지 작동하여 TCP 또는 UDP 포트를 기반으로 데이터를 처리합니다.
L7 스위치: 애플리케이션 계층에서 작동하여 URL, 쿠키 등과 같은 데이터 콘텐츠를 기반으로 결정을 내립니다.
답변
웹 브라우저에 URL을 입력하고 Enter 키를 누르면 브라우저는 먼저 DNS 조회를 수행하여 도메인을 IP 주소로 변환합니다. 그런 다음 해당 IP 주소에서 서버와 데이터 송수신을 위한 TCP연결을 설정합니다. 연결 후, 브라우저는 HTTP 요청을 보냅니다. 서버는 이 요청을 처리하고 웹 페이지 데이터가 포함된 응답을 다시 보냅니다. 그런 다음 브라우저는 HTML을 구문 분석하고 이미지 및 스크립트와 같은 추가 리소스를 요청하여 페이지를 렌더링합니다.
OSI 모델은 7개 계층에 걸친 네트워크 상호 작용을 설명합니다. 물리 계층(계층 1)은 원시 비트 스트림을 전송하며, 전송 하드웨어를 포함하고 리피터 및 허브와 같은 장치를 사용합니다. 데이터 링크 계층(계층 2)은 브리지 및 L2 스위치를 사용하여 노드 간 데이터 전송을 관리합니다. 네트워크 계층(계층 3)은 라우터와 L3 스위치를 활용하여 라우팅 및 주소 지정을 처리합니다. 전송 계층(계층 4)은 안정적인 데이터 전송을 보장하고 계층 5~7(세션, 프레젠테이션 및 애플리케이션)은 연결을 관리합니다. 애플리케이션 수준 데이터를 처리하기 위해 최상위 계층에서 작동하는 L7 스위치를 사용하여 각각 데이터 프레젠테이션 및 네트워크 서비스를 제공합니다.
이러한 명령어를 갖고 놀면서 익숙해져보자.
'공부 > 면접 준비' 카테고리의 다른 글
[면접준비] 동기/비동기, deadlock (24/04/22) (0) | 2024.04.22 |
---|---|
[면접준비] 아침 면접 준비 (24/04/17) (0) | 2024.04.17 |
[면접준비] 자료구조 (24/04/15) (0) | 2024.04.15 |
[면접준비] 정렬 알고리즘을 설명해 주세요. (24/04/11) (0) | 2024.04.11 |
[면접준비] Array, LinkedList에 대해 설명해주시고 각각 어떻게 사용하는지 말씀해주세요. (24/04/08) (0) | 2024.04.08 |