기본 개념, 용어, 개요 요약

EBAB!·2023년 7월 7일
0

Network

목록 보기
2/17

기본 개념과 용어

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

인터넷 프로토콜의 역할

인터넷을 통한 통신 및 데이터 교환을 가능하게 하는 데 중요한 역할을 담당. 프로토콜은 장치와 시스템 간에 정보를 교환하는 방법을 정의하는 규칙 및 표준 집합이다.

종류

  • 인터넷 프로토콜(IP : Internet Protocol)
    • 데이터의 패킷을 올바른 행선지에 라우팅 하는 것을 담당
  • 전송 제어 프로토콜(TCP : Transmission Control Protocol)
    • 패킷의 신뢰성과 효율이 높은 전송을 보증
  • 사용자 데이터그램 프로토콜(UDP : User Datagram Protocol)
    • 패킷의 신뢰성과 효율이 높은 전송을 보증
  • 도메인 네임 시스템(DNS : Domain Name System)
    • DNS 는 도메인명을 IP 주소로 변환하기 위해서 사용
  • 등등...

IP address와 Domain name 개요

IP address

  • 네트워크상의 각 디바이스에 할당되어 있는 일의 식별자.
  • 데이터를 올바른 수신처로 라우팅하는 데 사용되며, 정보가 의도된 수신자에게 전송되도록 보장한다.
  • 통상, 「192.168.1.1」과 같이, 마침표로 구분된 일련의 4 개의 숫자로 표시됩니다.

Domain name

  • 웹 사이트 및 기타 인터넷 리소스를 식별하는 데 사용되는 사람이 읽을 수 있는 이름.
  • 일반적으로 두 개 이상의 부분으로 구성되며 마침표로 구분됩니다. ex. "google.com".
  • 도메인 이름은 Domain Name System(DNS; 도메인네임 시스템)을 사용하여 IP 주소로 변환됩니다.
  • DNS는 인터넷 인프라 구조의 중요한 부분으로, 도메인 이름을 IP 주소로 변환하는 역할.
  • 웹 브라우저에 도메인 이름을 입력하면 컴퓨터는 DNS 쿼리를 DNS 서버로 전송하고 DNS 서버는 해당 IP 주소를 반환합니다.그러면 컴퓨터는 해당 IP 주소를 사용하여 사용자가 요청한 웹 사이트 또는 기타 리소스에 연결합니다.

HTTP 및 HTTPS의 개요

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

HTTP

  • 클라이언트(예: 웹 브라우저)와 서버(예: 웹 사이트) 간에 데이터를 전송하는 데 사용되는 프로토콜.
    1. 웹 사이트를 방문하면 웹 브라우저가 서버에 HTTP 요청을 보내 웹 페이지 또는 요청한 다른 리소스를 요청한다.
    2. 그런 다음 서버는 요청된 데이터를 포함하는 HTTP 응답을 클라이언트에 반환합니다.

HTTPS

  • 클라이언트와 서버 간에 전송되는 데이터를 SSL/TLS(Secure Sockets Layer/Transport Layer Security) 암호화를 사용하여 암호화하는 보다 안전한 버전의 HTTP.
  • 이를 통해 로그인 자격 증명, 결제 정보 및 기타 개인 데이터와 같은 중요한 정보를 보호할 수 있는 추가적인 보안 계층이 제공된다.
  • HTTPS를 사용하는 웹 사이트를 방문하면 웹 브라우저의 주소 표시줄에 연결이 안전함을 나타내는 자물쇠 아이콘이 표시된다.
  • Web 사이트 주소의 선두에 「http」가 아니고, 「https」라고 하는 문자가 표시된다.

TCP/IP를 사용한 응용 프로그램 구축

TCP/IP(Transmission Control Protocol/Internet Protocol)는 대부분의 인터넷 기반 응용 프로그램과 서비스에서 사용되는 기본 통신 프로토콜이다.다른 디바이스에서 실행되고 있는 애플리케이션 간에 신뢰할 수 있는 순서 및 오류 체크된 데이터 전달을 제공한다.

TCP/IP 를 사용해 애플리케이션을 빌드에 필요한 개념.

  • 포트(Ports) : 포트는 디바이스에서 실행 중인 응용 프로그램 또는 서비스를 식별하기 위해 사용된다. 각 애플리케이션 또는 서비스에는, 일의의 포토 번호가 할당되어 데이터를 올바른 수신처에 송신할 수 있다.
  • 소켓(Sockets) : 소켓은 IP 주소와 포트 번호의 조합으로 통신의 특정 엔드포인트를 나타낸다. 소켓은 장치 간의 연결을 확립하고 응용 프로그램 간에 데이터를 전송하는 데 사용된다.
    • Socket
      • OS 커널에 구현되어 있는 프로토콜 요소에 대한 추상화된 인터페이스
      • 장치 파일의 일종으로 이해할 수있음
      • 일반 파일에 대한 개념이 대부분 적용됨
  • 커넥션(Sockets) : 2개의 디바이스가 서로 통신하는 경우, 2개의 소켓간에 접속이 확립된다. 접속 확립 프로세스 중에 디바이스는 최대 segment size, window size 등 다양한 파라미터를 고려하여 접속을 통한 데이터 전송 방법을 결정한다.
  • Data transfer : 접속이 확립되면, 각 디바이스상에서 실행되고 있는 애플리케이션간에 데이터를 전송할 수 있다. 데이터는 일반적으로 세그먼트(segment)로 전송되며, 각 세그먼트(segment)에는 시퀀스 번호 및 기타 메타데이터가 포함되어 신뢰성 높은 전송을 보장한다.

TCP/IP 를 사용해 애플리케이션을 빌드 하는 경우

  1. 애플리케이션이 적절한 포토, 소켓, 및 접속으로 동작하도록 설계되어 있는 것을 확인한다.
  2. HTTP, FTP(File Transfer Protocol), SMTP(Simple Mail Transfer Protocol) 등 TCP/IP에서 일반적으로 사용되는 다양한 프로토콜과 표준을 숙지.

이러한 개념과 프로토콜을 이해하는 것은 효과적이고 확장 가능하며 안전한 인터넷 기반 애플리케이션 및 서비스를 구축하기 위해 필수적이다.

SSL/TLS에 의한 인터넷 통신 보호

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

SSL/TLS를 사용하여 인터넷 통신을 보호 시 주요 개념.

  • 증명서(Certificates ): SSL/TLS 증명서는 클라이언트와 서버 간의 신뢰를 확립하기 위해 사용된다.서버 ID에 대한 정보가 포함되어 있으며 신뢰할 수 있는 서드파티(인증국)에 의해 서명되어 신뢰성을 검증합니다.
  • Handshake : SSL/TLS 핸드쉐이크 프로세스 중에 클라이언트와 서버는 정보를 교환하여 암호화 알고리즘 및 보안 연결을 위한 기타 파라미터를 고려한다.
  • 암호화 (Encryption) : 안전한 접속이 확립되면 합의된 알고리즘을 사용하여 데이터가 암호화되어 클라이언트와 서버 간에 안전하게 전송할 수 있다.

인터넷 기반 애플리케이션 및 서비스를 구축할 때는 SSL/TLS의 구조를 이해하고 로그인 자격 증명, 결제 정보 및 기타 개인 데이터 등의 중요한 데이터를 전송할 때 SSL/TLS를 사용하도록 애플리케이션이 설계되어 있는지 확인하는 것이 중요.

서버의 유효한 SSL/TLS 증명서를 취득해 유지하고, SSL/TLS 접속을 설정 및 보호하기 위한 좋은 관례를 따른다. 이를 통해 사용자의 데이터를 보호하고 인터넷을 통한 응용 프로그램 통신의 무결성과 기밀성을 보장할 수 있다.

profile
공부!

0개의 댓글