티스토리 뷰
오늘은 OSI 7 Layer에 대해 자세히 알아볼 것이다.
OSI 7 Layer란?
먼저 OSI 7 Layer는 국제표준화기구 (ISO) 에서 개발한 모델이며, 네트워크 상에서의 통신을 특정 계층으로 나누어 개념적으로 나타낸 표준화된 네트워크 구조 모델이다. OSI 7계층이라고도 불리며, 서로 다른 기종 간에 연결이 가능하게 해주는 표준 모델이다. 전공자 사이에서는 '물데네전세표응' 으로 각 계층을 암기하기도 한다.
그럼 왜 물데네전세표응으로 불리우게 된 것일까? 그건 바로 OSI 7계층의 하위 계층부터 앞 글자를 따 암기에 유용하게 유래된 것이다.
OSI 7계층은 위의 7가지 계층으로 구성되어 있다. 네트워크 상에서 데이터가 전송되기 위해서는 사용자와 상호작용하는 응용 계층에서 데이터를 받아들이고, 해당 데이터, 즉 패킷으로 불리는 데이터를 포함한 캡슐은 각 계층을 거쳐 최종적으로 물리 계층을 통해 전송된다.
그럼 일단 각 계층이 어떤 역할을 하는지, 데이터를 가공하고 전송하는 과정에서 어떠한 프로토콜을 사용하는지 알아보자.
1. 응용 계층 (Application Layer)
- 응용 계층은 사용자와 직접 상호작용하는 계층으로, 애플리케이션이 네트워크 서비스를 활용할 수 있도록 필요한 인터페이스와 프로토콜을 제공한다.
- 주요 역할
1. 사용자와 네트워크 간의 인터페이스 제공
2. 데이터 형식 변환 및 처리
3. 응용 프로그램 간의 데이터 교환 지원
4. 네트워크를 통한 파일 전송, 이메일, 웹 브라우징 등 가능
- 주요 프로토콜
1. HTTP / HTTPS (Hyper Text Transfer Protocol + over Secure Socket Layer) : 웹 브라우징을 위한 프로토콜. 기본적으로 HTTP를 사용하였으나 공개키 / 대칭키 암호화로 안전한 통신이 보장된 TLS를 장착하여 HTTPS 프로토콜이 탄생함.
2. FTP (File Transfer Protocol) : 파일 전송 프로토콜
3. SMTP (Simple Mail Transfer Protocol) : 이메일 전송 프로토콜
4. POP3 / IMAP : 이메일 수신 프로토콜
5. DNS (Domain Name System) : 도메인 이름 (name) 을 IP 주소로 변환해주는 프로토콜
6. Telnet : 원격 접속 프로토콜
7. SSH : 보안 원격 접속 프로토콜
응용 계층 (Application Layer) 은 우리가 인터넷을 사용할 때 가장 밀접하게 관련된 계층으로, 웹 브라우징, 이메일 송/수신, 파일 전송 등 다양한 서비스가 응용 계층에서 이루어진다.
2. 표현 계층 (Presentation Layer)
- 표현 계층은 서로 다른 시스템이 데이터를 이해할 수 있도록 변환 / 가공하는 역할을 한다. 데이터의 형식, 인
- 주요 역할
1. 사용자와 네트워크 간의 인터페이스 제공
2. 데이터 형식 변환 및 처리
3. 응용 프로그램 간의 데이터 교환 지원
4. 네트워크를 통한 파일 전송, 이메일, 웹 브라우징 등 가능
- 주요 프로토콜
1. HTTP / HTTPS (Hyper Text Transfer Protocol + over Secure Socket Layer) : 웹 브라우징을 위한 프로토콜. 기본적으로 HTTP를 사용하였으나 공개키 / 대칭키 암호화로 안전한 통신이 보장된 TLS를 장착하여 HTTPS 프로토콜이 탄생함.
2. FTP (File Transfer Protocol) : 파일 전송 프로토콜
3. SMTP (Simple Mail Transfer Protocol) : 이메일 전송 프로토콜
4. POP3 / IMAP : 이메일 수신 프로토콜
5. DNS (Domain Name System) : 도메인 이름 (name) 을 IP 주소로 변환해주는 프로토콜
6. Telnet : 원격 접속 프로토콜
7. SSH : 보안 원격 접속 프로토콜
응용 계층 (Application Layer) 은 우리가 인터넷을 사용할 때 가장 밀접하게 관련된 계층으로, 웹 브라우징, 이메일 송/수신, 파일 전송 등 다양한 서비스가 응용 계층에서 이루어진다.
3. 세션 계층 (Session Layer)
- 세션 계층은 주로 응용 계층 (Application Layer) 과 전송 계층 (Transport Layer) 사이에서 세션을 관리하는 역할을 한다. 여기서 세션이란, 두 개의 컴퓨터 또는 클라이언트와 서버 간에 데이터를 교환하기 위한 논리적인 연결을 의미한다. 사용자가 어떤 서비스를 이용하는 동안 연결을 유지하고, 끊기지 않도록 관리하는 역할을 세션 계층에서 수행한다.
- 주요 역할
1. 세션 설정, 유지, 종료 : 통신을 시작하기 위한 세션을 설정하고, 활성 상태를 유지하도록 세션 유지 관리를 수행한다. 데이터 전송이 끝나면 세션을 종료하여 리소스를 해제한다.
2. 동기화 : 긴 데이터 전송 중간에 복구 가능한 지점을 설정하여, 오류 발생 시 특정 지점부터 다시 전송할 수 있도록 한다.
3. 대화 제어 : 통신 방식 (반이중/Half-Duplex, 전이중/Full-Duplex 등) 을 결정한다. 또한 두 시스템 간의 데이터 흐름을 관리하여 효율적인 통신을 지원한다.
4. 세션 복구 : 네트워크 장애로 인해 세션이 비정상적으로 종료될 경우, 기존 세션을 복구할 수 있도록 한다.
- 주요 프로토콜
1. NetBIOS : 윈도우 네트워크에서 세션 관리
2. RPC (Remote Procedure Call) : 윈격 프로세스 호출을 위한 프로토콜
3. PPTP (Point-to-Point Tunneling Protocol) : VPN에서 사용되는 터널링 프로토콜
4. SIP (Session Initiation Protocol) : VoIP (인터넷 전화) 에서 음성 및 영상 세션 설정
5. RTCP (Real-Time Control Protocol) : 스트리밍 데이터 전송 제어
6. SMB (Server Message Block) : 파일 및 프린터 공유를 위한 세션 관리
7. SMPP (Short Message Peer-to-Peer Protocol) : SMS 전송 프로토콜
세션 계층 (Session Layer) 은 네트워크에서 통신을 원활하게 유지하는 핵심적인 역할을 한다. 특히 데이터의 흐름 제어, 동기화 및 오류 복구 기능을 제공한다. 이를 통해 파일 전송, 원격 프로시저 호출, VoIP, 웹 로그인 유지 등의 기능이 원활하게 수행될 수 있다.
4. 전 계층 (Transport Layer)
- 응용 계층 (5~7 Layer) 과 네트워크 계층 (3 Layer) 사이에서 프로세스 간 데이터 전송을 책임지는 계층이다.
- 주요 역할
1. 신뢰성 있는 데이터 전송 : 전송 계층은 데이터가 정확하게 전달되고, 순서가 보장되도록 한다. 또한 전송 계층의 프로토콜은 데이터 손실 발생 시 재전송을 수행한다.
2. 오류 제어 : 데이터가 손상되거나 유실되지 않았는지 확인하기 위해 에러 검출 및 수정 기능을 사용한다.
3. 흐름 제어 : 송신 측이 수신 측의 데이터 처리 속도를 고려하지 않으면, 네트워크가 과부하 상태가 될 수 있다. 이를 방지하기 위해 윈도우 크기 조정 및 슬라이딩 윈도우 등의 기법을 사용한다.
4. 세그먼트화 및 재조립 : 상위 계층에서 받은 데이터를ㄹ 적절한 크기의 세그먼트로 나누어 전송한다. 수신 측에서는 이를 재조립하여 원래의 데이터로 복원한다.
5. 다중화 및 역다중화 : 여러 응용 프로그램이 동시에 데이터를 송수신할 수 있도록 포트 번호를 사용하여 구분한다.
- 주요 프로토콜
1. TCP (Transmission Control Protocol) : 신뢰성 보장, 연결형 (Connection-oriented), 흐름 제어, 오류 제어, 패킷 순서 보장
2. UDP (User Datagram Protocol) : 비신뢰성, 비연결형 (Connectionless), 빠른 속도, 오류 제어 없음
- TCP 3-Way-HandShake
1. 신뢰성 보장 : 클라이언트와 서버가 서로의 존재를 확인하고, 데이터 전송을 위한 준비를 마친 후 연결을 설정한다.
2. 순차적 데이터 전송 가능 : 패킷 손실을 방지하고, 데이터의 순서를 맞추기 위해 초기 순서 번호를 교환한다.
3. 통신 세션의 정확한 시작 : 임의의 SYN Flooding 공격 등 보안 위협을 방어하기 위해 특정 타이머 및 제어 기법 적용이 가능하다.
TCP에서 신뢰성을 보장하는 주요 기능이다. 먼저 연결을 원하는 서버에 연결 요청 (SYN) 패킷을 보내고, 서버에서는 클라이언트의 요청을 수락하는 의미의 SYN + ACK 패킷을 클라이언트에 전송한다. 이후 클라이언트는 서버의 응답을 받고, 연결이 완료되었음을 확인하는 ACK 패킷을 전송하여 신뢰성을 보장한 연결이 완료되고, 서버에 데이터를 요청 (Req) 할 수 있다.
하지만 위와 같은 과정으로 인해 처리 속도가 UDP보다 느리고, UDP는 위와 같은 과정이 없기 때문에 TCP보다 처리 속도가 빠르지만 신뢰성을 보장하지 않는 것이다.
결론적으로 TCP 3-Way HandShake는 신뢰성 있는 통신을 위한 필수 과정이고, SYN, SYN + ACK, ACK의 세 단계를 거쳐 안전한 연결을 설정한다. 또한 초기 SEQ 번호 교환을 통해 데이터의 무결성과 순서를 보장하고, 연결이 설정된 후에는 실제 데이터 전송이 시작된다.
전송 계층은 이와 같은 신뢰성을 보장하는 TCP와 빠른 속도의 UDP를 사용하여 최적의 데이터 전송 환경을 제공한다.
5. 네트워크 계층 (Network Layer)
- 네트워크 계층은 송신자와 목적지 간 데이터를 최적의 경로로 전달하는 역할을 담당하는 계층이다. 주요 기능으로는 IP 주소 할당, 경로 선택 (라우팅), 패킷 전달 및 흐름 제어 등이 있다.
- 주요 역할
1. 논리적 주소 지정 : 네트워크 계층은 IP 주소를 사용하여 데이터를 목적지까지 전달한다. MAC 주소는 동일 네트워크 내에서 사용되지만, IP 주소 (3계층) 는 서로 다른 네트워크 간 데이터 전송에 사용된다.
2. 경로 선택 : 데이터 패킷이 목적지까지 최적의 경로로 이동할 수 있도록 라우팅을 수행한다. 라우터는 네트워크 계층에서 동작하며, 여러 경로 중 최적의 경로를 선택한다.
3. 패킷 전달 : 데이터를 패킷 단위로 분할 및 전송하며, 수신 측에서는 이를 재조립한다. MTU보다 큰 데이터는 조각 (Fragmentation) 하여 전송한다.
4. 오류 제어 및 흐름 제어 : 네트워크 계층은 패킷 손실, 충돌 등을 감지하고, 일부 오류 제어 기능을 수행한다. TCP와 같은 상위 계층에서도 오류 제어를 수행하지만, 네트워크 계층에서도 ICMP 프로토콜을 사용하여 오류 메시지를 전달한다.
- 주요 프로토콜
1. IP (Internet Protocol) : 데이터 패킷을 전송하고 목적지까지 라우팅
2. IPv4 : 32비트 주소 체계, 현재 가장 많이 사용
3. IPv6 : 128비트 주소 체계, IPv4의 주소 부족 문제 해결
4. ICMP (Internet Control Message Protocol) : 네트워크 오류 메시지 전송 / ex) Ping
5. ARP (Address Resolution Protocol) : IP 주소를 MAC 주소로 변환
6. RARP (Reverse ARP) : MAC 주소를 IP 주소로 변환
7. OSPF (Open Shortest Path First) : 내부 라우팅 프로토콜 (링크 상태 기반)
8. RIP (Routing Information Protocol) : 거리 벡터 기반 라우팅 프로토콜
9. BGP (Border Gateway Protocol) : 인터넷 백본을 위한 외부 라우팅 프로토콜
- IPv4, IPv6
1. IPv4
- 32비트 주소 체계
- 네트워크 주소와 호스트 주소로 구성
- 서브넷 마스크를 사용하여 네트워크 범위 구분
2. IPv6
- 128비트 주소 체계
- 주소 부족 문제 해결
- 자동 주소 구성 및 보안 기능 향상
- 네트워크 계층의 라우팅
1. 정적 라우팅 : 관리자가 수동으로 경로를 설정하고, 네트워크 변경이 적은 경우 적합하지만 확장성이 떨어진다.
2. 동적 라우팅 : 라우터가 자동으로 경로를 업데이트하고, OSPF, RIP, BGP 같은 프로토콜을 사용하여 최적의 경로를 선택한다.
네트워크 계층은 IP 주소를 이용한 데이터 패킷 전달 및 경로 선택을 수행하는 중요한 계층이다. 라우터, ICMP, ARP 등의 프로토콜을 활용하여 효율적이고 신뢰성 있는 데이터 통신을 가능하게 한다.
6. 데이터링크 계층 (Data-Link Layer)
- 데이터 링크 계층은 네트워크 계층 (3 Layer) 에서 받은 데이터 (패킷) 를 물리 계층 (1 Layer) 에서 전송할 수 있도록 프레임으로 변환하여 전달하는 역할을 한다. 즉, 같은 네트워크 내에서 신뢰성 있는 데이터 전송을 보장하는 계층이다.
- 주요 역할
1. 물리적 주소 지정 (MAC Addressing) : 네트워크 계층의 IP 주소가 논리적 주소라면, 데이터 링크 계층에서는 MAC 주소 (물리적 주소)를 사용하여 장치 간 데이터를 전달한다. MAC 주소는 48비트로 구성되며, 16진수 기법으로 네트워크 인터페이스 카드 (NIC) 에 고유하게 할당된다.
2. 데이터 프레임화 (Framing) : 데이터 링크 계층은 네트워크 계층에서 받은 패킷을 프레임으로 변환하여 전송한다. 프레임은 데이터에 헤더와 트레일러를 부착한 단위로, 헤더는 송 / 수신 측의 MAC 주소, 프로토콜 정보를 포함하고, 트레일러에는 오류 검출을 위한 정보를 포함한다.
3. 오류 검출 : CRC (Cyclic Redundancy Check) 또는 패리티 비트를 사용하여 데이터의 손상 여부를 확인한다. 오류가 감지되면 프레임을 재전송 요청한다.
4. 흐름 제어 : 송신자가 수신자의 처리 속도를 고려하여 데이터를 조절한다. 예로는 슬라이딩 윈도우 프로토콜이 있다.
5. 매체 접근 제어 : 동일 네트워크에서 여러 장치가 데이터를 동시에 전송하면 충돌이 발생할 수 있다. 이를 방지하기 위해 매체 접근 제어 (MAC) 기술이 사용된다.
5-1. CSMA/CD (Carrier Sense Multiple Access with Collision Detection) : 유선 이더넷에서 사용되는 충돌 감지 방식. 송신 전, 다른 장치가 통신 중인지 확인 후 전송한다. 충돌이 발생하면 즉시 중단하고 랜덤한 시간 후에 재전송한다.
5-2. CSMA/CA (Carrier Sense Multiple Access with Collision Avoidence) : 무선 네트워크 (Wi-Fi)에서 사용되는 충돌 방지 방식. 데이터를 전송하기 전에 송신 요청 (RTS) > 응답 허가 (CTS) 과정을 거쳐 충돌을 방지한다.
- 주요 프로토콜
1. Ethernet (IEEE 802.3) : 유선 네트워크에서 가장 많이 사용되는 프로토콜
2. Wi-Fi (IEEE 802.11) : 무선 네트워크에서 사용되는 프로토콜
3. PPP (Point-to-Point Protocol) : 직렬 통신 및 VPN에서 사용되는 프로토콜
4. HDLC (High-Level Data Link Control) : WAN 환경에서 사용되는 프로토콜
5. ARP (Address Resolution Protocol) : IP 주소를 MAC 주소로 변환
5. RARP (Reverse ARP) : MAC 주소를 IP 주소로 변환
- 데이터 링크 계층의 네트워크 장비
1. 스위치 (Switch) : MAC 주소를 기반으로 프레임을 전달하는 네트워크 장비. L2 스위치는 데이터 링크 계층에서 동작하며, MAC 주소 테이블을 유지하여 프레임을 목적지로 전달한다. L3 스위치는 라우팅 기능까지 수행 가능하다. (네트워크 계층 지원)
2. 브리지 (Bridge) : 두 개의 네트워크를 연결하여 트래픽을 필터링 및 전달하는 장비. 네트워크 분할을 통해 충돌을 줄이는 역할
3. AP (Access Point) : 무선 네트워크 (Wi-Fi) 에서 사용되는 장비. 클라이언트 장치가 AP를 통해 네트워크에 연결한다.
데이터 링크 계층은 MAC 주소를 기반으로 동일 네트워크 내에서 안정적인 데이터 전송을 담당하는 계층이다. 충돌 방지, 오류 검출, 흐름 제어 등을 통해 신뢰성 있는 통신을 보장한다.
6. 물리 계층 (Physical Layer)
- 물리 계층은 데이터를 전기 신호, 빛 신호, 무선 신호로 변환하여 물리적 매체를 통해 전송하는 계층이다. 즉 하드웨어적인 전송 방식과 장비의 전기적 / 기계적 특성을 정의하는 계층이다.
- 주요 역할
1. 데이터 인코딩 및 변조 : 네트워크 계층 (3 Layer) 에서 받은 데이터를 비트 형태로 변환한 후, 변환된 비트를 전기적 신호, 광 신호, 무선 신호로 변조한다.
2. 전송 매체의 유형 정의 : 물리 계층은 데이터를 전달하는 매체를 정의한다. 대표적인 유선 네트워크 전송 매체로는 UTP, 광섬유, 동축 케이블 등이 있고 무선 네트워크 전송 매체로는 Wi-Fi, 블루투스, 4G / 5G 신호 등이 있다.
3. 전송 속도와 대역폭 정의 : 데이터를 얼마나 빠르게 전송할 수 있는지 결정한다. 네트워크의 성능을 좌우하는 요소 중 하나이다.
4. 동기화 : 송신기와 수신기가 동일한 속도로 데이터를 송 / 수신할 수 있도록 동기화한다. 비동기 통신은 클럭 신호 없이 데이터를 전송하는 방식이고, 동기 통신은 클럭 신호를 기반으로 데이터를 일정한 간격으로 전송하는 방식이다.
- 물리 계층의 신호 표현 방식
1. 아날로그 신호 vs 디지털 신호 : 아날로그 신호는 연속적인 파형 (ex - 라디오, 전화) 이고, 디지털 신호는 이산적인 신호 (0과 1)이다.
2. 변조 방식 : 아날로그 신호를 디지털 신호로 변환하는 과정이다. 대표적인 변조 방식으로는 ASK (진폭 편이 방조), FSK (주파수 편이 변조), PSK (위상 편이 변조) 가 있다.
- 물리 계층의 네트워크 장비
1. 리피터 (Repeater) : 약해진 신호를 재생하여 멀리 보낼 수 있도록 하는 장비이다. 신호 손실이 발생하는 장거리 네트워크에서 사용한다.
2. 허브 (Hub) : 여러 장치를 하나의 네트워크로 연결한다. 브로드캐스트 방식을 사용하고, 지능이 없고 충돌이 발생 가능하다는 단점이 있다. 따라서 스위치로 대부분 대체된다.
3. 모뎀 (Modem, Modulator-Demodulator) : 디지털 신호를 아날로그 신호로 변환한다. 전화선과 컴퓨터 간 데이터를 주고받기 위해 사용한다.
4. 무선 액세스 포인트 (Wireless Access Point, AP) : 무선 장치 (Wi-Fi) 를 네트워크에 연결하는 장비이다.
물리 계층은 네트워크의 가장 기본적인 계층으로, 데이터를 신호로 변환하여 전송하는 역할을 한다. 이더넷 케이블, 광섬유, Wi-Fi 같은 다양한 매체를 통해 데이터를 전송하며, 네트워크 성능과 안정성에 직접적인 영향을 미치는 중요한 계층이라고 볼 수 있다.
오늘은 OSI 7 Layer에 대해서 이론적으로 자세히 알아보았다. 필자의 현생 사정으로 내부적인 패킷을 열어보면서 알아보는 것 까지는 못했지만, 다음 포스팅으로 아마 패킷을 열어보며 OSI 7 Layer에 대해 실제로 접해보는 포스팅이 될 것 같다.
'보안하며 노세' 카테고리의 다른 글
정보 보호, 새롭지만 익숙한 시작 (6) | 2025.03.25 |
---|
- Total
- Today
- Yesterday
- base
- apstndp
- 유니티개발
- 부모클래스
- 침해사고분석및대응
- 코루틴
- 메타버스
- 익숙한출발
- C#
- 유니티
- 상속
- 정보보호전문가
- sbs아카데미게임학원
- 게임개발
- 핸디커뮤니케이션즈
- 정보보호
- 업캐스팅
- SpaceShooter
- 정보보안
- 물데네전세표응
- override
- Abstract
- 게임리뷰
- 가위바위보게임
- unity
- 보안
- 자식클래스
- virtual
- OOP
- 디폴트매개변수
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | |
7 | 8 | 9 | 10 | 11 | 12 | 13 |
14 | 15 | 16 | 17 | 18 | 19 | 20 |
21 | 22 | 23 | 24 | 25 | 26 | 27 |
28 | 29 | 30 |