[Do it! Node.js 입문] 06. IP 주소와 포트

2024. 3. 25. 18:12·백엔드/Node.js

클라이언트와 서버 사이에 데이터를 주고받으려면 중간에 통로가 필요하다.

이 통로를 흔히 socket(소켓) 이라고 한다. 소켓은 IP주소와 포트를 통해 서로 식별한다.

 

더보기

예를 들어,

 

택배 차량 = 소켓

물건을 받는 사람의 주소 = IP주소

최종 도착점인 집 호수 = 포트

 

차마 밖에다 적을 수는 없었다..

IP 주소

인터넷에는 수많은 클라이언트 컴퓨터와 서버 컴퓨터가 연결되어 있어서 이 컴퓨터들을 서로 구별하기 위한 주소가 할당되어 있다. 이것을 Internet Protocol, 줄여서 IP주소라 부른다. 

 

하지만 모든 사이트의 IP주소 자체를 기억하는 것은 불가능하다. 따라서 숫자 대신 영문으로 된 주소를 도메인이름이라 하고, 도메인 이름은 IP주소로 변환해 주는 서버를 DNS서버(Domain Name System Serve)라고 한다.

도메인 이름을 IP주소로 변환해 주는 DNS 서버

 

 

 

 

IP주소가 할당되는 것은 하드웨어? 소프트웨어?

 

문득 내용을 정리하다가 의문이 들었다.

 

일반적으로 인터넷에 연결된 모든 디바이스에는 ip주소가 할당된다. IP주소는 네트워크 상에서 각 디바이스를 식별하는 데 사용된다.

그런데, DNS서버는 웹 사이트의 ip주소를 기억하기 힘들어 만들어진 것이다.

 

그렇다면 ip주소는 하드웨어에 할당되는 것일까, 소프트웨어에 할당되는 것일까 ?

 

정답은 둘 다 이다.

  1. 디바이스의 ip주소
    인터넷에 연결된 각 디바이스(컴퓨터, 스마트폰, 태블릿 등)는 네트워크 상에서 고유한 ip주소를 갖는다. 이 ip주소를 통해 다른 디바이스나 서버와 통신을 수행할 수 있다. 디바이스의 ip주소는 해당 디바이스가 인터넷에 연결되어 있는 네트워크 상의 위치를 식별한다.

  2. 웹 사이트의 ip주소
    마찬가지로 웹 사이트도 고유한 ip주소를 갖는다. 이 ip주소는 해당 웹 사이트가 호스팅되어 있는 서버의 위치를 식별한다. 사용자가 웹 브라우저를 통해 웹 사이트에 접속하면, 사용자의 디바이스는 해당 웹 사이트의 도메인 이름을 해당 웹 사이트의 ip주소로 변환하여 서버에 요청을 보낸다. 

 

 

포트

ip주소를 사용해서 우리가 필요한 서버까지 접근할 수는 있다. 하지만 서버는 프로그램을 1가지만 실행하는 것이 아니므로, 어떤 프로그램을 실행할 것인지 알려줄 때 포트(port)를 사용한다. 

port는 말 그대로 '항구'를 뜻한다.

 

ip주소와 포트로 구성된 요청 URL

 

80은 HTTP 프로토콜에서 기본으로 사용하는 포트 번호이다.

따라서 80번 포트는 생략해도 해당 포트로 접속하게 된다.

 

여러가지 포트 번호

 

 

'백엔드 > Node.js' 카테고리의 다른 글

[Do it! Node.js 입문] 08. express 설정  (0) 2024.03.30
[Do it! Node.js 입문] 07. 비동기 작업 처리 방법  (0) 2024.03.28
[Do it! Node.js 입문] 05. HTTP 이해하기  (0) 2024.03.25
[Do it! Node.js 입문] 04. 버퍼와 스트림  (0) 2024.03.25
[Do it! Node.js 입문] 03. 파일 관리하기  (0) 2024.03.25
'백엔드/Node.js' 카테고리의 다른 글
  • [Do it! Node.js 입문] 08. express 설정
  • [Do it! Node.js 입문] 07. 비동기 작업 처리 방법
  • [Do it! Node.js 입문] 05. HTTP 이해하기
  • [Do it! Node.js 입문] 04. 버퍼와 스트림
JYUN_
JYUN_
예비 개발자 성장기록
  • JYUN_
    데브 스토리
    JYUN_
  • 전체
    오늘
    어제
    • 분류 전체보기 (89)
      • AWS & 클라우드 컴퓨팅 (1)
        • AWS (2)
      • AI & ML (17)
        • 딥러닝 (3)
        • 인공지능 기초 (2)
        • 자연어 처리 (3)
        • 컴퓨터 비전 (8)
      • CS 지식 (9)
        • 알고리즘 (1)
        • 자료구조 (4)
        • 지식확장 (1)
        • 컴퓨터 네트워크 (3)
      • 백엔드 (22)
        • Node.js (12)
        • Spring (9)
      • 웹 프론트엔드 (21)
        • HTML (3)
        • React (7)
        • 바닐라 JavaSctipt (11)
      • 코딩 테스트 & 문제 해결 (11)
        • 코딩 테스트 연습 (10)
        • 실전 문제 풀이 (1)
      • 트러블 슈팅 (1)
      • 기타 (4)
        • 개인 지식 관리 (1)
        • 외부 활동 (0)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.4
JYUN_
[Do it! Node.js 입문] 06. IP 주소와 포트
상단으로

티스토리툴바