[OSI 7 계층이란?]
OSI 모델(Open Systems Interconnection Reference Model)은 네트워크를 이루고 있는 구성 요소들을 7단계의 계층적 방법으로 나누고, 각 계층의 표준을 정한 네트워크 모델이다. 일반적으로 OSI 7 계층이라고 한다.
그럼 이렇게 계층을 나눈 이유가 무엇일까? 이는 통신이 일어나는 과정을 단계적으로 파악할 수 있기 때문이다. 흐름을 한 눈에 알아보기 쉽고, 때문에 7 단계 중 특정한 곳에 이상이 생기면 해당하는 계층의 장비나 소프트웨어만 고치면 되기 때문이다.
7계층 - 응용 계층 (Application)
사용자에게 보이는 부분이다. OSI 모형에서는 "최종 사용자에게 가장 가까운 계층"이다. 구글 크롬, 사파리와 같은 웹 브라우저부터 여러 응용 프로그램이 대표적이다.
- 사용자와 가장 밀접한 계층. 인터페이스(Interface) 역할
- 응용 프로세스 간의 정보 교환 담당
- 전송 단위: Message
- 프로토콜: HTTP, FTP, SMTP, POP3, IMAP, Telnet 등
: 네트워크 소프트웨어 UI 부분, 사용자의 입출력(I/O) 부분
6계층 - 표현 계층 (Presentation)
데이터 표현이 상이한 응용 프로세스의 독립성을 제공하고, 암호화한다. 표현 계층은 코드 간의 번역을 담당하여 사용자 시스템에서 데이터의 형식 상 차이를 다루는 부담을 응용 계층으로부터 덜어준다. 예를 들어, EBCDIC로 인코딩된 문서 파일을 ASCII로 인코딩 된 파일로 바꿔 주는 것이나 해당 데이터가 텍스트인지 그림인지, GIF 인지 JPG 인지 등의 구분이 표현 계층의 몫이다.
- 데이터 표현에 차이가 있는 응용 처리에서 제어 구조를 제공
- 데이터 표현의 차이 - ASCII, JPED, MPEG 등의 번역
- 전송하는 데이터의 인코딩, 디코딩, 암호화, 코드 변환 등을 수행
- 전송 단위: Message
: 사용자의 명령어를 완성 및 결과 표현, 포장/압축/암호화
5계층 - 세션 계층 (Session)
데이터가 통신하기 위한 논리적인 연결을 담당한다. 통신을 하기 위한 대문이라고 보면 된다. 하지만 4계층에서도 연결을 맺고 종료할 수 있기 때문에 우리가 어느 계층에서 통신이 끊어졌는지 판단하기에는 한계가 있다. 그러므로 세션 계층은 4계층과 무관하게 응용 프로그램 관점에서 봐야 한다. 세션 설정, 유지, 종료, 전송 중단 시 복구 등의 기능을 한다.
- 통신 장치 간 상호 작용 및 동기화를 제공
- 연결 세션에서 데이터 교환, 에러 발생 시 복구 관리 -> 논리적 연결 담당
- 전송 단위: Message
: 응용 프로그램 간의 연결을 지원해주는 계층
4계층 - 전송 계층 (Transport)
통신을 활성화하기 위한 계층이다. 최종 시스템 및 호스트 간의 데이터 전송 조율을 담당한다. 보낼 데이터의 용량과 속도, 목적지 등을 처리한다. 전송 계층의 예 중에서 가장 잘 알려진 것이 전송 제어 프로토콜(Transmission Control Protocol, TCP)이다. TCP는 인터넷 프로토콜(IP) 위에 구축되는데 흔히 TCP/IP로 알려져 있다. 기기의 IP 주소가 여기서 작동한다.
- 종단 간(End-to-End)에 신뢰성 있고 정확한 데이터 전송을 담당
- 전송 단위: Segment
- 프로토콜: TCP, UDP 등
: 서비스를 구분하고 데이터의 전송 방식을 담당하는 계층
3계층 - 네트워크 계층 (Network)
네트워크 계층에서 가장 중요한 기능은 데이터를 목적지까지 가장 안전하고 빠르게 전달하는 기능(라우팅)이다. 이곳에서 사용되는 프로콜의 종류도 다양하고, 라우팅하는 기술도 다양하다. 경로를 선택하고 주소를 정하고, 경로에 따라 패킷을 전달해주는 것이 네트워크 계층의 역할이다. 대구에 있는 컴퓨터가 서울에 있는 서버에 접속하려고 할 때 그 경로는 수백만 가지일 것이다. 이 계층의 라우터가 이 작업을 효율적으로 처리한다.
- 중계 노드를 통하여 전송하는 경우, 어떻게 중계할 것인가를 규정
- 데이터를 목적지까찌 가장 안전하고 빠르게 전달 -> 라우팅
- 전송 단위: Packet
: 네트워크를 논리적으로 구분하고 연결하는 계층 - 논리적 주소 사용
2계층 - 데이터 링크 계층 (Data Link)
두 개의 직접 연결된 노드 간 데이터 전송을 제공하며, 물리 계층의 오류 수정도 처리한다. 여기에는 두 개의 부 계층도 존재한다. 하나는 매체 접근 제어(Media Access Control, MAC) 계층이고, 다른 하나는 논리적 연결 제어(Logical Link Control, LLC) 계층이다. 네트워킹 세계에서 대부분의 스위치는 2계층에서 작동한다.
- 물리적인 연결을 통하여 인접한 두 장치간의 신뢰성있는 정보 전송을 담당
- 정보의 오류와 흐름을 관리
- 안정된 정보 전달
- 전송 단위: Frame
: 물리적 매체에 패킷 데이터를 실어 보내는 계층 - 환경에 맞는 다양한 통신 프로토콜 지원
1계층 - 물리 계층 (Physical)
시스템의 전기적, 물리적 표현을 나타낸다. 사용되는 통신 단위는 비트이며, 이는 0과 1, 즉 전기적으로 on, off 상태라고 생각하면 된다. 이 계층에서는 단지 데이터를 전달만 할 뿐, 전송하려는(또는 받으려는) 데이터가 무엇인지, 어떤 에러가 있는지 등에는 전혀 신경쓰지 않는다. 데이터를 전기적인 신호로 변환해서 주고 받는 기능만 할 뿐이다.
- 전기적, 기계적 특성을 이용하여 통신 케이블로 전기적 신호(에너지)를 전송
- 데이터 전달 연할만 하고, 알고리즘, 오류 제어 기능은 없음
- 전송 단위: Bit
: 신호로 변환하여 전송하는 계층
[TCP/IP 4계층이란?]
TCP/IP는 현재의 인터넷에서 컴퓨터들이 서로 정보를 주고 받는데 쓰이는 통신 규약(프로토콜)의 모음이다. 1960년대 말 미국방성의 연구에서 시작되어 1980년대 초 프로토콜 모델이 공개되었으며, 하드웨어, 운영체제, 접속 매체에 관계없이 동작할 수 있는 개방성을 가진다. 사실상 인터넷 프로토콜을 대표하는 용어로 사용된다.
4계층 - Application Layer
OSI 7 계층에서 세션 계층, 표현 계층, 응용 계층에 해당한다. 응용 프로그램들이 네트워크 서비스, 메일 서비스, 웹 서비스 등을 할 수 있도록 표준적인 인터페이스를 제공한다.
- TCP/IP 기반의 응용 프로그램을 구분할 때 사용
- 프로토콜: TTP, FTP, Telnet, DNS, SMTP, SSH 등
3계층 - Transport Layer
OSI 7 계층에서 전송 계층에 해당한다. 네트워크 양 단의 송수신 호스트 사이에서 신뢰성있는 전송 기능을 제공한다. 시스템의 논리 주소와 포트틀 가지고 있어서 각 상위 계층의 프로세스를 연결해서 통신한다. 정확한 패킷의 전송을 보장하는 TCP나 정확한 전송을 보장하지 않지만 더 빠른 속도를 내는 UDP 프로토콜을 이용한다.
- 통신 노드간의 연결을 제어하고, 자료의 송수신을 담당
- 프로토콜: TCP, UDP, QUIC 등
2계층 - Internet Layer
OSI 7 계층에서 네트워크 계층에 해당한다. 인터넷 계층의 주요 기능은 3계층으로부터 받은 데이터에 IP 패킷 헤더를 붙여 IP 패킷을 만들고 이를 전송하는 것이다.
- 통신 노드간의 IP 패킷을 전송하는 기능 및 라우팅 기능을 담당
- 프로토콜: IP, ARP, RARP, ICMP, OSPF 등
1계층 - Network Interface
OSI 7 계층에서 물리 계층과 데이터 링크 계층에 해당한다. OS의 네트워크 카드와 디바이스 드라이버 등과 같이 하드웨어적인 요소와 관련되는 모든 것을 지원하는 계층이다. 물리적인 주소로 MAC 주소를 사용한다.
- CSMA/CD, MAC, LAN 등 전송에 사용
- 프로토콜: Ethernet, Token Ring, PPP
[OSI 모델과 TCP/IP 모델 비교]
사실 TCP/IP 프로토콜이 OSI 모델보다 먼저 개발되었다. 그러므로 TCP/IP 프로토콜의 계층은 OSI 모델의 계층과 정확하게 일치하지 않는다. 두 모델 모두 계층형이라는 공통점을 가지고 있으며, TCP/IP는 인터넷 개발 이후 계속 표준화되어 신뢰성이 우수한 반면에, OSI 모델은 표준이 되기는 하지만 실제적으로 구현되는 예가 거의 없어 신뢰성이 저하되어 있다. OSI 모델은 장비 개발과 통신 자체를 어떻게 표준으로 잡을지 사용되는 반면에 실직적인 통신 자체는 TCP/IP 프로토콜을 사용한다.
Reference
'Computer Science > 네트워크' 카테고리의 다른 글
[네트워크] TCP & UDP (0) | 2020.11.14 |
---|---|
[Web] 쿠키(Cookie)와 세션(Session) (0) | 2020.10.10 |
[Web] URI & URL & URN (0) | 2020.10.09 |
[Web] 주소창에 naver.com을 검색하면 일어나는 일 (DNS) (0) | 2020.10.06 |
[Web] HTTP vs. HTTPS (0) | 2020.10.03 |