안녕하세요~ 벌써 주말이네요 ㅎㅎ 어제 포스팅 하려 했는데 늦어써~

앞으로 얼마동안 포스팅 할 주제는 OSI7계층과 TCP4계층 입니다.

오늘은 첫번째로 OSI와 프로토콜에 대해서 필요한 기본지식에 대하여 이야기 해보겠습니다.





다들 통신이 어렵다고 하는 이유는, 통신은 약어가 너무 많아서 어렵다고 생각하는 듯 싶습니다.

하지만 통신에 사용하는 약어들이 없다면, 전공자들이(혹은 실무자가) 통신에 대하여 이야기를 할 때면, 많은 어려움이 있지 않을까 생각됩니다.


그래서 통신 용어들에 대해서 알고 있어야 하는데, 혹시 표준화에 대해서 알고 있나요?


지금 일상생활에서 사용하는 표준은 여러가지가 있습니다. 예를들어 길이를 나타내는 cm, km 그리고 국제 표준언어의 5개 등등이 있죠 ㅎㅎ

표준화 된 것들은 많지만 표준화 되지 않은것들도 어럿 있습니다. 

전 그 중 표준화가 되어야 할 점은 아이폰과, 갤럭시의 충전 잭이 표준화가 되어야 된다고 생각합니다ㅋㅋㅋㅋ 다들 공감하시죠?

이와같이 표준이 되지 않아서 불편한 점이 많아유 ㅠ


(출처 : https://plus.google.com/u/0/+iso/posts)


그래서!!!!!! 이것들의 표준을 정해주는 곳이 있습니다. 

그 곳중 하나인 ISO(International Organization for Standardization-국제 표준화 기구)가 있죠 ㅋ

여기서 만든 표준이 여러개가 있는데, 그 표준중, 운이 좋게도 통신에 대한 표준은 ISO를 뒤집은 OSI(Open System Interconnection)입니다.


읽으시는 분은 분명 이렇게 생각하시겠지?ㅋ "명사들의 연속이긴 한데 무슨뜻이지? 연결을 열어주는 시스템? 개방되어 있는 시스템?" 이라고 다양한 생각을 하게찡?ㅋㅋㅋㅋ(귀염귀염)

이럴 때 OSI를 그냥 OSI라고 생각하지 말고, 방금 언급한 "연결"이냐 "개방"이냐 라는 것에 대해서 조금 고민해 보는것도 좋을 것 같습니다ㅎㅎ(전 개방되어 있는 시스템이 좀 더 가깝다 생각 합니다)


그건 그렇고 화제를 변경시켜 다음으로 넘어가죠.


Interconnection은 Inter + connection으로 이루어진 단어 입니다.

유사한 단어로 Internet이 있는데, 보통 여러분은 Internet 이 한 단어라고 생각하고 있었을것 같아요!(제가 그랬어요..늉늉

하지만 Internet은 Inter+network이 합쳐져서 만들어진 단어입니다.

inter(상호간의)+network(네트웤)= 네트워크와 네트워크가 서로 연결이 되서 큰 네트웤이 된 것이다. 이것이 인터넷입니다.( ㅋㅋㅋㅋ넘나 쉬운것?)

즉, 큰 네트워크 하나는 시스템과 시스템이 연결 된 것입니다.


System들 간이 interconnection이 되어 있는데(서로 연결되어 있는데) 이것들이 Open(개방)되어 있다는 것은, "나는 누구와도 연결될 수 있다"라는 뜻이 되죠.


이해를 돕기 위해 한 예제를 들어보겠습니다.


수업이 진행되고 있는 강의실에 교수님과 학생들이 있고, 그 학생들과 교수님을 각각의 하나의 시스템이라 생각해 봅시다.

학생들과 교수님은 (시스템과 시스템은) 서로 연결이 되어야 이야기가 가능합니다.

학생들은 교수님이 이야기 하시는 내용을 듣고(이해하고) 있다는 것은 연결이 되어 있기 때문에 가능하죠~!!?

이러한 연결이 Open되어 있고, 어떤 학생(시스템은) 강의실에 있는 누구와도 말할 수 있습니다.

이것은 교수님, 그리고 학생들 간의 이야기 방식이 표준화 되어 있기 때문에 가능합니다(시스템-시스템간의 통신 방법이 표준화 되어 있기 때문이죠.)


하지만 여기서 이런 생각을 하시는 분이 있을 것 같네요.

"만약 말레이시아 사람이나 혹은 중국사람과 같은 다른나라 사람들이 있어도 이야기 하는 방법이 표준화 되어 있다고 할 수 있는건가? 학생이 다른나라 사람일 수도 있잖아!!" 하면서.

그래, 이 부분에 대해서는 말하는 방식이 표준화 되어 있지 않기 때문에 OSI(Open System Interconnection)가 아닌 것이라고 말 할수 있겠네요. 우리는 강의실의 언어가 표준화 되어 있기 때문에 소통이 되고 있다고 하지 않았느냐!!!!!!!!!!!!!!!!!!!!!!!!!!!


그럼 OSI를 한 문장으로 요약해보면?

-> 시스템들이 네트워크로 서로 묶이기 위해서 오픈되어 있는 모델이다.



OSI의 목적 : 하드웨어가 소프트웨어 기반의 논리적인 변화에 대한 요구 없이, 서로 다른 시스템간의 통신을 원활하게 하는 것.


서로 다른 시스템 간의 통신을 해야 하는데, 두 기기간의 통신이 표준화 되어 있으면 아무 문제가 없죠. 하지만 표준화가 되어 있지 않는 경우가 많습니다. 앞서 말한 안드로이드와 아이폰의 충전 잭 처럼.

이런 경우는 보통 하드웨어를 변경해야 하죠.ㅜㅜㅜㅜ ( 아이폰 만쉐~~ )

하드웨어도 그렇고, 여러가지가 있죠~!!

아이폰과 안드로이드가 블루투스 통신을 한다면? 하드웨어를 변경 을 할 필요는 없지만, 블루투스를 이용하여 서로 전송하는 앱이 다르면(통신을 하는 앱이지만, 삼성은 삼성앱, 애플은 애플앱 서로 다른 앱을 깔았을 경우 통신이 안 될 확률이 높습니다 - 서로 협의가 안되었다면 )이 때 소프트웨어적인, 논리적인 변화를 요구한다. 앱을 바꾸라든가 이런 요구를 하겠죠??ㅋㅋ

이런거 요구 없이 통신을 하기 위해선 표준화가 필요합니다. 표준화를 준수하여 개발을 진행한다면, 방금 말한 것 처럼 서로 협의가 안 되어 있는 상황은 발생하지 않겠죠?

 


프로토콜.

프로토콜이 무엇인가요? 프로토콜은 한마디로 말하자면. 통신규약입니다.

개발자라 그런지, 평소에 선배나 친구들이랑 이야기 할 때 " 프로토콜 이렇게 정하자 " 라면서 이야기 많이 하는데, 여러분은 안그런가요??


프로토콜은 ~~ 이렇게 발생한 일은 ~~ 이렇게 처리하라 라고 약속을 하는 것 입니다.

조금 길게 설명하면, 두 사람 또는 두 장치 간에 이루어지는 통신의 일련의 프로토콜이 필요한데, 프로토콜은 통신을 주도하는 규칙들의 집합 이라고 말할 수 있습니다. 

ㅋㅋ 무슨 말 인지 모르겠죠?? 쉽게 설명해 드리겠습니다.

경찰도 프로토콜을 갖고 있고, 군대도 프로토콜을 갖고 있고, 특정한 기관들은 프로토콜을 가지고 있습니다.(불이나면 ~~이렇게 움직여라! 테러가 발생하면 ~이렇게 하라! 등등)

그럼 통신 규약은 무엇인가요?

우리의 핸드폰에 어떤 사람으로부터 전화가 온다면, 우리의 핸드폰은 진동(혹은 벨)이 울립니다. 그리고 우리는 전화를 받거나 거절을 합니다. 그리고 이 행위를 상대방에게 알려주는 것(전화가 연결되거나 뚜~~뚜~~ 하는것) 이것이 통신규약 입니다.


여기서!!! 잠깐!!

OSI모델은 이렇게 상세한 프로토콜은 아닙니다. 큰 틀에서 이렇게 따르어라! 하는 것이죠 ㅋ

이 시스템과 저 시스템이 통신하기 위해서는 이러한 모델을 가지고(기반하고) 구체적인 프로토콜을 만들어라! 그럼 전 세계의 모든 장비가 통신을 할 것이다.라는 뜻 입니다.

즉 , OSI는 모델이지 프로토콜이 아닙니다. OSI는 유연하고(면접볼 때 유연한 사람은 어떠한 상황에도 잘 대처하고) , 상호 연동 가능한(누구와도 이야기 할 수 있는) 모델입니다.





참고자료 : TCP/IP 프로토콜 4th Edition(McGraw-Hill Korea)

+ Recent posts