본문 바로가기

Backend study/Backend theory

네트워크

네트워크는 컴퓨터 간의 연결을 통해 데이터를 주고받는 시스템이다. 네트워크의 기본 개념을 이해하기 위해서는 IP 주소, 도메인 네임, DNS, 포트와 포트 번호, 프로토콜 등과 같은 중요한 개념들을 알아야 한다.

1. IP 주소 (IP Address)

IP 주소는 인터넷에 연결된 모든 기기에 부여되는 고유한 주소이다. IP 주소를 통해 컴퓨터는 인터넷 상에서 서로를 인식하고 데이터를 주고받을 수 있다.

  • IPv4: 가장 널리 사용되는 IP 주소 형식으로, 32비트로 구성되어 있으며 4개의 숫자로 표현된다. 예를 들어, 192.168.1.1과 같은 형식이다. 각 숫자는 0에서 255 사이의 값을 가질 수 있다.
  • IPv6: IP 주소의 부족 문제를 해결하기 위해 만들어진 128비트 주소 체계로, 더 많은 기기에 고유 주소를 제공할 수 있다. 예를 들어, 2001:0db8:85a3:0000:0000:8a2e:0370:7334 같은 형식이다.

2. 도메인 네임 (Domain Name)

도메인 네임은 IP 주소를 사람이 읽기 쉽도록 만들어진 이름이다. 예를 들어, www.google.com은 하나의 도메인 네임이다. 도메인 네임을 사용하면 사용자는 IP 주소를 기억할 필요 없이 쉽게 웹사이트에 접속할 수 있다.

  • 도메인 네임의 구조: 도메인 네임은 일반적으로 점(.)으로 구분된 여러 부분으로 구성된다. 예를 들어, www.google.com에서:
    • www는 서브도메인입니다.
    • google은 도메인의 이름입니다.
    • com은 최상위 도메인(TLD)으로, 도메인의 종류를 나타냅니다 (예: .com, .org, .net 등).

3. DNS (Domain Name System)

DNS는 도메인 네임을 IP 주소로 변환해 주는 시스템이다. 인터넷에서 컴퓨터들은 IP 주소를 통해 서로 통신하기 때문에, 사용자가 도메인 네임을 입력하면 DNS 서버가 이를 해당 IP 주소로 변환해준다.

  • 작동 방식: 사용자가 브라우저에 www.google.com을 입력하면, 브라우저는 DNS 서버에 도메인 네임을 질의하고, DNS 서버는 해당 도메인에 대한 IP 주소를 반환한다. 이후 브라우저는 반환된 IP 주소를 사용해 해당 웹사이트에 접속한다.
  • DNS 서버: DNS 서버는 이러한 질의를 처리하는 서버이다. 인터넷 서비스 제공업체(ISP)나 전 세계의 여러 DNS 서비스(예: Google DNS, Cloudflare DNS 등)가 이를 운영한다.

4. 포트와 포트 번호 (Port and Port Number)

포트는 네트워크 상에서 컴퓨터가 특정 서비스나 애플리케이션에 연결될 때 사용하는 논리적인 통로이다. 포트 번호는 이러한 포트를 식별하기 위해 사용된다.

  • 포트의 역할: 컴퓨터는 한 번에 여러 서비스(예: 웹 브라우징, 이메일, 파일 전송 등)를 동시에 처리할 수 있다. 각 서비스는 특정 포트를 사용하여 데이터를 주고받는다. 예를 들어, 웹 서버는 보통 80번 포트를 사용하며, 이메일 서버는 25번 포트를 사용한다.
  • 포트 번호의 범위: 포트 번호는 0에서 65535 사이의 숫자로, 크게 3가지로 구분된다:
    • 잘 알려진 포트(Well-known Ports): 0-1023, 예를 들어 HTTP는 80번, HTTPS는 443번 포트를 사용한다.
    • 등록된 포트(Registered Ports): 1024-49151, 특정 애플리케이션이나 프로토콜에서 사용된다.
    • 동적/사설 포트(Dynamic/Private Ports): 49152-65535, 임시로 사용되거나 개인적인 목적으로 사용된다.

5. 프로토콜 (Protocol)

프로토콜은 네트워크 상에서 데이터를 주고받는 규칙과 절차를 정의한 것이다. 서로 다른 기기가 동일한 프로토콜을 사용해야 원활하게 통신할 수 있다.

  • HTTP (Hypertext Transfer Protocol): 웹 페이지를 주고받기 위한 프로토콜이다. 클라이언트(브라우저)가 서버로 요청을 보내고, 서버는 그에 대한 응답을 반환하는 방식으로 동작한다.
  • HTTPS (HTTP Secure): HTTP에 보안 기능이 추가된 프로토콜로, 데이터가 암호화되어 전송된다. 온라인 쇼핑이나 은행 업무와 같이 보안이 중요한 상황에서 사용된다.
  • FTP (File Transfer Protocol): 파일을 주고받기 위한 프로토콜이다. 서버와 클라이언트 간의 파일 전송을 위해 사용된다.
  • TCP (Transmission Control Protocol): 데이터 전송의 신뢰성을 보장하는 프로토콜로, 데이터를 순차적으로 전송하며, 중간에 손실된 데이터는 다시 전송한다.
  • UDP (User Datagram Protocol): TCP와 달리 데이터 전송의 신뢰성을 보장하지 않지만, 빠른 전송이 필요한 경우 사용된다. 실시간 스트리밍이나 온라인 게임에 많이 사용된다.

 

  • IP 주소: 인터넷에 연결된 기기의 고유한 주소.
  • 도메인 네임: IP 주소의 사람이 읽기 쉬운 형태.
  • DNS: 도메인 네임을 IP 주소로 변환해주는 시스템.
  • 포트와 포트 번호: 네트워크 서비스 간 데이터를 주고받기 위한 통로와 그 식별 번호.
  • 프로토콜: 네트워크 통신을 위한 규칙과 절차.

이 개념들을 통해 인터넷과 네트워크가 어떻게 작동하는지 이해할 수 있다. 네트워크는 이러한 요소들이 조화롭게 동작함으로써 우리가 인터넷을 통해 데이터를 주고받을 수 있게 해준다

728x90

'Backend study > Backend theory' 카테고리의 다른 글

클라우드 컴퓨팅  (6) 2024.09.02
API (Application Programming Interface)  (1) 2024.09.02
데이터베이스  (1) 2024.09.01
운영체제  (0) 2024.09.01
웹 개발의 구조  (0) 2024.08.31