통신을 공부하다보면
꼭 만나는 개념
OSI 7 Layer입니다.
구글에 검색을 하다보면
"OSI 7Layer각 계층이 무슨 역할을 하는지"
위주로 된 글들이 많이 나옵니다.
그런데 정작, 우리는 왜 이렇게 나눠진 이유는 뭐고
이걸 왜 배워야하는지 등을 놓치곤 합니다.
그래서 이 글을 통해
OSI 7Layer를 왜 나누었는지부터 시작을 해
실제 사례를 들면서 layer을 설명해보고
인터넷의 개념까지 확장해보겠습니다.
통신과 네트워크.
두 단어를 같이 놓고보면
동음이의어처럼 느껴집니다.
하지만 둘은 세세하게 들어가면 엄밀하게 다른 의미입니다.
통신은 '데이터를 주고 받는 동작'입니다.
어릴 때 한번쯤
종이컵 전화기로 친구랑 근거리 전화를 해본 적 있으신가요?
이 종이컵 전화를 통해 '음성'이라는 데이터를 서로 주고 받았습니다.
이걸 컴퓨터의 예시로 바꿔보겠습니다.
A가 자신의 노트북에 있는 영화를
B의 노트북으로 보낸다고 가정해보겠습니다.
P2P방식을 사용하는 방식도 있고
직접 두 컴퓨터를 연결하는 방식도 있고
등등 여러가지 방식으로 영화를 전송할 수 있습니다.
이렇게 데이터를 전송하는 행위를 '통신'이라고 부릅니다.
네트워크는 이런 통신의 집합을 의미합니다.
대표적인 예로 '인터넷'이 있습니다.
인터넷은 인터넷 프로토콜로 통신하는
수 많은 행위의 집합입니다.
위키 백과의 설명은 이렇게 되어있습니다.
컴퓨터간의 통신을 규격화했다 보시면 됩니다.
통신방식을 7계층으로 나눠
"이건 몇 계층에서 하면 되겠구나"
하는 서로간의 약속을 만들어줍니다.
또한 통신이 계층화되어있어
문제해결이 용이하다는 장점도 있습니다.
"계층 어디에서 문제가 생겼다"
라는 것만 알면 해당 계층만 수정하면 되기 때문에
나머지 계층을 건들이지 않아도 됩니다.
물리계층의 대표적인 예로
네트워크 어댑터가 있습니다.
해당 사진은 라즈베리파이에서 네트워크 어뎁터를 가져온 예시입니다.
가장 근간이 되는 통신계층으로
통신의 시작점이라고 볼 수 있죠.
두번째 계층인 DataLink layer의 대표적인 예로
이더넷 케이블이 있습니다.
라즈베리파이와 노트북의 Layer1을
이더넷 케이블로 연결한 모습입니다.
원격 데스크톱 연결에서
라즈베리파이의 호스트 이름을 검색하면
다음과 같이 라즈베리파이에 연결되는 걸 볼 수 있습니다.
Layer3은 우리가 흔히 알고있는 공유기를 생각하시면 됩니다.
전문용어로는 Router라고 부릅니다.
이제 노트북과 라즈베리파이의 이더넷 케이블 연결을 해제하고
원격으로 연결되는지 확인해보겠습니다.
라즈베리파이의 ip주소를 입력하면
다음과 같이 케이블이 연결되지 않아도 접속이 가능한 걸 볼 수 있습니다.
현재 노트북과 라즈베리파이 모두
가정에서 사용하는 공유기의 wifi를 사용하고 있기 때문에
ip주소만 입력하면 서로 연결이 가능합니다.
4계층부터는 SW영역으로 들어갑니다.
4계층은 송수신자 간의 통신 서비스를 제공합니다.
다시 말해 "서로 어떤 방식으로 통신할지"규칙을 정하는 계층입니다.
그림에서 보이는 방식이 대표적인 통신방식 중 하나인
TCP통신방식으로
통신을 시작하기 전에 서로 연결이 되었는지 확인하는 절차를 거칩니다.
연결간의 복구를 해주는 계층으로
통신간에 동일한 논리적인 동기점을 만들어줘서
통신의 데이터 흐름을 자연스럽게 만들어줍니다.
네트워크의 번역을 담당하는 계층입니다.
대표적으로 암호화를 담당하며
이외에도 압축,데이터변환을 담당합니다.
가장 높은 Layer인 Application Layer는
사용자들과 직접 소통하는 단계입니다.
과거에는 메일이었고
요즘에는 게임까지 범위가 확장되었죠.
포트:현재 application이 수행중인 포트의 번호
IP address:IP주소
Mac address:HW주소
이 세가지를 모두 알아야 통신이 가능하며
그림의 과정을 거쳐 통신합니다.
영어위키의 인터넷의 정의를 보면
인터넷을 network of networks라고 정의했습니다.
지금이야 인터넷이 고유명사로 web을 나타내게 되었지만
초장기에 인터넷의 개념은 그것과 달랐습니다.
바로 서로다른 L2단계의 통신을 묶는다는 개념이었습니다.
L2방식으로 여러가지이기 때문에
"같은 방식의 기기들만 통신이 가능하다"라는 맹점이 존재했습니다.
이는 전시상황에서
제대로 명령하달이 힘든 상황을 만듭니다.
그래서 각각의 L2방식이 어떻든 간에
하나의 통일된 규격으로 묶는다는 것이 초창기 인터넷의 정의로
network of networks라는 말이었습니다.
즉, L2방식이 뭐든간에
이를 하나로 묶는 ip 프로토콜이 있기 때문에
서로 통신이 가능하다는 개념입니다.
이 개념이 얼마나 대단한지 생각해볼까요?
컴퓨터 제조회사만하더라도
삼성 LG asus 레노버 HP MAC 등등 다양하고
거기에 스마트폰까지 나온다면
엄청나게 서로 다른 L2방식이 존재할 겁니다.
만약 L3방식으로 서로를 관통하는 하나의 규격이 없었다면
우리는 스마트폰으로 유튜브시청하는 것도 힘들고,
당장에 컴퓨터 간에 메일전송하는 것도 엄청 어려웠을 겁니다.
인터넷의 이런 개념덕분에
현재는 사물인터넷까지 등장해
서로를 연결하는 초연결사회로 발전했습니다.
SW개발에서 가상화가 가지는 힘 (0) | 2024.01.18 |
---|---|
[프로그래머스 데브코스 리눅스&커널 전문가 과정] 데브코스 3개월차 회고록 (2) | 2024.01.14 |
[MIL] 프로그래머스 데브코스 리눅스 &커널 전문가 과정 1달 회고록 (2) | 2023.11.21 |
프로세스 vs 쓰레드, 뭐가 다르고 어떻게 활용될까?? (0) | 2023.11.02 |
캐시메모리는 무엇이고 어떻게 활용이 될까?? (1) | 2023.10.23 |
댓글 영역