이석복 님의 KOCW 강의 "컴퓨터 네트워크"를 정리한 글입니다.
* James F. Kurose님과 Keith W. Ross 님의
"컴퓨터 네트워킹 하향식 접근" 책을 교제로 한 강의입니다. (책의 내용은 포함되지 않았습니다)
1. 인터넷이란 무엇인가?
- 전 세계의 컴퓨터, 스마트폰, 서버 등이 서로 연결되어 통신할 수 있도록 만든 거대한 네트워크
2. 네트워크의 가장자리
- end systems (hosts)
- applications
Transport Protocol
항목 | TCP (Transmission Control Protocol) | UDP (User Datagram Protocol) |
연결 방식 | 연결 지향적 (Connection-oriented) | 비연결형 (Connectionless) |
신뢰성 | 신뢰성 있음 (Reliable) - 데이터 손실 시 재전송 - 순서 보장 (In-order delivery) |
신뢰성 없음 (Unreliable) - 손실돼도 재전송 안 함 - 순서 보장 안 됨 |
전송 단위 | 바이트 스트림 (byte-stream) | 데이터그램 (datagram) |
흐름 제어 | O (Flow Control 지원) | X |
혼잡 제어 | O (Congestion Control 지원) | X |
지연 (Latency) | 상대적으로 높음 (핸드셰이킹 등) | 낮음 (빠른 전송 가능) |
오버헤드 | 큼 (헤더 크고 제어 기능 많음) | 작음 (단순한 헤더 구조) |
사용 예시 | HTTP, FTP, Telnet, SMTP, 이메일 등 | VoIP, DNS, 스트리밍, 온라인 게임 등 |
- 흐름 제어: 전송자는 수신자가 받을 수 있는 속도로 전송
- 혼잡 제어: 네트워크 가용 능력에 맞게 전송
transport layer에서는 data integrity만 제공함
3. 네트워크 코어
- routers: 네트워크 간 데이터를 전송해주는 장치
Router 전송방식
circuit switching
- 출발지-목적지까지 경로를 특정 사용자를 위해 전용으로 사용
- ex) 무선전화망
packet switching
- 데이터를 패킷 단위로 나누어 전송하는 방식
- 라우터나 스위치는 패킷을 큐에 저장하고 순서대로 포워딩
- 전체 메시지의 순서를 보장하지는 않음
장점 | 설명 |
자원 효율성 |
필요할 때만 대역폭을 사용하므로 회선을 고정 점유하지 않음
|
병렬 전송 가능 |
여러 사용자/패킷이 동시에 네트워크 사용 가능
|
유연한 경로 | 패킷마다 최적 경로로 독립적으로 전송 가능 |
장애 대응력 |
중간 경로에 장애가 생기면 다른 경로로 우회 가능
|
비용 절감 | 전용 회선이 필요 없어서 통신 비용 절감 가능 |
확장성 우수 |
사용자나 트래픽 증가에도 비교적 유연하게 대응 가능
|
- ex) 인터넷
패킷
- 큰 데이터를 일정한 크기로 나눈 조각
구성 요소 | 설명 |
헤더(Header) |
출발지 주소, 목적지 주소, 순서 번호, 오류 검출 정보 등이 포함됨
|
페이로드(Payload) |
실제 전송하려는 데이터 내용 (예: 텍스트, 파일 조각 등)
|
트레일러(Trailer) |
오류 검출을 위한 체크섬 등 (헤더에 포함되기도 함)
|
통신 과정
- NIC에서 전자신호를 보내고(브로드캐스트 또는 유니캐스트),
- 스위치는 MAC 주소를 기반으로 패킷을 전송하거나, 다른 네트워크로 가야 한다면 라우터에 전달하고,
- 라우터는 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 |