Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

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

Open
kyeong-hyeok opened this issue Jan 17, 2024 · 1 comment
Open

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

kyeong-hyeok opened this issue Jan 17, 2024 · 1 comment
Assignees

Comments

@kyeong-hyeok
Copy link
Contributor

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상에서 송신부의 패킷을 송신과 관련 없는 다른 호스트에 가지 않도록 하는 스위칭 기능을 마비시키거나 속여서 특정 노드에 해당 패킷이 오도록 처리하는 것
@seungueonn
Copy link
Contributor

우아 고생하셨습니다 !!!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants