네트워크 과목

TCP/IP 개요

OSI 모델과 TCP/IP 계층 구조

TCP/IP 모델은 총 5계층 구조로 구성되며, 각 계층은 명확한 역할을 수행한다. 응용 계층(5계층)은 사용자와 직접 상호작용하는 인터페이스를 제공하고, 전송 계층(4계층)은 프로세스 간 데이터 전달과 전송의 신뢰성을 담당한다. 네트워크 계층(3계층)은 호스트 간 데이터 전달을 위한 라우팅을 수행하며, 데이터 링크 계층(2계층)은 인접한 노드 간의 신뢰성 있는 데이터 전송을 관리한다. 물리 계층(1계층)은 실제 전기적 신호를 통해 데이터를 전송하는 역할을 한다.

캡슐화와 비캡슐화

데이터가 전송될 때는 각 계층을 거치며 헤더가 순차적으로 추가되는 캡슐화 과정을 거친다. 응용 계층의 데이터는 전송 계층에서 세그먼트 또는 데이터그램 형태로 변환되고, 네트워크 계층에서는 패킷, 데이터 링크 계층에서는 프레임, 물리 계층에서는 비트 단위로 변환되어 전송된다. 수신 측에서는 이와 반대로 각 계층을 따라 헤더를 제거하는 비캡슐화 과정을 통해 원본 데이터를 복원한다.

주소 체계

각 계층은 통신을 위해 서로 다른 주소 체계를 사용한다. 전송 계층은 16비트 포트 번호를 사용하며, 네트워크 계층은 32비트 IP 주소를, 데이터 링크 계층은 48비트 MAC 주소를 활용한다.

1. 네트워크 개요

1-1. 데이터 통신의 개념과 구성요소

데이터 통신은 전달성, 정확성, 적시성을 보장해야 하며, 메시지, 송신자, 수신자, 전송매체, 프로토콜로 구성된다.

1-2. 데이터 흐름 방식

통신 방식은 단방향 통신(TV, 라디오), 반이중 통신(무전기), 전이중 통신(전화기)으로 구분된다.

1-3. 네트워크 통신 방식

통신 대상에 따라 유니캐스트(일대일), 브로드캐스트(일대전체), 멀티캐스트(일대다), 애니캐스트(가장 가까운 노드) 방식이 있다.

1-4. 네트워크 토폴로지

네트워크 구조에는 버스형, 스타형, 링형, 그물형 토폴로지가 있다.
스타형은 설치와 관리가 용이하고 안정적이나 허브 고장 시 전체 시스템이 중단되며, 그물형은 안정성이 높지만 구축 비용이 크다.

2. 물리 계층 (Physical Layer)

2-1. 전송 매체의 종류

전송 매체는 유도 매체와 비유도 매체로 구분된다.
유도 매체에는 꼬임쌍선 케이블(전이중 통신, 랜선), 동축 케이블(반이중 통신, 케이블 TV), 광섬유 케이블(빛 기반 데이터 전송)이 있다.
비유도 매체에는 라디오파(3KHz~1GHz), 마이크로파(1GHz~300GHz), 적외선파(300GHz~400THz)가 있다.

2-2. 신호 변환 과정

아날로그 신호를 디지털 신호로 변환하기 위해 표본화, 양자화, 부호화 과정을 거친다.

2-3. 물리 계층 장비

리피터는 신호를 증폭하여 재전송하며 잡음은 제거한다.
증폭기는 잡음을 포함해 신호를 증폭하며, 허브는 다중 포트를 가진 장치로 브로드캐스트 방식으로 동작한다.

3. 데이터 링크 계층 (Data Link Layer)

3-1. MAC 주소

MAC 주소는 48비트(6바이트)로 구성되며, 16진수 콜론 표기법으로 표현된다.

3-2. 근거리 통신 접근 방식

ALOHA는 무작위 접속 방식이며, CSMA/CD는 충돌 감지 후 재전송을 수행한다.
CSMA/CA는 충돌을 사전에 회피하는 방식이다.

3-3. L2 스위치 동작 원리

L2 스위치는 MAC 주소 학습(Learning), 포트 결정(Filtering), 플러딩(Flooding), 포워딩(Forwarding), 에이징(Aging) 기능을 수행한다.

3-4. 이더넷 프레임 구조

이더넷 프레임은 Preamble(7B), SFD(1B), 목적지/출발지 MAC 주소(각 6B), Type(2B), Data & Padding(46~1500B), FCS(4B)로 구성된다.

4. 네트워크 계층 – IPv4 주소 체계

4-1. IPv4 주소 구조

IPv4 주소는 32비트로 구성되며 네트워크 ID와 호스트 ID로 구분된다.
CIDR 표기법을 사용하여 네트워크를 표현한다.

4-2. 서브넷 마스크

서브넷 마스크는 네트워크 영역을 구분하기 위한 값으로, 접두사 길이만큼 1로 채워진다.

4-3. 라우팅과 포워딩

라우팅은 최적의 경로를 결정하는 과정이며, 포워딩은 포워딩 테이블을 기반으로 패킷을 전달하는 과정이다.

5. IPv4 패킷과 DHCP

5-1. IPv4 패킷 구조

IPv4 패킷은 헤더(20~60B)와 페이로드(20~65535B)로 구성된다.
주요 필드에는 버전, 헤더 길이, ToS, 전체 길이, 식별자, 플래그, TTL, 프로토콜, 송·수신지 IP 주소가 있다.

5-2. 단편화

데이터그램 크기가 MTU보다 클 경우, 네트워크 전송을 위해 여러 개로 분할하여 전송한다.

5-3. DHCP 프로토콜

DHCP는 IP 주소를 동적으로 할당하는 프로토콜로 Discover → Offer → Request → Ack 순서로 동작한다.

6. ARP, NAT, ICMP

6-1. ARP 프로토콜

ARP는 IP 주소를 기반으로 MAC 주소를 조회하는 프로토콜이다.
ARP 요청은 브로드캐스트, 응답은 유니캐스트 방식으로 전송된다.

6-2. NAT

NAT는 사설 IP 주소를 공인 IP 주소로 변환하여 IP 주소를 절약하고 보안을 강화한다.

6-3. ICMP

ICMP는 오류 보고 메시지와 질의 메시지를 제공한다.
Ping은 에코 요청과 응답을 이용해 통신 가능 여부와 왕복 시간을 측정한다.

7. 전송 계층 개요

7-1. 전송 계층의 역할

전송 계층은 프로세스 간 논리적 통신을 제공하며 엔드 시스템에서만 동작한다.
포트 번호(0~65535)를 통해 프로세스를 식별하며, 소켓 주소는 IP 주소와 포트 번호의 조합이다.

7-2. 흐름 제어와 오류 제어

흐름 제어는 송수신 속도를 조절하고, 오류 제어는 손실 및 중복 패킷을 처리한다.
슬라이딩 윈도우 기법은 두 기능을 동시에 수행한다.

7-3. 전송 계층 프로토콜

정지-대기 프로토콜, Go-Back-N, 선택적 반복 프로토콜이 있으며 각 방식은 윈도우 크기와 순서 번호 사용 방식에서 차이가 있다.

8. UDP와 TCP

8-1. UDP 프로토콜

UDP는 비연결성·비신뢰성 프로토콜로 순서 번호를 사용하지 않으며 흐름, 오류, 혼잡 제어 기능이 없다.
헤더는 8바이트로 구성된다.

8-2. TCP 프로토콜

TCP는 연결 지향형 프로토콜로 신뢰성을 보장하며 바이트 번호와 확인 응답을 사용한다.
전이중 통신을 지원한다.

8-3. TCP 연결 설정과 종료

TCP는 3-way Handshake를 통해 연결을 설정하고, FIN을 사용하여 연결을 종료한다.

8-4. TCP 윈도우 관리

송신 윈도우(cwnd)는 미확인 세그먼트를 관리하며, 수신 윈도우(rwnd)는 아직 응용 계층에 전달되지 않은 데이터를 관리한다.

9. 응용 계층 (Application Layer)

9-1. 소켓

소켓은 TCP/UDP 기반으로 애플리케이션 간 데이터 통신을 제공하는 인터페이스이다.

9-2. 주요 응용 계층 프로토콜

FTP, SMTP, POP3, DNS, SSH, HTTP, HTTPS 등이 있으며 각 프로토콜은 고유한 포트 번호를 사용한다.

9-3. HTTP 특징

HTTP는 비연결성, 무상태성을 가지며 요청/응답 방식으로 동작한다.
HTTP/1.1 이상에서는 지속 연결을 지원한다.

9-4. 쿠키와 웹 캐시

쿠키는 무상태성을 보완하기 위해 사용자 상태를 저장하며, 웹 캐시는 자주 사용하는 데이터를 임시 저장하여 응답 속도를 향상시킨다.