일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 | 29 |
30 | 31 |
Tags
- 타입스크립트
- 렛츠기릿 자바스크립트
- 파이썬
- 리액트
- HTTP
- 자바스크립트
- 제로초
- til
- 프로그래머스
- 리트코드
- 회고
- javascript
- 코어 자바스크립트
- LeetCode
- SQL 고득점 Kit
- 알고리즘
- 리덕스
- 정재남
- 타임어택
- python
- 타입스크립트 올인원
- 2주 프로젝트
- codestates
- 4주 프로젝트
- 토익
- 손에 익히며 배우는 네트워크 첫걸음
- 백준
- programmers
- js
- 코드스테이츠
Archives
- Today
- Total
Jerry
#18. 패킷, 처리량, 지연시간, 병목현상, TCP/IP, TCP/UDP, 캡슐화, PDU, 로드밸런서, ARP, MAC 주소, NAT 본문
CS/Network
#18. 패킷, 처리량, 지연시간, 병목현상, TCP/IP, TCP/UDP, 캡슐화, PDU, 로드밸런서, ARP, MAC 주소, NAT
juicyjerry 2025. 3. 26. 11:57반응형
Q. 네트워크에서 패킷이란 무엇을 의미하나요?
패킷(Packet)은 네트워크에서 데이터를 전송할 때 나누는 작은 단위의 데이터 블록을 의미합니다. 전송 효율성과 오류 제어를 위해 원본 데이터를 일정 크기로 나누고, 각각의 패킷은 헤더(주소, 순서 등 메타데이터)와 페이로드(실제 데이터)로 구성됩니다. 이러한 패킷은 목적지까지 다양한 경로를 통해 전달되며, 수신 측에서 재조립되어 원래의 데이터로 복원됩니다.
웹 브라우저로 구글에 접속하면, 해당 요청은 여러 개의 TCP/IP 패킷으로 나뉘어 전송되고, 구글 서버로부터 오는 응답도 수십 개의 패킷으로 전달되어 다시 조합됩니다.
A.
패킷은 네트워크 자원을 효율적으로 사용하기 위해 데이터를 작게 나눈 데이터 블록을 의미합니다. 각 패킷은 헤더와 페이로드로 구성됩니다. 각 패킷은 다양한 경로를 통해 전달된 후 수신 측에서 재조합되어 데이터로 복원됩니다.
네트워크에서 처리량은 무엇을 의미하나요?
A.
네트워크에서 처리량(Throughput)은 단위 시간당 네트워크를 통해 성공적으로 전달된 데이터의 양을 의미합니다.
일반적으로 초당 비트 수(bps)로 측정되며, 대역폭과 혼동되기 쉬우나 실제 성능을 나타내는 지표입니다.
네트워크 지연, 패킷 손실, 혼잡 등이 처리량에 영향을 줄 수 있습니다.
예: 대역폭이 100Mbps인 네트워크에서 실제 전송된 데이터가 80Mbps라면 처리량은 80Mbps입니다.
네트워크가 혼잡할수록 처리량은 낮아집니다.
지연시간이란 무엇인가요?
A.
지연시간(Latency)은 데이터가 출발지에서 목적지까지 도달하는 데 걸리는 시간을 의미합니다. 주로 네트워크 통신에서 사용되며, 단위는 밀리초(ms)입니다. 낮은 지연시간은 실시간성이 중요한 서비스(예: 화상회의, 게임 등)에 필수적입니다.
예를 들어, A 서버에서 B 서버로 요청을 보냈을 때, 응답이 돌아오기까지 100ms가 걸렸다면, 이 중 왕복 시간(RTT)의 절반인 50ms가 지연시간이 됩니다.
* RTT(Round Trip Time)는 요청을 보내고 응답을 받기까지의 왕복 시간이고, 지연시간(Latency)은 단방향으로 데이터가 도달하는 데 걸리는 시간입니다. 즉, 지연시간은 RTT의 절반 정도로 볼 수 있습니다. RTT는 네트워크 품질 측정에 자주 사용됩니다.
처리량은 어떤 상황에 영향을 받나요?
A.
처리량은 다양한 요인의 영향을 받습니다.
대표적으로 네트워크 지연(Latency), 패킷 손실률(Packet Loss), 네트워크 혼잡(Network Congestion), 사용 중인 프로토콜(TCP/UDP), 그리고 라우터·스위치 성능 등이 있습니다. 특히 TCP의 경우 혼잡 제어나 흐름 제어에 따라 처리량이 크게 달라질 수 있습니다.
네트워크 병목현상은 무엇인가요?
A.
네트워크 병목현상은 네트워크 경로 상의 특정 구간이 처리 가능한 데이터 전송량보다 더 많은 트래픽을 처리하려고 할 때 발생하는 성능 저하 현상입니다. 주로 라우터, 스위치, 서버, 회선 대역폭 등이 병목 지점이 되며, 이로 인해 지연(latency), 패킷 손실(packet loss), 처리량 감소(througput degradation) 등의 문제가 발생할 수 있습니다.
예를 들어, 1Gbps 회선을 통해 데이터가 흐르다가 중간에 100Mbps 스위치를 지나면, 이 스위치가 병목 지점이 되어 전체 전송 속도가 100Mbps로 제한됩니다.
네트워크 병목 현상은 모니터링 툴을 활용해 RTT, 인터페이스 사용률, 트래픽 분석을 통해 식별할 수 있습니다.
해결 방법으로는 네트워크 장비 업그레이드, 대역폭 증설, QoS 설정, 그리고 트래픽 분산 구조 도입 등이 있습니다.
실제로 Zabbix로 네트워크 대시보드를 구성해 병목 구간을 시각화할 수 있습니다. (또는 그런 경험이 있습니다)
TCP/IP 가 무엇인가요? 각 계층에 대해서 설명할 수 있나요?
A.
TCP/IP는 인터넷을 포함한 대부분의 네트워크에서 사용하는 통신 프로토콜 집합으로, 데이터를 안정적이고 효율적으로 전달하기 위한 규칙 체계입니다.
총 4계층(응용, 전송, 인터넷, 네트워크 인터페이스)으로 구성되며, 각각의 계층은 특정 기능을 담당해 계층 간 독립성과 유연성
을 제공합니다.
응용 계층
- 사용자와 가장 가까운 계층으로, 애플리케이션 서비스 제공하며 HTTP, FTP, DNS, SMTP 프로토콜이 있습니다.
전송 계층
- 송수신 간의 데이터 전송 제어, 연결 관리하며 TCP(신뢰성 보장), UDP(빠름) 프로토콜이 있습니다.
인터넷 계층
- 패킷을 목적지까지 라우팅, 논리 주소(IP) 사용하며, IP, ICMP, ARP 프로토콜이 있습니다.
네트워크 인터페이스 계층
- 실제 하드웨어 통신, 물리적 데이터 전송 담당으로 Ethernet, Wi-Fi, MAC 주소 사용합니다.
관련 예시로,
웹 브라우저로 사이트 접속 시:HTTP 요청(응용 계층) → TCP 전송(전송 계층) → IP 패킷(인터넷 계층) → 이더넷 프레임(네트워크 계층)
전송 계층의 대표적인 방식은 무엇이 있고 어떤 차이가 있나요? (키워드: TCP, UDP)
A.
전송 계층의 대표적인 방식은 TCP(Transmission Control Protocol)와 UDP(User Datagram Protocol)입니다.
TCP는 연결 지향형 프로토콜로, 데이터의 정확성과 순서 보장을 위해 3-way handshaking, 오류 검출, 흐름 제어 등을 수행합니다. 웹 브라우징이나 파일 전송에서 사용됩니다.
UDP는 비연결형 프로토콜로, 빠른 전송이 중요한 상황에서 사용되며, 오류 검출이나 순서 보장 없이 전송만 수행합니다.
실시간 스트리밍이나 DNS 요청에 적합합니다.
계층 간 데이터 송수신 과정에 대해 설명할 수 있나요? (키워드: 캡슐화, 비캡슐화)
A.
네, 계층 간 데이터 송수신 과정은 캡슐화(Encapsulation)와 비캡슐화(Decapsulation) 개념으로 설명됩니다.
계층 간 데이터 송수신은 송신 측에서 캡슐화 과정을 거쳐 하위 계층으로 전달되고, 수신 측에서는 비캡슐화를 통해 상위 계층으로 전달됩니다.
각 계층은 자신의 프로토콜 헤더를 붙여 데이터를 감싸며, 이를 캡슐화라 합니다.
수신 측은 반대로 각 계층의 헤더를 제거하며 데이터를 해석하고 전달하는 비캡슐화 과정을 거칩니다.
이 과정은 OSI 7계층 또는 TCP/IP 4계층 구조를 기반으로 합니다.
네트워크에서 PDU에 대해 알고 있나요?
A.
PDU(Protocol Data Unit)는 네트워크 계층마다 데이터를 주고받기 위해 사용하는 데이터의 단위를 의미합니다.
각 계층에 따라 명칭이 달라지는데, 예를 들어
전송 계층은 세그먼트,
네트워크 계층은 패킷,
데이터 링크 계층은 프레임,
물리 계층은 비트라고 부릅니다.
이러한 구분은 각 계층이 어떤 역할을 담당하는지 명확히 이해하는 데 도움이 됩니다.
그렇다면,
각 계층에서 PDU가 어떻게 캡슐화(encapsulation)되는지 설명해보세요.
A.
캡슐화는 데이터를 상위 계층에서 하위 계층으로 전달할 때, 각 계층의 헤더 정보를 붙여 PDU를 생성하는 과정입니다.
예를 들어,
애플리케이션 계층의 데이터는 전송 계층에서 TCP/UDP 헤더가 붙으며 세그먼트가 되고,
네트워크 계층에서는 IP 헤더를 붙여 패킷이 됩니다.
데이터 링크 계층에서는 프레임 헤더와 트레일러가 추가되어 최종적으로 물리 계층에서 비트 스트림으로 전송됩니다.
Application 계층: HTTP 데이터 →
Transport 계층: TCP 헤더 추가 →
TCP 세그먼트 Network 계층: IP 헤더 추가 →
IP 패킷 Data Link 계층: MAC 헤더 + FCS 추가 →
이더넷 프레임 Physical 계층: 비트 스트림으로 인코딩 → 전송
“상위 계층”과 “하위 계층”은 OSI 7계층이나 TCP/IP 4계층 구조에서 계층 간 관계에서 쓰이는 용어
상위 계층은 사용자에 가까운 쪽, 즉 애플리케이션에 가까운 계층을 말하고, 하위 계층은 하드웨어에 가까운 계층을 의미합니다.
OSI 7계층은 기능별로 역할이 나뉘며,
1~4계층은 '하위 계층'(데이터 전송 중심), 5~7계층은 '상위 계층'(데이터 처리 중심)으로 구분
예를 들어, OSI 7계층 기준으로 7은 상위 계층이고, 1계층은 하위 계층입니다. 상위 계층은 데이터를 생성하고, 하위 계층은 그 데이터를 전달하는 데 초점을 둡니다.
OSI 7계층 요약표
계층 | 이름 | 주요 역할 | PDU 이름 | 실제 사용되는 프로토콜/기술 |
7 | 응용 (Application) | 사용자와 가장 가까운 계층, 앱 간 통신 제공 | Data | HTTP, FTP, SMTP, DNS |
6 | 표현 (Presentation) | 데이터 형식 변환, 암호화, 압축 등 | Data | SSL/TLS, ASCII, JPEG, MPEG |
5 | 세션 (Session) | 세션 생성/유지/종료 | Data | NetBIOS, RPC |
4 | 전송 (Transport) | 종단 간 통신, 오류 제어, 흐름 제어 (TCP/UDP) | Segment | TCP, UDP |
3 | 네트워크 (Network) | 라우팅, IP 주소 기반 전송 | Packet | IP, ICMP, ARP, RIP |
2 | 데이터 링크 (Data Link) | MAC 주소 기반 프레임 전송, 오류 검출 | Frame | Ethernet, PPP, Switch |
1 | 물리 (Physical) | 전기적 신호, 비트 단위 전송 | Bit | UTP, 광케이블, 전기 신호 등 |
OSI 7계층 동작 방식
계층 | 동작 방식 요약 | 주요 역할 및 흐름 |
7. 응용 | 사용자가 요청 | 사용자가 브라우저에서 www.example.com 입력하면 HTTP 요청 생성 |
6. 표현 | 데이터 변환 | 텍스트 → 바이너리, 암호화/복호화, 압축/해제 (예: SSL 암호화) |
5. 세션 | 세션 관리 | 서버와 세션 연결 시작/유지/종료. 예: 로그인 세션 유지 |
4. 전송 | 신뢰성 전송 | TCP/UDP를 이용해 포트 기반 전송, 흐름 제어, 오류 복구 수행 |
3. 네트워크 | 라우팅 | 목적지 IP를 기반으로 최적 경로 선택 (라우터가 경로 설정) |
2. 데이터링크 | 프레임화 | MAC 주소 기반 전송, 오류 검출 (CRC), LAN 내 통신 |
1. 물리 | 신호 전송 | 0과 1의 비트를 전기적 신호, 광신호 등으로 인코딩하여 전송 |
예시 흐름: 사용자가 웹사이트에 접속할 때
(실제 브라우저 요청 하나가 네트워크를 거쳐 도달할 때 어떤 일이 벌어지는지 확인하기!)
"브라우저에서 www.example.com 입력" → 물리적으로 데이터가 서버에 도달할 때까지 OSI 계층이 어떻게 동작하는가?
- Application: HTTP 요청 생성 (GET /index.html)
- Presentation: SSL을 통해 암호화 (HTTPS)
- Session: TCP 연결 수립 (3-way handshake)
- Transport: TCP 세그먼트로 나누고 포트 정보 추가
- Network: IP 패킷으로 구성, 목적지 IP 주소 설정
- Data Link: MAC 주소로 프레임 구성, 오류 검출 정보 추가
- Physical: 전기/광신호로 변환되어 케이블이나 무선으로 전송
로드밸런서란 무엇인가요?
A.
로드 밸런서는 다수의 서버로 네트워크 트래픽을 분산시켜 부하를 고르게 분산시키는 장치입니다
이를 통해 장애 시에도 서비스 가용성을 유지하고, 트래픽이 증가해도 확장성이 확보됩니다.
일반적으로 L4(전송 계층)과 L7(애플리케이션 계층) 로드 밸런서로 나뉘며,
각각 TCP/UDP( L4 ), HTTP/HTTPS (L7) 기반에서 작동합니다.
AWS의 ELB, NGINX, HAProxy 등이 대표적인 로드 밸런서입니다.
웹 서비스에서 사용자가 많아질 때 EC2 인스턴스 앞단에 ELB를 두어 요청을 분산시키는 구조로 활용됩니다.
ARP란 무엇인가요?
A.
ARP(Address Resolution Protocol)는 IP 주소에 해당하는 MAC 주소를 알아내기 위한 프로토콜로, 같은 네트워크 내에서 동작합니다.
주로 IPv4 네트워크에서 사용되며,
같은 네트워크 안에서 통신 대상의 MAC 주소를 알기 위해 ARP Request를 브로드캐스트하고,
응답으로 해당 IP를 가진 장비가 자신의 MAC 주소를 알려주는 방식(ARP Reply)으로 작동합니다.
ARP는 IPv4 환경에서 계층 간 주소 매핑에 중요한 역할을 합니다.
예를 들어,
PC1이 192.168.0.5에 패킷을 전송하려고 할 때, 대상의 MAC 주소가 없으면 ARP Request를 보내고, 192.168.0.5가 ARP Reply로 자신의 MAC 주소를 알려줌.
* 브로드캐스트 : 네트워크 상의 모든 호스트에게 데이터를 전송하는 방식
MAC 주소란 무엇인가요?
A.
MAC 주소는 네트워크 장비의 물리적 식별자로, 로컬 네트워크에서 데이터를 목적지까지 정확히 전달하는 데 필수적인 역할을 합니다.
예: 00-14-22-01-23-45
스위치에서 MAC 주소 테이블을 기반으로 프레임 전달
NAT란 무엇인가요?
A.
NAT는 내부 사설 IP 주소를 공인 IP로 변환하는 기술로, IPv4 주소 부족 문제를 완화하고 보안성도 높일 수 있습니다.
특히 공유기처럼 하나의 공인 IP로 여러 장비를 연결할 때 PAT(Port Address Translation) 방식이 자주 사용됩니다.
예시:
가정용 공유기에서 여러 기기가 192.168.x.x와 같은 사설 IP를 사용하더라도,
외부에는 공유기 하나의 공인 IP만 노출됩니다.
이때 PAT이 사용되어 포트 번호로 각각의 통신을 구분합니다.
PAT : 포트 번호를 기준으로 여러 사설 IP가 하나의 공인 IP를 통해 외부와 통신할 수 있게 해주는 방식입니다. 공유기 환경에서 가장 일반적으로 사용되며, IPv4 주소 절약에 효과적입니다.
반응형
'CS > Network' 카테고리의 다른 글
리눅스 기초 실습 기록 – 사용자 생성, 권한 설정, 서비스 관리까지 (0) | 2025.03.26 |
---|---|
DNS와 TCP 통신 흐름을 시각화하며 이해하기 – nslookup, tracert, Wireshark 실습 기록 (2) | 2025.03.26 |
후니의 쉽게 쓴 CISCO 네트워킹 #2 (0) | 2021.01.18 |
후니의 쉽게 쓴 CISCO 네트워킹 #1 (0) | 2021.01.16 |
손에 익히며 배우는 네트워크 첫걸음 #16 (0) | 2021.01.15 |