💻 Backend

서버 스터디 2주차 [키워드 정리]

미미누 2021. 10. 10. 16:42

클라이언트-서버 통신

프로토콜

 

HTTP(80 포트) :

  • HTTP(Hypertext Transfer Protocol)는 인터넷에서 데이터를 주고받을 수 있는 프로토콜
  • 보내는 데이터: HTML 문서, 이미지, 동영상, 오디오, 텍스트 문서
  • 웹의 어플리케이션 계층 프로토콜(TCP/IP 위에서 작동)

 

HTTPS(443 포트) : 

HTTP 프로토콜의 보안 버전

  • 중요한 데이터를 안전하게 전송
  • 443 포트, https:// 사용
  • 웹서버와 웹브라우저간의 보안, 공개키/개인키 대칭키 기반으로 사용

 

FTP(21 포트): 

  • 서버와 클라이언트 사이에서 TCP/IP를 통해 파일을 송수신하기 위한 프로토콜
  • 파일 전송 프로토콜(File Transfer Protocol)
  • 보안 부분에서 취약

 

SFTP(22 포트): 

  • SFTP(Secure File transfer protocol)
  • 파일을 전송할 때 암호화 시켜서 전송하는 프로토콜
  • SFTP를 지원하는 서버와 클라이언트 필요

 

MYSQL:

  • MYSQL의 기본 포트 번호: 3306

 

SSH(22 포트): 

  • SSH(Secure Shell) : 보안 셸
  • 기존 텔넷은 암호화 X → 암호화 기능을 추가한 프로토콜
  • 셸로 원격 접속

[네트워크 계층]

 

OSI 7 계층

네트워크에서 통신이 일어나는 과정을 7단계로 나눈 것

 

 

  • 물리 계층(Physical Layer): 하드웨어 전송 기술
  • 데이터 링크 계층(Data Link Layer): 신뢰성 있는 전송을 보장하기 위한 계층
  • 네트워크 계층(Network Layer): IP주소를 제공하는 계층
  • 전송 계층(Transport Layer): 양 끝단(End to End)의 사용자가 데이터를 주고 받을 수 있음(TCP, UDP 프로토콜)
  • 세션 계층(Session Layer): 데이터를 만들어내는 계층
  • 표현 계층(Presentation Layer): 코드 간의 번역을 담당
  • 응용 계층(Application Layer): HTTP, FTP 등의 프로토콜, 응용 서비스를 수행

TCP/IP

 

  • TCP
    • 전송 제어 프로토콜(Transmission Control Protocol)
    • 서버와 클라이언트간의 데이터를 신뢰성있게 전달
    • 데이터 패킷에 일련의 번호를 부여, 데이터 손실 교정, 순서 재조합하여 클라이언트에게 전달

 

  • IP
    • 인터넷 프로토콜(Internet Protocol)
    • 각 컴퓨터의 주소
    • IPv4, IPv6

[패킷] 

  • Header
    • 헤더는 데이터 이외에 HTTP 선두에 삽입되는 부분
    • 응답/요청 헤더
  • Body
    • 바디는 실제 데이터 부분
    • 페이로드(Payload)라고도 불림
  • IPv4
    • IPv4는 32비트 방식
    • 4개로 나눠진 최대 12자리의 번호(예 : 192.168.111.224)
  • IPv6
    • 128비트 주소체제
    • 인터넷의 각 컴퓨터가 한 개 이상의 고유한 IP 주소를 가짐 → 고갈 가능성
  • Domain
    • naver.com -> 125.209.222.141
    • IP에 이름을 부여 한 것

[Port]

 

  • 서버에서 포트란?
  • 포트: 서버로 들어가는 관문

 

[프로토콜별 포트 번호 정리]

 

  • 인바운드 / 아웃바운드
    • 아웃바운드 규칙 : 서버에서 네트워크 데이터가 나갈 수 있도록 규칙을 정의
    • 인바운드 : 서버로 네트워크 데이터가 들어올 수 있도록 규칙을 정의

 

  • 데몬(Daemon)
    • 포트 웨이터 역할 ( Apache의 데몬 프로세스가 요청을 확인)
    • 데몬 : HTTPd, mysqld
    • 사용자가 직접적으로 제어하지 않고, 백그라운드에서 돌면서 여러 작업을 하는 프로그램

  • 공유기
    • WAN: 멀리 떨어진 지역을 서로 연결하는 네트워크, LAN과 LAN 사이 광범위하게 네트워크 구성
    • LAN : 한정된 공간에서 네트워크를 구성한 것

 

  • 외부 IP (공인 IP)
    • 인터넷 사용자의 로컬 네트워크를 식별하기 위해 ISP(인터넷 서비스 공급자)가 제공하는 IP 주소

 

  • 내부 IP (사설 IP)
    • 내부 네트워크 ( 공유기 내부 네트워크 ) 상에서만 사용되는 주소

 

  • 외부 포트
    • 외부 IP를 통해 내부 웹서버로 접속할때 외부 IP 뒤의 붙는 포트 번호

 

  • 내부 포트
    • 외부에서 접속한 기기를 내부의 어떤 포트 번호로 연결해주는 포트 번호

 

  • 게이트웨어
    • 현재 사용자가 위치한 네트워크에서 다른 네트워크로 가기 위해 거쳐야 하는 거점

 

  • 방화벽
    • WAN(외부 사용자)이 LAN(내부 네트워크)에 접근하지 못하도록 하는 내부 네트워크