인터넷은 어떻게 동작하는가?

Nochi·2023년 3월 22일
1

Front-End

목록 보기
1/3

프론트엔드 개발자 로드맵을 통해 공부해보고자 만들었다.

: 개발자로써 인터넷은 무엇이며 어떻게 동작하는지 확실히 이해하는 것이 중요하다.

인터넷 소개

인터넷을 배우기 전에 네트워크가 무엇인지 이해가 필요하다.

네트워크: 서로 연결된 컴퓨터 또는 기타 장치 그룹

예를 들면, 나의 집에 네트워크가 있고 있을 수 있고, 옆집에도 비슷한 네트워크를 가지고 있을 수 있다. 모든 네트워크가 함께 연결되면서 인터넷을 형성한다.

인터넷: 네트워크의 네트워크

인터넷은 1960년대 후반 미국 국방부에서 핵 공격을 견딜 수 있는 분산형 통신 네트워크를 만드는 수단으로 개발되었다. 수년에 걸쳐 전 세계를 아우르는 복잡하고 정교한 네트워크로 발전했다.

인터넷 작동 방식: 개요

높은 수준의 인터넷은 일련의 표준화된 프로토콜을 사용하여 장치와 컴퓨터 시스템을 함께 연결하여 작동한다.

프로토콜: 컴퓨터나 다른 디지털 장치 간에 통신할 때 사용되는 규칙의 집합

프로토콜은 장치 간에 정교를 교환하는 방법을 정의하고 데이터가 안정적이고 안전하게 전송되도록 한다.

인터넷의 핵심은 상호 연결된 라우터의 글로벌 네트워크로 서로 다른 장치와 시스템 간의 트래픽 전달을 담당한다.

트래픽: 네트워크를 통해 전송되는 데이터 양

인터넷을 통해 데이터를 보낼 때,

  • 데이터를 라우터로 전송되는 작은 패킷으로 나눈다.
  • 라우터는 패킷을 검사하고 목적지 향하는 다음 라우터로 전달한다.

이 프로세스는 최종 목적지에 도달할 때까지 계속된다.

패킷이 올바르게 송수신되기 위해 인터넷은 인터넷 프로토콜(IP) 및 전송 제어 프로토콜(TCP)을 비롯한 다양한 프로토콜을 사용한다.

  • IP의 역할: 패킷을 올바른 대상으로 라우팅하는 역할
  • TCP의 역할: 패킷이 안정적이고 올바른 순서로 전송되도록 하는 역할

이외에도 DNS(Domain Name System), HTTP(Hypertext Transfer Protocol) 및 Secure SSL/TLS(Sockets Layer/Transport Layer Security) 프로토콜 등 개발자로서 다양한 기술과 프로토콜이 어떻게 함께 동작하여 인터넷을 통해 데이터 교환을 가능하게 하는지 확실히 이해하는 것이 중요하다.

기본 개념 및 용어

  • 패킷: 인터넷을 통해 전송되는 작은 데이터 단위
  • 라우터: 서로 다른 네트워크 간에 데이터 패킷을 전달하는 장치.
  • IP 주소: 데이터를 올바른 대상으로 라우팅 하는데 사용되는 네트워크의 각 장치에 할당된 고유 식별자
  • 도메인 이름: google.com과 같이 웹 사이트를 식별하는데 사용되는 사람이 읽을 수 있는 이름.
  • DNS: 도메인 이름 시스템은 도메인 이름을 IP 주소로 변환하는 역할.
  • HTTP: Hypertext Transfer Protocol은 클라이언트(예: 웹 브라우저)와 서버(예: 웹 사이트) 간에 데이터를 전송하는 데 사용
  • HTTPS: 클라이언트와 서버 간의 보안 통신을 제공하는 데 사용되는 암호화된 버전의 HTTP
  • SSL/TLS: Secure Sockets Layer 및 Transport Layer Security 프로토콜은 인터넷을 통한 보안 통신을 제공하는 데 사용

인터넷에서 프로토콜의 역할

프로토콜은 인터넷 통신 및 데이터 교환을 가능하게 하는 중요한 역할이다.

프로토콜에는 인터넷 프로토콜(IP), 전송 제어 프로토콜(TCP), 사용자 데이터그램 프로토콜(UDP), 도메인 이름 시스템(DNS) 등 다양한 프로토콜이 있다.

표준화된 프로토콜을 사용하는 이유는 서로 다른 장치와 시스템이 원활하게 통신할 수 있게 한다는 것이다.

개발자로서 인터넷 통신에 사용되는 다양한 프로토콜과 인터넷을 통해 데이터와 정보를 전송할 수 있는 방법을 이해하는 것이 중요하다.

IP 주소 및 도메인 이름 이해

IP 주소는 네트워크의 각 장치에 할당된 고유 식별자이다. 데이터를 올바른 대상으로 라우팅하여 정보가 의도한 수신자에게 전송되도록 하는 데 사용된다. 마치 IP 주소는 네비게이션에서 목적지의 좌표 값과 비슷하다. IP주소는 일반적으로 "192.168.1.1"과 같이 표시한다.

도메인 이름은 웹 사이트 및 기타 인터넷 리소스를 식별하는데 사용되는 사람이 읽을 수 있는 이름이다. 일반적으로 마침표로 구분된 두 개 이상의 부분으로 구성된다. 도메인 이름은 DNS(도메인 이름 시스템)를 통해 IP 주소로 변환된다.

DNS는 도메인 이름을 IP 주소로 변환하는 역할을 한다.

  • 웹 브라우저에 도메인 이름을 입력한다.
  • 컴퓨터는 해당 IP 주소를 반환하는 DNS 서버에 DNS 쿼리 전송한다.
  • 컴퓨터는 반환된 IP 주소로 요청한 웹 사이트 또는 기타 리소스에 연결한다.

HTTP 및 HTTPS 소개

HTTP(Hypertext Transfer Protocol) 및 HTTPS(HTTP Secure)는 인터넷 기반 애플리케이션 및 서비스에서 가장 일반적으로 사용되는 두 가지 프로토콜이다.

HTTP: 클라이언트(예: 웹 브라우저)와 서버(예: 웹 사이트) 간에 데이터를 전송하는 데 사용되는 프로토콜이다.

  • 웹사이트를 방문하면 웹 브라우저가 서버에 HTTP 요청을 보내 요청한 웹 페이지나 기타 리소스를 요청한다.
  • 서버는 요청된 데이터를 포함하는 HTTP 응답을 클라이언트로 다시 보낸다.

HTTPS: SSL/TLS(Secure Sockets Layer/Transport Layer Security) 암호화를 사용하여 클라이언트와 서버 간에 전송되는 데이터를 암호화하는 HTTP이다. 이는 추가 보안 계층을 제공하여 로그인 자격 증명, 결제 정보 및 기타 개인 데이터와 같은 중요한 정보를 보호에 도움이 된다.

TCP/IP로 애플리케이션 구축

TCP/IP(전송 제어 프로토콜/인터넷 프로토콜)는 서로 다른 장치에서 실행되는 응용 프로그램 간에 안정적이고 순서가 있으며 오류가 확인된 데이터 전달을 제공한다.

TCP/IP로 애플리케이션을 구축할 때 이해해야 할 몇 가지 주요 개념

  • 포트: 장치에서 실행 중인 애플리케이션 또는 서비스를 식별하는 데 사용된다. 각 애플리케이션 또는 서비스에는 고유한 포트 번호가 할당되어 데이터를 올바른 대상으로 보낼 수 있습니다.
  • 소켓: 통신을 위한 특정 End-Point를 나타내는 IP 주소와 포트 번호의 조합이다. 소켓은 장치 간 연결을 설정하고 응용 프로그램 간에 데이터를 전송하는데 사용된다.
  • 연결: 두 장치가 서로 통신하려고 할 때 두 소켓 사이에 연결이 설정된다. 연결 설정 프로세스 중에 장치는 연결을 통해 데이터를 전송하는 방법을 결정하는 최대 세그먼트 크기 및 창 크기와 같은 다양한 매개 변수를 정한다.
  • 데이터 전송: 연결이 설정되면 각 장치에서 실행 중인 애플리케이션 간에 데이터를 전송할 수 있다. 데이터는 일반적으로 세그먼트로 전송되며 각 세그먼트에는 시퀀스 번호와 기타 메타데이터가 포함되어 안정적인 전달을 보장한다.

TCP/IP로 애플리케이션을 구축할 때 애플리케이션이 적절한 포트, 소켓 및 연결과 함께 작동하도록 설계되었는지 확인해야 한다.

SSL/TLS로 인터넷 통신 보안

SSL/TLS는 인터넷을 통해 전송되는 데이터를 암호화하는 데 사용되는 프로토콜이다. 일반적으로 웹 브라우저, 이메일 클라이언트 및 파일 전송 프로그램과 같은 응용 프로그램에 대한 보안 연결을 제공하는 데 사용된다.

SSL/TLS를 사용하여 인터넷 통신을 보호할 때 이해해야 할 몇 가지 주요 개념

  • 인증서: SSL/TLS 인증서는 클라이언트와 서버 간의 신뢰를 설정하는 데 사용된다. 여기에는 서버 ID에 대한 정보가 포함되어 있으며 신뢰성을 확인하기 위해 신뢰할 수 있는 제3자(인증 기관)가 서명한다.
  • 핸드셰이크: SSL/TLS 핸드셰이크 프로세스 중에 클라이언트와 서버는 보안 연결을 위한 암호화 알고리즘 및 기타 매개 변수를 협상하기 위해 정보를 교환한다.
  • 암호화: 보안 연결이 설정되면 합의된 알고리즘을 사용하여 데이터를 암호화하고 클라이언트와 서버 간에 안전하게 전송할 수 있다.

인터넷 기반 애플리케이션 및 서비스를 구축할 때 SSL/TLS 작동 방식을 이해하고 애플리케이션이 로그인 자격 증명, 결제 정보 및 기타 개인 데이터와 같은 민감한 데이터를 전송할 때 SSL/TLS를 사용하도록 설계되었는지 확인하는 것이 중요하다. 이렇게 하면 사용자 데이터를 보호하고 인터넷을 통한 애플리케이션 통신의 무결성과 기밀성을 보장할 수 있다.

결론

인터넷은 표준 통신 프로토콜 세트를 사용하여 데이터를 교환하는 상호 연결된 컴퓨터의 글로벌 네트워크이며, IP 및 TCP와 같은 표준화된 프로토콜을 사용하여 장치와 컴퓨터 시스템을 함께 연결하여 작동하며, 핵심은 서로 다른 장치와 시스템 간에 트래픽을 전달하는 상호 연결된 라우터의 글로벌 네트워크이다.

프로토콜은 인터넷을 통한 통신 및 데이터 교환을 가능하게 하는 데 중요한 역할을 하여 다양한 제조업체 및 공급업체의 장치와 시스템이 원활하게 통신할 수 있도록 한다.

[참고]

0개의 댓글