[TIL] 주요 프로토콜

meek·2023년 3월 17일
0

/*elice*/

목록 보기
8/21

프로토콜

  • 어떤 시스템이 다른 시스템과의 통신을 원활하게 주고 받을 수 있게 해주는 통신규약 및 약속

1. IP, DNS, DHCP

🐢 IP

  • Internet Protocol의 약자로 네트워크에서 어떤 정보를 수신하고 송신하는 통신에 대한 규약
  • IP 특징

    1. 데이터가 송신지까지 정확하게 전달되도록 보장하지는 않는다는 비신뢰성
      • 이 과정은 전송계층에서 일어남
    2. TCP 프로토콜과 다르게 연결설정 과정 없이 데이터를 전송하는 비연결형
    3. 각 기기 장치가 식별될 수 있도록 하는 역할과 IP주소를 통해 라우팅의 경로 설정도 가능하게 하는 주소 지정(IP)
    4. IP 주소를 통하여 라우팅의 경로 설정도 가능한 경로 설정(라우팅)

🐢 DNS

  • Domain Name System
  • DNS는 인터넷 전화번호부와 같음
  • 클라이언트는 도메인 이름을 통해 온라인으로 정보에 엑세스가 가능함

🐢 DNS 질의 방식

  • 재귀성 질의
    - Local DNS 서버에서 Root DNS 서버에 요청을 보내고 그 후 하향식 접근으로 최상위 서버에서 밑 쪽으로 IP주소를 검색해 재귀적으로 반환해주는 방식

  • 반복적 질의
    - Local DNS 서버가 각각의 최상의 서버부터 밑의 서버까지 하나씩 요청 후 응답을 받는 방식

  • Local DNS 서버?

    • 기지국 DNS 서버라고 하며 우리가 도메인 url을 입력했을 때 해당 IP를 찾기 위해 가장 먼저 찾는 DNS 서버
    • 자주 사용하는 도메인 ip를 정보를 위해 저장하여 빠른 응답을 위해 존재
  • Root DNS 서버

    • 모든 root 도메인 정보를 담고 있는 서버
    • 계층적 주소로써 응답을 반복하여 필요한 최종 IP를 전달받음

🐢 DNS 조회 단계

  1. 웹 브라우저에 도메인 이름으로 요청
  2. DNS 서버에서 TLD 서버에 IP 주소 요청
  3. TLD 서버에서 IP 주소를 응답
  4. DNS 서버에서 IP 주소를 응답

🐢 DHCP

  • Dynamic Host Configuration Protocol
  • IP 주소와 게이트웨이 또는 네임서버 주소의 정보를 자동으로 할당해주는 프로토콜
  • IP가 자동으로 할당됨에 따라 사용자가 다수의 desktop을 이용할 때, 일일이 IP에 대한 정보를 설정할 필요가 없어짐
  • IP 충돌을 사전에 방지함으로써 효율적인 관리가 이루어짐
  • 서버가 다운되었을 때 IP 할당이 불가능해서 인터넷 네트워크 사용이 불가능해지고 만일 악의적인 서버공격이 있는 경우에는 IP 자원이 고갈됨에 따라 프로토콜 네트워크 부하로 인해 IP할당이 불가능해지거나 실패하는 경우도 있음
  • 일반적인 가정집이나 사무실에서 가장 많이 사용되는 네트워크 방식

🐢 DHCP 할당 종류

할당 형대설명
수동 할당
(Manual Allocation)
DHCP 서버의 관리자가 수동으로 개별 장비별(중요 호스트, 라우터 등)로 고정 설정
자동 할당
(Automatic Allocation)
IP 주소의 영구적 독점 사용
동적 할당
(Dynamic Allocation)
제한된 수량의 IP 주소 재사용, 한시적 사용(leased period), 자동 재활용
대부분의 네트워크가 사용하는 방식

🐢 DHCP 동작원리

천하무적 엔지니어의 네트워크


2. TCP/UDP

🐢 TCP

  • Transmission Control Protocol
  • 컴퓨터가 다른 컴퓨터와 신뢰성 있는 데이터 통신을 하기 위한 통신 규약
  • 전송계층에 있음

🐢 TCP Handshake

  • 연결하고자 하는 두 장치 간의 논리적 접속을 성립하기 위해 사용하는 연결 확인 방식
  • 가상연결회선을 연결해 사용함
  • 중간 과정에서 SYN과 ACK 패킷을 보내면서 확인하며, 마지막에 ACK 패킷을 보내면서 가상의 연결이 성립

🐢 3 Way Handshake

  • TCP 연결을 성립하기 위해 3개의 TCP 패킷을 교환하는 통신방식
  • 두 장치 간의 논리적 접속을 성립하기 위해 사용하는 연결확인방식

🐢 4 Way Handshake

  • TCP 연결을 종료하기 위해 4개의 TCP패킷을 교환하는 통신방식
  • FIN을 통해 끝난다는 신호를 보냄

🐢 TCP 특징

  • 연결형 방식
  • 흐름 및 혼잡 제어
  • 높은 신뢰성 보장
  • 3-way handshaking 과정을 통해 연결을 설정하고, 4-way handshaking 과정을 통해 연결을 해제함
  • UDP보다 느린 속도
  • 전이중(Full-Duplex)와 점대점(Point to Point)방식
  • 연결형 방식
    - 송신자와 수신자가 서로 연결이 되었는지 확인한 후 데이터를 교환하는 방식

  • 전이중 방식
    - 동시에 양방향 전송이 가능한 방식

🐢 UDP

  • User Datagram Protocol
  • 컴퓨터가 다른 컴퓨터와 빠르게 데이터 통신을 하기 위한 통신 규약
  • TCP의 모든 신뢰성 기능이 없는 프로토콜
  • 스트리밍 서비스나 온라인 게임 서비스의 서버 클라이언트 방식의 통신에 활용되고 있음

🐢 UDP 특징

  • 비연결식 방식
  • 신뢰성이 낮음
    -> 확인응답이 없기 때문
  • TCP보다 속도가 빠름
  • 정보의 신호절차를 거치지 않음
  • UDP 헤더의 CheckSum 필드를 통해 최소한의 오류만 검출
  • 비연결형 방식
    • 송신자와 수신자가 서로 연결이 되었는지 확인한 후 데이터를 교환하는 방식

🐢 TCP vs UDP

TCPUDP
연결 방식연결형비연결형
전송 순서전송 순서 보장전송 순서 보장 X
수신 여부 확인OX
통신 방식1:11:1, 1:N, N:N
신뢰성높다낮다
속도느리다빠르다

3. FTP

🐢 FTP

  • File Transfer Protocol
  • 보안 연결을 사용하여 인터넷을 통한 한 컴퓨터에서 다른 컴퓨터로 파일을 전송할 수 있는 프로토콜

🐢 FTP 동작원리

  • FTP 통신은 TCP 통신을 하기 때문에 처음에 3 Way Handshaking 과정을 거친 후 통신함
  • 네트워크 21번 포트를 통해서 전송을 제어하기 위한 신호를 주고, 네트워크 20번 포트를 통해서 실제 데이터 전송을 함
  • 기본적으로 신호/명령제어, 데이터 전송의 두 가지 채널이 필수로 필요함

🐢 FTP 진행 방식

  • 클라이언트가 FTP 서버와 연결을 설정하면 로그인 인증을 위해 서버에 명령을 보냄

🐢 FTP 종류

종류특징
FTPID, Password를 인증하고 TCP 프로토콜을 사용하여 데이터를 송수신
TFTP인증을 하지않고 UDP 기반으로 데이터를 빠르게 송수신, 69번 포트 사용
SFTP전송구간에 암호화 기법을 사용하여 기밀성 제공

🐢 FTP 모드

  • 능동 모드
    - Active Mode
    • 서버가 데이터 요청을 승인하는 능동적인 역할을 함
    • 제 3자가 권한이 없는 세션에 액세스하려고 하면 해당 세션이 차단됨
    • 방화벽으로 인한 문제가 종종 발생함
  • 수동 모드
    - Passive Mode
    • 서버가 능동적으로 연결을 유지하지 않음
    • 사용자가 데이터 채널과 명령 채널 모두를 설정
    • 서버는 기본적으로 듣기만 할 뿐 다른 장치가 대부분의 작업을 처리하도록 함
    • 능동 모드에서 해당 세션이 차단될 경우 수동 모드의 능력이 발휘됨

🐢 FTP 사용

  • FTP 세션을 통해 파일 전송을 관리하면 파일 업로드, 이미지 파일 추가, 웹 템플릿 이동 등의 작업을 수월하게 처리할 수 있음
  • 대량의 파일을 업로드할 때 주로 사용
  • IT 담당자들도 FTP를 통해 폐쇄형 시스템 내에서 대량의 배치 서버 파일을 간단하게 전송할 수 있게 됨

🐢 SFTP

  • Secure File Transfer Protocol

  • 시큐어 셸(SSH) 데이터 스트림을 통해 파일 전송시 높은 수준의 파일 보호를 실현하는 별도의 프로토콜

  • FTP의 대안 중 하나

  • 22번 포트 사용

    시큐어 셸(SSH)

    • 장치 간의 보안 통신에 사용되는 네트워크 프로토콜

🐢 SFTP vs FTP

구분SFTPFTP
보안성높음낮음
방화벽안정적임취약함
포트 번호단일 포트 번호여러 포트 번호

4. SMTP

🐢 SMTP

  • Simple Mail Transfer Protocol
  • 네트워크를 통해 전자우편을 전송하는 프로토콜
  • 이 프로토콜을 통해 광범위하게 이메일을 보낼 수 있음

🐢 POP3

  • 메일 서버에서 이메일을 로컬 PC로 수신받을 수 있는 client/server 표준 프로토콜

🐢 IMAP

  • Internet Messaging Access Protocol
  • 비연결 상태에서 뛰어난 원격 편지함 접근기능을 제공하고 로컬서버에서 전자우편을 액세스하기 위한 표준 프로토콜

🐢 SMTP vs IMAP vs POP3

  • SMTP : 이메일 클라이언트에서 이메일 서버로 이메일을 보내는데 사용되는 프로토콜
  • IMAP : 수신 서버에서 이메일 메시지를 관리하고 검색하는 프로토콜
  • POP3 : 서버에서 클라이언트로 이메일을 전송하는 방법

🐢 POP3 vs IMAP

  • POP3는 모든 이메일을 동시에 다운로드, IMAP은 이메일을 다운로드 하기 전에 메세지 헤더를 보여줌
  • POP3는 서버에서 이메일을 다운로드한 다음 삭제, IMAP은 이메일을 서버에 저장하고 여러 장치에서 동기화하여 여러 채널을 통해 액세스
  • POP3는 메일 서버 사서함에서 전자메일을 구성할 수 없지만 IMAP은 서버 사서함을 구성할 수 있음
  • IMAP은 검색을 더 쉽게 하기 위해 이메일 사본을 여러 개 보관

5. SSH

🐢 TELNET

  • 원격 접속 서비스로서 특정 사용자가 네트워크를 통해 다른 컴퓨터에 연결하여 그 컴퓨터에서 제공하는 서비스를 받을 수 있도록 하는 인터넷 표준 프로토콜
  • 보안문제로 사용률이 점점 낮아지는 추세

🐢 SSH

  • Secure Shell
  • 원격 호스트에 접속하기 위해 사용되는 보안 프로토콜

🐢 SSH 특징

  • 데이터 전송
  • 원격 제어
  • 모든 데이터 암호화 보장
  • 트래픽 압축으로 더욱 빠른 전송 효율
  • 22번 포트
  • Public KeyPrivate Key 사용

🐢 SSH 동작 원리

  • 사용자와 서버는 각각의 키를 보유하고 있으며, 이 키를 이용해 연결 상대를 인증하고 안전하게 데이터를 주고 받게 됨

6. SSL/TLS

🐢 SSL

  • Secure Sockets Layer
  • 암호화 기반 인터넷 보안 프로토콜

🐢 TLS

  • Transport Layer Security
  • SSL보다 더욱 안전한 버전

🐢 SSL vs TLS

  • 웹에서 전송되는 데이터를 암호화
  • SSL은 클라이언트와 서버 간에 핸드셰이크를 통해 인증
  • 데이터 무결성을 위해 데이터에 디지털 서명을 하여 데이터가 도착하지 전에 조작된 여부를 확인

🐢 HTTPS

  • Hyper Text Transfer Protocol Secure
  • 데이터 유출을 막기 위한 프로토콜


💡 함께 보면 좋을 것 같은 참고 자료

profile
hello, world!

0개의 댓글