Full Stack 개발

네트워크 용어정리

데이터_박과장 2023. 10. 8. 22:17

인터넷

기본적으로 표준화된 프로토콜 집합을 사용하여 장치와 컴퓨터 시스템을 연결하여 작동합니다. 이러한 프로토콜은 정보가 어떻게 장치 간에 교환되며 데이터가 신뢰성 있고 안전하게 전송되는지 정의합니다.

인터넷의 핵심은 서로 연결된 전 세계의 라우터 네트워크입니다. 이 라우터는 다른 장치와 시스템 간의 트래픽을 안내하는 역할을 합니다. 인터넷을 통해 데이터를 전송할 때, 데이터는 작은 패킷으로 분할되어 당신의 장치에서 라우터로 전송됩니다. 라우터는 패킷을 검토하고 그 다음 목적지로 향하는 경로 상의 다음 라우터로 전달합니다. 이 과정은 패킷이 최종 목적지에 도달할 때까지 계속됩니다.

패킷이 올바르게 송수신되도록 하기 위해 인터넷은 여러 프로토콜을 사용합니다. 이에는 인터넷 프로토콜 (IP)과 전송 제어 프로토콜 (TCP)이 포함됩니다. IP는 패킷을 올바른 목적지로 라우팅하고, TCP는 패킷이 올바른 순서로 신뢰성 있게 전송되도록 보장합니다.

이러한 핵심 프로토콜 외에도, 인터넷에서 통신과 데이터 교환을 가능하게 하는 다양한 기술과 프로토콜이 있습니다. 이에는 도메인 이름 시스템 (DNS), 하이퍼텍스트 전송 프로토콜 (HTTP), 그리고 SSL/TLS (보안 소켓 레이어/전송 계층 보안) 프로토콜 등이 포함됩니다. 개발자로서, 이러한 다른 기술과 프로토콜이 어떻게 함께 작동하여 인터넷을 통한 통신과 데이터 교환을 가능하게 하는지에 대한 견고한 이해가 중요합니다.

 

 

기본 개념과 용어설명

인터넷을 이해하기 위해서는 몇 가지 기본 개념과 용어에 익숙해지는 것이 중요합니다. 다음은 알아두어야 할 주요 용어와 개념입니다:

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

이러한 기본 개념과 용어를 이해하는 것은 인터넷과 인터넷 기반 애플리케이션 및 서비스를 개발하는 데 필수적입니다

 

 

 

프로토콜

 

인터넷을 통한 통신과 데이터 교환을 가능하게 하는 데 핵심적인 역할을 합니다. 프로토콜은 정보가 장치와 시스템 간에 어떻게 교환되는지를 정의하는 규칙과 표준의 집합입니다.


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

  • **IP (Internet Protocol)**은 데이터 패킷을 올바른 목적지로 라우팅하는 역할을 합니다.
  • **TCP (Transmission Control Protocol)**와 **UDP (User Datagram Protocol)**는 패킷이 신뢰성 있게 전송되고 효율적으로 처리되도록 보장합니다.
  • **DNS (Domain Name System)**는 도메인 이름을 IP 주소로 변환합니다.
  • **HTTP (Hypertext Transfer Protocol)**는 클라이언트와 서버 간 데이터 전송에 사용됩니다.

 

표준화 된 프로토콜 사용의 주요 이점 중 하나는 다른 제조업체와 공급업체의 장치 및 시스템이 서로 매끄럽게 통신할 수 있게 한다는 것입니다. 예를 들어, 한 회사에서 개발한 웹 브라우저가 다른 회사에서 개발한 웹 서버와 통신할 수 있습니다.

이는 HTTP 프로토콜을 준수하는 것이 가능합니다.

 

인터넷 통신에 사용되는 다양한 프로토콜을 이해하고 이러한 프로토콜이 어떻게 함께 작동하여 데이터와 정보를 인터넷을 통해 전송하는 데 기여하는지를 이해하는 것이 중요합니다.

 


IP 주소와 도메인 이름 이해

IP 주소와 도메인 이름은 인터넷 작업 시 이해해야 할 중요한 개념입니다.

 

IP 주소는 네트워크의 각 장치에 할당된 고유한 식별자로, 정보가 올바른 목적지로 전송되도록 보장합니다. IP 주소는 주로 "192.168.1.1"과 같이 점으로 구분된 네 개의 숫자로 표시됩니다.

 

반면 도메인 이름은 웹 사이트 및 다른 인터넷 리소스를 식별하는 데 사용되는 사람이 읽고 이해할 수 있는 이름입니다. 도메인 이름은 일반적으로 점으로 구분된 두 개 이상의 부분으로 구성됩니다. "google.com"과 같은 것이 도메인 이름입니다. 도메인 이름은 도메인 이름 시스템 (DNS)을 사용하여 IP 주소로 변환됩니다.

 

DNS는 인터넷 인프라의 중요한 부분으로, 도메인 이름을 IP 주소로 변환하는 역할을 담당합니다. 웹 브라우저에 도메인 이름을 입력하면 컴퓨터는 DNS 서버에 DNS 쿼리를 보내고 해당하는 IP 주소를 반환합니다. 그런 다음 컴퓨터는 해당 IP 주소를 사용하여 요청한 웹 사이트 또는 리소스에 연결합니다.

 

 

HTTP (Hypertext Transfer Protocol)와 HTTPS (HTTP Secure)

인터넷 기반 애플리케이션과 서비스에서 가장 일반적으로 사용되는 두 가지 프로토콜입니다.


HTTP는 클라이언트(예: 웹 브라우저)와 서버(예: 웹 사이트) 간 데이터를 전송하는 데 사용되는 프로토콜입니다. 웹 사이트를 방문할 때, 웹 브라우저는 서버에 HTTP 요청을 보내 해당 웹페이지 또는 요청한 데이터를 요청합니다. 그런 다음 서버는 요청된 데이터를 포함하는 HTTP 응답을 클라이언트에게 보냅니다.


HTTPS는 HTTP의 보안 버전으로, SSL/TLS (Secure Sockets Layer/Transport Layer Security) 암호화를 사용하여 클라이언트와 서버 간에 전송되는 데이터를 암호화합니다. 이는 로그인 자격 증명, 결제 정보 및 다른 개인 데이터와 같은 민감한 정보를 보호하는 추가적인 보안 계층을 제공합니다.


HTTPS를 사용하는 웹 사이트를 방문할 때, 웹 브라우저는 주소 표시줄에 자물쇠 아이콘을 표시하여 연결이 안전하다는 것을 나타냅니다. 또한 웹사이트 주소의 시작 부분에 "https" 대신 "http" 대신 "https"라는 글자를 볼 수 있습니다.

 


TCP/IP를 사용하여 애플리케이션 구축하기

TCP/IP (Transmission Control Protocol/Internet Protocol)은 대부분의 인터넷 기반 애플리케이션과 서비스에서 사용되는 기본 통신 프로토콜입니다. 이는 서로 다른 장치에서 실행되는 애플리케이션 간에 신뢰성 있고 순서대로 오류를 확인하며 데이터를 전달합니다.


TCP/IP로 애플리케이션을 구축할 때 알아야 할 몇 가지 중요한 개념이 있습니다:

 

  • 포트(Ports): 포트는 장치에서 실행 중인 애플리케이션 또는 서비스를 식별하는 데 사용됩니다. 각 애플리케이션 또는 서비스는 고유한 포트 번호가 할당되어 있어 데이터를 올바른 대상으로 보낼 수 있습니다.
  • 소켓(Sockets): 소켓은 IP 주소와 포트 번호의 조합으로, 특정 통신의 끝점을 나타냅니다. 소켓은 장치 간 연결을 설정하고 애플리케이션 간 데이터를 전송하는 데 사용됩니다.
  • 연결(Connections): 두 소켓 간에 연결이 설정될 때 두 장치가 서로 통신하려고 할 때 발생합니다. 연결 설정 과정에서 장치는 최대 세그먼트 크기 및 윈도우 크기와 같은 다양한 매개변수를 협상하며 데이터를 어떻게 전송할 것인지 결정합니다.
  • 데이터 전송(Data transfer): 한 번 연결이 설정되면 데이터를 장치에서 실행되는 각 애플리케이션 간에 전송할 수 있습니다. 데이터는 일반적으로 세그먼트로 전송되며, 각 세그먼트에는 신뢰성 있는 전송을 보장하기 위한 일련번호 및 기타 메타데이터가 포함됩니다.
  • TCP/IP로 애플리케이션을 구축할 때 애플리케이션이 적절한 포트, 소켓 및 연결과 함께 작동하도록 보장해야 합니다. 또한 TCP/IP와 함께 일반적으로 사용되는 HTTP, FTP (파일 전송 프로토콜), SMTP (간단한 메일 전송 프로토콜) 등과 같은 다양한 프로토콜 및 표준을 이해하는 것이 효과적이고 확장 가능하며 안전한 인터넷 기반 애플리케이션과 서비스를 구축하는 데 중요합니다.

 

SSL/TLS

인터넷 통신에서 데이터를 암호화하는 데 사용되는 프로토콜입니다. 주로 웹 브라우저, 이메일 클라이언트, 파일 전송 프로그램과 같은 응용 프로그램에 안전한 연결을 제공하는 데 사용됩니다.

 

SSL/TLS를 사용하여 인터넷 통신을 보안하는 경우 이해해야 할 몇 가지 핵심 개념이 있습니다:

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

 

인터넷 기반 애플리케이션 및 서비스를 개발할 때 SSL/TLS가 어떻게 작동하는지 이해하고, 로그인 자격 증명, 결제 정보 및 기타 개인 데이터와 같은 민감한 데이터를 전송할 때 애플리케이션이 SSL/TLS를 사용하도록 설계해야 합니다. 또한 서버에 유효한 SSL/TLS 인증서를 획득하고 유지하며 SSL/TLS 연결을 구성하고 보안하는 데 최선의 방법을 따르는 것이 중요합니다. 이를 통해 사용자 데이터를 보호하고 애플리케이션의 인터넷 통신의 무결성과 기밀성을 보장할 수 있습니다.

'Full Stack 개발' 카테고리의 다른 글

웹서비스의 이해  (0) 2023.10.08
네트워크의 이해-2  (0) 2023.10.08
네트워크의 이해-1  (0) 2023.10.08
개발관련 기본 지식 정리  (0) 2023.10.08
개발관련 진로탐색  (0) 2023.10.08