Skip to content

1주차 모의 면접 질문 정리 (Network 2.1 ~ 2.3) #7

Open
@kyeong-hyeok

Description

@kyeong-hyeok

TCP와 UDP의 차이점

  • TCP: 패킷 사이의 순서를 보장하고 연결지향 프로토콜을 사용해 신뢰성을 구축함. 각 패킷에 가상회선 식별자가 포함되는 가상회선 패킷 교환 방식을 사용함. 파일 전송과 같은 신뢰성이 중요한 서비스에 사용
  • UDP: 패킷 사이의 순서를 보장하지 않고, 단순히 데이터만 주는 데이터그램 패킷 교환 방식을 사용함. 스트리밍 서비스와 같은 연속성이 중요한 서비스에 사용함

TIME_WAIT 연결을 닫을 때 일정시간 뒤에 닫는 이유

  • 지연 패킷이 발생할 경우를 대비 - 데이터의 무결성(데이터의 정확성과 일관성을 유지하고 보증하는 것) 문제
  • 두 장치가 연결이 닫혔는지 확인하기 위함 - LAST_ACK 상태에서 닫히게 되면 다시 새로운 연결을 하려고 할 때 장치가 LAST_ACK로 되어 있기 때문에 접속 오류 나타남

3-way handshake 성립 과정

  • SYN 단계: 클라이언트는 서버에 클라이언트의 ISN을 담아 SYN을 보냄 (ISN은 새로운 TCP 연결의 첫 번째 패킷에 할당된 임의의 시퀀스 번호)
  • SYN + ACK 단계: 서버는 클라이언트의 SYN을 수신하고 서버의 ISN을 보내며 승인번호로 클라이언트의 ISN + 1을 보냄
  • ACK 단계: 클라이언트는 서버의 ISN + 1한 값인 승인번호를 담아 ACK를 서버에 보냄

OSI 7계층과 TCP/IP 4계층의 차이점

  • OSI 7계층 - 네트워크 통신의 과정을 7개의 계층으로 분류한 모델로, 네트워크 관리자는 문제의 원인이 어떤 계층에 있는지 범위를 좁힐 수 있음
  • TCP/IP 4계층 - 실제로 사용되는 프로토콜 스택. 애플리케이션 계층, 전송 계층, 인터넷 계층, 링크 계층

캡슐화 과정

  • 상위 계층의 헤더와 데이터를 하위 계층의 데이터 부분에 포함시키고 해당 계층의 헤더를 삽입하는 과정

가상회선 패킷 교환방식에 대해 설명해주세요.

  • 각 패킷에 가상회선 식별자가 포함되며 모든 패킷을 전송하면 가상회선이 해제되고 패킷들은 전송된 순서대로 도착하는 방식

웹 서버 소프트웨어(Apache, Nginx)는 OSI 7계층 중 어디서 작동하는지 설명

  • Apache와 NGINX는 HTTP 웹 서버로, 이들이 동작하는 HTTP 프로토콜은 OSI 7 Layer 중 7계층인 애플리케이션 계층에 해당하는 프로토콜입니다.
  • HTTP 프로토콜은 TCP/IP 프로토콜을 통해 동작합니다. TCP/IP 프로토콜은 OSI 7 Layer 중 4계층인 전송 계층에서 동작합니다. 따라서 웹 서버 소프트웨어는 4계층의 TCP/IP 프로토콜과 7계층의 HTTP 프로토콜을 활용하여 동작합니다.

병목현상을 해결하기 위해 점검해야 할 것

  • 네트워크 대역폭
  • 네트워크 토폴로지
  • 서버 CPU, 메모리 사용량
  • 비효율적인 네트워크 구성

L4, L7 스위치에 대해 설명

L4

  • 클라이언트로 오는 요청들을 뒤쪽의 여러 서버로 나누는 역할을 하며 시스템이 처리할 수 있는 트래픽 증가를 목표로 함
  • URL, 서버, 캐시, 쿠키들을 기반으로 트래픽 분산
  • 바이러스, 불필요한 외부 데이터 등을 걸러내는 필터링 기능 또한 가지고 있으며 응용 프로그램 수준의 트래픽 모니터링 가능
  • 클라우드 서비스(AWS 등)에서 L7 스위치를 이용한 로드밸런싱은 ALB(Application Load Balancer) 컴포넌트로 함

L7

  • 전송 계층을 처리하는 기기
  • 스트리밍 관련 서비스에서는 사용할 수 없으며 메시지를 기반으로 인식하지 못하고 IP와 포트를 기반으로 트래픽 분산
  • 클라우드 서비스(AWS 등)에서 L4 스위치를 이용한 로드밸런싱은 NLB(Network Load Balancer) 컴포넌트로 함

웹 서버 소프트웨어(Apache, Nginx)의 서버 간 라우팅 기능은 OSI 7계층 중 어디서 작동하는지 설명해보세요.

  • Layer 4 (Transport Layer)와 Layer 7 (Application Layer) 입니다.
  • L4 에서는 TCP/UDP 포트 정보를 토대로 라우팅 기능이 제공됩니다. L4 에서 라우팅 기능을 사용 한 예시를 들면, Nginx 의 경우 여러 포트들을 하나의 upstream 블록으로 묶어서 로드 밸런싱, 즉 특정 경로로 전달되는 요청을 각 포트 별로 분산해서 전달하도록 설정 해 줄 수 있습니다.
  • L7에서는 TCP/UDP 뿐만 아니라 HTTP의 URI, 서버, 캐시, 쿠키 등을 토대로 라우팅 기능이 제공 됩니다. L7 에서 라우팅 기능을 사용한 예시를 들면, Apache, Nginx 각각에서 서브 도메인에 대해 라우팅 설정을 해 둘 수 있습니다. 브라우저에서 서브 도메인으로 HTTP 프로토콜을 통한 요청을 보낸다면, 웹서버 내에 설정된 경로로 요청에 대한 라우팅을 제공하여 스태틱 파일을 전달하거나 API 서버에 대해 리버스 프록시 역할을 해 줄 수 있습니다.

라우터의 기능

  • 여러 개의 네트워크를 연결, 분할, 구분시켜주는 역할
  • 다른 네트워크에 존재하는 장치끼리 서로 데이터를 주고받을 때 패킷 소모를 최소화하고 경로를 최적화하여 최소 경로로 패킷을 포워딩하는 라우팅을 하는 장비

버스 토폴로지란?

  • 중앙 통신 회선 하나에 여러 개의 노드가 연결되어 공유하는 네트워크 구성 (LAN에서 사용)
  • 중앙 통신 회선에 노드 추가 삭제 쉬움
  • 스푸핑 가능

버스 토폴로지 방식의 문제

  • LAN상에서 송신부의 패킷을 송신과 관련 없는 다른 호스트에 가지 않도록 하는 스위칭 기능을 마비시키거나 속여서 특정 노드에 해당 패킷이 오도록 처리하는 것

Metadata

Metadata

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions