OSI 모델에 대해 알아보려한다.
0. OSI 모델은 무엇일까?
OSI(Open Systems Interconnection) Model은 표준 프로토콜을사용하여 다양한 통신 시스템이 통신 할 수 있도록 국제표준화기구에서 만든 개념 모델이다. 서로 다른 컴퓨터가 서로 통신할 때 필요한 약속이라고 할 수 있다.
컴퓨터끼리 통신을 할 때, 서로가 이 약속을 지키고 있다고 가정함으로써 모든 컴퓨터에서 동일한 처리 과정을 거치는 프로그램을 기동할 수 있게 된다. 만약 이러한 표준 약속이 없다면 통신으로 주고받은 신호가 도대체 무슨 내용을 담고 있는 것인지 알 수 없을 것이다.
OSI 모델은 일반적으로 7개의 계층으로 나뉜다. OSI 모델의 각 계층은 특정한 작업을 처리하고 그 위와 아래의 계층과 통신한다.
사용자는 OSI 계층의 가장 위에있는 어플리케이션을 통해 컴퓨터 통신을 시도한다. 어플리케이션에서 플레이어의 입력을 처리하고 그 다음 단계인 6단계와 통신한다. 6단계는 또 그것을 처리하고, 5단계가 처리하고, ... , 최종적으로 1계층인 물리 계층에서 실제로 원격에 있는 컴퓨터로 신호가 가면 반대로 신호를 2단계가 처리하고, 3단계가 처리하고, ... , 최종적으로 7단계인 어플리케이션 계층을 통해 상대방에게 보여진다.
1. OSI 모델이 중요한 이유는 뭘까?
현대 인터넷은 OSI 모델을 엄격하게 따르지 않음에도 불구하고, OSI 모델은 여전히 네트워크 문제를 해결하는 데 아주 유용하다. 한 사람이 노트북에서 인터넷을 이용할 수 없게 되거나 수천 명의 사용자가 이용하는 웹 사이트가 다운되더라도, OSI 모델은 문제를 분석하고 문제의 원인을 분리하는 데 도움이 될 수 있다.
이것은 마치 먹통이 된 컴퓨터를 고치는 과정과 비슷하다. 모니터가 제대로 켜지지 않는 문제를 겪은 적이 있다. 이 경우 제일 먼저 의심하는 것은 모니터 자체의 문제다. 여분의 모니터가 있다면 모니터를 교체함으로써 모니터 자체에 문제가 있는지 밝힐 수 있다. 만약 모니터 자체의 문제가 아니라면 모니터의 전원 케이블이나 HDMI 케이블의 문제일 수 있다. 그것조차 아니라면 그래픽카드의 문제일수도, 메인보드의 문제일수도, 심지어는 컴퓨터 본체의 파워가 문제일 수도 있다. 이렇게 모니터가 화면을 출력하기까지의 과정을 단계별로 나누어 어느 지점에서 문제가 발생했는지 알 수 있는 것처럼, OSI 모델을 통해 네트워크에서 발생한 문제의 원인을 대략적으로 파악할 수 있다.
2. OSI 모델의 7계층은 무엇일까?
OSI 모델의 7계층은 탑 다운 방식으로 많이 설명한다. 아무래도 7계층인 어플리케이션 계층이 사용자에게 친숙하기 때문이 아닐까싶다.
이 계층은 사용자의 데이터와 직접 상호작용하는 유일한 계층이다. 어플리케이션 계층은 컴퓨터 언어를 자연어로 바꾸는 프로토콜등을 통해 네트워크 통신을 시작한다. 웹 브라우저나 이메일 클라이언트 같은 소프트웨어 어플리케이션은 사용자에게 데이터를 입력 받아 통신을 하기 위해 어플리케이션 계층에 의존한다. 하지만 어플리케이션과 어플리케이션 계층은 다른 것임을 주의해야한다.
어플리케이션 계층 프로토콜에는 HTTP, POP3, SMTP등이 있다.
이 계층은 데이터의 변환, 암호화, 압축을 담당한다.
서로 통신하는 두 통신 장치는 서로 다른 인코딩 방법을 사용하고 있을 수 있으므로 6계층은 수신 장치의 어플리케이션 계층이 이해할 수 있는 구문으로 데이터를 변환한다.
장치가 암호화된 연결을 통해 통신하는 경우, 6계층은 데이터를 암호화하고 복호화한다.
마지막으로 6계층은 어플리케이션 계층에서 수신한 데이터를 5계층으로 전달하기 전에 압축하는 일도 한다. 전송할 데이터의 양을 최소화함으로써 통신의 속도와 효율을 높이는데 도움이 된다.
5계층은 두 기기 사이의 통신을 시작하고 종료하는 일을 담당한다. 통신이 시작될 때부터 종료될 때까지의 시간을 세션이라고 한다. 세션은 일대일 어플리케이션 연결 및 동기화 충돌의 시작과 끝을 관리한다. 5계층은 데이터를 모두 전송할 수 있도록 충분한 시간동안 세션을 유지하고, 시스템 리소스를 낭비하지 않도록 통신이 끝나면 즉시 세션을 닫을 수 있도록 보장한다.
4계층은 두 기기 간의 종단 간 통신을 담당한다. 여기에는 세션 계층에서 데이터를 가져와서 3계층으로 보내기 전에 세그먼트라고 하는 조각으로 분할하는 일이 포함된다. 수신측의 전송 계층은 세그먼트를 세션 계층이 이용할 수 있는 데이터로 재조립한다.
4계층은 또한 흐름 제어 및 오류 제어의 역할도 한다. 흐름 제어는 서로 다른 연결 속도를 가진 기기 사이에서 최적의 전송 속도를 결정한다. 그리고 수신측이 모든 데이터를 수신했는지 확인하고, 수신되지 않은 경우 재전송을 요청하여 오류 제어를 수행한다.
이 계층에 그 중요한 TCP와 UDP가 있다.
네트워크 계층은 서로 다른 두 네트워크 간 데이터 전송을 용이하게 하는 역할을 한다. 네트워크 계층은 분산된 네트워크 하나, 또는 여러 네트워크의 노드 또는 머신을 통한 라우팅, 전달 및 주소 지정과 같은 개념과 관련이 있다.
네트워크 계층은 전송 계층의 세그먼트를 패킷이라는 더 작은 단위로 분해한다. 또, 네트워크 계층은 데이터가 표적에 도달하기 위한 최적의 물리적 경로를 찾는데, 이를 라우팅이라고 한다.
네트워크 계층의 프로토콜에는 IP가 있다.
데이터 링크 계층은 네트워크 계층과 매우 비슷하지만, 동일한 네트워크에 있는 두 개의 장치 간 데이터 전송을 용이하게 한다. 데이터 링크 계층의 주요한 초점은 데이터의 흐름 제어와 오류 제어다.
이 계층의 표준으로는 이더넷이 있다.
물리 계층은 케이블, 스위치 등 데이터 전송과 관련된 물리적 장비가 포함된다. 실제로 데이터가 0과 1의 신호로 전송된다.
사용자가 다른 사용자에게 데이터를 보내려면, 송신측의 7단계부터 2단계까지 데이터를 처리하는 과정을 거친 뒤 1계층을 통해 수신측에게 도달하고, 수신측은 다시 2단계부터 7단계까지 데이터를 역으로 처리해 사용자에게 보여준다.
다음에는 각 계층에 대해 더 자세히 알아보려고 한다.
참고:
https://www.cloudflare.com/ko-kr/learning/ddos/glossary/open-systems-interconnection-model-osi/
https://aws.amazon.com/ko/what-is/osi-model/
OSI 모델이란 무엇인가요?- OSI 7계층 설명 - AWS
오픈 시스템 상호 연결(OSI) 모델은 네트워크 통신 기능을 7개의 계층으로 나누는 개념적 프레임워크입니다. 다양한 하드웨어 및 소프트웨어 기술이 지리적, 정치적 경계를 넘어 일관되게 작동해
aws.amazon.com
https://www.ibm.com/think/topics/osi-model
What Is the OSI Model? | IBM
The Open Systems Interconnection (OSI) model is a conceptual model that divides network communication and interoperability into seven abstract layers.
www.ibm.com
'일기' 카테고리의 다른 글
OSI 1계층 : 물리 계층 (0) | 2024.12.11 |
---|---|
(JavaScript) 대충 만든 자판 (0) | 2024.12.11 |
(JavaScript) 문자열 나누기 (0) | 2024.12.10 |
(JavaScript) 체육복 (0) | 2024.12.10 |
(JavaScript) 숫자 짝꿍 (0) | 2024.12.09 |