프로토콜 계층구조
하나의 계층
- 설정
- 마리아와 앤은 서로 가까운 이웃
- 마리아는 스페인어만 사용하고 앤은 영어만 사용
- 둘은 어려서 수화를 배움
- 마리아와 앤 사이의 의사소통
- 수화를 사용하여 의견 교환 (ex. 일주일에 몇 번씩 카페에서 만나 미팅을 가짐)
- 하나의 계층에서 이루어진 두 사람의 대화
세 개의 계층
- 설정
- 앤이 직장 때문에 다른 마을로 이사
- 이사가기 전, 마리아와 앤은 다음과 같은 기계 장치를 획득
- 마리아는 스페인어를 암호로 또는 그 반대로 변환하는 기계 장치 획득
- 앤은 영어를 암호로 번역 또는 그 반대로 변환하는 기계 장치 획득
- 마리아와 앤 사이의 의사소통
- 두 사람은 암호문을 이용하여 서로 통신 가능
계층화된 통신 시나리오에서
- 두 개체가 서로 통신할 때는 프로토콜 필요
- 통신이 복잡하면 임무를 여러 개의 계층구조로 나누어짐
- 각 계층별로 하나씩 여러 개의 프로토콜 필요
- OSI 기본 참조 모델은 상기 목적을 달성하기 위해 만들어진 정보 전달의 규격화된 절차
OSI 기본 참조 모델
Open System Interconnection
- 모든 종류의 컴퓨터 시스템간 통신을 가능하게 하는 네트워크 설계를 위한 계층 구조
- 서로 연관된 7계층으로 구성
OSI 계층 구조 (7계층 → 1계층 순서)
- 응용 계층: 응용 프로그램을 통해 동작
- 표현 계층: 전달하고자 하는 데이터의 표현 방식 결정
- 세션 계층: 연결 방식 결정 (일방향 양방향 등)
- 전송 계층: 상대방에게 전달하기 위한 방법 고민
- 네트워크 계층: 객체에서 객체로 전달하는 역할
- 데이터 링크 계층: 한 칸씩 어떻게 갈 수 있는지 관여
- 물리 계층: 실제로 하나의 기기에서 다른 기기로 물리적으로 전달이 될 때 신호들을 어떻게 잘 보낼 수 있을지 관여
OSI 계층
하나의 장치에서 다른 장치로 전송할 때
표현 계층: 인코딩이든 암호화든 표현 방법을 바꿈
세션 계층: 연결 방식 결정하고 세션을 유지하기 위한 규칙을 정해 연결성 관리
전송 계층: 상대방의 프로그램에 전달 (상대방이 받은 데이터를 처리할 프로그램을 결정하고 그 프로그램에 전달)
네트워크 계층: 처리한 데이터를 누구에게 전달해야 할지 결정
데이터 링크 계층: 상대방에게 전달하려면 누구에게 줘야하는지 결정
물리 계층: 신호 보내기 (전기 신호를 쏨)
라우터 라고 하는 중계 노드에서는 물리 계층 → 데이터 링크 계층 → 네트워크 계층으로 옮겨졌다가 다시 네트워크 계층 → 데이터 링크 계층 → 물리 계층으로 내려오고 현재 노드의 물리 계층에서 다음 노드의 물리 계층으로 전달되고 이를 반복해서 상대방의 물리 계층으로 전달하면, 응용 계층까지 올라오는 과정을 거침
OSI 7 Layer는 3 그룹으로 나뉨
- 그룹 1: 물리 계층 → 데이터 링크 계층 → 네트워크 계층
- 한 장치에서 다른 장치로 데이터 전송 시 필요한 물리적인 면을 처리
- 물리층을 제외하고 하드웨어와 소프트웨어의 조합으로 구현
- 그룹 2: 전송 계층
- 하위 계층(그룹 1)에서 전송한 내용을 상위 계층(그룹 3)이 사용할 수 있는 형태가 되도록 보장
- 번역기 역할
- 그룹 3: 세션 계층 → 표현 계층 → 응용 계층
- 사용자 지원 계층으로, 서로 관련이 없는 소프트웨어 시스템간 상호 연동을 가능하게 함
- 소프트웨어로 구현
OSI 모델을 이용한 데이터 교환
- 캡슐화를 통해 계층간 통신이 이루어짐
- 단계를 지날 때마다 캡슐화가 이루어짐 (데이터와 헤더가 합쳐서 다음 단계의 데이터가 되는 것을 반복)
물리층
- 물리 매체를 통하여 비트 스트림을 전송하는데 필요한 기능 제공
- 주요 기능
- 인터페이스와 매체의 물리적인 특성
- 비트 표현(부호화 유형)
- 데이터 전송률(bps)
- 비트의 동기화(송수신자 간 클록)
- 회선 구성
- Point-to-Point 구성에서 두 장치는 전용 링크를 통해 연결
- Multipoint 구성에서 링크는 여러 장치에 의해 공유
- 물리적 접속 형태
- mesh topology(그물망), star topology(별 모양), ring topology(링처럼 연결), bus topology(버스 토폴로지, 누가 정보를 받을지 보낼지 우선순위 결정, 동시에 보낼 순 없지만 동시에 받을 수 있음)
- 전송 모드 → 전송 방향에 따른 모드 정의
- 단방향
- 반이중: 양방향 송수신 가능하지만 동시에 X
- 전이중: 양방향 송수신 가능 (동시에도 가능)
데이터 링크층
- 물리층의 전송 설비를 신뢰할 수 있는 링크로 변환
- 상위 계층인 네트워크층에게 오류 없는 물리층으로 보이도록 함
- 주요 기능
- 프레임 구성
- 수신 비트 스트림을 프레임이라는 데이터 단위로 나눔
- 물리 주소 지정(송수신자 주소)
- 흐름 제어
- 송신율보다 수신율이 낮으면 흐름 제어 메커니즘 수행하여 속도 맞춤
- 오류 제어
- 물리층 신뢰성을 높이기 위해 손상/손실된 프레임을 탐지하고 재전송
- 접근 제어
- 프레임 구성
네트워크층
- 패킷을 네트워크를 통해 발신지에서 목적지까지 전달 책임
- 데이터 링크 계층: 같은 네트워크 상에서 두 시스템 간에 프레임 전달
- 네트워크 계층: 패킷의 발신지-목적지(다른 네트워크일 수 있음) 연결
- 두 시스템이 같은 링크에 연결된 경우 네트워크 계층은 필요하지 않음
- 주요 기능
- 논리 주소 지정
- 물리 주소 지정은 내부적인 주소 지정 문제 해결
- 네트워크 범위를 벗어나는 경우의 발신지-목적지 식별을 위해 논리 주소 지정 시스템 필요함
- 경로 지정
- 패킷이 최종 목적지에 전달될 수 있도록 경로 지정
- 라우터 또는 스위치와 같은 연결 장치 기반으로 경로 지정 또는 네트워크 연결
- 논리 주소 지정
전송층
- 전체 메시지의 프로세스-대-프로세스 전달 책임
- 프로세스는 호스트에서 실행 중인 응용 프로그램
- 주요 기능
- 서비스 지점 주소지정(포트 주소)
- 분할과 재조립
- 연결 제어
- 연결형(연결이 유지되어야 함) vs 비연결형
- 흐름 제어
- 데이터 링크 계층에서의 흐름제어와는 달리 종단간 흐름 제어 수행
- 오류 제어
- 데이터 링크 계층에서의 흐름제어와는 달리 프로세스간 오류 제어 수행
- 오류 교정은 항상 재전송을 통해 이루어짐(연결형)
세션층
- 네트워크 대화 제어기
- 통신 시스템간 상호 대화 설정, 유지, 동기화 책임
- 주요 기능
- 대화 제어(반이중, 전이중)
- 동기화
- 데이터 스트림에 확인점 추가하여 구간별 처리
표현층
- 두 시스템 간에 교환되는 정보의 구문과 의미와 관련
- 주요 기능
- 변환
- 송신자: 정보의 표현을 “의미 있는 형식의 정보”에서 비트 스트림으로 변환
- 수신자: 비트 스트림에서 “의미 있는 형식의 정보”로 정보의 표현 변환
- 암호화
- 압축
- 변환
응용층
- 사용자나 소프트웨어를 네트워크에 접근 가능하도록 하는 기능 제공
- 주요 기능
- 네트워크 가상 터미널
- 파일 접근, 전송 및 관리
- 우편 서비스
- 디렉터리 서비스
계층별 요약
응용: 네트워크 자원 접속 제공
표현: 데이터 변환, 암호화, 압축
세션: 세션 설정, 관리, 종료
전송: 신뢰성 있는 프로세스-대-프로세스 메시지 전달과 오류 복구 제공
네트워크: 네트워크 간 연결 제공 - 패킷을 발신지에서 목적지까지 전달
데이터 링크: 홉-대-홉 전달을 제공하기 위해 비트를 프레임으로 구성
물리: 매체를 통해서 비트들을 전달 - 기계적, 전자적 규격 제공
TCP/IP 프로토콜
TCP/IP 프로토콜
- OSI 기본 참조 모델보다 먼저 개발됨
- 물리층, 데이터 링크층, 네트워크층, 전송층, 응용층으로 구성
- OSI 기본 참조 모델과 동일하지 않음
- 물리층, 데이터 링크층, 네트워크층, 전송층은 동일
- TCP/IP 프로토콜의 응용층 = OSI 모델의 세션, 표현, 응용 세 계층
TCP/IP 프로토콜의 계층들
- 링크라는 여러 개의 작은 네트워크로 구성
- 링크는 근거리 통신망(LAN) 또는 광역 통신망(WAN)
- 링크는 라우터나 교환기로 서로 연결
물리층 통신
- 특정 프로토콜을 규정하지 않고, 모든 표준과 기술적인 프로토콜 지원
- 각 링크(네트워크)에서 사용하는 프로토콜 형식에 따라 전달
- 비트 단위로 이루어짐
데이터 링크층 통신
- 특정 프로토콜을 규정하지 않고, 모든 표준과 기술적인 프로토콜 지원
- 통신은 노드 간 통신으로 이루어지며 통신 단위는 프레임
네트워크층 통신
- 인터넷 프로토콜 IP를 지원하며, IP는 3개의 지원 프로토콜을 포함함
- ARP - 주소 변환, ICMP - 인터넷 제어 메시지, IGMP - 인터넷 그룹 메시지
- 인터넷 프로토콜 (IP)
- 신뢰성이 없는 비연결형 데이터그램 프로토콜(전달 보장 X, 전송하는 것만이 목적)
- 데이터그램: 데이터를 전달하기 위해 전송하는 패킷 형태의 단위
- 신뢰성이 없는 비연결형 데이터그램 프로토콜(전달 보장 X, 전송하는 것만이 목적)
- 주소 변환 프로토콜 (ARP)
- IP주소에 대응되는 네트워크 인터페이스 카드(NIC)의 물리 주소로 변환
- 인터넷 제어 메시지 프로토콜 (ICMP)
- 조회/오류 메시지 등을 통해 송신자에게 데이터그램의 문제점을 알려주기 위해 호스트와 게이트웨이가 사용하는 메커니즘
전송층 통신
- 네트워크층(노드-노드 연결)과 달리 전송층은 프로세스-프로세스 연결
- 3개의 프로토콜(UDP, TCP, SCTP) 제공
- UDP - 사용자 데이터그램, TCP - 전송 제어, SCTP - 스트림 제어 전송
- 사용자 데이터그램 프로토콜(UDP)
- 포트 주소, checksum 오류 제어, 데이터 길이 등의 정보만 포함된 단순한 프로토콜
- 전송 제어 프로토콜(TCP)
- 양 종단간 연결을 설정하고 신뢰성 있는 스트림 전송을 제공하는 프로토콜
- 세그먼트 라는 단위로 데이터를 전달
- 각 세그먼트는 순서 정보를 포함한 상태로 IP 데이터그램으로 캡슐화되어 전달되고 수신 종단에서 데이터그램을 순서 번호에 따라 세그먼트 재조합
- 스트림 제어 전송 프로토콜(SCTP)
- UDP와 TCP의 장점 결합하여 IP 텔레포니와 같은 새로운 응용 제공하는 프로토콜
- 전송층과 네트워크층 사이의 차이점
- 네트워크층: 개별 데이터그램을 보내는 책임 담당
- 전송층: 데이터그램, 패킷, 세그먼트라는 전체 메시지를 전달하는 책임 담당
응용층 통신
- 가시적인 계층으로 OSI 모델의 세션, 표현, 응용층을 합친 것과 같음
- 전송층과 마찬가지로 종단간 통신으로 이루어짐
- NFS, SNMP, DNS, HTTP, FTP 등 서비스
주소지정
TCP/IP 프로토콜을 이용한 인터넷에서 사용되는 주소
- 응용-특수 주소 (응용층)
- 포트 주소 (전송층)
- 논리 주소 (네트워크층)
- 물리 주소 (데이터 링크층)
물리 주소
- 데이터 링크층에 의해 사용되는 프레임에 포함되는 최하위 계층 주소
- WAN이나 LAN에서 정의된 노드의 주소
- 이더넷 네트워크 인터페이스 카드의 6바이트(48비트) 물리 주소 사용
ex) 07:01:02:01:2C:4B ← 6바이트 (12개의 16진수 값) 물리 주소
논리 주소
- 물리 주소는 서로 다른 주소 형태를 갖는 네트워크 간 통신에 적합하지 X
- 인터넷 주소인 IP 주소 체계가 논리 주소로 사용됨
- 현재 가장 널리 사용되는 IPv4 주소 공간은 2^32 (약 40억)
포트 주소
- 프로세스를 식별하는 주소 (16비트)
응용-특수 주소
- 특정 응용을 위해 설계된 주소 체계
- 보내는 컴퓨터에 의해 대응되는 포트와 논리 주소로 변경
- 이메일 주소라고 생각하면 됨
'공부 기록 > 네트워크 보안' 카테고리의 다른 글
| [네트워크 보안] 인터넷 프로토콜(IP) (0) | 2025.11.11 |
|---|---|
| [네트워크 보안] IP 패킷 전달과 포워딩 (0) | 2025.11.10 |
| [네트워크 보안] IP 주소 (0) | 2025.11.10 |
| [네트워크 보안] 네트워크층 개요 (0) | 2025.11.09 |