롱롱한 하루

인터넷 네트워크 이해하기 본문

개발 이야기

인터넷 네트워크 이해하기

_롱롱 2024. 10. 22. 07:39

1. IP란?

IP는 인터넷 세상의 ‘주소표’ 역할을 한다. 우리가 편지를 보낼 때 주소가 필요한 것처럼, 인터넷에서도 컴퓨터들이 서로 메시지를 주고받기 위해선 ‘주소’가 필요하다. 이 주소를 IP 주소라고 부른다. 모든 컴퓨터나 핸드폰 같은 기기마다 이 주소가 있어서, 서로 정확한 위치를 알아내고 원하는 사람에게 메시지를 전달할 수 있다. 인터넷 세상에서 길을 찾기 위해 꼭 필요한 길 안내 역할을 한다!

컴퓨터들은 서로와 소통하기 위해 IP 주소를 사용한다. 고정된 IP 주소를 가지기도 하고, 가끔씩 바뀌는 IP 주소를 가지기도 한다. 고정된 경우엔 우리가 집 주소를 바꾸지 않는 것처럼, 같은 주소를 계속해서 사용한다.

IP 프로토콜의 한계

하지만 IP 주소만으로는 인터넷에서 안전하게 소통하기 어렵다. IP 프로토콜은 ‘데이터를 정확히 받았는지’를 확인하는 기능이 없다. 데이터를 전달할 때 IP 패킷이라는 통신 단위를 사용하는데, 여기에는 출발지와 목적지, 그리고 데이터 정보가 들어가 있다. 이 패킷을 편지라고 생각하면 된다. IP 프로토콜로는 우리가 편지를 보낼 때 받는 사람이 잘 받았는지 알 수 없다. 그래서 데이터가 잘못 가거나 손실되는 문제가 생길 수 있고, 추가로 신뢰성과 보안성에 대한 기능을 제공하지 않는다. 이런 이유로, IP는 대개 TCP나 UDP 같은 다른 프로토콜과 함께 사용된다.

 

2. TCP와 UDP란?

TCP랑 UDP는 편지를 보내는 방법을 의미한다. 친구에게 메시지를 보내는 두 가지 방법이 있는데, 하나는 꼼꼼히 확인하면서 보내는 방식이고, 다른 하나는 확인 없이 빠르게 보내는 방식이다.

  • TCP는 꼼꼼한 친구다. 메시지를 보내고 나서 "잘 받았어?" 하고 물어보며 다시 확인한다. 중요한 메시지를 보낼 때는 TCP를 사용한다. 예를 들어, 인터넷에서 파일을 다운로드할 때, TCP가 데이터를 정확하게 전달하도록 도와준다.
  • UDP는 빠른 친구다. 메시지를 보내면 바로 끝내고 다시 확인하지 않는다. 그래서 속도가 중요한 곳에 사용된다. 예를 들어, 친구랑 영상 통화를 할 때는 UDP를 써서 끊기지 않고 빠르게 대화할 수 있다.

보통 사용하는 것

인터넷에서 데이터를 보낼 때, TCP와 UDP 중 상황에 맞는 것을 선택해 사용한다. 중요한 파일을 보낼 때는 TCP, 빠른 속도가 필요한 경우는 UDP를 쓰는 방식이다.

 

3. DNS란?

DNS는 인터넷 세상의 전화번호부 같은 역할을 한다. 우리가 웹사이트 이름을 외우기 쉽지만, 사실 컴퓨터는 숫자로 된 주소(IP)를 알아야 정확히 찾을 수 있다. 그래서 DNS가 이런 이름을 컴퓨터가 이해할 수 있는 IP 주소로 바꿔준다.

예를 들어, 우리가 ‘myfavorite.com’ 같은 주소를 입력하면, DNS가 이 주소를 컴퓨터가 이해할 수 있는 IP 주소로 변환해 준다. 이렇게 해서 복잡한 숫자 대신 쉬운 이름을 이용해 원하는 곳으로 바로 갈 수 있게 한다.

인터넷에 들어갈 때마다, DNS는 우리가 입력한 웹사이트 이름을 컴퓨터가 이해할 수 있는 주소로 바꿔준다. 마치 도서관 사서가 책의 위치를 알려주는 것처럼, DNS가 우리에게 정확한 주소를 찾아준다.

 

4. HAProxy란?

HAProxy는 웹사이트나 서비스를 운영할 때 여러 서버가 있는 경우, 사용자들이 보내는 요청을 각각의 서버에 나눠 보내주는 역할을 한다.

예를 들어, 많은 사람들이 동시에 웹사이트에 접속하면, 특정 서버가 과부하가 걸릴 수 있는데, HAProxy가 이를 적절하게 분배해줘서 서버들이 균형 있게 일을 하도록 도와준다. 이렇게 하면 서버가 과부하로 인해 다운되지 않고, 더 안정적이고 빠르게 웹사이트를 운영할 수 있게 된다. 마치 바쁜 식당에서 직원이 손님들을 빈 테이블로 안내하는 것과 같은 역할을 한다고 생각하면 된다.

 

정리

이렇게 IP는 길 안내를, TCP와 UDP는 메시지를 전달하는 방식을, DNS는 주소를 알려주는 역할을 한다. 그리고 HAProxy는 서버로 가는 길을 효율적으로 나눠주는 역할을 한다. 여러 사람이 한꺼번에 웹사이트에 접속할 때, HAProxy가 요청을 적절한 서버로 분배해 줘서 서버들이 과부하되지 않고 안정적으로 작동할 수 있도록 돕는다. 이 모든 것들이 함께 작동해, 우리는 인터넷을 통해 더 빠르고 안전하게 소통할 수 있다.

'개발 이야기' 카테고리의 다른 글

웹 브라우저에 접속했을 때 요청 흐름  (0) 2024.10.23