본문 바로가기

별걸다하는 IT/네트워크_소켓_통신

[네트워크 network] OSI 7계층 모델 완벽 이해- 이유를 알고 개념을 이해하고 전체 보기(7 layer)

안녕하세요~~!

맨날 운영체제 리눅스 관련 글만 쓰다가 처음쓰는 네트워크 글이네요!

원래 네트워크도 굉장히 좋아했는데,,, 포스팅 쓰는게 아무래도 쉽게 되는게 아니다보니 미루고 미뤄지다 이제야 왔어요 ㅎㅎ

 

순서는 아직 정해놓은게 없고, 그냥 생각나는 대로 포스팅을 해보려고 합니다. 그러다가 어느정도 포스팅 글이 모이면 또 카테고리로 빼서 관리해보려고요 ㅎㅎ

서론이 길었군. 오늘 다룰 포스팅은, 네트워크 배우면 가장 처음으로 중요하게 배우는 OSI 7계층 모델입니다.

OSI 7계층이란? OSI 7 layers?

생각보다 의외로 이게 왜 필요한지 이해하고 시작하는 사람들이 별로 없더라고요.

OSI 7계층은 OSI 참조 모델이라고 얘기를 하는데, 컴퓨팅 장치나 네트워킹 장치를 만들 때 OSI 참조 모델을 참조해서 모든 통신장치를 만들게 됩니다. 이때 필요한게 OSI 7 Layer개념이예요.

WHY? 왜 참조해?

이게 그럼 왜 필요한 것인가~! 실제 우리 일상생활에서 많은 물건들이 어떤 참조 모델을 통해서 생성되고 유지보수 된답니다. ㅎㅎ 말이 어려울뿐이지 비슷해요

간략하게 얘기하면 서로 통신할 수 있게 서로가 알아들을 수 있는 규칙을 정한겁니다.

만약 서로간의 통일된 규칙이 없다면, A랑 B랑 통신하려 해도 각 회사마다 정의한 통신규격이 달라서 통신할 수가 없겠죠~

그럼 쉬운 예시로 단번에 이해 고고~

example

여러분 자동차를 샀습니다. 근데 자동차가 고장이 났어요. 그럼 자동차를 새로 다 바꿉니까?! 아니죠! 타이어가 고장났으면 타이어만 바꾸고, 엔진이 고장났으면 엔진만 교환하죠?! 너무 당연한 얘기지만 이게 어떻게 가능한걸까요?!

자, 자동차 회사가 자동차를 전부 만들지는 않아요. 자동차 타이어 회사가 따로 있고, 엔진 만들고, 철판 만드는 회사 다 따로 있을 거 아닙니까. 즉, 자동차를 만들기 위해서는 일정 계층별로 하나하나가 다 모듈화 되어있는거예요.

게다가 자동차를 만든 회사의 타이어만 우리가 사용할 수 있는건 아니잖아요?

 

A회사 타이어를 사용하던 자동차가 B타이어로 교체해서 사용할 수 있잖아요. 이게 다 어느 규격을 정의해놓고, 각 부품별로 모듈화가 되어 있기 때문에 가능한 현상들인거~! 즉 모듈들이 융합이 되어 있기 때문에 어디서 고장났는지도 파악하기 쉽고, 교체도 원하는 부품으로 가능하고, 설계도 단순해지는거죠!

사진출처: http://www.seminartoday.net/news/articleView.html?idxno=4178, 걍 자동차도 모듈화되어있다는 사진

여러분 혹시 소주병 캡이 막걸리도 막을 수 있는거 아나요? 사이즈가 똑같습니다. 규격이 있는거죠ㅎㅎ

하물며 이렇게 우리가 주변에서 사용하는 단순한 물건들도 그런데, 복잡한 통신장치는 얼마나 더 다양한 모듈들로 만들어져 있겠어요!

 

여러분이 친구한테 메일 보낼 때, 그냥 프로그램만 사용하면 딱! 가니까, 깊게 생각해보지 않았을 수도 있지만

어떻게 멀리 다른지역에 사는 친구한테, 그 수많은 정보가 오가는 네트워킹 속에서 정확하게 찾아갈까 등

그런걸 어떻게 구현할까, 막연히 생각해본 적이 있으신가요?

사진 참조: https://m.post.naver.com/viewer/postView.nhn?volumeNo=6901147&memberNo=36208470

앞으로 차차 하나씩 살펴보겠지만, 컴퓨터 장치나 네트워크를 구현할 때, 데이터의 흐름을 파악하고 원인을 찾고, 확장성도 있어야하고 보안도 있어야하고, 호환도 돼야하고... 등등 생각만 해도 엄청 복잡하겠다라는 추측을 할 수 있어요 ㅎㅎ

 

실제로 이 규격이 없었던 이전에는~!

통신 업체 장비들은 자신의 업체 장비 간만 연결이 되는 등 호환성이 전혀 없었어요.

 

결론! 하고자 하는 말은, 우리 통신도 데이터 흐름을 파악하기 쉽게 계층을 나눠놨고 계층 하나 하나가 모듈화 되어 있습니다. 하나를 통으로 만든 것이 아니라 모듈식으로 따로 만들어서 조립한 것 즉 융합이 되어 있는 것이다! 이유는 앞에 예시에서 든 것과 유사하다. 이 규격을 1984년에 국제표준화기구(ISO)가 발표했고 그게 OSI 7계층이다! 요겁니다. 

OSI 7계층 큰 그림 이해하는 정리~~

정리해볼게요. 앞에 예시 읽고 이해하셨으면 밑에 정리는 결국 같은 말을 다르게 여러번 말한 문장들이예요.

걍 많이 읽고 익혀둔다는 느낌으로 읽고 넘어갑시다.

- 국제 표준화 기구(ISO)가 1984년에 발표했다.

- 통신이 일어나는 과정을 7단계로 크게 구분하여 한 눈에 들어올 수 있도록 정의했다.

- 통신이 일어나는 과정을 단계별로 파악할 수 있다.

- 컴퓨터 통신 구조의 모델과 앞으로 개발될 프로토콜의 표준적인 뼈대를 제공하기 위해 개발된 참조 모델이다.

- 그러므로 OSI 7계층 모델을 알면 네트워크 구성을 예측하고 이해할 수 있다.

- 네트워크에서 트래픽의 흐름을 꿰뚫어 볼 수 있다.

- 각 계층은 독립되어 있다

(위 예시에서 타이어와 자동차섀시가 독립안되어 있으면 하나만 교환해서 되는게 아니라 전체를 바꿔야겠죠?)

- 7 단계 중 특정한 곳에 이상이 생기면 다른 단계의 장비 및 소프트웨어를 건들이지 않고도 이상이 생긴 단계만 고칠 수 있다.

- 상호 이질적인 네트워크 간의 연결에 어려움이 많은데 호환성 결여를 막기 위해 OSI 참조 모델이 제시되었다.

- 네트워크 구성 요소를 표준화함으로써 타업체의 장비 개발과 지원이 가능해진다.

- 계급, 즉 상하 구조를 가진다.

등등.. 다 똑같은 말이죠?ㅎㅎ

크게, 용이성유지관리의 수월성이라 할 수 있죠

오 OSI 7계층이 뭔지는 알았다, 근데 OSI는 뭐의 약자인가?

OSI는 Open Systems Interconnection의 약자로 개방형 시스템이라는 뜻입니다.

즉 개방이 되어 있기 때문에 누구나 다 참조해서 장치를 만들거나 더 부가적으로 뭔가를 추가하거나 이게 가능하다는 의미가 돼죠.

OSI가 중요한 이유는 표준이기 때문에 중요하기도 합니다.

다시 말하자면 OSI는 개방된 시스템, 시스템 간의 상호연결성을 부여하는 표준입니다.

OSI 7계층은 각각 무엇인가?

OSI 7계층이 왜 나왔고 왜 필요한지 이해가 되었으면, 또 왜 배워야하는지 왜 중요한지 알았으면~~

통신의 모듈들은 어떻게 구성되어 있는가 궁금할거예요 ㅎㅎ

각 계층은 그림에서 보시다시피, 네트워크 통신에 필요한 기능들을 크게 나눠서 7개,

물리계층, 데이터링크계층, 네트워크계층, 전송계층, 세션계층, 표현계층, 응용계층 이렇게 나뉘어집니다.

처음 시작하시는 분들은 '기능'에 써져 있는 내용 읽고 이해가 하나도 안될텐데, 걱정하지 마세요 ㅎㅎ 어차피 뒤에가면 또 상세히 설명해줄끄니까

초간단하게 언급만 잠깐 하자면, 물리계층은 하드웨어, 데이터링크 계층이 하드웨어+소프트웨어, 3계층 부터는 다 소프트웨어입니다.

 

아래 그림에서 왼쪽과 오른쪽의 박스로 이루어진 각 라인은 하나의 시스템을 표현합니다.

두 개의 시스템이 통신을 하는 모습을 보여주고 있는 그림인거죠. ㅎㅎ

7계층, 상하구조가 가지는 문제해결의 용이성

근데 왜 모듈이라 표현안하고 계층 또는 계급이라 했을까?

상하구조를 가지기 때문이예요. 계층이라는 단어에는 사실, 상위 계층의 프로토콜이 제대로 동작하기 위해서는 하위의 모든 계층에 문제가 없어야 한다는 중요한 의미를 내포하고 있습니다.

즉 7계층이 제대로 동작하려면 1,2,3,4,5,6계층이 모두 완벽해 문제가 없어야 합니다.

왜 그렇게 상하구조를 가지고 있는가?! 는 세부적으로 들어가면 자연스레 이해가 됩니다.

'물리적 회선 연결이 있어야, 거기에 데이터를 보내지, 물리적 연결도 안되어 있는데 소프트웨어가 동작할 리는 없으니까!' 이런 거예요 ㅎㅎ

 

그리고 이렇게 계급을 가지게 됨으로써 문제 해결을 용이하게 해줍니다.

한 예로 인터넷이 안된다, 이러면 ping쏴서 확인해본다는 말 들어본적 있나요? (모르면 읽고 느낌만 이해하고 넘어가도 돼요) 이 때 ping이 잘 수행되고 이상이 없다면, 네트워크 계층까지는 모두 이상이 없다는 얘기가 됩니다. (핑은 네트워크 계층에 속하는 프로그램이거든요 ㅎㅎ) 그러면 그 이후 계층부터 확인하면 되겠죠? 이렇게 어디서 문제가 발생했는지 좀 더 용이하게 체크할 수 있는거죠. 

 

각각의 계층에 대해서는 따로 포스팅을 빼려고 합니다. 양이 너무 많아서리..ㅎㅎ그러니 지금은 우리가 공통적으로 참조하는 표준 모델이 있고 그게 7계의 단계! 계층!으로 이루어져있으며, 각각 독립적인 모듈이구나 이해했으면 완벽합니다. ㅎㅎ

암기

7계층 이름 정도는 컴퓨터를 공부하는 사람이라면 암기하고 있어야 해요. 돌아다니다보니까 이렇게 암기요령을 알려주는 글도 있더라구요 ㅎㅎ

출처: http://www.ciokorea.com/news/36536#csidxa7b8fb7c6c7e34a85f2253bf8c1b283

그런데 저는 자연스럽게 외워진 것 같습니다. 처음에 볼 때는 7가지라 좀 어려운 것처럼 보이는데, 앞으로 포스팅에서 각 계층별로 상세히 들어갈거니 하다보면 자연스럽게 암기가 될거예요. 그래도 암기를 어려워하는 사람이 있을수 있으니 일단 포스팅에는 넣어둠. ㅎㅎ

 

오늘은 OSI 7 LAYER의 전체적인 숲을 보는 포스팅을 진행했어요.

다음 포스팅 부터는 안으로 들어가 각 나무들을 살펴보려고 합니다.

설명이 조금이나마 이해하는데 도움이 돼셨다면, 공감, 보답광고, 댓글 감사합니다. 질문 환영해요.

다음 번에도 더 쉬운 예제와 질 좋은 포스팅으로 찾아뵐게요~

이어서보기!

▼1계층 물리계층에 대해 살펴보자. Physical Layer 피지컬계층!

 

[네트워크 OSI 7계층] 1계층 물리계층에 대해 살펴보자. Physical Layer 피지컬계층!

안녕하세요 양햄찌 블로그 주인장입니다. 정~~말 오랜만에 돌아온 네트워크 포스팅이죠!! 저번시간에는 OSI 7계층이 뭔지! 이게 대체 왜 필요한건지!! 여러개로 대체 왜 쪼개놓은건지! 전체적인

jhnyang.tistory.com