티스토리 뷰

Network

[Network] IP - Internet Protocol

OpenMaker 2016.12.12 10:30

IP (Internet Protocol)


  • IP는 어떠한 방법(the method)이다.


이게 무슨 뜬금없는 말일까요.
하지만 저 자체가 IP입니다.
IP의 full name을 보면 Internet Protocol 이라고 되어 있죠.

그렇다면 Protocol은 무엇일까요?
Protocol에 대해 무지하더라도 인터넷에 검색만 해보면 어느정도 짐작을 해볼 수 있습니다.
네이버에서는 아래와 같이 나오고 있네요.

1. 외교 의례, 의전   2. (조약의) 초안; (합의안・조약의) 보충 협약   3. 프로토콜, 통신 규약  (출처 : 네이버 사전)


눈치가 빠르신 분들은 대충 짐작하셨을 겁니다.

네, 마지막 3번에 프로토콜이라고 한글로 친절히 써둔것처럼, Protocol은 통신규약입니다.

즉, 인터넷을 사용함에 있어서 정해진 약속이라는 것이죠.


어딜가나 규칙이나 약속이라는 것이 존재합니다.

관공서에 가보죠. 무언가 서류를 요청해야 합니다. 다짜고짜 "저 이 서류가 필요해요!" 라고 하면,

관공서 공무원은 어딘가를 가리키며 "서류 양식에 맞게 작성해서 가져다 주세요" 라고 할 것입니다.

만약 다른 양식을 작성하여 가져다주면, 다시 가져오라고 할겁니다.


솔직히, 그냥 이해하고 줄 수도 있습니다.

하지만 그렇게 되면 업무 네트워크가 복잡해지고 혼선이 오겠죠.

혹여나 문제가 생기게 되었을 때, 그 뒤처리가 너무나 힘들어질 것입니다.


디지털 세계에서의 인터넷에서는 디지털 신호를 교환합니다.

중간에 변복조(신호를 변환하고 복구하는) 과정들이 있긴 하지만, 최종적으로 데이터를 송/수신하는 신호선에서는 디지털 신호가 흐르죠.


자, 신호선만 연결해두면 우린 뭐든 보낼 수는 있습니다.

하지만? 애초에 약속이라는 것이 존재하지 않는다면, 우린 어떠한 데이터도 이해할 수 없을 것입니다.

010100000101001000011100001111111111100000010

이걸 이해할 수 있나요?

이것은 약속에 따라서 어떠한 값으로든 바뀔 수 있습니다.

앞의 8비트는 단순히 데이터의 시작이라는 것을 나타내고, 마지막 8비트는 단순히 데이터의 끝을 나타낸다고 해보죠.

하지만, 만약에 앞의 16비트가 데이터의 시작을 나타낸다면? 데이터는 얼마든지 바뀌겠죠.


이러한 약속을 정해놓고 양쪽이 지킨다면, 서로 원하는 통신을 제대로 할 수 있겠죠? 이러한 약속을 Protocol이라고 합니다.




(출처 : http://www.ifwe.co/code/posts/what-title-ii-means-for-tcp/)



  • 인터넷(Inter-Net)의 중심 IP
뭔가 복잡해보이지만, 저 안에 있는 내용들에 대해 다 알아야 IP를 이해하는 것은 아닙니다.
항상 그림은 특징을 잘 파악해주어야 합니다. 여기서 특징이 무엇일까요?
그렇습니다. IP가 중앙에 홀로 있으면서, 모든것을 연결해주고 있네요.
혹은 모든것의 중간다리 역할 같은 느낌으로 보이는군요?

어떤 분은 이것을 '허리'라고 표현하시기도 하셨습니다. 뭐가 되었든 굉장히 중요한 역할인 것이죠.

그럼 이것이 의미하는 바는 무엇일까요?
어떤 통신 관련 하드웨어 기술이든 IP만 구현하고, 어떤 응용 프로그램이든 IP위에서만 동작하게 하면 서로간의 통신이 가능하다.

다시 한번 풀어서 말하면,

어떠한 통신 방법이든 IP를 구현하면, 기존 IP 위에서 동작하던 Application과 통신이 가능하며, 그 역도 성립한다는 것입니다.


결국, 표준화인셈입니다.


IP라는 인터넷 통신규약을 표준화함으로써, 새로운 통신기술들이 생겨날 때마다 별도의 규약을 만들지 않더라도, 기존의 것들과 통신할 수 있게 한 것이죠. 물론 각 통신기술마다 그리고 IP 상위 단마다 다양한 통신규약이 존재합니다. 하지만, 그 중간만큼은 한 점으로 만들어서 통합시킨 것이죠.


표준화는 굉장히 합리적인 것입니다.

물론, 잘못된 표준화가 계속되면 오히려 기술발전을 저해하겠지만, 제대로 되어있다면 오히려 기술발전에 이바지를 합니다.

이런 IP의 존재때문에, 하드웨어 기술과 Application 기술을 독립적으로 발전할 수 있게 되고, 그에 따라 기술발전의 속도가 더 높아진 것이죠.


개발자분들이라면 익숙하실테고,

아니신 분들이라도, 누군가와 협업을 하거나 협력하여 무언가를 할 때 (단순히 학생들의 숙제라도) 상대방에 의해서 나의 방향이 바뀌고, 나에 의해서 상대방의 방향이 바뀌어야하는 매우 상호 의존적인 일이 얼마나 힘든지 아실 것입니다.

이런 의미에서 IP의 존재는 그 가치가 매우 크다는 것입니다.

댓글
댓글쓰기 폼