국제 표준기구 ISO에서 지정한 OSI(Open System Interconnection) 7-Layer는 네트워크 통신에서 단계적으로 약속된 방법으로 통신하는 것에 대한 구조적인 정의를 뜻한다
수 많은 프로토콜들마다 패킷 정의가 약간씩 다를 수 있는데
대부분 이 OSI-7 Layer를 기반으로 가감하여
프로토콜을 정의하게 된다
네트워크에서 개체 간 무엇을, 어떤 방식으로 통신하는지 보여주는 기본 모델을 제시하므로 네트워크 분야에서 가장 기본이 된다
물론 네트워크 프로토콜 설계를 해야하는 상황이 아니라면 세부적인 내용을 숙지할 필요는 없다. 그저 각 층마다 무슨 짓거리를 해서 통신하는지 이해하는데 초점을 두길..
통신하는 상황을 예로 들면,
개체 와 개체 간 통신한다고 가정하여 이미지화 했을 때,
[송신자] APSTNDP 순으로 전기적인 신호를 보내면 -> [수신자]PDNTSPA 순으로 전기적 신호를 다시 프레임으로, 또 그것을 패킷으로 변환하여서 내용을 이해하고 서로 통신하겠죠?
정리하자면,
- '왜 OSI-7 Layer가 필요한가' : 개체 간 통신에서 서로 약속된 방법으로 비트 단위의 전기적인 신호를 읽어드리거나, 보내서 통신하기 위함이다 --> '서로 약속된 방법' = '프로토콜' --> 프로토콜로 정의하는데 가장 기본적인 표준이 필요하다 --> OSI-7 Layer 의 필요성!!
한참 네트워크 공부했을 때,
각 층이 순서대로 외워지지 않아서 고생했었는데..
PDNTSPA
Person DoN'T SPA = 사람 스파 안해,,씻지 않는다....뭐 이런뜻으로 외웠다
1. Physical Layer(물리층)
- 네트워크의 물리적인 정의를 뜻하며, 무선랜, 유선랜, 광 통신 등등 물리적으로 네트워크가 연결되어 데이터를 어떻게 전기적인 신호로 처리할 것인지 정의하는 층이라고 할 수 있다
2. Data Link Layer(데이터링크층)
- 전기적인 비트신호가 프레임 단위으로 정의되는 순간이라고 할 수 있으며, 프레임의 시작과 끝을 알리는 프리엠블(헤더)와 MAC프레임으로 나뉜다. MAC프레임에는 발신지 mac주소와 목적지mac주소와 페이로드를 포함된다.
또한 라우팅 테이블이 없기 때문에 수 많은 노드가 인접한 무선 네트워크에서 동 시간에 노드 간 전송 충돌이 일어나지 않도록 프리엠블 전송시간에 따른 CSMA/CA,CD라는 전송 충돌 회피 기능을 수행하여 데이터 손실을 줄이기도 한다
물리 계층의 정의 + 프레임 정의(프리엠블+MAC프레임정의) = 2계층 통신이 가능해지고, 흔히 2계층 통신을 Node to Node 통신이라고 하기도 하고 더 흔하게는.. peer to peer 통신이라고 한다
3. Network Layer(네트워크층)
- 흔히 여기서 라우팅이라는 개념과 그로 인한 IP 개념이 만들어지게 되고, 3계층 통신이라고도 한다.
2계층 통신이 아닌 3계층 통신이 되면 발신지, 목적지의 MAC주소가 아닌 IP를 이용한 통신이 되므로
한 네트워크에 라우팅 테이블이 만들어지게 됩니다. 통신 송신자 입장에선 발신지IP, 목적지IP를 포함하여 헤더를 정의하고 수신자에게 보내지고, 네트워크 내 모든 노드들이 통신 시 발신지와 목적지가 정해지게 되어 하나의 통신망이 만들어지게 된다. 프레임 <-> 패킷으로 양방향 전환이 되는 구간이라는 점!
4. Transportation Layer(전송층)
- 데이터를 언제, 얼마나, 어떻게 보낼 지, 오류는 없는지 체크하는 Layer이다. 이러한 정보가 패킷에서 헤더에 추가되어 보내고 받게 된다
5. Session Layer(세션층)
- 발신지에서 목적지까지 통신 허가 유무, 연결 유지 시간을 정의한다. 이 역시 패킷에 헤더에 담아서 목적지의 통신 허가 유무를 파악하고 일정시간까지 통신을 지속시키는 역할을 하는 층이다
6. Presentation Layer(표현층)
- 응용 계층에서 보낸 내용을 통신할 수 있도록 비트로 표현하게 되며, 비트 압축과 암호화 개념이 들어가는 층입니다. 당연히 통신의 역방향으로 생각하면,, 비트화,암호화,압축한 내용을 복호화를 한다. 네트워크 이외에 외부에서 접근하여 통신 내용을 가로채어도 쉽게 해독할 수 없도록 하며, 통신 내용을 압축하는 부분이기 때문에 실수가 있어선 안되는 중요한 역할을 하는 층이다.
7. Application Layer(응용층)
- 우리가 알고 있는 HTTP, FTP, SMTP, IMAP, WEBDAV, AFP 등등 너무나 많은 프로토콜들이 여기에 해당되며, 다 응용계층에서 어떤 프로토콜로 통신할지 결정된다. 잘 생각해보면 당연히 여기서 어떤 프로토콜을 사용할 지 결정되어야만 수신자에게 적절한 패킷으로 만들어서 전기적인 신호 상대의 메세지를 전달받는 것이다
만약 OSI-7계층을 자세하게 공부한다면
단순하게 각 층에 어떤 기능을 하는지만 외울 것이 아니라
하나의 통신 예시를 들어
발신자, 수신자가 어떤 식으로 통신하는지
다시 말해서, 각 계층을 거치면서 어떤 식으로 단순한 전기 신호가 비트신호로 바뀌고, 그것이 패킷으로 정의되어 수신자까지 내용 전달이 되는 것인지
이미지화하여 공부하는 것이
더 오래 기억에 남을 뿐더러 이해가 빠르다!
홧팅!!!