웹 서버 & WAS
·
Computer Science/네트워크
정적 페이지, 동적 페이지정적 페이지 (Static Page)서버에 저장된 `고정된 HTML 파일`을 그대로 클라이언트에 전달하는 페이지페이지 내용이 사용자나 상황에 따라 변하지 않음특징빠르고 가벼움서버 부하 少수정하려면 직접 HTML을 고쳐야 함예전 방식의 홈페이지 & 블로그 등에 사용예시about.html, contact.html, index.html 등정적인 기업 소개 페이지, 간단한 프로필 사이트파일 구성: `/index.html`, `/style.css`, `/script.js` 👉 클라이언트가 요청하면 그대로 응답동적 페이지 (Dynamic Page)클라이언트의 요청이나 상황에 따라 서버에서 실시간으로 생성되는 웹 페이지사용자마다 다른 내용을 보여줄 수 있음특징서버가 HTML을 실시간 Re..
안정성을 위한 기술
·
Computer Science/네트워크
안정성을 수치로 어떻게 표현하는지, 안정성(가용성)을 높이기 위한 방법에는 무엇이 있는지 알아보고자 한다.가용성 (Availablity)시스템이 언제든지 사용 가능한 상태를 유지하는 능력컴퓨터 시스템이 특정 기능을 실제로 수행할 수 있는 시간의 비율= 전체 사용 시간 중 정상적인 사용 시간`업타임(uptime)` : 정상적인 사용시간`다운타임(downtime)`: 정상적인 사용이 불가한 시간가용성 = 업타임 / (업타임 + 다운타임)📌 고가용성 (HA, High Availablity) = 가용성이 높음, 지향점안정적인 시스템은 어느정도의 가용성을 가져야 하는가?일반적으로 안정적인 시스템인 `99.999%` 이상을 목표로 함 (= 파이브 나인스)가용성 (%)1년간 다운타임한 달간 다운타임한 주간 다운타..
HTTP 변천사
·
Computer Science/네트워크
HTTP는 애플리케이션 계층에 존재하며, 웹 서비스 통신에 사용HTTP/1.0 부터 시작해 발전하여 현재는 HTTP/3이다.1. HTTP/1.0HTTP/1.0은 기본적으로 한 연결당 하나의 요청을 처리하도록 설계👉 RTT 증가 야기서버로부터 파일을 가져올 때마다 TCP의 `3-Way Handshake`를 계속 열어야 하기 때문에 RTT가 증가함RTT (Round Trip Time): 패킷이 목적지에 도달하여 다시 출발지로 돌아오는 시간RTT 증가를 해결하기 위한 방법연결할 때마다 RTT가 증가하니, 서버에 부담 多, 사용자 응답 시간 長👉 이미지 스플리팅, 코드 압축, 이미지 Base64 인코딩 사용이미지 스플리팅많은 이미지를 다운로드 받으면 과부하가 걸리기 때문에, 합쳐 있는 하나의 이미지를 다운로..
IP
·
Computer Science/네트워크
IP 주소`IP 주소 (Internet Protocol Address)`는 인터넷에 연결된 기기를 식별하기 위한 고유 주소집 마다 있는 우편번호 처럼, 네트워크 상에서 데이터를 주고 받기 위해 필요한 위치 정보❓ IP 주소는 왜 필요하지 ?기기마다 고유한 주소가 있어야 데이터가 정확한 목적지로 도달 가능ex) 웹 브라우저로 `naver.com`에 접속하면, 그 요청의 내 IP 주소를 포함한 형태로 전송1) IPv4 헤더 구조IPv4 헤더는 기본적으로 20바이트 길이이며, 아래와 같은 필드로 구성되어 있음 0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4..
TCP의 흐름 제어 & 혼잡 제어
·
Computer Science/네트워크
흐름 제어 (Flow Control)파이프라이닝 기반 전송으로 한 번에 무한히 많은 데이터를 주고 받을 수 있는가? 👉 No!수신 측이 송신 측보다 데이터 처리 속도가 빠르면 문제 없지만, 송신 측의 속도가 더 빠를 경우 문제가 생김수신 호스트가 한 번에 받아서 처리할 수 있는 세그먼트의 양에는 한계가 있기 때문에,한계를 초과한 이후 도착하는 패킷은 손실될 수 있고 만일 손실된 경우 불필요한 추가 패킷 전송 발생📌 TCP의 흐름 제어송신 호스트가 수신 호스트의 처리 속도를 고려하여 송수신 속도를 균일하게 유지하는 기능Stop-and-Wait ARQ를 사용하면, 흐름 제어 필요 없음파이프 라이닝 기반 ARQ를 사용하면 흐름 제어 필요!ACK 응답 마다 윈도우 크기를 포함하여, 수신자가 이후 허용 가능한..
TCP & UDP, TCP의 오류 검출과 재전송
·
Computer Science/네트워크
전송 계층네트워크 계층과 응용 계층 사이에 위치IP한계 보완: `신뢰`할 수 있는 통신과 `연결`형 통신 기능 제공응용 계층의 프로세스 식별: 포트 번호 활용IP 한계신뢰할 수 없는 통신패킷이 수신지까지 제대로 전송되었다는 보장X통신 과정에서 패킷이 잘못 전송되어도 확인X, 재전송X, 순서대로 도착 보장X비연결형 통신송수신 호스트 간에 사전 연결 수립 작업X그저 수신지를 향해 패킷을 보내기만 함∴ IP 패킷의 전달 = 신뢰성이 없는 통신 + 비연결형 통신IP는 왜 신뢰할 수 없는, 비연결형 통신을 하는가 ?비연결형 통신이 나쁜 게 아님👉 신뢰할 수 있는 연결형 통신 = `성능`에 악영향신뢰성 있는 전송이 모든 경우에 필요한 게 아님간단함연결 유지 & 상태 저장X = 라우터가 가볍고 빠르게 작동확장성수십..
HTTP & HTTPS
·
Computer Science/네트워크
TCP/IP 4계층 모델의 애플리케이션 계층의 프로토콜모두 서버/클라이언트간 데이터를 주고 받기 위해 사용됨HTTP (HyperText Transfer Protocol)데이터를 평문 형태로 전송하므로 데이터 탈취 위험성 존재기본적으로 `80번` 포트데이터의 민감 정보 노출가능성 有HTTPS에 비해 구현과 운영 단순HTTPS (HyperText Transfer Protocol Secure)HTTP에 데이터 암호화가 추가된 프로토콜, 데이터를 암호화하여 전송하므로 중간 공격자의 데이터 읽고 쓰기 방지기본적으로 `443번` 포트데이터 가로채기를 방지하므로 보안 수준 높음서버의 신원을 확인하는 SSL/TLS 인증서가 필요하며, 이로 인해 사용자에게 신뢰성 글 제공📌 최근에는 대부분의 웹사이트가 HTTPS를 기..
TCP / IP 4계층 모델, PDU
·
Computer Science/네트워크
TCP / IP 4계층실제 인터넷에서 널리 쓰이는 모델로, OSI 7계층 모델을 4단계로 단순화한 버전 OSI 7계층: 네트워크를 이론적으로 기술하고 이해할 때 주로 활용TCP/IP 4계층 : 구현, 네트워크 프로토콜에 중점을 둔 네트워크 참조 모델계층 간 데이터 송수신 과정컴퓨터를 통해 다른 컴퓨터로 데이터를 요청하면 어떤 일이 일어날까기본 개념캡슐화상위 계층의 `헤더`와 `데이터`를 하위 계층의 데이터 부분에 포함 시키고 해당 계층의 헤더를 삽입하는 과정역캡슐화하위 계층에서 상위 계층으로 가며 각 계층의 헤더 부분을 제거하는 과정캡슐화된 데이터를 받게 되면, 링크 계층에서부터 타고 올라오면서 프레임화 된 데이터는 다시 패킷화를 거쳐 세그먼트& 데이터그램화를 거쳐 메시지화 되는 역캡슐화 과정 발생0, ..