1. ARP, DHCP
1. ARP 요청 (Address Resolution Protocol)
정의: ARP는 IP 주소를 MAC 주소로 변환하는 프로토콜입니다.
작동 방식:
ARP 요청: 특정 IP 주소에 해당하는 MAC 주소를 찾기 위해 해당 IP 주소를 가진 장치에게 브로드캐스트 요청을 보냅니다.
ARP 응답: 요청한 장치가 자신의 MAC 주소를 포함한 응답을 보내면, 송신자는 이 정보를 캐시에 저장합니다.
용도: 네트워크에서 데이터를 전송하기 위해 필요한 MAC 주소를 찾는 데 사용됩니다.
2. DHCP Discover (Dynamic Host Configuration Protocol)
정의: DHCP는 네트워크에 연결된 장치에 IP 주소와 기타 네트워크 설정을 자동으로 할당하는 프로토콜입니다.
작동 방식:
DHCP Discover: 새로운 장치가 네트워크에 연결되면, DHCP 서버를 찾기 위해 브로드캐스트 메시지를 보냅니다.
DHCP Offer: DHCP 서버가 해당 요청을 수신하면, 사용 가능한 IP 주소와 설정 정보를 포함한 응답을 보냅니다.
DHCP Request: 장치는 제공받은 정보를 바탕으로 특정 IP 주소를 요청합니다.
DHCP Acknowledgment: DHCP 서버가 요청을 확인하고 IP 주소를 할당합니다.
용도: 네트워크에 자동으로 IP 주소를 할당하여 관리의 편리함을 제공합니다.
- 요약
ARP 요청: IP 주소를 MAC 주소로 변환하기 위한 요청.
DHCP Discover: 네트워크 장치가 DHCP 서버에 IP 주소를 요청하는 첫 단계.
2. 데이터센터 네트워크의 특징
- 데이터센터 네트워크의 특징
고속 데이터 전송: 데이터센터 네트워크는 대량의 데이터를 빠르게 전송하기 위해 고속 링크(예: 10Gbps, 40Gbps, 100Gbps)를 사용합니다.
스케일 아웃 아키텍처: 수많은 서버와 스토리지를 수평적으로 확장할 수 있는 구조로 설계되어 있습니다.
고가용성: 장애 발생 시에도 서비스가 중단되지 않도록 이중화 및 페일오버 기능이 구현되어 있습니다.
가상화 지원: 서버와 네트워크 자원을 가상화하여 효율적으로 관리하고, 자원 할당을 동적으로 조정합니다.
소프트웨어 정의 네트워킹(SDN): 네트워크 관리와 제어를 소프트웨어로 구현하여 유연성과 자동화를 제공합니다.
- 네트워크 토폴로지 전략
동일 랙이 아닌 바로 옆 랙으로 대용량 트래픽이 발생해야 할 경우, 리프-스파인 토폴로지를 고려할 수 있습니다. 이 구조는 다음과 같은 장점을 제공합니다:
저지연성: 모든 서버가 스파인 스위치를 통해 직접 연결되어 있어 트래픽이 효율적으로 전달됩니다.
확장성: 필요에 따라 리프나 스파인 스위치를 추가하여 쉽게 확장할 수 있습니다.
고가용성: 각 노드가 여러 경로를 통해 연결되어 있어 장애에 강합니다.
- 내부 네트워크 트래픽 계산
10 페타바이트의 백엔드 스토리지가 있다고 가정할 때, 내부 네트워크 트래픽은 여러 요소에 따라 다르지만, 일반적으로 스토리지와 컴퓨팅 노드 간의 트래픽은 다음과 같이 계산할 수 있습니다:
I/O 작업 수: 스토리지에 대한 읽기/쓰기 요청 수.
데이터 전송량: 각 요청에 대해 전송되는 데이터의 양.
예시: 만약 하루에 1000회의 I/O 작업이 발생하고 각 작업에서 1GB의 데이터가 전송된다면,
내부 트래픽 = 1000 * 1GB = 1000GB = 1TB.
- 스토리지와 네트워크, 컴퓨팅 노드 간의 분산 전략
데이터 분산: 데이터를 여러 스토리지 노드에 분산 저장하여 I/O 부하를 분산시킵니다.
로컬 캐싱: 자주 사용되는 데이터를 캐싱하여 빠른 접근을 가능하게 합니다.
로드 밸런싱: 트래픽을 여러 경로로 분산시켜 네트워크의 과부하를 방지합니다.
- 외부 트래픽 대응
CDN 사용: 콘텐츠 전송 네트워크(CDN)를 활용하여 외부 사용자에게 더 가까운 위치에서 데이터를 제공하여 지연 시간을 줄입니다.
부하 분산: 외부 트래픽을 여러 서버에 고르게 분산시켜 서버의 과부하를 방지합니다.
보안: 방화벽과 DDoS 방어 시스템을 통해 외부 공격에 대비합니다.
3.프록시는 무엇인가? HTTP / SOCKS 4 / SOCKS5의 차이는?
프록시(Proxy)는 클라이언트와 서버 사이에서 중개 역할을 하는 서버로, 요청을 대신 전달하거나 응답을 대신 받아오는 기능을 합니다. 프록시는 주로 다음과 같은 용도로 사용됩니다:
익명성 제공: 클라이언트의 IP 주소를 숨겨 개인 정보를 보호합니다.
캐싱: 자주 요청되는 데이터를 저장하여 성능을 향상시킵니다.
접근 제어: 특정 웹사이트에 대한 접근을 제한하는 등의 보안 기능을 제공합니다.
트래픽 모니터링: 네트워크 트래픽을 분석하고 기록하는 데 사용됩니다.
- HTTP, SOCKS 4, SOCKS 5의 차이
- HTTP 프록시
프로토콜: HTTP 프로토콜을 사용합니다.
용도: 주로 웹 브라우징에 사용되며, HTTP 요청과 응답을 처리합니다.
특징: 웹 페이지의 요청을 중개하며, HTTPS를 지원하는 경우 SSL 터널링을 통해 보안 연결을 제공합니다.
- SOCKS 4
프로토콜: SOCKS 4 프로토콜을 사용합니다.
용도: TCP/IP 연결을 중개하며, 웹 브라우징뿐만 아니라 FTP, SMTP 등 다양한 프로토콜을 지원합니다.
특징: 인증 기능이 없으며, IP 주소와 포트 정보만 사용합니다.
- SOCKS 5
프로토콜: SOCKS 5 프로토콜을 사용합니다.
용도: SOCKS 4의 기능을 확장하여 TCP 및 UDP 연결을 모두 지원합니다.
특징: 인증 기능을 지원하여 보안을 강화하고, 다양한 프로토콜과 애플리케이션에서 사용할 수 있습니다. 또한, IPv6를 지원합니다.
- 요약
HTTP 프록시: 웹 트래픽 전용, HTTP 프로토콜 사용.
SOCKS 4: 다양한 프로토콜 지원, 인증 없음.
SOCKS 5: SOCKS 4의 확장, TCP/UDP 지원, 인증 기능 포함.
4. 로드밸런서는 무엇인가? 리버스 프록시와 차이는?
- 로드밸런서
로드밸런서는 클라이언트의 요청을 여러 서버에 분산시켜 시스템의 성능과 가용성을 향상시키는 장치입니다. 주로 다음과 같은 기능을 수행합니다:
트래픽 분산: 서버 간의 부하를 고르게 나누어 성능을 최적화합니다.
가용성 향상: 하나의 서버가 다운되더라도 다른 서버에서 요청을 처리할 수 있도록 합니다.
스케일링: 필요에 따라 서버를 추가하거나 제거하여 유연하게 대응할 수 있습니다.
- 리버스 프록시와의 차이
리버스 프록시: 클라이언트의 요청을 받아 실제 서버에 전달하고, 서버의 응답을 클라이언트에게 반환하는 역할을 합니다. 주로 보안, 캐싱, SSL 오프로드 등의 기능을 제공합니다.
로드밸런서: 클라이언트의 요청을 여러 서버에 분산하여 처리하는 역할에 집중합니다. 리버스 프록시 기능을 포함할 수도 있지만, 주된 목적은 부하 분산입니다.
5. 노스-사우스 트래픽과 이스트-웨스트 트래픽 L4/L7의 차이는?
소프트웨어, 하드웨어 차이는? SSL 오프로딩이 무엇인가?
- 노스-사우스 트래픽과 이스트-웨스트 트래픽
노스-사우스 트래픽: 클라이언트와 서버 간의 트래픽을 의미합니다. 예를 들어, 사용자가 웹사이트에 접근할 때 발생하는 트래픽입니다.
이스트-웨스트 트래픽: 데이터 센터 내에서 서버 간의 트래픽을 의미합니다. 예를 들어, 백엔드 서비스가 서로 통신할 때 발생하는 트래픽입니다.
- L4 / L7의 차이
L4 (Layer 4): 전송 계층에서 동작하며, IP 주소와 TCP/UDP 포트 정보를 기반으로 트래픽을 분산합니다. 패킷 헤더 정보를 사용하여 결정합니다.
L7 (Layer 7): 응용 계층에서 동작하며, HTTP 요청, URL, 쿠키 등 애플리케이션 레벨의 정보를 기반으로 트래픽을 분산합니다. 더 정교한 라우팅과 정책을 적용할 수 있습니다.
- 소프트웨어와 하드웨어 로드밸런서의 차이
소프트웨어 로드밸런서: 서버에서 실행되는 소프트웨어로, 일반적으로 비용이 적고 유연하게 구성할 수 있습니다. 예: NGINX, HAProxy.
하드웨어 로드밸런서: 전용 하드웨어 장비로, 높은 성능과 안정성을 제공합니다. 일반적으로 비용이 더 비쌉니다. 예: F5 BIG-IP, Cisco.
- SSL 오프로드
SSL 오프로드는 로드밸런서나 프록시 서버가 클라이언트와의 SSL/TLS 연결을 처리하고, 내부 서버와는 평문(HTTP)으로 통신하는 기능입니다. 이를 통해 내부 서버의 부하를 줄이고, SSL 처리로 인한 성능 저하를 방지합니다.
6. ㅇCLOS 토폴로지가 무엇인가? 이 토폴로지의 장점은 무엇인가 구현에 어떤 기술을 사용하는가?
- CLOS 토폴로지란?
CLOS 토폴로지(CLOS topology)는 고성능 네트워크 설계를 위한 구조로, 다중 경로를 지원하며 고속 데이터 전송을 가능하게 합니다. 주로 데이터 센터와 대규모 클라우드 환경에서 사용됩니다. CLOS 토폴로지는 기본적으로 세 개의 계층으로 구성됩니다:
엣지 스위치(Edge Switches): 클라이언트나 서버와 연결되는 최하위 계층.
중간 스위치(Spine Switches): 엣지 스위치와 연결되어 데이터 전송을 중계하는 중간 계층.
코어 스위치(Core Switches): 스위치 간의 연결을 관리하며, 대량의 트래픽을 처리합니다.
- CLOS 토폴로지의 장점
확장성: 노드를 추가하거나 제거하는 것이 용이하여 네트워크를 쉽게 확장할 수 있습니다.
고가용성: 다중 경로를 통해 장애가 발생해도 다른 경로로 트래픽을 우회할 수 있어 시스템의 가용성이 높습니다.
부하 분산: 데이터 트래픽이 여러 경로로 분산되어 성능이 향상됩니다.
단일 장애점 최소화: 특정 스위치나 링크에서 장애가 발생해도 전체 네트워크에 미치는 영향을 줄일 수 있습니다.
구현에 사용하는 기술
CLOS 토폴로지를 구현하기 위해 다음과 같은 기술이 사용됩니다.
스위칭 기술: 고속 패킷 스위칭을 지원하는 스위치가 필요합니다. 예를 들어, 이더넷 스위치가 자주 사용됩니다.
VLAN 및 VXLAN: 가상 네트워크를 구성하여 트래픽을 분리하고 관리합니다.
SDN(Software-Defined Networking): 네트워크를 소프트웨어로 정의하고 관리하여 유연성과 자동화를 제공합니다.
리던던시 기술: 여러 경로를 통해 트래픽을 전송함으로써 고가용성을 유지합니다.
CLOS 토폴로지는 대규모 데이터 센터와 클라우드 환경에서 매우 효과적인 네트워크 구조이며, 다양한 기술과 설계를 통해 성능을 최적화할 수 있습니다.
7. DSR 방식의 로드밸런서가 무엇이고, 어떻게 구현이 되는가? L3 방식으로 구현할 수는 없나? 장점은 무엇인가? 왜 쓰는가? 설정할 때 주의 사항은?
- DSR 방식의 로드밸런서란?
DSR(Direct Server Return) 방식의 로드밸런서는 클라이언트의 요청을 로드밸런서가 처리한 후, 서버가 직접 클라이언트에게 응답하는 구조입니다. 이 방식은 로드밸런서가 요청을 분산하는 역할만 하고, 응답은 서버가 직접 전달합니다.
- DSR 방식의 구현
패킷 포워딩: 로드밸런서는 클라이언트의 요청을 수신하고, 해당 요청을 적절한 서버로 포워딩합니다.
IP 주소 변환: 로드밸런서가 클라이언트의 요청을 서버의 IP 주소로 변환하여 전송합니다. 이때 클라이언트는 로드밸런서의 IP를 인식하지 못합니다.
직접 응답: 서버는 클라이언트에게 직접 응답을 보내며, 이때 로드밸런서를 거치지 않습니다.
- L3 방식으로 구현 가능 여부
DSR 방식은 일반적으로 L4 또는 L7에서 구현됩니다. L3 기반으로 구현할 수는 있지만, IP 패킷의 라우팅에 대한 복잡성이 증가할 수 있습니다. L3에서는 TCP 세션 상태를 관리하기 어렵기 때문에, L4/L7 방식이 더 일반적입니다.
- DSR의 장점
성능 향상: 서버가 응답을 직접 클라이언트에게 보내므로 로드밸런서의 부하가 줄어듭니다.
대역폭 절약: 로드밸런서를 통해 다시 데이터를 전송할 필요가 없어 대역폭을 효율적으로 사용할 수 있습니다.
스케일링 용이: 추가 서버를 쉽게 연결할 수 있어 시스템 확장이 용이합니다.
- 왜 DSR 방식을 사용하는가?
대규모 웹 서비스: 많은 클라이언트 요청을 처리해야 하는 대규모 서비스에서 효율성을 극대화할 수 있습니다.
빠른 응답 속도: 클라이언트와 서버 간의 직접적인 응답 경로로 인해 빠른 응답 시간을 제공합니다.
- 설정 시 주의 사항
네트워크 구성: 클라이언트와 서버 간의 네트워크 경로가 올바르게 설정되어야 합니다. 방화벽이나 라우터 설정에 주의해야 합니다.
IP 주소 관리: 서버가 클라이언트에게 직접 응답할 수 있도록 IP 주소를 올바르게 구성해야 합니다.
세션 관리: 클라이언트와 서버 간의 세션 상태를 잘 관리해야 하며, 이를 위해 세션 지속성(Session Persistence) 설정이 필요할 수 있습니다.
모니터링: 로드밸런서와 서버의 상태를 지속적으로 모니터링하여 장애를 조기에 감지하고 대응해야 합니다.
8. PoP(Points of Presence)란?
PoP는 "Points of Presence"의 약자로, 네트워크 서비스 제공자가 고객에게 서비스를 제공하기 위해 구축한 물리적 위치를 의미합니다. 이 위치는 데이터 센터, 네트워크 노드 또는 중계 지점 등 다양한 형태로 존재할 수 있습니다.
- PoP의 주요 기능
접근성: 사용자가 인터넷에 연결할 수 있는 접점을 제공합니다.
데이터 전송: 데이터를 저장하거나 전송하는 역할을 수행합니다.
네트워크 최적화: 사용자와 가까운 위치에서 서비스를 제공함으로써 지연 시간을 줄이고 성능을 향상시킵니다.
로드밸런싱: 여러 서버 간의 트래픽을 분산시켜 안정성과 가용성을 높입니다.
- PoP의 활용 예
콘텐츠 전송 네트워크(CDN): 콘텐츠를 사용자에게 더 빠르게 전달하기 위해 여러 지역에 PoP를 배치합니다.
클라우드 서비스: 클라우드 제공업체가 여러 지역에 PoP를 두어 글로벌 서비스를 제공합니다.
PoP는 네트워크의 성능과 안정성을 높이는 데 중요한 역할을 하며, 특히 대규모 서비스에서 필수적인 요소입니다.
9. BGP가 무엇인가? AS의 개념은 무엇인가? BGP와 IP의 관계는 어떻게 되는가? EBGP는?
BGP란?
BGP(Border Gateway Protocol)는 인터넷에서 사용되는 주요 경로 선택 프로토콜로, 서로 다른 자율 시스템(AS) 간의 라우팅 정보를 교환합니다. BGP는 경로 벡터 프로토콜로, 라우터가 최적의 경로를 선택하고 전달하는 데 필요한 정보를 제공합니다.
AS(자율 시스템)의 개념
AS(Autonomous System)는 하나의 관리 하에 있는 네트워크 집합으로, 고유한 AS 번호를 가지고 있습니다. AS는 ISP(인터넷 서비스 제공자)나 대규모 기업 네트워크 등으로 구성될 수 있습니다. 각 AS는 자체적인 라우팅 정책을 가지고 있으며, BGP를 통해 다른 AS와 정보를 교환합니다.
BGP와 IP의 관계
BGP는 IP 주소를 기반으로 작동합니다. BGP는 IP 패킷이 목적지에 도달하기 위한 최적의 경로를 결정하는 데 사용되며, IP 주소의 프리픽스(주소 범위) 정보를 교환하여 라우팅 테이블을 업데이트합니다. 즉, BGP는 IP 네트워크의 경로 정보를 관리하는 프로토콜입니다.
EBGP(External BGP)
EBGP는 "External BGP"의 약자로, 서로 다른 AS 간의 BGP 세션을 의미합니다. 즉, 두 개의 다른 AS가 BGP를 통해 라우팅 정보를 교환하는 경우입니다. EBGP는 외부 네트워크와의 상호 연결을 담당하며, 경로 선택에서 중요한 역할을 합니다.
'Computer Science > Network' 카테고리의 다른 글
Linux - Network 2 / 3 (0) | 2024.08.29 |
---|---|
Linux - Network 1 / 3 (0) | 2024.08.29 |
TCP 핸드쉐이크 프로세스 (0) | 2024.08.27 |
네트워크의 기초 #1 네트워크, 처리량, 트래픽, 대역폭, RTT (0) | 2024.08.26 |
HTTP Header (0) | 2024.08.21 |