이석복 님의 KOCW 강의 "컴퓨터 네트워크"를 정리한 글입니다.
* James F. Kurose님과 Keith W. Ross 님의
"컴퓨터 네트워킹 하향식 접근" 책을 교제로 한 강의입니다. (책의 내용은 포함되지 않았습니다)
1. 인터넷이란 무엇인가?
- 전 세계에 분산되어 있는 컴퓨터, 스마트폰, 서버 등이 하나의 거대한 체계로 연결되어 정보를 주고받을 수 있도록 만든 네트워크
2. 네트워크의 가장자리
Transport Protocol
- 프로세스 간 통신을 위한 프로토콜
- ✅ 프로세스 식별을 위해 포트 번호 사용
- ✅ reliability, data integrity 제공
항목 | TCP (Transmission Control Protocol) | UDP (User Datagram Protocol) |
연결 방식 | Connection-oriented | Connectionless |
전송 단위 | byte-stream | datagram |
신뢰성 | ✅ 데이터 손실 시 재전송 ✅ 순서 보장 |
❌ 데이터 손실 시 재전송 ❌ 순서 보장 |
흐름 제어 | ✅ 전송자는 수신자가 받을 수 있는 속도로 전송 | ❌ |
혼잡 제어 | ✅ 네트워크 가용 능력에 맞게 전송 | ❌ |
지연 (Latency) | 상대적으로 높음 (핸드셰이킹 등) | 낮음 (빠른 전송 가능) |
오버헤드 | 큼 (헤더 크고 제어 기능 많음) | 작음 (단순한 헤더 구조) |
사용 예시 | HTTP, FTP, Telnet, SMTP, 이메일 등 | VoIP, DNS, 스트리밍, 온라인 게임 등 |
3. 네트워크 코어
패킷
- 큰 데이터를 일정한 크기로 나눈 조각
구성 요소 | 설명 | 특징 / 예 |
Header |
출발지 주소, 목적지 주소, 순서 번호, 오류 검출 정보 등이 포함됨
|
|
Payload |
실제 전송하려는 데이터 내용
|
예: 텍스트, 파일 조각 등
|
Trailer |
오류 검출을 위한 체크섬 등
|
헤더에 포함되기도 함
|
라우팅
- 전체 네트워크에서 최적 경로를 계산하는 작업
구분 | Circuit Switching | Packet Switching |
방식 | 출발지 ↔ 목적지 사이에 전용 회선을 설정하고 통신 동안 독점 |
데이터를 패킷 단위로 쪼개어, 각 패킷이 독립적으로 전송
|
자원 사용 | 회선이 예약되어 항상 동일 대역폭 보장 | 필요할 때만 대역폭 사용 (자원 공유) |
지연 | ✅ 예측 가능 (경로가 고정 → 지연이 일정함) | ❌ 큐잉/혼잡에 따라 지연 변동 |
순서 보장 | ✅ 항상 같은 회선을 사용 | ❌ 패킷이 다른 경로로 갈 수 있음 |
효율성 | ❌ 사용자가 없는 시간에도 회선 자원 낭비 | ✅ 자원을 공유함 |
장애 대응 | ❌ 특정 회선에 장애가 생기면 통신 불가 | ✅ 다른 경로로 우회 가능 (탄력적) |
예시 | 전화망, 무선전화망 (옛날 회선 기반 음성 통신) | 인터넷, 데이터 통신망 (IP 네트워크) |
통신 과정
- NIC: 데이터를 비트 단위로 전기 신호로 변환하여 전송
- 스위치: 패킷 전송
- 내부 네트워크(서브넷) - MAC 주소 기반으로 어떤 포트로 보낼지 결정 (ARP 브로드캐스트 -> 유니캐스트)
- 다른 네트워크 - 라우터에 전달
- 라우터: hop-by-hop
- IP 주소를 보고 경로를 선택하여 다음 홉 라우터에 패킷 전달
- ✅ 이 과정이 계속 반복되어 목적지에 도달함
- ✅ 상위 프로토콜을 따라 통신함
4. 패킷 교환 네트워크에서의 지연, 손실과 처리율
지연
- 라우터에서 라우터로 패킷 전송할 때 지연 발생
지연 유형 | 설명 | 특징 |
Nodal Processing Delay | 라우터/스위치가 패킷을 처리하는 시간 | ✅ check bit errors ✅ routing decision |
Queueing Delay | 출력 링크가 바끄면 패킷이 라우터 큐에 대기하는 시간 | ✅ congestion level이 크면 급격히 증가 |
Transmission Delay | 패킷의 모든 비트를 링크에 밀어 넣는 데 걸리는 시간 | 패킷 크기 / 전송 속도 (R) ✅ 예: 1,000비트 / 1Mbps = 1ms |
Propagation Delay | 물리적인 링크를 따라 신호가 전달되는 시간 거리와 매체에 따라 다름 (광섬유, 구리선 등) |
링크 길이 / 전파 속도 |
손실
- 큐가 꽉 찼을 때 새로 도착한 패킷은 버려짐
- ✅ 라우터의 버퍼 오버플로우가 원인
- ➡️ 손실된 패킷은 재전송이 필요함
구분 | 직전 라우터가 재전송 | 처음 송신자가 재전송 (TCP) |
동작 방식 | 패킷이 손실되면 가까운 라우터가 다시 전송 | 수신자가 손실 감지 시, 송신자(출발지) 에게 재전송 요청 |
사용 위치 | 링크 계층 (예: 무선 네트워크) | 전송 계층 (TCP) |
지연 시간 | 짧음 (가까운 거리라서 빠름) | 상대적으로 길 수 있음 |
신뢰성 | 라우터 간 전송에 집중 | 전체 통신의 신뢰성 보장 |
예시 | Wi-Fi에서 오류 재전송 | TCP 연결에서 데이터 손실 감지 후 재전송 |
처리율
- 수신 측에서 초당 받는 데이터 양 (bps 단위)
5. 프로토콜 계층과 서비스 모델
- 컴퓨터는 Physical, Link, Network, Transport, ..., Application 계층까지 존재
- 라우터는 Physical, Link, Network 계층 까지 존재
6. 공격받는 네트워크
7. 컴퓨터 네트워킹과 인터넷의 역사
출처
'Network' 카테고리의 다른 글
[컴퓨터 네트워킹 하향식 접근] 3-3. 트랜스포트 계층: UDP (1) | 2025.03.28 |
---|---|
[컴퓨터 네트워킹 하향식 접근] 3-2. 트랜스포트 계층: TCP (1) | 2025.03.28 |
[러닝 HTTP/2] 1. HTTP의 진화 (0) | 2025.03.28 |
[컴퓨터 네트워킹 하향식 접근] 3-1. 트랜스포트 계층: 개요 (0) | 2025.03.27 |
[컴퓨터 네트워킹 하향식 접근] 2. 애플리케이션 계층 (1) | 2025.03.27 |