백엔드 로드맵 따라가기 - How does the Internet work?

김석재·2024년 4월 28일
0

Backend-Roadmap

목록 보기
1/3
  1. 인터넷 소개
    인터넷은 네트워크의 네트워크
    네트워크는 뭐지? 서로 연결된 컴퓨터 또는 기타 장치의 그룹
    ex) 집에 나의 컴퓨터와 장치의 네트워크가 있고, 옆집에도 비슷한 장치 네트워크가 있다면 이러한 모든 네트워크는 함께 연결되면 인터넷을 형성한다.

  2. 인터넷 작동 방식 : 개요
    인터넷의 핵심은 서로 다른 장치와 시스템 간의 트래픽 전달을 담당하는 상호 연결된 라우터의 글로벌 네트워크이다.
    인터넷을 통해 데이터를 보내면 데이터는 작은 패킷으로 나뉘어 장치에서 라우터로 전송된다.
    라우터는 패킷을 검사하여 목적지를 향한 경로의 다음 라우터로 전달하고, 이 프로세스는 패킷이 최종 목적지에 도달할 때까지 계속된다.

  • 패킷은 뭐지?
    • 네트워크를 통해 전송되는 형식화된 데이터 덩어리. 네트워크 패킷의 주요 컴포넌트는 사용자 데이터와 제어 정보이다. 사용자 데이터는 payload 로 알려져 있고, 제어정보는 payload를 전달하기 위한 정보이다.

패킷이 올바르게 전송되고 수신되도록 하기 위해 인터넷은 IP(인터넷 프로토콜) 및 TCP(전송 제어 프로토콜)를 포함한 다양한 프로토콜을 사용한다. IP는 패킷을 올바른 대상으로 라우팅하는 역할을 담당하고, TCP는 패킷이 올바른 순서로 안정적으로 전송되도록 보장한다.

  • 프로토콜은 뭐지?
    * 컴퓨터나 원거리 통신 장비 사이에서 메시지를 주고 받는 양식과 규칙의 체계. 즉 통신 규약 및 약속이다.
    기본 요소 3가지
    구문(Syntax) : 전송하고자 하는 데이터의 형식(Format), 부호화(Coding), 신호레벨(Signal Level) 등을 규정
    의미(Semantics) : 두 기기 간의 효율적이고 정확한 정보 전송을 위한 협조 사항과 오류 관리를 위한 제어 정보를 규정
    시간(Timing) : 두 기기 간의 통신 속도, 메시지의 순서 제어 등을 규정
    프로토콜의 종류
  • IP와 TCP에 대한 정확한 개념은 뭐지?
    • IP : 인터넷에 연결되어 있는 모든 장치들(컴퓨터, 서버 장비, 휴대폰 등)을 식별할 수 있도록 각가의 장비에 부여되는 고유 주소
      IP 주소는 IPv4, IPv6 두 가지 종류가 있으며, 일반적으로 IP주소라 하면 IPv4를 말한다.
      IPv4는 IP version 4의 약자로 전 세계적으로 사용된 첫 번째 인터넷 프로토콜로서, 주소는 32비트 방식으로, 8비트씩 4자리로 되어 있으며 각 자리는 온점으로 구분한다.
      ex) 111.11.11.11
      IPv4는 0~2^32(약 42억 9천)개의 주소를 가질 수 있는데, 세계적으로 사용중인 IP 갯수가 급증하면서 주소가 고갈될 위기에 처해있다. 이를 해결하기 위해 나온 것이 IPv6
      IPv6는 IPv4의 주소체계를 128비트 크기로 확장한 차세대 인터넷 프로토콜 주소이다. 16비트씩 8자리로 각 자리는 콜론으로 구분한다.
      ex) 2001:0DB8:1000:0000:0000:0000:1111:2222
      네트워크 속도, 보안적인 부분 뿐만 아니라 여러 면에서 뛰어나지만 기존의 주소체계를 변경하는데 비용이 많이 든다.

이러한 핵심 프로토콜 외에도 DNS(Domain Name System), HTTP(HyperText Transfer Protocol) 및 보안 프로토콜을 포함하여 인터넷을 통한 통신 및 데이터 교환을 가능하게 하는 데 사용되는 다양한 기술 및 프로토콜이 있다.

  1. 기본 개념 및 용어
    인터넷을 이해하기 위해 알아야 할 몇 가지 기본 개념과 용어
  • 패킷(Packet) : 인터넷을 통해 전송되는 작은 데이터 단위
  • 라우터 : 서로 다른 네트워크 간에 데이터 패킷을 전달하는 장치
  • IP 주소 : 네트워크의 각 장치에 할당된 고유 식별자로, 데이터를 올바른 대상으로 라우팅하는 데 사용됨
  • 도메인 이름 : google.com 과 같이 웹사이트를 식별하는 데 사용되는 사람이 읽을 수 있는 이름
  • DNS : 도메인 이름 시스템은 도메인 이름을 IP 주소로 변환하는 역할을 담당
  • HTTP : 하이퍼텍스트 전송 프로토콜은 클라이언트와 서버간에 데이터를 전송하는 데 사용됨
  • HTTPS : 클라이언트와 서버 간의 보안 통신을 제공하는 데 사용되는 암호화된 HTTP 버전
  • SSL/TSL : SSL(Secure Sockets Layer) 및 전송 계층 보안(Transport Layer Security) 프로토콜은 인터넷을 통한 보안 통신을 제공하는 데 사용
  1. 인터넷에서 프로토콜의 역할
    프로토콜은 인터넷을 통한 통신 및 데이터 교환을 가능하게 하는 데 중요한 역할을 한다. 프로토콜은 장치와 시스템 간에 정보가 교환되는 방식을 정의하는 일련의 규칙 및 표준이다.
    인터넷 프로토콜(IP), 전송 제어 프로토콜(TCP), 사용자 데이터그램 프로토콜(UDP), 도메인 이름 시스템(DNS) 등을 포함하여 인터넷 통신에 사용되는 다양한 프로토콜이 있다.
    IP는 데이터 패킷을 올바른 대상으로 라우팅하는 역할을 하며, TCP와 UDP는 패킷이 안정적이고 효율적으로 전송되도록 보장한다. DNS는 도메인 이름을 IP 주소로 변환하는 데 사용되고, HTTP는 클라이언트와 서버 간에 데이터를 전송하는 데 사용된다.
    표준화된 프로토콜을 사용하는 주요 이점 중 하나는 다양한 제조업체 및 공급업체으이 장치와 시스템이 서로 원활하게 통신할 수 있다는 것이다.

  2. IP 주소 및 도메인 이름 이해
    IP 주소와 도메인 이름은 모두 인터넷 작업 시 이해해야 할 중요한 개념이다.
    IP 주소는 네트워크의 각 장치에 할당된 고유 식별자이다. 이는 데이터를 올바를 대상으로 라우팅하여 정보가 의도한 수신자에게 전송되도록 하는 데 사용된다. IP 주소는 일반적으로 1111.111.1.1과 같이 마침표로 구분된 일련의 4개 숫자료 표시된다.
    반면, 도메인 이름은 웹사이트와 기타 인터넷 리소스를 식별하는 데 사용되는 사람이 읽을 수 있는 이름이다. 일반적으로 두 개 이상의 부분으로 구성되며 마침표로 구분된다.
    ex) google.com은 도메인 이름이며, 도메인 이름은 DNS(Damain Name System)를 사용하여 IP 주소로 변환된다.
    DNS는 도메인 이름을 IP 주소로 변환하는 역할을 하는 인터넷 인프라의 중요한 부분으로 웹 브라우저에 도메인 이름을 입력하면 컴퓨터는 DNS 서버에 DNS 쿼리를 보내고, DNS 서버는 해당 IP 주소를 반환한다. 그러면 컴퓨터는 해당 IP 주소를 사용하여 요청한 웹 사이트나 기타 리소스에 연결한다.

  3. HTTP 및 HTTPS 소개
    HTTP와 HTTPS 는 인터넷 기반 애플리케이션 및 서비스에서 가장 일반적으로 사용되는 두 가지 프로토콜이다.
    HTTP 는 클라이언트와 서버간에 데이터를 전송하는 데 사용되는 프로토콜이다. 웹사이트를 방문하면 웹 브라우저는 서버에 HTTP 요청을 보내 요청한 웹페이지나 기타 리소스를 요청한다. 그런 다음 서버는 요청된 데이터가 포함된 HTTP 응답을 클라이언트에 다시 보낸다.
    HTTPS 는 SSL/TLS 암호화를 사용하여 클라이언트와 서버 간에 전송되는 데이터를 암호화하는 보다 안전한 HTTP 버전이다. 이는 추가 보안 계층을 제공하여 로그인 자격 증명, 결제 정보 및 기타 데이터와 같은 민감한 정보를 보호하는 데 도움이 된다.

  4. TCP/IP를 사용하여 애플리케이션 구축
    TCP/IP(전송 제어 프로토콜/인터넷 프로토콜)는 대부분의 인터넷 기반 응용 프로그램 및 서비스에서 사용되는 기본 통신 프로토콜이다. 이는 서로 다른 장치에서 실행되는 애플리케이션 간에 안정적이고 순서적이며 오류가 확인된 데이터 전달을 제공한다.
    TCP/IP 로 애플리케이션을 구축할 때 이해해야 할 몇 가지 주요 개념이 있다.

  • 포트 : 포트는 장치에서 실행 중인 애플리케이션이나 서비스를 식별하는데 사용된다. 각 애플리케이션이나 서비스에는 고유한 포트 번호가 할당되어 데이터가 올바른 대상으로 전송될 수 있다.
  • 소켓 : 소켓은 IP 주소와 포트 번호의 조합으로, 통신을 위한 특정 끝점을 나타낸다. 소켓은 장치 간 연결을 설정하고 애플리케이션 간에 데이터를 전송하는 데 사용된다.
  • 연결 : 두 장치가 서로 통신하려고 할 때 두 소켓 사이에 연결이 설정된다. 연결 설정 프로세스 중에 장치는 최대 세그먼트 크기 및 창 크기와 같은 다양한 매개변수를 협상하여 연결을 통해 데이터가 전송되는 방식을 결정한다.
  • 데이터 전송 : 연결이 설정되면 각 장치에서 실행되는 애플리케이션 간에 데이터를 전송할 수 있다. 데이터는 일반적으로 세그먼트로 전송되며, 각 세그먼트에는 안정적인 전달을 보장하기 위해 시퀀스 번호와 이타 메타데이터가 포함된다.
    TCP/IP 를 사용하여 애플리케이션을 구축할 때 애플리케이션이 적절한 포트, 소켓 및 연결과 함께 작동하도록 설계되었는지 확인해야 한다. 또한 HTTP, FTP, SMTP등 TCP/IP에 일반적으로 사용되는 다양한 프로토콜과 표준에 대해 잘 알고 있어야한다, 효과적이고 확장 가능하며 안전한 인터넷 기반 애플리케이션과 서비스를 구축하려면 이러한 개념과 프로토콜을 이해하는 것이 필수적이다.
  • FTP에 대한 정확한 개념은 뭐지?
    • File Transfer Protocol의 약자로 TCP/IP 네트워크상에서 컴퓨터들이 파일을 교환하기위한 통신 규약.
      하나의 호스트에서 다른 호스트로 파일을 복사하기 위해 사용한다.
  • SMPT에 대한 정확한 개념은 뭐지?
    • Simple Mail Transfer Protocol의 약자로 인터넷을 통해 이메일 메시지를 보내고 받는 데 사용되는 통신 프로토콜.
  1. SSL/TLS 로 인터넷 통신 보안
    SSL/TSL는 인터넷을 통해 전송되는 데이터를 암호화하는데 사용되는 프로토콜이다. 일반적으로 웹 브라우저, 이메일 클라이언트, 파일 전송 프로그램과 같은 애플리케이션에 보안 연결을 제공하는 데 사용된다.
    SSL/TLS를 사용하여 인터넷 통신을 보호할 때 이해해야 할 몇 가지 주요개념
    인증서 : SSL/TLS 인증서는 클라이언트와 서버 간의 신뢰를 구축하는 데 사용된다. 여기에는 서버의 신원에 대한 정보가 포함되어 있으며 신뢰성을 확인하게 위해 신뢰할 수 있는 제 3자(인증기관)의 서명을 받는다.
    핸드셰이크 : SSL/TLS 핸드셰이크 프로세스 중에 클라이언트와 서버는 보안 연결을 위한 암호화 알고리즘 및 기타 매개변수를 협상하기 위해 정보를 교환한다.
    암호화 : 보안 연결이 설정되면 합의된 알고리즘을 사용하여 데이터가 암호화되며 클라이언트와 서버 간에 안전하게 전송될 수 있다.
    인터넷 기반 애플리케이션 및 서비스를 구축할 때 SSL/TLS 의 작동 방식을 이해하고 로그인 자격 증명, 결제 정보, 기타 개인 데이터와 같은 민감한 데이터를 전송할 때 애플리케이션이 SSL/TLS를 사용하도록 설계되었는지 확인하는 것이 중요하다. 또한 서버에 대해 유효한 SSL/TLS 인증서를 획득 및 유지하고 SSL/TLS 연결 구성 및 보안을 위한 모범 사례를 따르고 있는지 확인해야 한다. 이렇게 하면 사용자 데이터를 보호하고 인터넷을 통한 애플리케이션 통신의 무결성과 기밀성을 보장할 수 있다.

  2. 결론

  • 인터넷은 데이터를 교환하기 위해 표준 통신 프로토콜 세트를 사용하는 상호 연결된 컴퓨터의 글로벌 네트워크이다.
  • 인터넷은 IP 및 TCP와 같은 표준화된 프로토콜을 사용하여 장치와 컴퓨터 시스템을 함께 연결함으로써 작동한다.
  • 인터넷을 핵심은 서로 다른 장치와 시스템 간에 트래픽을 전달하는 상호 연결된 라우터의 글로벌 네트워크이다.
  • 숙지해야 할 기본 개념과 용어에는 패킷. 라우터, IP, 도메인, DNS, HTTP, HTTPS 및 SSL/TLS 등이 있다.
  • 프로토콜은 인터넷을 통한 통신 및 데이터 교환을 가능하게 하는 데 중요한 역할을 하며, 다양한 제조업체 및 공급업체의 장치와 시스템이 원활하게 통신할 수 있도록 해준다.

0개의 댓글