기술면접 - Network

김문범·2021년 9월 23일
0

1. GET과 POST의 비교

HTTP 프로토콜을 이용해서 서버에 요청할 때 사용하는 방식

1-1. GET 방식

  • 자원(Resource)를 검색, 조회 등을 위한 Method
  • GET 방식은 "HTTP Request Message"의 Header부분에 포함되어 전송된다.
  • URL부분에서 "?" 뒤에 포함되어 전송되는데 다중으로 포함된다면 "&"을 붙여서 구분하여 전송한다.("쿼리스트링"이라고 한다.)
  • URL에 그대로 노출되기 때문에 보안을 필요로 하는 부분은 사용하지 않는다.(ex. 비밀번호 등)
  • 예시 : www.example-url.com/resources?name1=value1&name2=value2

1-2. POST 방식

  • 자원(Resource)를 생성 및 변경을 위한 Method
  • POST 방식은 "HTTP Request Message"의 Body부분에 포함되어 전송된다.
  • 따로 암호화를 안하면 GET 방식과 다를 바가 없이 크롬 개발자 도구 등과 같은 Tool로 확인이 가능하다.

참조한 내용의 사이트 목록


2. HTTP 및 HTTPS

  • HTTP 및 HTTPS의 가장 큰 차이점은 "암호화" 의 유무이다.
  • 암호화를 위해 SSL(Secure Socket Layer) or TLS(Transport Layer Security)를 사용한다.
  • HTTPS을 사용하면 HTTP보다는 속도가 느리다고는 하지만 하드웨어 발전 및 HTTP 2.0으로 인해 차이가 없는 수준이라고 한다.

2-1. SSL(Secure Socket Layer) / TLS(Transport Layer Security) 차이점

  • 서로 다른 암호를 사용하는 프로토콜이라고 할 수 있다.
  • SSL2 / SSL3은 상호운용 불가, SSL3 / TLS1은 호환 불가

2-1-1. SSL(Secure Socket Layer)이란?

  • Netscape에 의해 개발됨.
  • 네트워크를 통해 작동하는 서버, 시스템 및 응용 프로그램 사이에 인증 및 데이터 암호화를 제공하는 인터넷 암호화 프로토콜

현재 SSL 2.0 / SSL 3.0은 모두 IETF에 의해 사용이 중지됨. SSL 2.0(11년도) / SSL 3.0(15년도)

2-1-2. TLS(Transport Layer Security)이란?

  • 1999년에 도입됨.(IETF에서 개발)
  • SSL 3.0을 기반으로 개발함.

TLS는 4가지 버전이 있으며 1.0, 1.1, 1.2, 1.3(최신)이다.
1.0 및 1.1은 지원 중단 예정

참조한 내용의 사이트 목록


3. OSI 7계층

계층을 나누는 이유는 통신이 작동하는 방식을 쉽게 파악할 수 있고, 고장 발생 시 그 단계만 수리하는 손쉬운 사용이 가능하다.

3-1. 1 계층

  • 물리 계층
  • 데이터를 전기 신호로 바꾸어주는 계층

3-2. 2 계층

  • 데이터링크 계층
  • 데이터의 물리적인 전송과 에러 검출, 흐름 제어를 담당하는 계층

3-3. 3 계층

  • 네트워크 계층
  • 패킷을 목적지까지 가장 빠른 길로 전송하기 위한 계층

3-4. 4 계층

  • 전송 계층
  • 최종 수신 프로세스로 데이터의 전송을 담당하는 계층

3-5. 5 계층

  • 세션 계층
  • 컴퓨터끼리 통신을 하기 위해 세션을 만드는 계층

3-6. 6 계층

  • 표현 계층
  • 데이터의 형식을 정의하는 계층

3-7. 7 계층

  • 응용 계층
  • 사용자와 직접 상호작용하는 응용 프로그램들이 포함된 계층

참조한 내용의 사이트 목록


4. TCP와 UDP

4-1. TCP(Transmission Control Protocol, 전송제어 프로토콜) 통신이란?

  • 신뢰성이 없는 네트워크를 통해 종단간에 신뢰성 있는 바이트 스트림을 전송하도록 특별히 설계됨.
  • TCP 서비스는 송신자와 수신자 모두가 소켓이라고 부르는 종단점을 생성함으로써 이루어짐.
  • 연결 생성(Connection establishment)은 3-way handshake를 사용한다.
  • 연결 종료(Connection termination)는 4-way handshake를 사용한다.
  • 모든 연결이 전이중(full-duplex), 점대점(point to point)방식이다.
  • 전이중(full-duplex) = 전송이 양방향으로 동시에 진행될 수 있음.
  • 점대점(point to point) = 연결이 정확히 2개의 종단점을 가지고 있음.
  • 멀티캐스팅 및 브로드캐스팅을 지원하지 않음.
  • 파일 교환 등에 사용됨.

대부분의 인터넷 응용 분야들은 신뢰성과 순차적인 전달을 필요로 한다. UDP로는 이를 만족시킬 수 없으므로 다른 프로토콜이 필요하여 탄생한 것이 TCP이다

4-2. UDP(User Datagram Protocol, 사용자 데이터그램 프로토콜) 통신이란?

  • 비연결형 프로토콜
  • 데이터그램을 캡슐화하여 보내는 방법과 연결 생성을 하지 않고 보내는 방법을 제공한다.
  • 흐름제어, 오류제어, 손상된 세그먼트 수신에 대한 재전송을 하지 않음.
  • 포트들을 사용하여 IP 프로토콜에 인터페이스를 제공
  • 스트리밍 서비스에 적합하다.

4-3. TCP와 UDP의 차이점

구분TCPUDP
연결 방식연결형 서비스비연결형 서비스
패킷 교환 방식가상 회선 방식데이터그램 방식
전송 순서전송 순서 보장(순차적)전송 순서가 바뀔 수 있음
수신 여부 확인확인함확인 안함
통신 방식1:1 통신1:1 / 1:N / N:N 통신
신뢰성높음낮음
속도느림빠름

참조한 내용의 사이트 목록

profile
다양하지만 공부할 것이 많은 개발자입니다.

0개의 댓글