현재 글은 쉬운 코드님의 네트워크 관련 영상을 chatgpt로 요약한 글입니당.
출처: https://www.youtube.com/watch?v=6l7xP7AnB64
1. 네트워크와 프로토콜
- 네트워크는 컴퓨터나 기기들이 리소스를 공유하고 데이터를 주고받기 위해 유·무선으로 연결된 통신 체계이다.
- 네트워크가 제 기능을 하려면, 통신에 참여하는 주체들 간에 **통신 규약(약속)**이 필요하다. 이를 네트워크 프로토콜이라 한다.
- 사람 간 대화도 같은 언어(규칙)로 해야 원활한 것처럼, 컴퓨터 간 통신도 프로토콜을 따라야 한다.
2. 네트워크 기능의 모듈화와 OSI 7 계층
- 네트워크가 제공하는 기능(데이터 전송, 에러제어, 경로 결정 등)을 전부 ‘하나의 프로토콜’로 구현하는 것은 비효율적이다.
- 따라서 기능별로 나누어(모듈화) 계층(layer) 구조를 형성하게 되었고, 이를 대표적으로 모델링한 것이 OSI 7 Layer이다.
- OSI 7 계층: 물리(Physical) → 데이터 링크(Data Link) → 네트워크(Network) → 전송(Transport) → 세션(Session) → 표현(Presentation) → 응용(Application)
2-1. TCP/IP 스택
- 인터넷 환경에 특화된 또 다른 모델: TCP/IP 스택(4계층)
- OSI 모델의 일부 계층(프레젠테이션·세션, 데이터 링크·물리)을 합쳐 간소화한 형태.
3. OSI 7 Layer별 주요 역할
- 물리 계층(Physical Layer)
- 전송 매체(케이블·무선신호 등)를 통해 데이터를 비트(bit) 단위로 전송.
- 데이터 링크 계층(Data Link Layer)
- 직접 연결된 노드 간 데이터 전송 담당.
- MAC 주소 기반으로 통신하며, 오류 검사(트레일러) 등 수행.
- 예) 이더넷(Ethernet), ARP 등
- 네트워크 계층(Network Layer)
- 호스트 간 데이터 전송 담당, IP 주소 이용.
- 목적지까지 가는 **경로(Route)**를 결정하며, 대표 프로토콜은 IP.
- 전송 계층(Transport Layer)
- 프로세스(어플리케이션) 간 데이터 전송 담당.
- 신뢰성 보장(TCP) 또는 비연결성(UDP) 방식을 택해 목적지 어플리케이션으로 데이터를 전달.
- 세션 계층(Session Layer)
- 어플리케이션 간 통신(세션) 연결, 유지, 종료를 관리.
- RPC(Remote Procedure Call) 등이 해당 계층에 해당.
- 프레젠테이션 계층(Presentation Layer)
- 통신되는 데이터의 형식, 인코딩·디코딩, 암·복호화, 압축 등을 처리.
- 어플리케이션 계층(Application Layer)
- 실제 **서비스(웹, 이메일, 파일 전송 등)**에 맞는 통신 방식을 정의.
- HTTP, DNS, SMTP, FTP 등이 대표 프로토콜.
4. 계층 간 통신 흐름
- 인캡슐레이션(Encapsulation): 전송 측에서 상위 계층의 데이터를 하위 계층으로 내려보내면서, 각 계층마다 필요한 **헤더(혹은 트레일러)**를 덧붙이는 과정.
- 상위 계층부터 하나씩 필요한 정보를 포장하면서 내려온다고 생각하면 편함.
- 디캡슐레이션(Decapsulation): 수신 측에서 하위 계층부터 상위 계층으로 올라가며, 헤더(트레일러 포함)를 하나씩 제거하고 필요한 정보만 상위 계층에 전달하는 과정.
- 트레일러는 데이터 링크 계층에서 붙이고 헤더와 트레일러를 통해 정보가 온전한지 확인할 수 있음
예시) 댓글을 서버로 전송
- 어플리케이션 레이어에서 메시지 생성 후 → 하위 레이어로 내려가며 프로토콜 헤더를 붙임(TCP/UDP 헤더, IP 헤더, MAC 등).
- 네트워크 중간(라우터 등) 노드는 네트워크 계층까지만 확인(목적지 IP 확인 후 다음 경로 결정)하고 다시 데이터를 하위 계층으로 내려 보내 전송.
- 수신 측은 하위 계층부터 헤더를 하나씩 벗겨내며 최종적으로 어플리케이션 레이어에서 원본 메시지를 확인.
5. 정리
- 네트워크 프로토콜은 통신 방법을 정의한 규약이며, 네트워크 기능들은 계층화된 구조 속에서 각자 맡은 역할을 수행한다.
- OSI 7 계층은 학습이나 문서 작성 시 가장 많이 사용되는 대표 모델.
- 실제 구현에서는 TCP/IP 모델이 인터넷 환경에서 널리 쓰이며, OSI 모델 대비 계층이 합쳐져 있다.
- 계층화로 인해 프로토콜별 유지보수, 수정, 확장이 유리해지고, 서로 다른 하드웨어·소프트웨어 환경에서도 통신 호환성을 보장한다.
개념문제
1. 네트워크와 프로토콜
문제
다음 중 네트워크에서 ‘프로토콜(protocol)’이 필요한 가장 큰 이유는 무엇일까요?
A. 네트워크 기기간에 하드웨어 성능을 맞추기 위해
B. 통신에 참여하는 주체들끼리 약속된 통신 방법을 공유하기 위해
C. 네트워크 트래픽을 제한하기 위해
D. 각 기기의 IP 주소를 쉽게 외우도록 하기 위해
정답: B
설명
- A: 하드웨어 성능을 맞추는 것은 프로토콜이 담당하는 근본 목적과 다릅니다.
- B: 통신을 하려면 서로 약속된 형식·절차가 필요합니다. 이것이 프로토콜의 핵심입니다.
- C: 트래픽 제한은 일부 프로토콜의 기능일 수 있지만, 프로토콜 존재의 핵심 이유는 아닙니다.
- D: IP 주소를 쉽게 외우도록 만드는 것은 DNS 시스템이 담당하는 역할과 관련이 있습니다.
2. 네트워크 모듈화와 계층 구조
문제
네트워크 기능을 모두 단일 프로토콜로 구현하지 않고, 여러 계층으로 나누어 모듈화하는 주된 목적은 무엇일까요?
A. 보안을 강화하기 위해서
B. 각 계층마다 다른 프로그래밍 언어를 사용하기 위해서
C. 유지·보수가 쉽고, 수정·확장성을 높이기 위해서
D. 네트워크 속도를 무조건 빠르게 하기 위해서
정답: C
설명
- A: 계층화의 주된 목적이 ‘보안 강화’만은 아닙니다.
- B: 계층마다 언어를 달리 쓰는 것이 목표는 아닙니다.
- C: 기능을 분리(모듈화)하면 유지·보수와 확장에 유리합니다. 한 계층에 수정이 있어도 다른 계층 영향을 최소화할 수 있습니다.
- D: 계층화로 인해 속도가 무조건 빨라지는 것은 아니며, 오히려 오버헤드가 약간 추가될 수도 있습니다.
3. OSI 7계층의 순서
문제
OSI 7계층을 아래(1계층)부터 위(7계층)까지 올바르게 나열한 것은 무엇인가요?
A. 물리 - 전송 - 네트워크 - 데이터 링크 - 세션 - 프레젠테이션 - 어플리케이션
B. 물리 - 데이터 링크 - 네트워크 - 전송 - 세션 - 프레젠테이션 - 어플리케이션
C. 물리 - 네트워크 - 데이터 링크 - 전송 - 세션 - 프레젠테이션 - 어플리케이션
D. 어플리케이션 - 세션 - 프레젠테이션 - 전송 - 네트워크 - 데이터 링크 - 물리
정답: B
설명
- A: 전송(Transport)과 네트워크(Network)의 순서가 바뀌어 있습니다.
- B: 물리(1) → 데이터 링크(2) → 네트워크(3) → 전송(4) → 세션(5) → 프레젠테이션(6) → 어플리케이션(7)이 정석적인 순서입니다.
- C: 네트워크와 데이터 링크 계층이 순서가 잘못되어 있습니다.
- D: 가장 상위 계층부터 아래로 써둔 것이지만, OSI 모델 표기 시 일반적으로 L1(물리)부터 L7(어플리케이션) 순서로 적습니다.
4. 세션(Session) 계층
문제
다음 중 세션(Session) 계층의 역할로 가장 적절한 것은 무엇일까요?
A. 어플리케이션 간 통신에서 데이터 형식(인코딩/암호화)을 관리하는 것
B. 어플리케이션 간 통신 연결(세션)의 시작, 유지, 종료를 관리하는 것
C. IP 주소를 이용해 목적지까지 데이터 경로를 결정하는 것
D. 신뢰성 있는 연결(TCP) 또는 비연결(UDP)을 결정하는 것
정답: B
설명
- A: 데이터 형식(인코딩·암호화 등)은 프레젠테이션 레이어(6계층)가 맡습니다.
- B: 세션 레이어(5계층)는 어플리케이션 간 통신(세션)을 열고, 유지하고, 종료하는 역할을 담당합니다.
- C: IP를 사용해 라우팅(경로) 결정은 네트워크 레이어(3계층) 역할입니다.
- D: TCP/UDP를 통해 신뢰성을 결정하는 것은 트랜스포트 레이어(4계층)입니다.
5. 네트워크(Network) 계층
문제
다음 중 “호스트 간 통신”을 맡고, IP 주소를 사용해 목적지까지 경로를 결정하는 계층은 무엇일까요?
A. 데이터 링크 계층
B. 네트워크 계층
C. 트랜스포트 계층
D. 세션 계층
정답: B
설명
- A: 데이터 링크 계층은 직접 연결된 노드 간 통신(맥 주소 기반)을 담당합니다.
- B: 네트워크 계층은 호스트 간의 라우팅(경로 결정)을 맡으며, IP 주소를 사용합니다.
- C: 트랜스포트 계층은 TCP/UDP 등 프로세스 간 신뢰성 전송을 담당합니다.
- D: 세션 계층은 어플리케이션 간 세션 관리가 주 역할입니다.
6. 인캡슐레이션(Encapsulation) & 디캡슐레이션(Decapsulation)
문제
OSI 7계층을 거쳐 데이터가 전송될 때, 각 레이어에서 필요한 헤더(트레일러)를 덧붙이는 과정을 무엇이라 부를까요?
A. 디캡슐레이션(Decapsulation)
B. 인캡슐레이션(Encapsulation)
C. 멀티플렉싱(Multiplexing)
D. 라우팅(Routing)
정답: B
설명
- A: **디캡슐레이션(Decapsulation)**은 수신 측에서 헤더를 제거하면서 상위 계층으로 보내는 과정입니다.
- B: 인캡슐레이션(Encapsulation)은 송신 측에서 상위 계층 데이터를 하위 계층으로 내릴 때 헤더나 트레일러를 덧붙이는 과정입니다.
- C: 멀티플렉싱(Multiplexing)은 한 물리적 회선을 여러 신호가 공유하기 위한 기술적 용어로, 인캡슐레이션과는 별개입니다.
- D: 라우팅(Routing)은 네트워크 계층에서 목적지까지 가는 경로를 결정하는 행위입니다.
7. TCP/IP 스택과 OSI 모델
문제
TCP/IP 스택(4계층)에서 OSI 7계층의 “어플리케이션, 프레젠테이션, 세션 계층”을 **주로 하나의 계층(Application Layer)**으로 묶어보는 가장 큰 이유는 무엇인가요?
A. 실제 인터넷 환경에서 프레젠테이션·세션 계층이 분리되어 동작하는 경우가 드물어서
B. 하드웨어 제조사마다 전혀 다른 방식을 쓰기 위해서
C. 데이터 링크와 물리 계층이 합쳐졌기 때문에
D. 네트워크 계층과 트랜스포트 계층이 실제로는 필요 없기 때문에
정답: A
설명
- A: 현실적인 인터넷 통신에서 5·6계층(세션, 프레젠테이션) 기능을 애플리케이션이 직접 처리하는 경우가 대부분이라, TCP/IP 모델에서 이를 구분하지 않고 하나로 묶습니다.
- B: 하드웨어 제조사가 전혀 다른 방식을 사용한다는 것은 본문과 무관합니다.
- C: TCP/IP 스택의 하위 계층은 ‘Link Layer’로 물리·데이터 링크를 합쳐 놓았지만, 그것이 상위 계층을 하나로 보는 주 이유는 아닙니다.
- D: 네트워크 계층과 트랜스포트 계층은 인터넷 통신에서 매우 중요한 계층이라 ‘필요 없다’는 말은 틀렸습니다.
한 줄 요약
네트워크 통신은 ‘OSI 7 계층’처럼 기능별로 나뉜 구조(계층화)로 이루어지며, 각 계층의 프로토콜이 순서대로 데이터를 포장하고 전달(인캡슐레이션)·수신 측에서 해제(디캡슐레이션)해 최종적으로 통신을 완성한다.
'네트워크' 카테고리의 다른 글
| [네트워크] www과 인터넷 (1) | 2025.01.09 |
|---|---|
| [네트워크] 네트워크와 인터넷 개념 정리 (0) | 2025.01.09 |