본문 바로가기
Infra & Security Eng/Network & Security

네트워크 핵심 개념 정리(데이터 교환 방식, 다중화 방식, 이더넷, 네트워크 계층 구초,네트워크 토폴로지)

by 엔지니어 E 2025. 12. 24.
반응형

1️⃣ 데이터 교환 방식 비교: 서킷 교환 vs 패킷 교환

네트워크에서 데이터를 전달하는 방식은 크게 두 가지로 나뉜다. 현재 우리가 사용하는 인터넷은 대부분 패킷 교환 방식을 따름

구분 서킷 교환 (Circuit Switching) 패킷 교환 (Packet Switching)
특징 - 경로와 대역폭을 미리 예약
- 다중화방식: FDM(주파수 분할, 아날로그 방식), TDM(시간 분할, 디지털 방식)
경로가 정해져 있지 않음

 

1) 패킷(Packet): 데이터를 쪼갠 작은 단위. '보내는 사람 정보(출발지 주소)'와 '받는 사람 정보(목적지 주소)'가 포함되어 있음

* 통계적 다중화(Statistical Multiplexing): A와 B의 패킷 순서가 일정하지 않다. 즉, 보내지는 순서에 일정한 패턴이 없다 

(1) 각 패킷은 독립적으로 전달

(2) 발생하는 대량의 데이터 처리에 적합

(3) 자원 공유 효율적

(4) 과도한 혼잡이 발생할 경우: 패킷의 지연과 손실 

💡패킷 지연의 종류 
처리지연, 큐잉지연, 전송지연, 전파지연 

 

2️⃣ 전송 대상에 따른 분류

1) 유니캐스트(Unicast): 보내는 사람과 받는 사람이 1:1인 방식 (가장 일반적인 통신).

1) 브로드캐스트(Broadcast): 같은 네트워크 안의 모든 사람에게 전송.

2) 멀티캐스트(Multicast): 특정 그룹에게만 전송.

💡 현대 인터넷은 데이터그램 네트워크 망을 기반으로 운영

 

3️⃣접속 네트워크 및 전송 매체

1. Ethernet (이더넷)

로버트 밥 매트칼프(Robert Bob Metcalfe)에 의해 최초 설계

  • 가장 흔히 사용하는 네트워크 방식으로 여러 대의 컴퓨터와 기기들을 하나의 네트워크로 연결하기 위한 가장 대표적인 기술 표준
  • UTP 케이블 사용
  • Wi-Fi도 이더넷 망의 한 종류
더보기
ex) 10Base5 의 의미 
10: 10Mbps의 전송 속도 Base: Baseband 전송 방식 5: 500m의 최대 거리 


💡 참고사항

  • 맥 어드레스가 3개이면 Lan 카드도 3개
  • 이더넷 →  맥어드레스(랜 카드에 있는 주소)로 통신

 

1-1 이더넷 CSMA/CD 개념

1. 정의

- 충돌, 지연이 가능하며 예약하지 않는다는 특징을 가지므로 CSMA/CD (Carrier Sense Multiple Access with Collision Detection) 방식으로 통신함 
- 이더넷(Ethernet) 환경에서 데이터를 보낼 때, 충돌을 방지하고 관리하기 위한 통신 규칙

 

2. 단계별 상세 설명

더보기

CS (Carrier Sense, 캐리어 감지)

  • 데이터를 보내기 전, 네트워크 회선에 흐르는 전기적 신호가 있는지 확인하는 과정

  • "누가 말하고 있나?" 확인 후, 비어 있을 때만 데이터를 전송함

MA (Multiple Access, 다중 접속)

  • 하나의 통신 회선(공용 도로)에 여러 대의 컴퓨터가 동시에 연결되어 자유롭게 접속할 수 있는 상태.

CD (Collision Detection, 충돌 감지)

  • 데이터를 보내는 도중, 다른 컴퓨터의 신호와 부딪히는 **Collision(충돌)**이 발생하는지 감시.

  • 충돌 발생 시: 즉시 전송을 중단하고, 모든 PC에 충돌 알림 신호(Jam Signal)를 보낸 뒤 랜덤한 시간을 기다렸다가 다시 전송함

 

3. 주요 포인트 (보충 내용)

더보기

유니캐스트 방식: A가 D에게 패킷을 보낼 때, 같은 선상의 B, C도 패킷을 받지만 헤더의 목적지 주소를 확인하고 본인 것이 아니면 버림.

발생 배경: 네트워크에 연결된 장치가 많아질수록 충돌(Collision)이 잦아져 효율이 떨어짐.

해결책: 충돌 영역(Collision Domain)을 나누기 위해 **브릿지(Bridge)**나 스위치(Switch) 같은 장비가 등장함. (스위치는 충돌을 원천 차단하는 Full Duplex 방식 사용)

 

4. 핵심 요약

더보기

눈치 보기(CS) → 같이 쓰기(MA) → 충돌 확인(CD)

• 충돌 발생 시 해결책: 전송 중단 후 랜덤 시간 대기(Backoff) 후 재전송

네트워크 가용성이 심각하게 저하되는 이유는?
collision이 증가 해서 네트워크 성능이 저하됨 →  네트워크를 쪼개야 되는 경우가 발생 이더넷 확장

 

1-2 이더넷 확장장치 (리피터, 브릿지)

1-2-1 리피터(더미허브) 

물리 계층(Layer 1)에서 동작하며, 단순히 신호를 증폭하고 전달하는 장치

  • 표준 규격이 없음 
  • 단지 전기 신호를 보내는 장치 
  • 5-4-3 규칙: 네트워크를 5개를 만들고, 4개의 리피터를 만들고, 3개의 컴퓨터를 만든다 는 규칙 ( 단지 테스트 환경일 뿐 의미가 없음)

2-2-2 브릿지

이터 링크 계층(Layer 2)에서 동작하며, MAC 주소를 기반으로 네트워크 세그먼트를 분리하고 연결

브릿지의 핵심 메커니즘

  • 최소 연결: 케이블이 최소 2개(포트 2개) 이상 연결되어야 두 네트워크 중계가 가능 
  • 수동적 통신(Blind/Passive): 스스로 데이터를 찾아 나서는 것이 아니라, 패킷이 들어올 때까지 기다렸다가 패킷 내부의 주소를 보고 학습하는 방식
  • 브릿지 테이블(MAC Address Table): 어느 포트에 어떤 PC(MAC 주소)가 있는지 저장하는 지도 (라우터의 라우팅 테이블과 유사한 역할)

1. learning 출발지(Mac Address) 주소를 보고 브릿지의 Mac Table에 저장함
2. filtering 브릿지를 못 넘어가게 막는 것. 즉, 브리지가 목적지 Mac 주소를 알고 있으며, 출발지와 목적지가 같은 세그먼트에있는 경우 프레임이 브리지를 건너지 않아도 되므로 해당 프레임을 전달하지 않고 차단하는 기능
3. Forwarding 브리지가 Mac 주소를 알고 있고, 목적지와 출발지가 다른 세그먼트에 존재 하는 경우에 발생함. 브리지는 목적지가 연결된 해당 포트(특정한 포트) 로만 프레임을 전달
4. Flodding 브리지 테이블에 목적지 MAC 주소가 없을 때 데이터가 들어온 포트를 제외한 나머지 모든 포트로 프레임을 뿌려줌
5. Aging 나이를 먹는것. 즉 시간이 지나면 Mac 주소를 테이블에서 지움

 

💡참고사항

브리지 테이블은 맥 주소, 포트 번호가 함께 기재 되어 있다

 

2. 전송 매체

  • 과거: 동축 케이블
  • 현재: 광케이블, UTP 케이블 위주

 

💡 참고사항

  • 브리지 - 같은 네트워크 안에 있는 것들을  연결할 때만 연결 
  • 라우터 - 네트워크 주소가 서로 다른 네트워크를 연결
라우터가 패킷을 어느 라우터로 보낼지 결정하기 위해 주변 라우터들이 어떻게 연결 되어 있는지 알아놔야 함. 라우터들은 무수히 많기 때문에 자기 주변에 있는 라우터 정보들만 알고 있음

 

p10~ 11 개념 정리 해놔야 함

3. 네트워크 가장자리(Edge)

1) 호스트(=종단시스템, End Sytem , Hosts) 에서 응용 프로그램이 실행

2) 종단 시스템(Hosts)**들이 이 엣지에 위치

💡네트워크: 프로세스들(컴퓨터 프로그램들) 간의 메세지를 주고 받는 것 (= 서버와 클라이언트 간의 메세지를 주고 받는 것)
ex) 카카오톡 - 카카오톡 서버에 접속하는 것

4. 네트워크 코어(Core)

 

4️⃣ 네트워크 계층 구조 (Layering)

네트워크 시스템은 기능을 나누어 계층별로 관리

OSI 모델 TCP/IP 모델
Application Application
Presentation
Session
Transport Transport(TCP)
Network Network(IP)
Data Link Link(Physical)
*link 계층과 Physical 계층을 따로 쓰기도 함
Physical

 

1) TCP/IP 모델

Application (응용) - FTP, SMTP, HTTP

  • 내 컴퓨터의 어플리케이션과 상대방 컴퓨터의 어플리케이션이 통신
  • 예: 웹 브라우저 ↔ 웹 서버
  • Transport (전송) - TCP, UDP
- 네트워크 코어는 패킷을 전달만 할 뿐, 그것이 잘 도착했는지 관심이 없는 '블라인드 통신(Best-effort)' 방식
- 지연: 패킷이 큐에 들어옹는 속도가 나가는 속도보다 빠름
- 손실: 네트워크 블라인드 통신 방식으로 패킷(데이터)이 없어졌는지 모름 

  • Network (네트워크) - IP, Routing protocol

2025.12.17 - [정보보안/네트워크] - 정보 보안 - IP주소, 호스트주소, 네트워크 주소, DNS주소, GATEWAY주소

1. IP

-  IP주소에서 네트워크 주소를 알아야 하는 이유: 통신이 안됨
* NAT (=공유기): 사설 IP ↔ 공인 IP를 변환하여 여러 내부 호스트가 하나의 공인 IP를 공유하게 하는 기술
- 사설 IP 가 많고, 리얼 IP가 적을 때 사용하던 장비 
- NAT 구성: 192.168.11.0 ip주소가 공유기를 타면 192.168.10.0 으로 바뀌고 또 외부로 나가면 공유기를 통해 다른 실제ip주소로 바뀜
- NAT 방화벽: 공유기 사용 시 외부에서 접속이 안된다는 장점이 있음


* 사용할 수 없는 ip: 사설 IP(회사 내부에서 테스트 용도 등)

2. ARP
통신하는 주체가 상대방의 ip를 가지고 상대방의 Mac 주소를 알아내는 것 
* 상대방의 Mac 주소를 찾을 때 브로드캐스트로 찾음 
- ARP 는 응답과 요청으로 나뉘어짐
- ARP 질의는 Broadcast가 아니라 Unicast로도 자주 나간다는 점 참고

ex) 1.1.1.21이 1.1.1.23과 통신하려 할 때, 목적지 IP는 1.1.1.23으로 설정하고, 목적지 MAC 주소는 
브로드캐스트 주소인 ff:ff:ff:ff:ff:ff로 설정해서 보내게 된다 


3. RARP
내 Mac 주소를 가지고, 내가 몇 번 IP를 쓰면 되는지 알아 내는 것 
* 패킷 분석 시 ARP, RARP 가 똑같이 생겼음

  •  
  • Link (데이터 링크) - PPP, Ethernet
  • Physical (물리)

 

2) 캡슐화, 역캡슐화 과정

네트워크 통해 데이터를 보낼때, 데이터는 단순히 한번에  전송 되는 것이 아니라 각 계층을 거치며 포장되고, 해체되는 과정을 거친다. 이를 데이터 캡슐화, 역캡슐화 라 부른다

 

캡슐화(Encapsulation) 과정 (데이터가 상위계층 → 하위계층으로 내려가면서 헤더가 붙는 과정)

Application 데이터(메세지) 가 만들어지는 곳으로 소켓을 통해 TCP 로 메세지가 전달 된다 
* 소켓: 문을 열어 주는 것 
Transport(L4 계층) Application 에서 내려온 메세지 + 받는 사람 포트번호(21), 보내는 사람 포트 번호(4230) 헤더인 세그먼트(Segment)를 만들어 L3 계층으로 데이터를 내려 보낸다 

* 서버쪽(vsFTPd) 포트 넘버는 고정되어있음. 단, 조직 내부 인원들 간의 메세지를 주고 받는 것은 포트가 달라질 수 있다는 점 참고
Network(L3 계층) L4계층에서 내려온 세그먼트 + 받는 사람 IP주소(1.1.1.2)와 보내는 사람 IP주소(1.1.1.3) 헤더인 데이터그램(Datagram)를 만들어 L2 계층으로 데이터를 내려 보낸다 
Link(L2 계층) L3계층에서 내려온 데이터그램 + 받는 사람 맥주소(C)와 보내는 사람 맥주소(S)를 헤더인 Frame을 만든다 
Physical(L1 계층) 캡슐화와 역캡슐화는 계층별 '헤더'를 다루는 과정이므로, 실제로는 L2, L3, L4 계층 사이에서 일어난다.
L1(물리 계층) 역할은 캡슐화가 완료된 데이터를 전기 신호로 바꾸거나 받은 신호를 다시 데이터로 복구 하는 역할을 수행 한다
💡참고사항
자동적으로 하는 일: 액션 / 가만히 있어도 일어나는 일: 이벤트 

ex) 파일질라가 메세지를 보내는 것: 액션 메세지를 가만히 있어도 받는 것: 이벤트
TCP 계층이 세그먼트를 보내는 것: 액션 IP계층이 세그먼트를 받는 것:이벤트

 

역캡슐화(Decapsulation) 과정 (데이터가 하위계층 → 상위 계층으로 올라가면서 헤더를 제거 하는 과정)

Link(L2 계층) 프레임에서 받는 사람 맥주소(C)를 확인한 후 정보가 일치하면 맥주소가 포함된 이더넷 헤더, 트레일러 제거 후 IP 계층으로 패킷을 올려 보낸다 
Network(L3 계층) 데이터그램에서 받는 사람 IP주소(1.1.1.3)를 확인한 후 정보가 일치하면 IP 헤더 제거 후 TCP 계층으로 세그먼트를 올려 보낸다 
Link(L2 계층) 세그먼트에서 받는 사람 포트번호(21)를 확인한 후 정보가 일치하면 TCP 헤더 제거 후 Application 계층으로 메세지를 올려 보낸다 
💡참고사항

B: 프레임 이 들어오는것(이벤트) TCP는 세그먼트가 올라오는 이벤트가 발생
보낸 사람의 포트번호 받는사람의 포트번호를 확인하는 해서 메세지를 올려보내주는 액션을 취함

 

💡 레이어링의 원칙과 장점

  • 단순성: 각 계층의 역할이 명확
  • 투명성: 계층 간 독립성 유지
  • 책임 분리: 문제 발생 시 원인 파악이 쉬움 → 유지보수 용이

 

💡 참고사항

  • PING 작업 하는 이유: ICMP 프로토콜을 이용하여 메세지를 보내서 상대방 네트워크 설정과 내 네트워크 설정이 정상작동 하는지 Network 테스트를 하는 것 
  • 추상화: 핵심적인 것을 뽑아 그림으로 만드는 것
  • 부팅: 컴퓨터 안에 들어있는 운영체제의 커널이 메모리에 올라가는 것 
  • 작업할 때 메뉴얼이 잘 안나오는 경우 RFC 문서를 읽어볼 것

 

5️⃣ TCP/IP와 접속 도구

1. TCP/IP

  • 여러 **host(서버)**들을 서로 연결하기 위해 등장한 표준 프로토콜

 

6️⃣ 클라이언트 – 서버 개념 (p.58)

1. 클라이언트

  • 클라이언트 프로그램이 실행 중이기 때문에 클라이언트 라고 부르는 것 
  • 필요할 때만 실행됨

2. 서버

  • 서버 프로그램이 실행 중이기 때문에 서버라고 부르는 것
  • 언제, 누가 접속할지 몰라 메모리에서 24시간 실행되어야 함
  • 메세지를 주는 것을 기다리는 역할 (감시=리스닝 역할)
  • 서버를 어떻겟 핸들링 할 것인가에 대한 것이 우리의 역할 

💡 핵심 포인트

  • 클라이언트와 서버는 컴퓨터가 아니라 “프로그램” 기준 (컴퓨터가 서버라는 개념이 아님)
  • “호스트” 대신 서버라는 용어 사용
  • 이유: 호스트는 비용이 비쌈, 서버 개념이 더 실무적

 

7️⃣ 컨테이너 & 3-Tier 아키텍처 (p.59)

1. 컨테이너

  • 서버를 복제해서 늘리는 구조
  • 유료 환경에서는 비용 증가 → 안 쓰는 게 나을 수도 있음

2.  3-Tier 아키텍처

Chrome (Client)
   ↓
Apache (Web Server)
   ↓
Oracle (DB Server)
➡️ 위 구조를 3-Tier 아키텍처라고 함
 

8️⃣ 브릿지, 스위치 개념 (p.65)

  • 브릿지 = 스위치
    • 기능은 동일
    • 사용처나 물리적 규격만 다름

 

9️⃣ 네트워크 토폴로지 (p.67)

  • 네트워크의 형태
  • 데이터가 어떻게 흐르는지에 따라 구분
버스형 하나의 선로 공유 가장 보편적
스타형 중앙 장비 중심 매우 많이 사용
링형 고리 형태 ❌ 현재 거의 사용 안 함