Subnet, Subnet Mask, Subnetting
·
CS/Network
❒ Description Subent, Subnet Mask 그리고 Subnetting의 정의에 대해서 알아보고, 서브넷팅 계산하는 법도 공부하자!     ❒ Subnet (서브넷)1. 서브넷이란?서브넷은 하나의 네트워크를 더 작은 네트워크들로 나누는 개념이다.  2. 그렇다면 서브넷은 왜 사용할까?IP 주소의 효율적 사용큰 네트워크를 작은 네트워크로 나누어 IP 주소를 절약네트워크 성능 향상한 서브넷에서 발생한 트래픽은 다른 서브넷에 영향을 주지 않기 때문에 성능 향상보안 강화민감하나 데이터를 다루는 서브넷과 일반 사용자 서브넷을 분리하여 보안 강화확장성필요에 따라 서브넷을 추가 및 조정하여 네트워크를 확장     ❒ Subnet Mask (서브넷 마스크)1. 서브넷 마스크란?서브넷 마스크는 IP 주소..
웹 서비스의 전체적인 흐름
·
CS/Network
❒ Description웹 서비스의 전체적인 흐름을 이해하고 도식도를 그려보자!   ❒ 흐름다음과 같은 흐름으로 우리는 인터넷을 사용하다.1. URL을 입력한다. 2. IP 주소를 얻기 위해 DNS 서버에 질의한다. 3. TCP/IP 커넥션을 맺는다. 4. HTTP 요청을 보낸다. 5. 서버에서 요청을 처리한다. 6. HTTP 응답을 보낸다. 7. 브라우저가 응답을 렌더링한다. 8. 추가 리소스 요청 및 렌더링 9. 세션이 유지되거나 종료된다. 10. TCP 연결을 종료한다.  아래 그림은 TCP/IP 4계층 모델과 Application의 흐름을 더 자세히 이해하고자 그려봤다.   참고로 중간에 Middleware가 있는데 이것은 곧 Servlet Container이다. Servlet Container ..
HTTP 3.0
·
CS/Network
❒ DescriptionHTTP/3.0은 현대 웹의 성능과 안전성을 향상시키기 위해 개발된 HTTP 프로토콜이다. 이전의 2.0과는 근본적으로 다른 방식으로동작하며, 주로 QUIC(Quick UDP Internet Connections)을 기반으로 한다.  ※ 별도의 예상 면접 리스팅 X   ❒ 등장 배경HTTP/3.0은 주로 네트워크 성능과 신뢰성을 개선하기 위해 개발되었다. HTTP/2.0은 기존의 HTTP/1.x에서많은 개선을 이뤄냈지만, 여전히 TCP 위에서 동작하기 때문에 몇 가지 근복적인 문제를 안고 있다. 특히, TCP의 HOL Blocking 문제가 큰 이슈였다. TCP 연결에서 패킷 손실이 발생하면, 손실된 패킷이 재전송되기 전 까지 나머지 패킷들은 대기해야 한다. 이는 특히 네트워크가 ..
SSL/TLS Handshake
·
CS/Network
❒ DescriptionHTTP 보다 안전한 HTTPS에 대해서 알아보고, 어떤 과정을 통해 안전한 통신을 할 수 있는지 공부하자!참고로 이와 관련해서 옛날에 공부했었는데 여기서는 부족한 부분을 추가/보충할 것이다. ※ 이번 포스팅에서는 별도로 예상 면접 질문은 뽑지 않는다.   ❒ SSL/TLS HandshakeSSL(Secure Sockets Layer) 핸드셰이크는 클라이언트와 서버 간의 보안 연결을 설정하기 위한 과정이다.이 과정은 데이터를 암호화하여 안전하게 전송할 수 있도록 하기 위해 필요한 키 교환 및 인증을 수행한다.SSL 핸드셰이크는 다음과 같은 단계로 이루어진다. 1. [Client] Client Hello 클라이언트가 서버에 연결 요청을 한다. 이때 클라이언트는 자신이 지원하는 다음 ..
HTTP 2.0
·
CS/Network
❒ Description이번에는 HTTP/2.0이 왜 등장했고, 이전 버전과 어떤 차이를 가지는지 공부하자!   ❒ 등장 배경HTTP/1.1의 메시지 포맷은 구현의 단순성과 접근성에 주안점을 두고 최적화되었기 때문에 어느정도 성능은희생시킬 수 밖에 없었다. HTTP/1.1에서 HTTP 트랜잭션은 요청과 응답으로 심플하게 구성되어있는데,응답을 받아야만 다음 요청을 할 수 있기 때문에 회전 지연(RTT: Round Trip Time)을 피할 수 없다는 단점이 있다. 물론 이 문제를 해결하기 위해서 병렬 커넥션, 파이프라인 커넥션 기술이 등장했지만, 각각 제약들도 있었고근본적인 문제가 해결이 되지 못했다. 여기서 근본적인 문제라 함은,  한 번에 하나의 요청만 처리할 수 있다는구조적 한계를 말한다. 이렇게 근..
HTTP Connection Management
·
CS/Network
❒ DescriptionHTTP가 어떻게 TCP 커넥션을 사용하고, TCP 커넥션의 문제점과 이런 부분을 어떻게 관리하는지이해하고 공부해보자!     ❒ 네트워크 지연의 이유HTTP는 TCP 바로 위에 있는 계층이기 때문에 HTTP 트랜잭션의 성능은 그 아래 계층인 TCP 성능에영향을 받는다. 즉, 대부분의 HTTP 네크워크 지연은 TCP 네크워크의 지연 때문에 발생한다.그럼 정확히 어떤 이유 때문에 지연이 발생하는지 알아보자. 1. Hand shake 지연크기가 작은 HTTP 트랜잭션은 50% 이상의 시간을 TCP를 구성하는데 쓴다.왜냐면 핸드셰이크 과정에서 패킷이 오고 가기 때문이다.  2. 확인 응답(ACK) 지연 확인 응답은 크기가 작아서 같은 방향으로 송출되는 데이터 패킷에 확인 응답을 편승(P..
TCP 제대로 이해하기
·
CS/Network
❒ Description전송계층에서 중요하게 알아야 할 TCP의 연결과정에 대해서 깊이있게 공부해보자.   ❒ TCP란?TCP는 TCP/IP 모델의 전송계층의 프로토콜 중 하나이다. 기본적으로 다음의 특징을 가지고 있다.패킷 사이의 순서 보장한다.연결 지향형 프로토콜을 사용하여 신뢰성을 구축한다.가상회선 패킷 교환 방식을 사용한다.💬 가상회선 패킷 교환 방식이란?각 패킷에는 가상회선 식별자가 포함되며 모든 패킷을 전송하면 가상회선이 해제되고패킷들은 전송된 순서대로 도착하는 방식을 말한다. TCP는 "연결 지향형 프로토콜을 사용하여 신뢰성을 구축한다." 라고 했다.연결 지향형 프로토콜은 송신측 & 수신측 컴퓨터가 데이터를 전송하기 전에 먼저 데이터를송수신할 수 있는 신뢰성 있는 연결 통로를 만들고 데이터..
3xx - Redirection Status Code
·
CS/Network
❒ Description이번 주제는 HTTP 상태코드 중에서 리다이렉션에 관련된 300번대에 대해 자세히 알아볼 것이다.주로 301 ~ 308에 대해서 알아볼 것이면 잘 사용되지 않는 300번은 제외 했다.   ❒ Redirection 상태 코드 3xx리다이렉션 상태코드는 요청을 완료하기 위해 클라이언트가의 추가 조치가 필요할 때 내려준다.웹 브라우저는 리다이렉션 응답의 결과에 상태코드와 리다이렉션할 위치를 알려주는 Location 헤더가 있다.일반적으로 리다이렉션 응답의 결과에 Location 헤더 정보를 포함시키는 것은 좋은 습관이라고 한다.  1. 영구 리다이렉션 (301, 308)상태 코드사유 구절의미301Moved Permanently리다이렉트시 요청 메서드가 GET으로 변하고, 본문이 제거(불..
계층별 네트워크 기기
·
CS/Network
❒ Description네트워크 기기는 계층별로 처리 범위를 나눌 수 있다. 그리고 상위 계층을 처리하는 기기는 하위 계층을 처리할 수 있지만,그 반대는 불가능 하다. 이번에는 계층별 네트워크 기기에 대해서 자세히 공부한다.   ❒ 애플리케이션 계층을 처리하는 기기1. L7 스위치L7 스위치는 여러 장비를 연결하고, 데이터 통신을 중재하며 목적지가 연결된 프로토콜만 전기 신호를보내 데이터를 전송하는 통신 네트워크 장비다. L7 스위치는 로드벨런스라고 부르기도 한다.이와 관련된 내용은 깃블로그 참고하기.   ❒ 인터넷 계층을 처리하는 기기1. 라우터라우터란 여러 개의 네트워크를 연결, 분할, 구분시켜주는 역할을 하며 "다른 네트워크에 존재하는 장치끼리서로 데이터를 주고받을 때 패킷 소모를 최소화하고 경로를..
TCP/IP 4계층 모델
·
CS/Network
❒ DescriptionOSI 참조 모델에 대해 알아보고 각각의 계층의 특징을 알아보자.또한 데이터가 어떻게 흐르는지에 대해서도 이해하고 넘어가자.참고로 여기서는 TCP/IP 4계층 모델에 대해서 집중적으로 공부할 것이다.   ❒ OSI  7 계층 & TCP/IP 4 계층1. OSI(Open System Interconnetion) 7 계층깃블로그에 정리해 둔 내용으로 대체OSI란 서로 다른 컴퓨터가 네트워크 구조에 상관없이 통신할 수 있도록 하는 국제 표준이다.  2. TCP/IP 4계층일반적으로 TCP/IP는 TCP와 IP 뿐만 아니라 상위 응용 계층의 프로토콜도 포함된 개념이다.즉, TCP/IP는 인터넷에 접속하는 프로토콜 중에서 가장 중요한 기능을하는 TCP와 IP 또는 여러 프로토콜의 집합을 말..