2. OSI 7계층(layer) 또는 TCP/IP 스택.
통신이야기 2024. 9. 5. 11:08 |사실 통신이 1대1로만 이루어진다면, 통신 스택이란 것이 필요없을 수 있다.
이쪽에서 보내는 신호를 어떻게 해석할지만 고려해서, 해당 신호를 다시 데이터화 하는 작업만이 있을 뿐이다.
그러나, 실제의 통신 상에서는 더 많은 것들이 고려되어야 한다.
1대1통신이더라도, 디지털 통신이 되기 위해서는 일단 다음을 고려할 필요가 있다.
- 물리적으로 신호가 전달되는 채널(전파, 전압, 음압, 빛의 유무, 신호의 세기, 신호의 주파수 등)에서 각 디지트(0/1 또는 여러비트를 담는 Symbol)가 어떻게 표현되는가
- 해당 채널 내에 전송되고 있는 비트스트림에서 패킷이 어떻게 시작되고 끝나는가
를 사전에 정해두고, 발신측과 수신측이 공유를 해두어야 패킷을 주고 받을 수 있게 된다.
1대1 통신이 아니고, 하나의 물리채널을 여럿이서 공유하는 방식으로 채널을 구성할 경우, 이에 추가적으로 다음 상황을 고려/정의해 두어야 한다.
- 물리채널을 공유하는 방법(시간별 분리, 주파수별 분리, 코드별 분리(CDMA))
- 해당 물리채널에 존재하는 패킷의 발신자/수신자를 구분하는 방법
- 물리채널을 발신자별/수신자별/수발신자별 할당했다가 수거하는 방법
이런 정도를 고려하면 동일 물리 채널을 여럿이서 나눠 쓸 수 있게 된다.
라디오방송으로 위의 얘기를 다시 풀어 써보자면... 아날로그 방송이라 패킷화하는 부분은 없으나, 개별 프로그램(컬투쇼, 별이 빛나는 밤에 등)이 패킷(세션이란 말이 더 적합하겠지만)이라고 치면,
- 각 패킷을 오프닝 멘트로 시작하고, 엔딩 멘트로 종료되는 것으로 볼 수 있겠고
- FM/AM 주파수를 통해 전달되는 방송들 중, 해당 라디오 프로그램을 구분하는 방법은
. 라디오 DJ가 발신자, 해당 라디오프로그램을 듣는 청취자가 수신자로 볼 수 있고, 둘 간에 통신(방송 청취)이 이루어지려면, 해당 방송국의 해당 시간에 들을 필요가 있다.
. 이는 방송국 별로는 서로 다른 주파수로 구분이 되고, 프로그램 별로는 서로 다른 송출 시간에 따라 구분이 된다.
. 그리고, 저 주파수와 송출시간은 대체로 고정적으로 할당이 되어 있고, 별도 또는 프로그램 내에서 전달되는 정보에 따라 변경될 수 있다.
는 약속 하에 통신이 이루어지고, 개별 패킷(프로그램)이 구분되는 걸로 볼 수 있다.
보통 이렇게 패킷을 점대점으로 보내고 나면, 그 다음에는 점대점으로 구성되는 망에서 패킷이 누구 것인지, 그러려면 어디로 보내야하는지를 처리하는 네트워킹 기능이 필요해진다. 이 또한
- 발신자/수신자를 구분하는 방법
- 동일 발신자/수신자에 해당하는 패킷에 대해서
. 동일 발신자/수신자가 어떤 회선을 점유해서 전송이 끝날때까지 유지시키고, 해당 회선으로 모든 패킷이 흘러가도록 할 것인지(Circuit switching network)
. 매 패킷별로 처리를 할 것인지(Packet switching network)
- Circuit Switching의 경우 발/수신자간 회선을 설정하고 해제하는 방법
- Packet Switching의 경우 패킷별로 다음 경로를 정하는 Routing 방법
을 고려하고 정의해 줘야 한다.
위의 네트워킹을 통해서 직접적으로 연결되지는 않았지만, 네트워크를 통해서 발신자와 수신자간에 패킷이 전달되게 되었다.
그 다음으로 고려되어야 할 것은 그럼 이 전달된 패킷을 어떻게 사용자에게 보여줄 것인지를 결정하는 일이 필요하다. 전달된 패킷이 글자열인지, 정지영상인지, 소리인지, 동영상인지, 스트리밍인지, 다운로드인지를 구분해서 사용자에게 그에 따라 다시 모니터나 스피커나 저장소로 보내야 한다.
위와 같은 것들을 한 덩어리로 만들어서 구현을 하고, 향후 필요에 따라 수정을 하게 된다면, 매우 복잡한 구현을 마주하게 될 것이고, 이는 모든 앱 개발자에게 엄청난 지식과 능력을 요구하게 되며, 앱간 유사한 기능 들을 중복적으로 가지게 되어 자원의 낭비를 가져올 것이다.
그에 따라 위의 기능들 중 통일할 수 있는 부분을 통일화해서 그것을 계층(layer)이라고 부르고, 해당 계층들이 쌓인 것을 스택이라고 부르며, 개별 계층의 발/수신자간에 사전에 정의된 통신 방법을 프로토콜(protocol)이라고 부른다.
위에서 나열한 기능들을 OSI7계층이나 TCP/IP스택에서 부르는 방식은
- 물리계층(PHYsical)
- 데이터링크(MAC(Media Access Control))계층
- 네트워킹(인터넷)계층
- 전송(Transport)계층
- 세션/표현/응용(Application)계층
등으로 부르고 있다.
중요한 것은 각 계층이 서로간에 다른 목적을 위해 동작한다는 것과 상위계층은 하위계층을 통해서 데이터를 주고 받는다는 점이다.
그리고, 통신상 문제를 발견하고 처리하는데 있어서, 어느 곳에서 문제가 생겼는지를 알면 원인 분석이 쉬워지지만, 그 어느 곳에서 문제가 발생했는지를 찾는 것이 더 중요하게 된다.
美泥.
'통신이야기' 카테고리의 다른 글
4. 이동체의 통신(2) (0) | 2024.09.13 |
---|---|
번외편 1. - 아이폰 1차 출시국 등극 얘기를 듣고서... (1) | 2024.09.11 |
3. 이동체의 통신(1) (2) | 2024.09.09 |
1. 통신, 그리고, 디지털 통신 (3) | 2024.08.29 |
0. 통신 이야기... (0) | 2024.08.29 |