일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 프로그래머스 코딩테스트 연습문제
- 클린 코드
- 프로그래머스 코딩 테스트 연습
- github actions
- Codeforces
- 브랜디
- Python
- git
- 프로그래머스 코딩테스트 연습
- 바이오데이터 엔지니어
- selenium
- 디자인 패턴
- 애드센스
- Firefox
- 프로그래머스 월간 코드 챌린지
- 스프링 부트와 AWS로 혼자 구현하는 웹 서비스
- terraform
- 프로그래머스 월간 코드 챌린지 시즌1
- WPF
- Word Cloud
- pycharm
- heroku
- PostgreSQL
- 파이썬
- PostgreSQL 설치 시 에러
- FastAPI
- github
- Spring Boot
- 스코페2021
- c#
- Today
- Total
프로그래밍 연습하기
OSI Model(Open Systems Interconnection Reference Model) 본문
OSI Model은 일반적으로 OSI 7계층 모형이라고 알려져있다.
컴퓨터 프로토콜 디자인과 통신을 계층으로 나누어 설명한 것이다.
이 모델은 프로토콜을 기능별로 나눈 것이다. 각 계층은 하위 계층의 기능만을 이용하고, 상위 계층에게 기능을 제공한다.
'프로토콜 스택'은 이러한 계층들로 구성되는 프로토콜 시스템이 구현된 시스템을 가리킨다. 일반적으로 하위 계층들은 하드웨어로, 상의 계층들은 소프트웨어로 구현된다.
계층 1: 물리 계층
물리 계층(Physical layer)은 네트워크의 기본 네트워크 하드웨어 전송 기술을 이룬다. 네트워크의 높은 수준의 기능의 논리 데이터 구조를 기초로 하는 필수 계층이다.
PDU(프로토콜 데이터 단위)는 Symbol이다.
Transmission and reception of raw bit streams over a physical medium.
계층 2: 데이터 링크 계층
데이터 링크 계층(Data link layer)은 Point to Point 간 신뢰성있는 전송을 보장하기 위한 계층이다.
CRC 기반의 오류 제어와 흐름 제어가 필요하다. 네트워크 위의 개체들간 데이터를 전달하고, 물리 계층에서 발생할 수 있는 오류를 찾아내고 수정하는데 필요한 기능적, 절차적 수단을 제공한다.
주소 값은 물리적으로 할당받는데, 이는 네트워크 카드가 만들어질 때 부터 MAC address가 정해져 있다는 뜻이다.
주소 체계는 계층이 없는 단일 구조이다. 데이터 링크 계층의 가장 잘 알려진 예는 이더넷이다.
네트워크 브릿지나 스위치 등이 이 계층에서 동작한다.
PDU(프로토콜 데이터 단위)는 Frame이다.
Reliable transmission of data frames between two nodes connected by a physical layer
계층 3: 네트워크 계층
네트워크 계층(Network layer)은 여러 개의 노드를 거칠 때 마다 경로를 찾아주는 역할을 하는 계층으로 다양한 길이의 데이터를 네트워크들을 통해 전달하고, 그 과정에서 전송 계층이 요구하는 QoS(Quality of Service)를 제공하기 위한 기능적, 절차적 수단을 제공한다. 네트워크 계층은 라우팅, 흐름 제어, 세그멘테이션, 오류 제어, 인터네트워킹 등을 수행한다. 라우터가 이 계층에서 동작하고 이 계층에서 동작하는 스위치도 있다. 연결하는 다른 네트워크를 통해 데이터를 전달함으로써 인터넷이 가능하게 만드는 계층이다. 논리적인 주소 구조(IP), 곧 네트워크 관리자가 직접 주소를 할당하는 구조를 가지며, 계층적(hierarchical)이다.
서브넷의 최상위 계층으로 경로를 설정하고, 청구 정보를 관리한다. 개방형 시스템들의 사이에서 네트워크 연결을 설정, 유지, 해제하는 기능을 부여하고 전송계층 사이에 Network Service Data Unit(네트워크 서비스 데이터 유닛)을 교환하는 기능을 제공한다.
PDU(프로토콜 데이터 단위)는 Packet이다.
Structuring and managing a multi-node network, including addressing, routing and traffic control
계층 4: 전송 계층
전송 계층(Transport layer)은 End to End간 신뢰성있는 데이터를 주고 받을 수 있게 해주어, 상위 계층들이 데이터 전달의 유효성이나 효율성을 생각하지 않도록 해준다.
시퀀스 넘버 기반의 오류 제어 방식을 사용한다. 전송 계층은 특정 연결의 유효성을 제어하고, 일부 프로토콜은 Stateful(상태 개념이 있는)하고, Connection Oriented(연결 기반)이다. 이는 전송 계층이 패킷들의 전송이 유효한지 확인하고 전송 실패한 패킷들을 다시 전송한다는 것을 뜻한다. 가장 잘 알려진 전송 계층의 예는 TCP이다.
End to End 통신을 다루는 최하위 계층으로 신뢰성있고 효율적인 데이터를 전송하며, 기능은 오류 검출 및 복구와 흐름제어, 중복 검사 등을 수행한다.
PDU(프로토콜 데이터 단위)는 Segment, Datagram이다.
Reliable transmission of data segments between points on a network, including segmentation, acknowledgement and multiplexing
계층 5: 세션 계층
세션 계층(Session layer)은 양 끝단의 응용 프로세스가 통신을 관리하기 위한 방법을 제공한다. Duplex, Half-duplex, Full Duplex 방식의 통신과 함께 체크 포인팅과 유휴, 종료, 다시 시작 과정 등을 수행한다. 이 계층은 TCP/IP 세션을 만들고 없애는 책임을 진다.
통신하는 사용자들을 동기화하고 오류 복구 명령들을 일괄적으로 다룬다.
PDU(프로토콜 데이터 단위)는 Data이다.
Managing communication sessions, i.e. continuous exchange of information in the form of multiple back-and-forth transmissions between two nodes
계층 6: 표현 계층
표현 계층(Presentation layer)은 코드 간의 번역을 담당하여 사용자 시스템에서 데이터의 형식상 차이를 다루는 부담을 으용 계층으로부터 덜어 준다. MIME 인코딩이나 암호화 등의 동작이 이 계층에서 이루어진다.
PDU(프로토콜 데이터 단위)는 Data이다.
Translation of data between a networking service and an application; including character encoding, data compression and encryption/decryption
계층 7: 응용 계층
응용 계층(Application layer)은 응용 프로세스와 직접 관계하여 일반적인 응용 서비스를 수행한다. 일반적인 으용ㅇ 서비스는 관련된 응용 프로세스들 사이의 전환을 제공한다. 응용 서비스의 예로, 가상 터미널(ex Telnet) 등이 있다.
PDU(프로토콜 데이터 단위)는 Data이다.
High-level APIs, including resource sharing, remote file access
출처 : https://ko.wikipedia.org/wiki/OSI_%EB%AA%A8%ED%98%95
'웹과 인터넷' 카테고리의 다른 글
인터넷 프로토콜 스택 (0) | 2021.01.28 |
---|---|
http 와 https 그리고 SSL (0) | 2021.01.25 |
CORS에 대해서 (0) | 2021.01.10 |