(네트워크) IP란 뭘까?

2022. 3. 3. 01:55컴퓨터 공학/네트워크

반응형

컴퓨터 전공이 아니어도 IP라는 말을 우리는 자주 사용한다. (아닌가?)

그럼에도 우리는 IP가 정확하게 뭔지 모르고 사용할 때가 많다.

 

그런 의미에서 우리는 오늘 IP에 대해서 알아보려고 한다.

🏴󠁩󠁤󠁪󠁷󠁿 IP(internet protocol), 가까운 듯 먼 그대


내 컴퓨터와 내 친구 컴퓨터간 통신을 하고 싶다.

 

그럼 이 두 컴퓨터는 어떻게 통신할 수 있을까?

 

이 때 사용하는 것이 바로 IP 주소이다.

 

통신에는 송신자와 수신자가 필요하고, 이 송/수신자 모두 IP 주소를 가지고 있어야 통신이 가능하다.

 

 그럼 IP는 어디다 쓰냐, 바로 IP주소에 데이터 전달의 역할을 한다.

 

이 데이터는 패킷(Packet)이라는 통신 단위로 전달한다.

 

그럼 이 통신 단위, 패킷에는 뭐가 들어갈까?

 

여기에 바로 출발지의 IP, 목적지의 IP, 전송 데이터 등등이 들어간다.

 

이제 이 데이터를 전송할 차례이다.

 

어떻게 전송할까?

 

간단하게 말하면 이 패킷을 인터넷 세상에 던진다.(진짜로)

 

그러면 각 인터넷의 노드들이 패킷 정보를 읽어서 서버의 목적지에 전달해준다.(진짜라니까)

 

 

 

 

🏴󠁩󠁤󠁪󠁷󠁿 IP 프로토콜의 한계


뭔가 개쩌는거 같은 IP도 한계가 있다.

 

첫 번째로 비연결성이다.  

 

비연결성은 패킷을 받을 대상이 없거나 서비스 불능 상태여도 패킷을 전송한다는 것이다.

 

그러니까 실제 상황을 비유하자면 이미 폐업한지 오래 된 삼겹살 식당에 

'삼겹살은 거기지' 하면서 찾아갔다가 발돌리는 격이다.

 

혹은 미용실 문을 열었겠지 OR 예약 손님이 없겠지 하면서 가는 것과 비슷하다.

(난데?)

 

두 번째는 비신뢰성이다.

 

좀 치명적인 문제인데, 인터넷 세상에 던진 패킷이 갑자기 사라지거나,

보낸 패킷이 순서대로 도착하지 않는 문제가 생길 수 있다.

 

이러한 문제는 주로 용량이 큰 데이터에서 발생한다. 

 

보통 메시지가 1500byte를 넘으면, 한번에 보내기 부담스러워서 이를 여러개로 나눈다.

이때 나눠진 메시지가 순서대로 도착하지 않는 문제가 발생할 수 있다는 것이다.

 

간단히 설명하자면, Hello World라는 응답을 받아야 하는데, World Hello를 받는 것과 같다.

 

단순 처리라면 사소한 문제 쯤으로 여길 수 있겠지만, 자동화처리 시스템의 경우 엄청난 문제를 불러올 수 있다.

 

마지막으로 프로그램 구분 문제가 있다.

 

같은 IP를 사용하는 서버에서 통신하는 응용프로그램이 두개 이상이라면?

얘네를 어떻게 구분할 것인가? 

 

 

 

🏴󠁩󠁤󠁪󠁷󠁿 그래서...


위에서 IP는 패킷이란 단위를 가지고 목적지에 도달해서 데이터를 전송하고, 다시 상태를 응답받는 형태라는 걸 알았다.

그리고 비연결성, 비신뢰성, 프로그램 구분 문제 등을 안고 있다는 것도 알아봤다.

 

그럼 이 문제들을 어떻게 해결할 수 있었을까?

이를 알려면 TCP/UDP 에 대해서 공부해야한다.

 

다음시간에 이에 대해서 알아보자.

 

 

 

반응형