728x90

2주차 Work Book

  • 클라이언트-서버 통신
    • 프로토콜
      • HTTP
      • HTTP(Hypertext Protocol) : 웹상에서 사용하는 프로토콜 일반적으로 80포트 사용
      • HTTPS보안기술이 적용되어 통신의 안전성이 확보되었다. 보통 443포트사용Secure Sockets Layer라는 암호규약
      • 전달되는 내용이 다른사람에게 노출되거나 전달되는 내용이 악의적으로 변경되는것을 막을 수 있다.
        • SSL
      • Secure Sockets Layer라는 암호규약
      • 전달되는 내용이 다른사람에게 노출되거나 전달되는 내용이 악의적으로 변경되는것을 막을 수 있다.
        • FTP
      • TCP/IP기반에서 서버와 클라이언트 사이의 파일전송을 위한 프로토콜이다. 보통 20, 21번포트를 사용한다.
      • File Transfer Protocol
        • SFTP
      • 보안 파일 전송 프로토콜로 불리며 22번 포트를 사용한다. ssh와 같은 방식을 사용한다고 한다. ssh는 secure shell이다.
        • MYSQL
      • SQL을 사용하는 공개소스의 관계형 데이터베이스 관리 시스템(RDBMS)를 사용하기 위한 포트로 일반적으로 3306번을 사용한다.
        • SSH
      • 시큐어 쉘(Secure Shell)은 네트워크 상의 다른 컴퓨터에 로그인하거나 원격 시스템에서 명령을 실행하고 다른 시스템으로 파일을 복사할 수 있도록 해주는 포트입니다.
    • OSI 7 계층
    • 네트워크 계층
      • 1Layer - Physical Layer : 하드웨어 전송 기술로 이루어진 계층이다. 전기적인, 기계적인 신호를 주고받는 역할을 한다. 비트 0,1의 통신단위로 통신한다.
      • 2Layer - Data Link Layer : 데이터 링크 계층은 Point to Point간의 전송을 보장하기 위한 계층이다. DataLink 계층의 대표적인 장비로는 스위치와 브릿지가 있다. MAC주소가 Data Link계층에 해당한다. 전송단위는 Frame이다.
      • 3Layer - Network Layer : IP주소를 제공하는 계층이다. 네트워크 계층에서는 대표적으로 노드들을 거칠 때 마다 라우팅 해주는 역할을 담당한다. 대표적인 라우팅 장비로는 공유기가 있다. 전송단위는 Packet이다.
      • 2Layer - Data Link Layer : 데이터 링크 계층은 Point to Point간의 전송을 보장하기 위한 계층이다. DataLink 계층의 대표적인 장비로는 스위치와 브릿지가 있다. MAC주소가 Data Link계층에 해당한다. 전송단위는 Frame이다.
      • 5Layer - Session Layer : 데이터를 만들어내는 계층이다. 양 끝단의 응용 프로세스가 통신을 관리하기 위한 방법을 제공한다. 해당 계층에서 TCP/IP 세션을 만들고 없애는 책임을 진다.
      • 6Layer - Presentation Layer : 표현 계층은 코드간의 번역을 담당하여 사용자 시스템에서 데이터 형식상 차이를 다루는 부담을 덜어준다. MIME 인코딩이나 암호화 등의 동작이 이 계층에서 이루어진다. 데이터의 압축 인코딩 등이 이 계층에서 다루어진다.
      • 7Layer-Application Layer : 응용 계층은 응용 프로세스와 직접 관계하여 일반적인 응용 서비스를 수행한다. 우리가 사용하는 사용자 인터페이스를 제공하는 프로그램등을 말한다. HTTP, FTP등의 프로토콜이 응용 계층에 속한다. 
        • TCP/IP
          • TCP
          • TCP(Transmission Control Protocol)은 IP 네트워크의 두 컴퓨터 간의 연결 지향 통신을 위한 전송 계층 호스트 간 프로토콜 입니다.
          • TCP의 경우 신뢰성있는 통신을 보장한다. 데이터가 전달되는 과정에서 여러 스위치 라우터 등등을 거치면서 데이터가 잘못 전달되는 현상이나 전달이 안되는 경우 오류제어, 흐름제어를 통해 신뢰성있는 데이터가 전달될 수 있도록 한다.
          • TCP는 4Layer인 TransPort 계층에 위치한다. 웹 브라우저들이 서버에 연결할 때도 사용한다.
            • IP
          • IP는 패킷 전달 여부를 보증하지 않고, 패킷을 보낸 순서가 다를 수 있다.
          • Internet Protocol의 패킷 전송과 정확한 순서를 보장하기 위해 TCP를 사용한다.
          • 패킷 통신방식의 인터넷 프로토콜IP(인터넷 프로토콜)이다.
  • IP
    • Packet
      • Header
      • HTTP 메시지를 생성한 일시, 클라이언트와 서버간 연결에 대한 옵션 설정 등이 포함되어있다.
      • HTTP Method, Request target, HTTP Version 등이 명시되어있다.
      • Host : 요청이 전송되는 target의 host url
      • User-Agent : 요청을 보내는 클라이언트에 대한 정보(웹브라우저 정보)
      • Accept : 해당 요청이 받을 수 있는 응답(response) 타입.
      • Connection : 해당 요청이 끝난후 클라이언트와 서버가 계속해서 네트워크 커넥션을 유지할 것인지, 끊을 것인지에 대해 지시하는 부분Content-Length : 메세지 body의 길이
      • 또한 Body에 대한 정보들이나 Cookie등도 가지고 있다.
      • Content-Type : 해당 요청이 보내는 메시지 Body의 타입(JSON, application/json)
      • Content-Length : 메세지 body의 길이
      • Body
      • Body가 없는 request도 많다.
      • Request의 실제 메세지/내용
    • IPv4
    • IP주소의 종류중 하나로 32비트 길이의 식별자로 0.0.0.0 ~ 255.255.255.255까지의 숫자의 조합으로 이루어진다. 총 네구간으로 나누어져 있으며 최대 12자리 번호로 이루어져 있다. 전세계 공용으로 사용되어왔으며 인터넷 사용자 수가 급증하면서 IPv4주소가 고갈될 문제에 쳐해있다. 이러한 고갈문제를 해결하기 위해 IPv6가 등장했다.
    • IPv6
    • IPv4주소체계를 128비트 크기로 확장한 차세대 인터넷 프로토콜 주소이다. 16비트씩 8부분으로 16진수로 표기
    •  
    • Domain
    • ip에 이름을 부여한 것이다.
    • ex) www.naver.com , google.com
  • Port
    • 서버에서 포트란?
    • IP를 집주소라고 한다면 Port는 해당 집의 문이다.웹서버의 경우 80번포트를 이용하며 IP주소와 80번포트를 통해 웹서버의 웹사이트로 접속이 가능하다.
    • 프로세스별로 할당된 번호이며 해당 번호를 통해 다른 컴퓨터와 데이터를 주고받을 수 있다.
    • 서버의 컴퓨터로 들어오는 문.
    • 프로토콜별 포트 번호 정리
    • 22 : 원격 로그인 SSH 포트
    • 25 : SMTP 메일 메세지 전송 프로토콜
    • 80 : HTTP 웹페이지 포트
    • 443 : HTTPS HTTP over SSL 프로토콜
    • 123 : NTP Network Time Protocol
    • 53 : DNS 포트
    • 23 : Telent 포트
    • 20,21 : FTP 포트
  • 포트리스닝 : 접속요청을 기다리는 상태이다.
  • 포트의 LISTEN 상태
  • 인바운드 / 아웃바운드
  • 아웃바운드 : 서버외부로 나가는것. 서버→클라이언트
  • 인바운드 : 클라이언트가 서버에 접속하는 것. 서버내부로 접속하는것
  • 데몬(Daemon)
  • 컴퓨터가 원활하게 운영되도록 도와준다.
  • 사용자가 직접적으로 제어하지 않고, 백그라운드에서 돌면서 여러 작업을 하는 프로그램
  • Port forwarding공유기 내부망의 컴퓨터들을 가리키도록 설정하는것
    • 공유기
      • WAN광범위한 지역단위로 구성하는 네트워크를 의미한다. WAN이 LAN과 LAN을 연결하는 역할을 한다.
      • Wide Area Network로 넓은 지리적 거리/장소를 넘나드는 통신 네트워크 또는 컴퓨터 네트워크이다.
      • LAN
      • 근거리 통신망, Local Area Network를 의미하며 집, 사무실 학교 등 가까운 지역을 한데 묶는 컴퓨터 네트워크이다.
    • 외부 IP (공인 IP)
    • 공인IP라고 이름붙은 이유는 외부에서 내 컴퓨터로 접속하기위해 해당 IP를 사용해야하기 떄문이다.
    • 집(공유기내부)이 아닌 외부와 통신할 때 사용하는 IP
    • 내부 IP (사설 IP)내부네트워크 내에서는 내부 IP로 통신이 가능하다.
    • 집(공유기)에 형성되어있는 내부 네트워크에 접속된 기기들에 할당되는 IP주소이다. 내부 IP로는 외부와 통신할 수 없다.
    • 외부 포트
    • 외부에서의 접속을 위한 포트
    • 내부 포트
    • 포트포워딩을 위한 포트
    • 외부에서 연결했을때, 지정된 내부 PC에서 어떤포트를 사용할 것인가.
    • 게이트웨어
    • 네트워크통신을 할때 반드시 통과해야하는 곳이다.
    • 네트워크에서 다른 네트워크 간단히 말하면 LAN에서 다른 LAN 으로 이동할 때 거쳐야하는 지점을 말한다.
    • 방화벽
    • 네트워크 패킷들을 모니터링하며 외부 패킷들중 감엽될수 있거나 정상패킷과 다른패킷들을 못들어오게 막아준다.

추가 개념 키워드

  • TCP vs UDP
    • UDP
    • 통신을 할때 데이터를 받았다는 신호 또는 보낸다는 신호를 거치지않는다.
    • 신뢰성이 낮다. TCP보다 빠르다.
    • 비연결형 통신규약
  • DNS(Domain Name Server)이름과 IP를 1대1로 매핑하여 관리한다.
  • IP주소를 www.google.com과 같이 사람이 읽을 수 있는 이름으로 변환해주는 서버.
  • Proxy
    • Forward proxy
    • 클라이언트에서의 요청을 Proxy에서 server로 요청하고 해당 결과를 Proxy에서 client에게 전달해주는것
    • Reverse proxy
    • 클라이언트에서 서버로 요청할때 서버가아닌 Proxy를 거치는 것이다. Proxy에서 데이터를 받은후 내부 Server로 해당 요청을 전달한다.
  • 네트워크 장비
    • 라우터
    • 서로 다른 네트워크 간의 중계역할을 해준다.
    • 패킷의 목적지 IP 에대해 최적의 경로를 제공하며 데이터패킷을 목적지까지가는 다음 장치로 전향시킨다.
    • 허브
    • 충돌영역을 분할할때 사용한다고 한다.
    • 신호를 증폭 시켜 LAN의 전송 거리를 연장 시킨다.
    • 스위치
    • MAC주소 테이브르을 가지고 있어 목적지 MAC 주소를 가진 장비가 연결된 포트로 프레임을 전송한다.
    • 공유기
    • 하나의 IP로 여러 PC나 장비에서 공유하여 동시에 인터넷을 사용할 수 있게 한다.
  • 이더넷(Ethernet)
  • 이더넷은 LAN, MAN, WAN에서 많이 사용되는 네트워크 규격이다.
  • 물리계층에서 신호와 배선, 데이터 링크 계층에서 MAC패킷과 프로토콜을 정의하였다.
  • MAC 주소
  • 데이터 링크ㅡ 계층에서 통신을 위한 인터페이스에 할당된 고유 식별자이다.
728x90

'study > UMC(University MakeUs Challenge)' 카테고리의 다른 글

REST API / HTTP  (0) 2021.11.15
API  (0) 2021.11.04
데이터베이스  (0) 2021.11.04
OS와 서버  (0) 2021.11.04

+ Recent posts