OSI 7 계층
OSI 7 계층은 네트워크에서 통신이 일어나는 과정을 7단계로 나눈 것
계층을 나눈 이유는 통신이 일어나는 과정이 단계별로 파악할 수 있기 때문
1계층 - 물리계층(Physical Layer)
- 이 계층에서는 주로 전기적, 기계적, 기능적인 특성을 이용해서 통신 케이블로 데이터를 전송
- 사용되는 통신 단위는 비트이며 이것은 1과 0으로 나타내어지는, 즉 전기적으로 On, Off 상태라고 생각하면 된다.
- 이 계층에서는 단지 데이터를 전달만 할뿐 전송하려는(또는 받으려는)데이터가 무엇인지, 어떤 에러가 있는지 등에는 전혀 신경 쓰지 않는다.
- 이 계층에 속하는 대표적인 장비는 통신 케이블, 리피터, 허브등이 있다.
- 케이블, 리피터, 허브를 통해 데이터 전송
2계층 - 데이터 링크계층(DataLink Layer)
- 물리계층을 통해 송수신되는 정보의 오류와 흐름을 관리하여 안전한 정보의 전달을 수행할 수 있도록 도와주는 역할
- 통신에서의 오류도 찾아주고 재전송도 하는 기능
- 네트워크 브릿지나 스위치를 통해 Mac주소를 가지고 물리계층에서 받은 정보를 전달한다.
- 신뢰성있는 전송을 보장하기 위한 계층으로 CRC 기반의 오류 제어와 흐름 제어가 필요
- 프레임에 주소부여(MAC - 물리적주소), 에러검출/재전송/흐름제어
3계층 - 네트워크 계층(Network Layer)
- 데이터를 목적지까지 가장 안전하고 빠르게 전달하는 기능(라우팅)
- 경로를 선택하고 주소를 정하고 경로에 따라 패킷을 전달
- 대표적인 장비는 라우터
- 데이터를 연결하는 다른 네트워크를 통해 전달함으로써 인터넷이 가능하게 만드는 계층
- 논리적인 주소 구조(IP), 곧 네트워크 관리자가 직접 주소를 할당하는 구조를 가지며, 계층적(hierarchical)이다.
- 주소부여(IP), 경로설정(Route)
4계층 - 전송 계층(Transport Layer)
- 통신을 활성화하기 위한 계층이다. 보통 TCP프로토콜을 이용하며, 포트를 열어서 응용프로그램들이 전송을 할 수 있게 한다.
- 만약 데이터가 왔다면 4계층에서 해당 데이터를 하나로 합쳐서 5계층에 던져 준다.
- 패킷 생성(Assembly/Sequencing/Deassembly/Error detection/Request repeat/Flow control) 및 전송
TCP 프로토콜(Transmission Control Protocol)
- 양종단 호스트 내 프로세스 상호 간에 신뢰적인 연결지향성 서비스를 제공
- 신뢰적인 전송을 보장함으로써, 어플리케이션 구현이 한층 쉬워지게 됨
- 패킷 손실, 중복, 순서바뀜 등이 없도록 보장
- 양단간 어플리케이션/프로세스는 TCP가 제공하는 연결성 회선을 통하여 서로 통신
UDP 프로토콜(User Datagram Protocol)
- 전송 계층의 통신 프로토콜의 하나 (TCP에 대비됨)
- 신뢰성이 낮은 프로토콜로써 완전성을 보증하지 않으나, 가상회선을 굳이 확립할 필요가 없고 유연하며 효율적 응용의 데이타 전송에 사용
- 비연결성이고, 신뢰성이 없으며, 순서화되지 않은 Datagram 서비스 제공
- 실시간 응용 및 멀티캐스팅 가능
- 헤더가 단순함
5계층 -세션 계층(Session Layer)
- 데이터가 통신하기 위한 논리적인 연결을 말한다. 통신을 하기위한 대문이라고 보면 된다.
- 세션 설정, 유지, 종료, 전송 중단시 복구 등의 기능이 있다.
- 동시 송수신 방식(duplex), 반이중 방식(half-duplex), 전이중 방식(Full Duplex)의 통신과 함께, 체크 포인팅과 유휴, 종료, 다시 시작 과정 등을 수행한다.
- 이 계층은 TCP/IP 세션을 만들고 없애는 책임을 진다.
- 통신하는 사용자들을 동기화하고 오류복구 명령들을 일괄적으로 다룬다.
- 통신을 하기 위한 세션을 확립/유지/중단
6계층 - 표현 계층(Presentation Layer)
- 데이터 표현이 상이한 응용 프로세스의 독립성을 제공하고, 암호화 한다.
- 표현 계층(Presentation layer)은 코드 간의 번역을 담당하여 사용자 시스템에서 데이터의 형식상 차이를 다루는 부담을 응용 계층으로부터 덜어 준다.
- 인코딩이나 암호화 등의 동작이 이 계층에서 이루어진다.
- 사용자의 명령어를 완성및 결과 표현. 포장/압축/암호화
7계층 - 응용 계층(Application Layer)
- 최종 목적지로서 HTTP, FTP, SMTP, POP3, IMAP, Telnet 등과 같은 프로토콜이 있다.
- 응용 프로세스와 직접 관계하여 일반적인 응용 서비스를 수행한다.
- 네트워크 소프트웨어 UI 부분, 사용자의 입출력(I/O)부분
HTTP 프로토콜(HyperText Transfer Protocol)
- 웹상에서 웹 서버 및 웹브라우저 상호 간의 데이터 전송을 위한 응용계층 프로토콜
- 요청 및 응답의 구조
- 클라이언트와 서버 간에 `HTTP 메세지`를 주고받으며 통신
'CS' 카테고리의 다른 글
[CS] OOP의 특징 (추상화/캡슐화/상속/다형성) (0) | 2023.01.28 |
---|---|
[CS] 트랜젝션 (0) | 2023.01.28 |
[CS] 해시(Hash)와 해시 충돌 해결 방법 (0) | 2023.01.28 |
[CS] 프로세스와 스레드 (0) | 2023.01.26 |
리액티브 프로그래밍(Reactive Programming) (0) | 2023.01.13 |