.
1. 컴퓨터 통신망 구조의 개요
1.1. 컴퓨터 통신망 구조
네트워크 아키텍처 (Network Architecture)
컴퓨터 통신망의 구조와 동작 원칙을 정의한 프레임워크
•
통신망의 물리적 요소와 기능 정의
•
프로토콜 및 절차 포함
•
시스템 간 데이터 통신 방식 정의
대표 구조
•
SNA (System Network Architeㅊcture)
◦
IBM의 폐쇄형 네트워크 구조
◦
IBM 시스템 간 통신 목적
•
DNA (Digital Network Architecture)
◦
DEC에서 개발
◦
초기 P2P 네트워크 구조 중 하나
•
DSA (Distributed System Architecture)
◦
Honeywell 개발
◦
IBM SNA와 경쟁 목적
통신망 구조의 개요
•
초기의 네트워크는 제조사마다 독자적인 구조를 사용하였음
•
이후 서로 다른 시스템 간 자원 공유 필요성이 증가하면서 개방형(Open) 네트워크 구조 등장
•
대표 개방형 구조
◦
OSI 참조 모델
◦
TCP/IP 구조
개방형 구조 모델 비교
항목 | OSI 참조 모델 | TCP/IP |
특징 | 개방형 시스템 상호 연결 표준 | 인터넷 기반 통신 구조 |
의미 | 이론적 참조 모델 | 실제 인터넷 프로토콜 |
계층 수 | 7계층 | 4계층 |
개발 주체 | ISO | 미국 국방부(DoD) |
•
OSI는 표준 모델 성격이 강하고 TCP/IP는 실제 인터넷에서 사용되는 구조
2. OSI 참조 모델
개방형 시스템의 상호접속을 위한 참조모델
목적
•
ISO 7498 (1983)
•
서로 다른 시스템 간 통신이 가능하도록 표준 제정
•
개방형 시스템 표준 정의
2.1. OSI 모델의 계층
OSI는 통신 기능을 7개의 계층으로 분리하여 관리
1. 물리 계층 (Physical Layer)
•
실제 데이터를 전기적/물리적 신호로 변환하여 전송하는 계층
•
컴퓨터 내부 데이터는 결국 전기 신호, 광 신호, 무선 신호 형태로 전송됨
•
물리 계층은 0과 1을 실제 신호로 바꾸는 역할을 수행
주요 기능
•
케이블 연결, 전압 규격 정의, 전송 속도 정의, 비트(bit) 단위 전송
대표 장비
•
허브(Hub), 리피터(Repeater), 케이블
2. 데이터링크 계층 (Data Link Layer)
•
물리 계층에서 발생할 수 있는 오류를 제어하고 안정적인 링크 통신을 제공하는 계층
•
물리 계층은 단순 신호만 전달하므로 데이터 손상 여부를 알 수 없음
•
같은 네트워크 내부(LAN) 통신에서 중요
주요 기능
•
MAC 주소 기반 통신, 프레임 생성, 오류 검출(CRC), 흐름제어
대표 장비
•
스위치(Switch), 브리지(Bridge)
대표 프로토콜
•
Ethernet, PPP
3. 네트워크 계층 (Network Layer)
•
서로 다른 네트워크 사이에서 데이터 경로를 결정하는 계층
•
라우팅(Routing) 역할 수행
•
인터넷 구조에서 핵심 계층
주요 기능
•
IP 주소 기반 통신, 라우팅, 패킷 전달, 경로 선택
대표 장비
•
라우터(Router)
대표 프로토콜
•
IP, ICMP
4. 전송 계층 (Transport Layer)
•
송신자와 수신자 사이의 종단 간(End-to-End) 통신을 담당하는 계층
•
네트워크 계층은 단순 전달만 수행하기 때문에 데이터 순서 보장, 손실 복구, 흐름 제어 같은 기능이 필요해 전송 계층이 이를 처리함
주요 기능
•
신뢰성 보장, 흐름제어, 오류제어, 세그먼트(Segment) 분할 및 재조립
대표 프로토콜
•
TCP: 연결형, 신뢰성 보장
•
UDP: 비연결형, 속도 중심
5. 세션 계층 (Session Layer)
•
시스템 간 연결(Session)을 생성하고 유지하는 계층
•
통신 중인 양쪽 시스템의 연결 생성, 대화 관리, 동기화 담당
주요 기능
•
세션 생성/종료, 대화 동기화, 체크포인트 관리
6. 표현 계층 (Presentation Layer)
•
데이터 표현 형식을 변환하는 계층
•
서로 다른 시스템은 문자 인코딩, 데이터 형식, 압축 방식 등이 다를 수 있음
•
표현 계층은 데이터 형식을 통일하여 상호 호환 가능하도록 함
주요 기능
•
인코딩 변환, 암호화/복호화, 압축/해제
예시:
•
UTF-8 인코딩, SSL/TLS 암호화
7. 응용 계층 (Application Layer)
•
사용자가 직접 사용하는 네트워크 서비스 제공 계층
•
브라우저, 메일, 파일 전송 등 실제 응용 프로그램이 동작하는 영역
•
사용자는 응용 계층을 통해 네트워크 서비스를 이용함
주요 기능
•
사용자 서비스 제공, 파일 전송, 이메일, 웹 통신
대표 프로토콜
•
HTTP, FTP, SMTP, DNS
2.2. 계층의 분리 원칙
OSI 모델은 기능별 독립성을 위해 계층 구조를 사용한다. 각 계층은 자신 역할만 수행하고 인접 계층과만 통신해 문제가 발생하더라도 특정 계층만 확인하면 되므로 유지보수와 확장이 쉬워진다.
원칙
•
기능별 계층 분리
•
유사 기능은 동일 계층 배치
•
계층 간 의존성 최소화
•
상하위 계층만 연결
•
계층 변경이 다른 계층에 영향 최소화
2.3. 캡슐화 (Encapsulation)
•
송신측에서 데이터가 OSI 계층을 내려가면서 각 계층의 제어 정보(Header)가 추가되는 과정
•
각 계층은 자신에게 필요한 정보를 헤더(Header)에 추가한 뒤 하위 계층으로 전달
캡슐화 과정
[응용 계층]
DATA
"안녕하세요"
↓
[전송 계층]
[TCP Header | DATA]
↓
[네트워크 계층]
[IP Header | TCP Header | DATA]
↓
[데이터링크 계층]
[Ethernet Header | IP Header | TCP Header | DATA | Trailer]
↓
[물리 계층]
101010101...
(전기/광 신호 변환)
SQL
복사
역캡슐화 과정
수신측에서는 반대로 헤더를 제거하면서 상위 계층으로 전달
신호 수신
↓
Ethernet Header 제거
↓
IP Header 제거
↓
TCP Header 제거
↓
원본 DATA 복원
Plain Text
복사
각 계층에서 추가되는 정보
계층 | 데이터 단위 | 추가되는 정보(Header) |
응용 계층 | Data | 응용 프로토콜 정보 |
표현 계층 | Data | 인코딩/암호화 정보 |
세션 계층 | Data | 세션 제어 정보 |
전송 계층 | Segment | TCP/UDP Header |
네트워크 계층 | Packet | IP Header |
데이터링크 계층 | Frame | MAC Header + Trailer |
물리 계층 | Bit | 없음 |
3. 인터넷 통신망 구조 (TCP/IP)
3.1. TCP/IP의 등장
TCP/IP는 서로 다른 네트워크들을 연결하기 위해 개발된 인터넷 프로토콜 구조이다.
•
Internetworking Technology 기반
◦
서로 다른 네트워크 간 상호 연결 목적
•
ARPA(Advanced Research Project Agency)에서 개발
•
Transmission Control Protocol / Internet Protocol
◦
Robert Kahn, Vinton Cerf 참여
•
1982년 미국 군용 네트워크 표준 채택
TCP/IP는 현재 인터넷의 핵심 통신 구조로 사용된다.
3.2. TCP/IP 기본 구조
TCP/IP는 DoD(Department of Defense) 모델 기반의 4계층 구조를 사용한다.
OSI 7계층보다 단순하며 실제 인터넷 환경 중심으로 설계되었다.
TCP/IP 계층 | 주요 역할 | 대표 프로토콜 |
응용 계층 | 사용자 네트워크 서비스 제공 | HTTP, FTP, DNS, SMTP |
전송 계층 | 종단 간 데이터 전송 | TCP, UDP |
인터넷 계층 | IP 기반 라우팅 | IP, ICMP, IGMP |
데이터링크 계층 | 물리 네트워크 통신 | Ethernet, ARP |
1. 데이터링크 계층
•
실제 네트워크 인터페이스와 직접 연결되는 계층
•
물리 주소(MAC Address) 기반 통신 수행
•
같은 네트워크 내부 장치 간 데이터 전달
•
Ethernet 프레임 처리
대표 프로토콜
•
ARP: IP 주소 → MAC 주소 변환
•
RARP: MAC 주소 → IP 주소 변환
2. 인터넷 계층
•
서로 다른 네트워크 사이에서 패킷을 전달하는 계층
•
논리 주소(IP Address) 기반 통신, 라우팅 수행, 목적지까지 패킷 전달
대표 프로토콜
•
IP: 패킷 전달
•
ICMP: 오류 및 상태 메시지 처리, ping 등에 사용
•
IGMP: 멀티캐스트 그룹 관리
3. 전송 계층
•
호스트 간 End-to-End 통신을 제공하는 계층
•
데이터 분할 및 재조립, 흐름제어, 오류제어, 신뢰성 보장
대표 프로토콜
•
TCP: 연결형, 신뢰성 보장, 순서 보장
4. 응용 계층
•
사용자가 직접 사용하는 네트워크 서비스를 제공하는 계층
•
웹, 이메일, 파일 전송 등이 이 계층에서 동작
대표 프로토콜
•
TCP 이용: FTP, SMTP, Telnet 등
•
UDP 이용: TFTP, DNS 등
•
IP 직접 이용: traceroute 프로그램
•
ICMP 직접 이용: ping 프로그램
3.3. TCP/IP 주요 특징
•
연결형(TCP) / 비연결형(UDP) 서비스 모두 제공
•
패킷 교환(Packet Switching) 방식 사용
•
서로 다른 네트워크 간 연결 가능
•
동적 경로 선택(Routing) 지원
•
표준화된 인터넷 프로토콜 구조 제공
•
확장성과 호환성이 뛰어남
TCP/IP는 현재 인터넷 환경의 사실상 표준 네트워크 구조로 사용된다.
3.4. 인터넷 주소
인터넷에서는 호스트를 식별하기 위해 여러 주소 체계를 사용한다.
3.4.1. 물리 주소
•
네트워크 인터페이스 식별하는 물리적 하드웨어 주소
•
MAC Address 사용
•
NIC(Network Interface Card)에 저장
•
같은 LAN 내부 통신에서 사용
3.4.2. 인터넷 주소(IP 주소)
•
서로 다른 네트워크 간의 호스트 식별하는 논리 주소
•
라우팅(Routing)에 사용
•
IPv4는 32bit(4Byte) 구조 사용
◦
IPv6는 IPv4 주소 부족 문제 해결을 위해 128bit 주소 체계를 사용
•
네트워크 식별자(Network ID) + 호스트 식별자(Host ID) 구성
클래스 | 시작 비트 | 네트워크 / 호스트 구성 | 주소 범위 | 특징 |
Class A | 0 | N.H.H.H | 0 ~ 127 | 대규모 네트워크 |
Class B | 10 | N.N.H.H | 128 ~ 191 | 중규모 네트워크 |
Class C | 110 | N.N.N.H | 192 ~ 223 | 소규모 네트워크 |
Class D | 1110 | Multicast | 224 ~ 239 | 멀티캐스트 |
Class E | 1111 | Reserved | 240 ~ 255 | 연구/예약 영역 |
•
N = Network ID
•
H = Host ID
3.4.3. 포트 주소
•
TCP/UDP 기반 응용 프로그램 식별 목적
•
하나의 IP 주소 안에서 어떤 프로세스가 통신하는지 구분
•
16bit(2Byte) 구조
•
범위: 0 ~ 65535
192.168.0.10:80
Plain Text
복사
•
IP 주소: 컴퓨터 식별
•
Port 번호: 프로그램 식별
포트 번호 범위
포트번호 | 사용처 |
0 | 사용되지 않음 |
1 ~ 255 | Well-known Service |
256 ~ 1023 | 기타 Well-known Service |
1024 ~ 4999 | 임시(Client) 포트 |
5000 ~ 65535 | 사용자 정의 Server |
대표 포트 번호
프로토콜 | 포트 | 설명 |
FTP | TCP 21 | 파일 전송 |
Telnet | TCP 23 | 원격 접속 |
SMTP | TCP 25 | 메일 송신 |
DNS | UDP 53 | 도메인 이름 변환 |
HTTP | TCP 80 | 웹 통신 |
HTTPS | TCP 443 | 보안 웹 통신 |
TFTP | UDP 69 | 단순 파일 전송 |
3.8. 캡슐화
OSI 7계층과 마찬가지로 계층을 내려가면서 각 계층의 제어 정보(Header)가 추가되는 과정
응용 계층
[ DATA ]
↓ Header 추가
전송 계층
[ TCP Header | DATA ]
= Segment
↓ Header 추가
네트워크 계층
[ IP Header | TCP Header | DATA ]
= Packet
↓ Header + Trailer 추가
데이터링크 계층
[ Ethernet Header | IP Header | TCP Header | DATA | Trailer ]
= Frame
↓ 신호 변환
물리 계층
101010101...
= Bit
Plain Text
복사
계층별 단위 변화
계층 | 데이터 단위 | 추가 정보 |
응용/표현/세션 | Data | 응용 데이터 |
전송 계층 | Segment | TCP/UDP Header |
네트워크 계층 | Packet | IP Header |
데이터링크 계층 | Frame | MAC Header + Trailer |
물리 계층 | Bit | 실제 전기/광 신호 |