개발 R.I.P.

8.02 Dev.Feedback (OSI 7Layers & 1,2Layers)

편행 2021. 8. 2. 21:09
반응형

OSI 7 Layers

OSI 7계층

서로 다른 컴퓨터 기기 간에 네트워크를 형성할 수 있도록 규정한 네트워크 모델 표준안이다.

 

예를 들어보면, 우리가 만일 자동차를 샀는데, 그 자동차가 고장이 났다고 생각해보자. 그 자동차가 고장이 났다고 우리가 자동차 전체를 바꾸지 않는 것은 당연하다. 타이어가 고장났다면 타이어만 바꿔주면 되고 범퍼가 찌그러졌다면 범퍼만 고쳐주면 된다. 이렇게 할 수 있는 이유가 무엇일까? 바로 각각의 자동차에 대한 어떤 규정을 정해놨기 때문이다. 그 규정에 따라 부품들을 모듈화 시켜놔 다른 기업의 타이어를 쓸 수도 있고, 다른 업체에서 범퍼를 고칠 수도 있는 것이다.

 

OSI 7계층도 이런 개념과 비슷하다. 네트워크 프로토콜이 통신하는 과정을 7개의 계층으로 분리한 것이다. 각 계층은 독립되어 있다. 자동차의 타이어와 범퍼가 따로 떨어져있는 것처럼, 그래서 7단계 중 특정한 곳에 이상이 생기면 다른 단계의 장비 및 소프트웨어를 건드리지 않고도 이상이 생긴 부분만 해결하여 문제를 해결해낼 수 있다. 각 계층은 독립되어 있지만 트래픽의 흐름에 따라 상호 작동이 되기도 한다. 자동차의 타이어와 엔진이 각각 따로 독립적으로 존재하지만, 같이 기능하는 것처럼.

 

OSI 7계층을 정확히 이해하면, 컴퓨터 통신 구조의 표준적인 뼈대 네트워크 구성 그리고 예측 이해에 도움이 된다. 또한 트래픽의 흐름에 따라 기능들이 작동되므로 트래픽의 흐름을 이해할 수 있게 된다.

 

OSI 7계층은 어떻게 구성되어 있는가?

OSI 7계층은 완벽한 상하구조를 보여준다. 응용, 표현, 세션, 전송, 네트워크, 데이터링크, 물리계층으로 구성되어 있고, 전송 시 7계층에서 1계층으로 각각의 층마다 인식할 수 있어야 하는 헤더를 붙인다. 위의 과정을 캡슐화라고 하는데, 사용자 데이터가 각 계층을 지나갈 때, 하위 계층에서는 상위 계층으로부터 온 정보를 데이터로 취급하고 자신의 계층의 특성을 담은 제어 정보(주소, 에러제어 등)를 헤더화 시켜 붙이는 것이다. 그리고 수신시에는 1계층에서 7계층으로 올라갈 수록 헤더를 때어내는 과정을 가진다(디캡슐화). 즉 계층이 올라갈 수록 원래의 데이터에 점점 더 가까워지는 것이다. 하나의 특징으론 2계층에서만 오류제어를 위해 꼬리부분에 추가가 된다. 

 

1 Layer : 물리 계층 (Physical Layer)

7계층 중 최하위 계층이다. 주로 전기적, 기계적, 기능적인 특성을 이용해 데이터를 전송한다. 통신 단위는 비트이며, 데이터는 0과 1의 비트열(BIT BY BIT Delivery), 즉 On, Off의 전기적 신호 상태로 이루어져있다. 이 계층은 단지 데이터를 전달하기만 한다. 어떤 에러가 있는지 어떻게 보내지는 것이 더 효율적인지 같은 부가적인 기능에는 전혀 관여하지 않는다. 물리적 계층에 해당하는 장비는 통신케이블(통축케이블, 광섬유), 리피터, 허브, 모뎀 등이 있다.

 

출처 : https://www.capacitymedia.com/articles/3825840/ellalink-and-emacom-launch-smart-subsea-cable-initiative

2 Layer : 데이터 링크 계층 (DataLink Layer)

물리 계층에서 송수신되는 정보의 오류와 흐름을 관리하여 안전한 정보의 전달을 수행할 수 있도록 도와주는 역할을 한다. 소프트웨어에서 전달되는 데이터를 물리 계층인 하드웨어에 전달해준다.

 

데이터 링크 계층의 데이터 전송은 Point-To-Point 간으로 이루어지는데, 아래 그림을 보면 이해가 조금 더 도움이 될 것이다. 만일 현재 우리의 컴퓨터가 HOST H1이고, 핀란드에 있는 친구 HOST H2에게 데이터를 전달하려 할 때, 바로 전달되는 것이 아니라 H1과 가장 가까운 컴퓨터와의 통신만을 생각하는 것이다. 아래 이미지처럼 H2에 도달하기 위해 여러 Router를 지나는데 OSI 규약을 통해 가까운 컴퓨터와의 데이터 전송이 보장되어 각각의 라우터를 지나 핀란드에 있는 H2 컴퓨터에 도달하게 되는 것이다. 직접 연결된 서로 다른 2개의 네트워킹 장치간의 데이터 전송을 토대로 먼 곳까지 데이터를 전달해주는 방식인 것이다.

 

이 계층에서 전송되는 데이터가 프레임이다. 이 계층에서 사용되는 다양한 프로토콜들은 용도에 따라 프레임의 종류, 길이 등의 정보를 정의한다. 48 비트 길이의 주소를 가지는데 그 주소 내부에는 MAC 주소, 물리 주소, 하드웨어 주소, Burned-in 주소가 포함되어 있다.

 

https://net.t-labs.tu-berlin.de/teaching/computer_networking/05.01.htm

데이터 링크 계층의 주요 역할

1. 프레이밍 => 물리 계층을 통해 수신한 신호를 조합하여 프레임(Frame) 단위의 정해진 크기의 데이터 유닛으로 만들어 처리.

 

2. 흐름 제어 => 송신 측과 수신 측 간에 데이터를 주고 받을 때, 너무 많거나 너무 적게 데이터를 송수신하지 않도록 데이터 흐름을 적절히 제어.

 

3. 오류 제어 => 프레임 전송 시에 발생한 오류를 복원하거나 재전송.

 

4. 접근 제어 => 매체 상에 통신 주체 (장치)가 여럿 존재할 때, 데이터 전송 여부를 결정.

 

5. 동기화 프레임 구분자 (특별한 비트 패턴)

 

그냥 간단히 데이터만 전송해주는 역할만 해주는 것이 아니라, 각 규격에 맞게 모든 데이터를 최대한 갈무리해서 전달을 해주는 역할을 하는 것이 데이터 링크 계층이 하는 일인 것이다.

반응형