네트워크 예상질문 10선

이상훈·2023년 8월 3일
1

CS

목록 보기
14/27

1. OSI 7 계층과 TCP/IP 4계층에 대해 설명해주세요.
 TCP/IP 계층과 달리 OSI 계층은 애플리케이션 계층을 세 개로 쪼개고 링크 계층을 데이터 링크 계층, 물리 계층으로 나눠서 설명하는 것이 다르며, 인터넷 계층을 네트워크 계층으로 부른다는 점이 다르다.


2. TCP와 UDP의 차이를 설명해주세요.
TCP

  • 3-way handshaking 과정을 통해 연결을 설정
  • 높은 신뢰성
  • 비교적 느림
  • 순서 보장
  • 신뢰성이 중요한 파일 교환과 같은 경우에 사용

UDP

  • 3-way handshaking 과정이 없음
  • 낮은 신뢰성
  • 비교적 빠름
  • 순서 보장 X
  • 실시간성이 중요한 스트리밍에서 사용

3. Http 1.0, 1.1, 2.0, 3.0에 대해 설명해주세요

  • HTTP 1.0

    • 비지속 연결 : 한 연결당 하나의 요청 처리
  • HTTP 1.1

    • Keep-alive : 매번 데이터를 요청할 때마다 TCP 연결을 하는게 아닌 한번 해놓고 계속해서 데이터를 받을 수 있음
    • HOL(Head of Line Blocking) : 네트워크에서 같은 큐에 있는 패킷이 그 첫번째 패킷에 의해 지연될 때 발생하는 성능저하현상
  • HTTP 2.0

    • 멀티플렉싱 : 리소스를 작은 프레임으로 나누고 이를 스트림으로 프레임을 전달 -> HOL 해결
  • HTTP 3.0

    • QUIC : HTTP 3.0은 QUIC 프로토콜을 기반으로 동작
    • UDP : 기존 HTTP 프로토콜들이 TCP 기반에서 동작한거와 달리 3-way-handshake가 없어서 빠름

4. 로컬스토리지, 세션스토리지, 쿠키의 공통점과 차이점을 설명해주세요

공통점 : 브라우저에 캐싱함으로써 서버에 대한 요청을 줄여 서버부하를 방지할 수 있다.

차이점

쿠키로컬 스토리지세션 스토리지
만료 기한수동으로 설정영구적탭 닫으면 소멸
설정 주체Client + ServerClientClient
요청과 함께 서버에 자동 전송 유무OXX

5. CORS(Cross Origin Resource Sharing)에 대해 설명하세요

 출처(Origin)가 다를 때 보안상의 이유로 HTTP 요청을 제한하는데, CORS는 추가 HTTP 헤더를 사용하여, 현재 실행 중인 웹 애플리케이션이 아닌 다른 출처의 자원에 접근할 수 있는 권한을 부여하도록 브라우저에 알려주는 것이다. 출처가 다르다는 것은 domainA.com에서 domainB.com의 자원을 요청하는 것으로 프론트단(=리액트)에서 서버(=스프링)로 HTTP 요청을 보낼 때 흔히 볼 수 있다.


6. 쿠키와 세션에 대해 비교하세요
쿠키 : 사용자의 컴퓨터에 저장하는 작은 기록 정보 파일입니다. HTTP에서 클라이언트의 상태 정보를 PC에 저장했다가 필요시 정보를 참조하거나 재사용할 수 있다.

세션 : 일정 시간동안 같은 사용자로부터 들어오는 일련의 요구를 하나의 상태로 보고, 그 상태를 유지시키는 기술입니다. 즉, 방문자가 웹 서버에 접속해 있는 상태를 하나의 단위로 보고 그것을 세션이라고 한다.

쿠키세션
저장 위치클라이언트(=접속자 PC)웹 서버
사용하는 자원클라이언트 리소스웹 서버 리소스
속도세션보다 빠름쿠키보다 느림
보안세션보다 안좋음쿠키보다 좋음

7.공인 IP와 사설 IP 차이

공인 IP

  • 전세계에서 유일한 IP로 ISP(인터넷 서비스 공급자)가 제공하는 IP주소
  • 외부에 공개되어 있기 때문에 인터넷에 연결된 다른 장비로부터 접근이 가능하다.
  • 그에 따라 방화벽 등과 같은 보안 설정을 해주어야 한다.

사설 IP

  • 어떤 네트워크 안에서 사용되는 IP주소
  • IPV4의 부족으로 인해 모든 네트워크가 공인 IP를 사용하는 것이 불가능하기 때문에 네트워크 안에서 라우터를 통해 할당받는 가상의 주소이다.
  • 별도의 설정 없이는 외부에서 접근이 불가능하다.

8. PUT vs PATCH
둘 다 데이터를 수정할 때 쓰는 메서드

PUT

  • 업데이트하는 데이터 전체를 보낸다.
  • 해당 데이터가 없다면 새로 생성, 있다면 교체

PATCH


9. 흐름제어에 대해 설명해주세요

  • 수신측이 송신측보다 데이터 처리 속도가 빠르면 문제없지만, 송신측의 속도가 빠를 경우 문제가 생긴다.

  • 수신측에서 제한된 저장 용량을 초과한 이후에 도착하는 데이터는 손실 될 수 있으며, 만약 손실 된다면 불필요하게 응답과 데이터 전송이 송/수신 측 간에 빈번이 발생한다.

  • 이러한 위험을 줄이기 위해 송신 측의 데이터 전송량을 수신측에 따라 조절해야한다.

    • stop and wait(안쓰임) : 전송한 패킷에 대해 확인 응답을 받아야 그 다음 패킷을 전송
    • sliding window : go back N, selective repeat

10. www.naver.com에 접속할 때 생기는 과정에 대해 설명해주세요
1. 사용자가 브라우저에 URL(www.naver.com)을 입력
2. DNS 서버에 도메인 네임으로 서버의 진짜 주소를 찾음
3. IP 주소로 웹 서버에 TCP 3 handshake로 연결 수립
4. 클라이언트는 웹 서버로 HTTP 요청 메시지를 보냄
5. 웹 서버는 HTTP 응답 메시지를 보냄
6. 도착한 HTTP 응답 메세지는 웹 페이지 데이터로 변환되고, 웹 브라우저에 의해 출력

profile
Problem Solving과 기술적 의사결정을 중요시합니다.

0개의 댓글