OSI 7 계층
- 국제 표준화 기구(ISO)에서 정의한 네트워크 표준 모델
- 네트워크 통신이 일어나는 과정을 7단계로 나눈 것
- 통신이 일어나는 과정을 단계별로 알 수 있고, 이상이 생긴 단계만 수정하면 된다.
1계층 : 물리계층 (Physical Layer)
- 비트(bit)를 프로토콜 단위로 사용
- 데이터 전송에 필요한 물리적 매체를 다루는 계층
- 케이블, 광섬유, 무선 신호 등과 같은 물리적인 매체를 통해 데이터를 전송하는 과정에서 신호의 송수신 방법, 전송 속도, 전기 신호의 강도와 주파수 등과 같은 물리적인 특성을 다룬다.
- 데이터의 전송 방식에 따라서 전송되는 신호의 크기, 샘플링 속도, 채널 대역폭 등도 결정되는 경우가 있다.
- 물리 계층에서 사용되는 장비와 기술
- 리피터 (Repeater) : 데이터 신호를 증폭하여 전송 거리를 연장시키는 장비
- 허브 (Hub): 여러 개의 컴퓨터나 네트워크 장비를 연결하여 데이터를 중계하는 장비
- 브리지 (Bridge): 두 개의 네트워크를 연결하여 데이터를 전송하는 장비로 MAC 주소를 이용하여 프레임을 필터링하여 전송
- 스위치 (Switch): 여러 개의 포트를 가지고 있는 네트워크 장비로, MAC 주소를 이용하여 패킷을 전달하는데 사용
- 케이블 (Cable): 데이터를 전송하는 물리적인 매체이다. 다양한 종류의 케이블이 존재하며, 각각의 케이블은 전송 거리, 대역폭, 데이터 전송 속도 등에 따라 다른 특성을 가진다.
- 무선 신호 (Wireless Signal): 전자파를 이용하여 데이터를 전송하는 방식이다. 무선 기술은 적은 전력으로 다수의 장치를 동시에 연결할 수 있어, 모바일 기기나 IoT기기와 같이 유연하게 연결이 필요한 환경에서 널리 사용된다.
- 리피터 (Repeater) : 데이터 신호를 증폭하여 전송 거리를 연장시키는 장비
2계층 : 데이터 링크 계층 (DataLink Layer)
- 프레임(frame)을 프로토콜 단위로 사용
- 물리 계층에서 송수신되는 비트열을 프레임(Frame)이라는 작은 단위로 나누고, 이러한 프레임을 전송하는 계층이다.
- 주로 노드 간의 직접적인 통신을 다루는데 사용되며, 프레임에 대한 흐름 제어, 오류 제어, 프레임 동기화 등을 수행한다.
- MAC 주소를 사용하여 물리적인 주소를 식별한다.
- 데이터 링크 계층에서 사용되는 주요 프로토콜
- 이더넷 (Ethernet): LAN 에서 가장 많이 사용되는 프로토콜 중 하나로, 비트열을 프레임으로 나누어 MAC 주소와 같은 헤더 정보를 추가하여 전송한다. 이더넷에서는 CSMA/CD (Carrier Sense Multiple Access with Collision Detection) 또는 CSMA/CA 라는 충돌 회피 방식을 사용하여 여러 노드가 동시에 데이터를 전송하는 것을 방지한다.
- PPP (Point-to-Point Protocol): 시리얼 접속을 통해 인터넷 서비스 제공자(ISP)와 연결할 때 사용되는 프로토콜이다. PPP 는 링크 계층과 네트워크 계층 간의 연결을 수행하는데 사용된다.
- HDLC (High-level Data Link Control): 시리얼 통신에서 사용되는 프로토콜이다. PPP와 같은 다른 프로토콜에서도 사용된다. HDLC는 프레임에 대한 동기화, 흐름 제어, 오류 제어 등을 수행한다.
- WI-FI (Wireless Fidenlity): 무선 네트워크에서 사용되는 프로토콜이다. WI-FI 에서는 물리 계층에서 무선 신호를 전송하고, 데이터 링크 계층에서는 프레임 전송을 위한 MAC 주소 할당, 충돌 회피 등을 수행한다.
- 이더넷 (Ethernet): LAN 에서 가장 많이 사용되는 프로토콜 중 하나로, 비트열을 프레임으로 나누어 MAC 주소와 같은 헤더 정보를 추가하여 전송한다. 이더넷에서는 CSMA/CD (Carrier Sense Multiple Access with Collision Detection) 또는 CSMA/CA 라는 충돌 회피 방식을 사용하여 여러 노드가 동시에 데이터를 전송하는 것을 방지한다.
3계층 : 네트워크 계층 (Network Layer)
- 패킷(packet)을 프로토콜 단위로 사
- 호스트 간의 통신을 제어하고 패킷을 생성하여 이를 목적지에 안정적으로 전송하는 계층이다.
- 여러 개의 노드를 거칠 때마다 경로를 찾아주는 역할을 수행한다.
- 라우터(Router)를 사용하여 다른 네트워크로 패킷을 전송하며, IP 주소를 사용하여 호스트나 네트워크를 식별한다.
- 라우팅 (Routing): 라우터를 이용하여 패킷의 목적이 주소를 보고 패킷을 수신한 인터페이스를 제외한 다른 인터페이스로 패킷을 전송하는 것
- 네트워크 계층에서 사용되는 주요 프로토콜
- IP (Internet Protocol)
- IP 는 인터넷에서 사용되는 주요 프로토콜 중 하나로, 패킷을 생성하고 라우팅한다.
- IP 주소를 사용하여 호스트나 네트워크를 식별하고, 데이터를 목적지까지 안정적으로 전송한다.
- 또한, IP 는 다른 프로토콜을 위한 기반으로 사용된다. 예를 들어, TCP와 UDP 는 IP를 기반으로 동작하며, ICMP 는 IP 패킷의 오류를 감지하고 오류 메시지를 전송하는데 사용된다.
- 인터넷 제어 메시지 프로토콜 (ICMP) : 네트워크 장치 간에 제어 메시지를 교환하기 위해 사용되는 프로토콜이다. ICMP는 네트워크 상태, 오류 및 메시지 전달 등에 대한 정보를 제공합니다. 주로 네트워크 진단 및 에러 처리에 사용된다.
- 인터넷 그룹 관리 프로토콜 (IGMP) : 멀티캐스트 그룹 멤버십 관리를 위해 사용되는 프로토콜이다. IGMP는 호스트가 특정 멀티캐스트 그룹에 가입하고 떠날 수 있도록 한다.
- 인터넷 프로토콜 버전 6 (IPv6) : IPv4의 주소 부족 문제를 해결하기 위해 개발된 다음 세대의 IP 프로토콜이다. IPv6는 더 큰 주소 공간, 보안 기능, 향상된 QoS (Quality of Service) 등을 제공한다.
- 인터넷 프로토콜 세부사항 (IPSec) : IP 네트워크를 위한 보안과 인증을 제공하기 위해 사용되는 프로토콜 스위트이다. IPSec는 데이터의 기밀성, 무결성, 인증, 암호화 등을 보장하기 위해 사용된다.
- 라우팅 프로토콜 : 네트워크에서 경로 선택과 라우팅 테이블 업데이트를 담당하는 프로토콜이다. 예를 들어, 내부 게이트웨이 프로토콜 (IGP)인 OSPF (Open Shortest Path First)와 외부 게이트웨이 프로토콜 (EGP)인 BGP (Border Gateway Protocol)가 있다.
- ARP (Address Resolution Protocol) : IP 주소를 통해 MAC 주소를 알린다.
- RARP : MAC 주소는 알지만 IP를 모를 때 IP를 얻으려고 사용한다.
- IP (Internet Protocol)
- 다양한 라우팅 알고리즘을 사용하여 최적 경로를 찾아 패킷을 전송한다.
- Dijkstra 알고리즘
- Bellman-Ford 알고리즘
- OSPF (Open Shortest Path First) 알고리즘
4계층 : 전송 계층 (Transport Layer)
- 호스트 간의 통신을 위해 TCP, UDP 같은 프로토콜을 사용하며, 포트 번호를 사용하여 애플리케이션 간의 연결을 제어하는 계층이다.
- 전송 계층에서 사용되는 주요 프로토콜
- TCP : 프로토콜 단위 = 세그먼트(segment), 호스트 내 프로세스 간에 신뢰적인 연결지향성 서비스 제공
- UDP : 프로토콜 단위 = 데이터그램(datagram), 비연결성이며 신뢰성 없고, 순서화 되지 않은 데이터그램 서비스 제공
- 전송 계층에서는 포트 번호를 사용하여 애플리케이션 간의 연결을 제어한다. TCP와 UDP는 모두 16비트 포트 번호를 사용하며, 이를 통해 수신 측에서 패킷을 올바른 애플리케이션에 전달할 수 있다. 예를 들어, 웹 서버에서는 일반적으로 80번 포트를 사용하며, FTP 서버에서는 20번과 21번 포트를 사용한다.
5계층 : 세션 계층 (Session Layer)
- 메시지(message)를 프로토콜 단위로 사용
- 호스트 간의 연결을 생성, 유지, 종료하여 애플리케이션 간의 대화를 관리하는 계층이다.
- 세션을 복구하여 중단된 연결을 다시 시작할 수도 있다.
- 세션 계층이 수행하는 기능들
- 연결 설정 (establishment): 세션 계층은 애플리케이션 간의 연결을 설정한다. 이를 위해 연결을 생성하고, 연결에 대한 정보를 주고받는다.
- 연결 유지 (maintenance): 애플리케이션 간의 연결을 유지한다. 이를 위해 세션 키(Session Key)를 사용하여 애플리케이션 간의 대화를 보호하고, 연결을 계속 유지한다.
- 연결 종료(teradown): 애플리케이션 간의 연결을 종료한다. 이를 위해 연결을 종료하고, 연결 종료에 대한 정보를 주고받는다.
- 연결 설정 (establishment): 세션 계층은 애플리케이션 간의 연결을 설정한다. 이를 위해 연결을 생성하고, 연결에 대한 정보를 주고받는다.
- 세션 계층에서 사용되는 주요 프로토콜
- Telnet 프로토콜: 원격 접속 프로토콜이며, 세션 계층에서 호스트 간의 연결을 설정하고 유지한다.
- FTP 프로토콜: 파일 전송 프로토콜이며, 세션 계층에서 파일 전송을 위한 연결을 설정하고 유지한다.
6계층 : 표현 계층 (Presentation Layer)
- 메시지(message)를 프로토콜 단위로 사용
- 데이터의 형식을 변환하고, 데이터의 구조를 정의하는 역할을 하는 계층이다.
- 호스트 간의 상호 운용성을 보장하고, 데이터의 형식을 변환하며, 데이터의 구조를 정의하여 애플리케이션 간의 효율적인 데이터 전송을 가능하게 한다.
- 표현 계층이 수행하는 기능들
- 데이터 형식 변환 (Encoding/Decoding): 데이터를 애플리케이션에서 사용 가능한 형식으로 변환한다. 이를 위해 데이터를 인코딩하고 디코딩한다. 예를 들어, 텍스트 데이터를 이진 데이터로 인코딩하거나, 암호화된 데이터를 복호화하여 원본 데이터로 변환하는 작업을 수행한다.
- 데이터 구조 정의: 데이터의 구조를 정의한다. 이를 위해 데이터의 표현 방식, 데이터 타입, 데이터 구조 등을 정의한다. 예를 들어, 이미지 데이터의 해상도, 색상 체계, 데이터 형식 등을 정의하는 작업을 수행한다.
- 데이터 압축 (Compression): 데이터를 압축하여 전송을 더 효율적으로 할 수 있도록 한다. 이를 위해 데이터를 압축하고, 전송 측에서는 압축된 데이터를 다시 복원하여 수신 측에서 사용 가능한 형식으로 변환한다.
- 데이터 형식 변환 (Encoding/Decoding): 데이터를 애플리케이션에서 사용 가능한 형식으로 변환한다. 이를 위해 데이터를 인코딩하고 디코딩한다. 예를 들어, 텍스트 데이터를 이진 데이터로 인코딩하거나, 암호화된 데이터를 복호화하여 원본 데이터로 변환하는 작업을 수행한다.
- 표현 계층에서 사용되는 주요 프로토콜
- SSL : 클라이언트와 서버 간 안전한 보안 채널 형성을 위한 프로토콜
- JPEG: 이미지 데티터의 압축과 전송을 위한 프로토콜
- MPEG: 비디오 데이터의 압축과 전송을 위한 프로토콜
7계층 : 응용 계층 (Application Layer)
- 메시지(message)를 프로토콜 단위로 사용
- 사용자와 네트워크 사이의 인터페이스 역할을 하는 계층이다.
- 응용 계층이 수행하는 기능들
- 응용 프로그램 지원: HTTP, FTP, SMTP, POP3, IMAP 등의 프로토콜을 사용하여 다양한 응용 프로그램에 대한 지원을 제공한다.
- 데이터 형식 정의: 데이터의 구조, 표현 방식, 데이터 타입 등을 정의한다. 예를 들어 HTML, XML, JSON 등의 형식이 있다.
- 데이터 전송: TCP, UDP 등의 프로토콜을 사용하여 데이터를 전송하고 수신한다.
- 응용 계층에서 사용되는 주요 프로토콜
- HTML: 웹 페이지 요청과 응답에 사용
- DNS : 도메인 이름 해석
- FTP: 파일 전송에 사용
- SMTP, POP3, IMAP: 이메일 전송과 수신에 사용
- SSH : TCP 보안 채널 형성에 사용
'Computer Science > Network' 카테고리의 다른 글
[Network] HTTP & HTTPS (0) | 2023.07.07 |
---|---|
[Network] 대칭키 & 비대칭키 (0) | 2023.07.07 |
[Network] UDP (User Datagram Protocol) (0) | 2023.06.30 |
[Network] TCP/IP 흐름제어 & 혼잡제어 (0) | 2023.06.30 |
[Network] TCP 3 & 4 way handshake (0) | 2023.06.30 |