🚀 OSI 7계층
1️⃣ OSI 모델이란? OSI 7 계층?
OSI(Open Systems interconnection) 모델은 다양한 통신 시스템 간에 표준 프로토콜을 통한 통신을 가능하게 하기 위한 개념적 모델로 ISO(국제표준화기구)에의해 만들어졌습니다. 즉, OSI모델은 인간의 공통 언어나 통화 시스템과 마찬가지로 다양한 컴퓨터 시스템에 대해 공통 통신 표준 역할을 합니다. 더 쉽게 말해서 우리가 인터넷 환경에서 여러 사람들과 통신하기 위해 통신 방식에 대한 약속을 했는데 이것이 바로 프로토콜이고 이 프로토콜을 7개의 계층으로 묶어서 통신을 체계화 하고 표준화한게 바로 OSI 7계층입니다.
2️⃣ OSI가 만들어진 배경
아직 가정 소비자에게 널리 보급되지는 않았지만 네트워킹 기술은 1970년대 초중반에 급속도로 발전했습니다.
그 당시 네트워킹 기술은 IBM, DECNet과 같은 대기업이 소유했거나 미국의 ARPANET과 같이 정부가 후원했습니다. 서로 다른 모든 기술이 아직 표준화되지 않았기 때문에 서로 다른 플랫폼 간의 통신이 불가능했습니다.
이 문제를 해결하기 위해 ISO는 1977년에 표준화된 네트워킹 방법을 개발하기 위한 계획을 시작했습니다. 동시에 프랑스 조직인 CCITT( Comité Consultatif International Téléphonique et Télégraphique, 이는 " 국제 전신 및 전화 자문 위원회 "로 번역됨) 도 비슷한 과정을 시작했습니다. 두 당사자 모두 실제로 유사한 네트워킹 모델을 개발했습니다. ISO는 1978년 2월 원시 형식으로 OSI 모델을 정의하는 문서를 발표했으며, CCITT는 1980년에 OSI 모델의 개선된 버전이 포함된 또 다른 문서를 발표했습니다.
1983년에 두 문서가 병합되어 OSI 참조 모델 또는 OSI 모델이 만들어졌습니다. 이 모델은 1984년에 표준 ISO 7498 과 CCITT의 표준 X.200 (현재 "ITU-T"로 이름이 변경됨)으로 공식 발표되었습니다. , 국제 전기 통신 연합의 전기 통신 표준화 부문).
3️⃣ OSI 7계층
현재 유명한 7계층 OSI 모델은 Honeywell의 Charles Bachman의 작품으로 개념화 후 거의 40년이 지난 오늘날에도 여전히 사용 가능하고 관련성이 있습니다.
OSI 모델의 각 계층에는 자체 네트워크 장치가 포함되어 있습니다. OSI 계층 14는 하위 계층으로 간주되며 대부분 데이터 이동과 관련이 있습니다. 상위 계층이라고 불리는 OSI 계층 57에는 응용 프로그램 수준 데이터가 포함됩니다. 이런식으로 OSI 모델은 통신 시스템을 7개의 추상적 계층으로 나누며 각 계층은 다음 계층 위에 스택이 됩니다.
7) 응용 계층
- 유일하게 사용자의 데이터와 직접 상호 작용하는 계층
- 소프트웨어 애플리케이션은 통신을 개시하기 우해 애플리케이션 계층에 의지합니다.
- 응용 계층은 소프트웨어가 사용자에게 의미 있는 데이터를 제공하기 위해 의존하는 프로토콜과 데이터를 조작하는 역할을 합니다.
- 응용 계층 프로토콜에는 HTTP, SMTP(이메일 통신을 가능하게 하는 프로토콜 중 하나)가 포함됩니다.
6) 표현 계층
- 응용 계층이 데이터를 사용할 수 있게 이를 준비하는 역할을 수행 합니다.
- 표현 계층은 데이터의 변환, 암호화, 압축을 담당합니다.
- 표현 계층은 수신 장치의 응용 계층이 이해할 수 있는 구문으로 수신 데이터를 변환하는 일을 담당합니다.
- 서로 통신하는 두 개의 통신 장치는 서로 다른 인코딩 방법을 사용하고 있을 수 있기 때문입니다.
- 표현 계층은 응용 계층에서 수신한 데이터를 세션 계층으로 전송하기전에 압축하는 일도 담당합니다.
- 전송할 데이터의 양을 최소화함으로써 통신의 속도와 효율을 높이는 데 도움이 됩니다.
5) 세션 계층
- 두 기기 사이의 통신을 시작하고 종료하는 일을 담당하는 계층입니다.
- ❓ 통신이 시작될 때부터 종료될 때까지의 시간을 세션 이라고 합니다.
- 세션 계층은 교환되고 있는 모든 데이터를 전송할 수 있도록 훙분히 오랫동안 세션을 개방한 다음 리소스를 낭비하지 않기 위해 세션을 즉시 닫을 수 있도록 보장합니다.
- 세션 계층은 데이터 전송을 체크포인트와 동기화합니다.
- ex) 100MB의 파일이 전송되는 경우 세션 계층이 5MB마다 체크포인트를 설정할 수 있습니다.
- ex) 52MB가 정송된 후 연결이 끊어지거나 충돌이 발생하면 마지막 체크 포인트에서 세션을 재개하는 것이 가능합니다.
- 체크 포인트가 없다면 전체 전송을 처음부터 다시 시작해야 합니다.
4) 전송 계층
- 전송 계층은은 두 기기 간의 종단 간 통신을 담당합니다.
- 전송 계층은 세션 계층에서 데이터를 가져와서 계층 3으로 보내기 전에 세그먼트라고하는 조각으로 분할하는 일이 포함됩니다.
- 수신 기기의 전송 계층은 세그먼트를 세션 계층이 이용할 수 있는 데이터로 재조립해야 합니다.
- 흐름 제어 및 오류 제어 기능의 역할도 합니다.
- 흐름 제어
- 연결 속도가 빠른 송싱자가 연결 속도가 느린 수신자를 압도하지 않도록 최적의 전송 속도를 결정합니다.
- 오류 제어
- 수신된 데이터가 완료되엇는지 확인하고 수신되지 않은 경우 재전송을 요청하여 최종 수신자에 대해 오류 제어를 수행합니다.
- 흐름 제어
- 전송 계층 프로토콜에는 전송 제어 프로토콜(TCP), 사용자 데이터그램 프로토콜(UDP)가 있습니다.
3) 네트워크 계층
- 네트워크 계층은 서로 다른 두 네트워크 간 데이터 전송을 용이하게 하는 역할을 합니다.
- 서로 통신하는 두 장치가 동일한 네트워크에 있는 경우에는 네트워크 계층이 필요하지 않습습니다.
- 네트워크 계층은 전송 계층의 세그먼트 송신자의 장치에서 패킷이라고 불리는 더 작은 단위로 세분화하여 수신 장치에서 이러한 패킷을 다시 조립니다.
- 네트워크 계층은 데이터가 표적에 도달하기 위한 최상의 물리적 경로를 찾는데 이를 라우팅이라고 합니다.
- 네트워크 계층 프로토콜에는 IP, 인터넷 제어 메시지 프로토콜(ICMP), 인터넷 그룹 메시지 프로토콜(IGMP), IPsec 제품군이 있습니다.
2) 데이터 링크 계층
- 데이터 링크 계층은 네트워크 계층과 매우 비슷하지만, 동일한 네트워크에 있는 두 개의 장치 간 데이터 전송을 용이하게 합니다.
- 데이터 링크 계층은 네트워크 계층에서 패킷을 가져와 프레임이라고 불리는 더 작은 조각으로 세분화합니다.
- 네트워크 계층과 마찬가지로 데이터 링크 계층도 인트라 네트워크 통신에서 흐름 제어 및 오류 제어를 담당합니다.
- ❗️ 데이터 링크 계층은 네트워크 간 통신에 대해서만 흐름 제어 및 오류 제어만을 담당합니다
1) 물리 계층
- 물리 계층은 케이플,스위치등 데이터 전송과 관련된 물리적 장비가 포함됩니다.
- 물리 계층은 1과 0의 문자열인 비트 스트림으로 변환되는 계층입니다.
4️⃣ 통신 방법
- 사용자 데이터는 각 계층을 지납니다.
- 데이터 전송 시 7계층에서 1계층으로 각각의 층마다 인식할 수 있는 헤더를 붙이는데 이 과정을 캡슐화라고 합니다.
- 반대로 데이터를 받은 컴퓨터는 해당 데이터를 분석하여 1계층에서 7계층으로 헤더를 분리하는 과정을 거치는데 이는 역캡슐화라고 합니다.
5️⃣ 장단점
장점
- 네트워크 통신을 계층 구조로 나눈다면 각 계층은 독립적인 역할을 할 수 있습니다.
- 통신이 일어나는 과정을 이해하기 쉽고, 이를 단계별로 파악할 수 있습니다.
- 각 계층과 그 상호작용이 명확하게 정의된다면 전반적인 분할 과정을 통해 디자인, 구현, 테스팅이 간단해집니다.
- 7계층 중 특정한 곳에서 문제 발생 시 다른 계층의 장비 및 소프트웨어를 건드리지 않고도 문제가 발생한 계층만 수정하면 됩니다.
단점
- 많은 계층들로 인해 생기는 딜레이로 발생하는 오버헤드 존재
📚 Reference
'CS' 카테고리의 다른 글
CORS / SOP (1) | 2024.02.04 |
---|---|
쿠키와 세션 (1) | 2024.01.27 |
로드 밸런싱 (0) | 2024.01.21 |
DNS / 웹 통신 흐름 (3) | 2024.01.13 |