네트워크 관련 CS 면접

계리·2022년 12월 29일
0
post-thumbnail
post-custom-banner

✅ HTTP에 대해서 설명해줄 수 있으신가요?

HTTP는 인터넷에서 데이터를 주고 받을 수 있는 통신규약 입니다. 통신 방식으로는 client가 요청하면 서버에서 응답하여 정보를 전송하고 곧바로 연결을 종료하는 방식 입니다.


✅ HTTP에 비해 HTTPS가 더 안전한 원리는 설명해주실 수 있을까요?

HTTP는 웹에서 브라우저와 서버간에 데이터를 주고 받는 통신규약 입니다. HTTP는 세 가지의 약점이 있습니다.

  • 암호화하지 않은 통신이기 때문에 도청할 수 있습니다.
  • 통신 상대를 확인하지 않기 때문에 위장할 수 있습니다.
  • 완전성을 증명할 수 없기 때문에 변조할 수 있습니다.

위 세 가지를 보완한 것이 HTTPS입니다. HTTPS는 SSL 또는 TLS을 이용하여 주고 받는 데이터들을 암호화, 복호화 하여 통신하는 안정성을 갖춘 프로토콜 입니다.


✅ TCP와 UDP 공통점과 차이점?

공통점

포트 번호를 이용하여 주소를 지정한다.

  • 두 애플리케이션이 통신을 하기 위해서는 반드시 포트 번호를 지정해야 한다.

데이터 오류를 체크 한다.

  • IP가 제공하는 오류 체크 기능은 프로토콜 동작을 위해 반드시 필요한 부분에만 국한된다. 즉 IP헤더에 대한 오류는 체크하지만 데이터에 대한 오류는 체크하지 않는다.
  • TCP와 UDP는 헤더와 데이터에 대한 오류를 체크한다.

차이점

TCP는 연속성보다는 신뢰성 있는 전송이 중요할 때 사용되는 프로토콜이며 UDP는 빠르고 연속성이 중요할 때 사용되는 프로토콜입니다.


✅ TCP 3 way handshake란 무엇인지 설명해주실 수 있을까요?

먼저 TCP란 연결 지향형 프로토콜로 연속성 있는 데이터 패킷을 주고 받을 때 사용합니다. TCP 3 way handshake는 연결하고자 하는 두 장치 간의 논리적 접속을 성립하기 위해 사용하는 연결 확인 방식으로 3번의 확인 과정을 거친다고 해서 TCP 3 way handshake라고 합니다. 단계적으로는

  1. 클라이언트가 연결요청 메세지 SYN(Synchonize Sequence Number)라는 임의의 랜덤 숫자를 전송합니다.
  2. 서버가 요청을 수락하며 ACK(Acknowledgement number)와 전달받은 SYN번호에 +1을 하여 전송합니다.
  3. 서버에게 받은 메세지를 클라이언트가 ACK에 받은 Sequence number +1을 하여 전송합니다.

✅ OSI 7계층에 대해 설명해주실 수 있을까요?

네트워크 통신이 일어나는 과정을 7단계로 나눈 것으로 물리 계층, 데이터링크 계층, 네트워크 계층, 전송 계층, 세션 계층, 프레젠테이션 계층, 애플리케이션 계층으로 나뉘어져 있습니다.

  • 물리 계층 : 주로 전기적, 기계적, 기능적인 특성을 이용해서 통신 케이블로 데이터를 전송하는 물리적인 장비
  • 데이터링크 계층 : 물리계층을 통해 송수신되는 정보의 오류와 흐름을 관리하여 안전한 통신의 흐름을 관리
  • 네트워크 계층 : 데이터를 목적지까지 가장 안전하고 빠르게 전달
  • 전송 계층 : port번호 전송방식을 결정
  • 세션 계층 : 프로세스 및 통신하는 호스트 간의 연결 유지
  • 프레젠테이션(표현) 계층 : 전송하는 데이터의 표현방식을 결정
  • 애플리케이션(응용) 계층 : 최종 목적지로 응용 프로세스와 직접 관계하여 일반적인 애플리케이션 서비스 수행

✅ OSI 7계층과 TCP/IP 4계층의 차이점은 무엇인가요?

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


✅ Base64 인코딩이란 무엇인가요?

Base64 인코딩은 64진법의 의미를 가지고 있는데 2의 6제곱으로 64개의 아스키코드 문자들로 표시할 수 있는 가장 큰 진법이고 주로 데이터 교환에 많이 쓰이고 있습니다.


✅ 도메인 이름이란?

IP주소를 우리가 흔히 알고 있는 인터넷 주소 예를 들어서 www.naver.com과 같은 인터넷 주소들을 도메인 이름이라고 합니다. 그리고 이런 도메인 이름을 해당 IP주소로 읽어들일 수 있게 끔 하는 것이 DNS(Domain Name System) 입니다. DNS로 영어나 한글로 되어 있는 인터넷 주소를 IP주소로 읽어들 일 수 있게 하는 것 입니다.


✅ HTTP GET, POST 차이점은?

GET은 서버의 리소스에서 데이터를 요청할 때 POST는 서버의 리소스를 새로 생성하거나 업데이트할 때 사용합니다. 그리고 GET은 파라미터에 요청하는 데이터를 담아 보내기 때문에 응답 시 Body가 없고 POST는 Bodt에 데이터를 담아 보내기 때문에 응답 시 Body가 있습니다. 그렇기 때문에 GET은 여러 번 요청을 해도 응답 결과가 똑같을 것이고, POST는 응답 결과가 다를 것 입니다.


profile
gyery
post-custom-banner

0개의 댓글