참조
인터넷 개념 및 개요
- 일련의 표준화된 프로토콜을 사용하여 통신하며 서로 연결된 컴퓨터의 글로벌 네트워크이다.
- 서로 다른 장치와 시스템 간의 트래픽 전달을 담당하는 상호 연결된 라우터의 글로벌 네트워크이다.
- 인터넷을 통해 데이터를 보내면 데이터는 작은 패킷으로 나뉘어 장치에서 라우터로 전송되고, 라우터는 패킷을 검사하여 목적지를 향한 경로의 다음 라우터로 전달하며, 이 프로세스는 패킷이 최종 목적지에 도달할 때까지 계속된다.
- 패킷이 올바르게 전송되고 수신되도록 하기 위해 인터넷은 TCP 및 IP를 포함한 다양한 프로토콜을 사용한다.
- TCP : 전송 제어 프로토콜, 올바른 순서로 안정적으로 전송되도록 보장
- IP :패킷을 올바른 대상으로 라우팅하는 역할을 담당
기본 개념 및 용어
- 패킷(Packet): 인터넷을 통해 전송되는 작은 데이터 단위.
- 라우터: 서로 다른 네트워크 간에 데이터 패킷을 전달하는 장치
- IP 주소: 네트워크의 각 장치에 할당된 고유 식별자
- 도메인 이름: google.com과 같이 웹사이트를 식별하는 데 사용되는 사람이 읽을 수 있는 이름
- DNS: 도메인 이름 시스템은 도메인 이름을 IP 주소로 변환하는 역할
- HTTP: 클라이언트(예: 웹 브라우저)와 서버(예: 웹 사이트) 간에 데이터를 전송하는 데 사용
- HTTPS: 클라이언트와 서버 간의 보안 통신을 제공하는 데 사용되는 암호화된 HTTP 버전
- SSL/TLS: SSL (Secure Sockets Layer) 및 전송 계층 보안(Transport Layer Security) 프로토콜은 인터넷을 통한 보안 통신을 제공하는 데 사용
인터넷에서 프로토콜의 역할
- 프로토콜: 장치와 시스템 간에 정보가 교환되는 방식을 정의하는 일련의 규칙 및 표준
- TCP, IP, UDP, DNS 등 이런것들이 모두 인터넷 통신에 사용되는 프롵토콜이다.
- 표준화된 프로토콜을 사용함으로써 다양한 제조업체 및 공급업체의 장치와 시스템이 서로 원활하게 통신할 수 있다.
IP주소 및 도메인 이름의 이해
- IP주소
- 네트워크의 각 장치에 할당된 고유 식별자
- 데이터를 올바른 대상으로 라우팅하여 정보가 의도한 수신자에게 전송되도록 하는 데 사용
- 도메인 이름
- 웹사이트와 기타 인터넷 리소스를 식별하는 데 사용되는 사람이 읽을 수 있는 이름
- 일반적으로 두 개 이상의 부분으로 구성되며 마침표로 구분
- ex) 'google.com' 이런게 도메인 이름
- 도메인 이름은 DNS(Domain Name System)를 사용하여 IP 주소로 변환된다.
- 변환 과정
- 웹 브라우저에 도메인 이름을 입력
- 컴퓨터는 DNS 서버에 DNS 쿼리 전송
- DNS 서버는 해당 IP주소를 반환
- 컴퓨터는 받은 IP주소를 사용하여 요청한 웹 사이트나 기타 리소스에 연결
HTTP & HTTPS
- 인터넷 기반 애플리케이션 및 서비스에서 가장 일반적으로 사용되는 두 가지 프로토콜
- HTTP: 클라이언트(예: 웹 브라우저)와 서버(예: 웹 사이트) 간에 데이터를 전송하는 데 사용되는 프로토콜
- HTTPS: SSL/TLS(Secure Sockets Layer/Transport Layer Security) 암호화를 사용하여 클라이언트와 서버 간에 전송되는 데이터를 암호화하는 보다 안전한 HTTP 버전 => 추가 보안 계층을 제공하여 로그인 자격 증명, 결제 정보 및 기타 개인 데이터와 같은 민감한 정보를 보호
TCP/IP
- 대부분의 인터넷 기반 응용 프로그램 및 서비스에서 사용되는 기본 통신 프로토콜
- TCP/IP로 애플리케이션 구축시 이해해야할 몇 가지 개념
- 포트: 포트는 장치에서 실행 중인 애플리케이션이나 서비스를 식별하는 데 사용
- 소켓: 소켓은 IP 주소와 포트 번호의 조합으로, 통신을 위한 특정 끝점. 소켓은 장치 간 연결을 설정하고 애플리케이션 간에 데이터를 전송하는 데 사용
SSL/TLS로 인터넷 통신 보안
- 인증서: SSL/TLS 인증서는 클라이언트와 서버 간의 신뢰를 구축하는 데 사용. 서버의 신원에 대한 정보가 포함. 신뢰성을 확인하기 위해 신뢰할 수 있는 제3자(인증 기관)의 서명을 받는다
- 핸드셰이크: SSL/TLS 핸드셰이크 프로세스 중에 클라이언트와 서버는 보안 연결을 위한 암호화 알고리즘 및 기타 매개변수를 협상하기 위해 정보를 교환
- 암호화: 보안 연결이 설정되면 합의된 알고리즘을 사용하여 데이터가 암호화되며 클라이언트와 서버 간에 안전하게 전송