웹을 사용하다 보면 이미지, CSS, JavaScript 파일을 반복해서 다운받는 경우가 많다. 매번 서버에 요청하고 대기하는 것은 시간과 자원의 낭비이다. 캐시는 이런 문제를 해결하기 위해 등장한 기술로, 웹 성능 최적화의 핵심이다. 캐시의 동작 원리부터 고급 활용법까지 어떤 식으로 이루어지는지 알아보자. 참고로 Cash가 아니라 Cache이다. 왜 캐시를 사용할까? 네트워크 병목 현상문제: 매번 서버에서 데이터를 가져오면 네트워크 대기 시간이 발생한다.ex) 1MB의 이미지를 다운로드하는 데 0.5초가 걸린다면 10번 요청했을 경우 5초가 소요된다.해결: 캐시를 사용하면 첫 번째 요청 이후엔 로컬 저장소에서 바로 데이터를 가져온다. 트래픽 비용 절감문제: 대용량 콘텐츠(동영상, 이미지)를 반복 ..
Network

네트워크 관리사 2급을 취득하면서 공부했던 문제를 다시 한 번 짚어보겠다. 서브넷팅 IPv4는 32bit(4byte) 길이로 구성된 논리적 주소체계이다. 우리가 흔히 확인하는 이런 cmd에서 볼 수 있는 ip주소는 10진수 체계이다. 2진수로 바꾸면 11000000.10101000.00111000.00000001이 된다. 서브넷 마스크는 IP 주소를 네트워크 부분과 호스트 부분으로 나누는 데 사용된다. 네트워크 영역을 분리시킨다고 생각하면 된다. 1로 설정된 비트는 네트워크를 나타내고 0으로 설정된 비트는 호스트를 나타낸다. 서브넷마스크는 네트워크의 범위를 설정하고 IP 주소의 유효 범위를 제한하여 효율적인 IP 관리와 보안을 가능하게 한다. 그렇다면 서브넷팅이란 무엇일까? 서브넷팅..

AWS 서비스를 이용하면서 Network Firewall이라는 서비스를 건드리게 되었다. 그러다가 문득 방화벽에 대한 궁금함이 생겨 공부하게 되었다. 간단하게 알아보자. 더 깊은 지식들은 앞으로 공부하면서 또 포스팅 하겠다. 방화벽이란? 현실세계에서 방화벽이란 말그대로 불을 막는 벽이란 뜻이다. 화재가 났을때 다른 곳으로 불이 번지지 않게 하는 벽이다.IT 용어에서 방화벽이란 어떤 의미일까? 방화벽은 네트워크 보안을 담당하는 중요한 장치로 외부에서 들어오는 트래픽을 검사하고 그 트래픽이 안전한지 아닌지 판단해서 내부 네트워크를 보호하는 역할을 한다. 집에 현관문을 설치해서 문을 통해 들어오는 사람이 누군지 확인하고, 허락된 사람만 들어오게 하며 의심스러운 사람은 막는 역할을 하는 것이다. 방..

이번 시간엔 정말 중요한 패킷의 생성 원리와 캡슐화에 대해 조금 더 심층적으로 배워보는 시간을 가져보겠다. 네트워크에 대한 설명을 이해할 수 있는 기본지식이 있다는 걸 가정하고 설명하겠다. 먼저 설명에 앞서 전체적으로 이해를 위한 그림을 첨부하겠다. 글이 읽기 부담스러우면 마지막에 전체적인 과정을 재정리한 부분만 봐도 된다. 프로그램과 네트워크 통신의 시작 모든 네트워크 통신은 사용자 모드 애플리케이션 프로세스(User Mode Application Process)에서 시작된다. 예를 들어, 우리가 웹 브라우저를 사용할 때, 웹 페이지를 요청하는 것은 브라우저(사용자 모드 애플리케이션)가 서버에 데이터를 요청하는 과정에서 시작된다. 이 애플리케이션은 소켓을 통해 네트워크와 통신한다. 소..
네트워크를 접하다 보면 NAT라는 용어가 많이 나온다. AWS에서도 NAT 게이트웨이라는 서비스가 있다. 중요하지만 뭔가 모호하게 기억하는 것 같아서 다시 공부하는 김에 포스팅을 해보겠다. 사실 NAT 기술의 범위는 더 방대하지만 주로 사용하는 용도는 내부 네트워크의 장치들이 외부 네트워크와 통신할 수 있도록 하기 위함이다. NAT의 개념 NAT는 네트워크 주소 변환(Network Address Translation)의 줄임말이다. NAT를 사용하는 이유는 주로 사설 네트워크에 속한 여러 호스트가 하나의 공인 IP 주소를 사용하여 인터넷에 접속하기 위함이다. IP에는 퍼블릭 IP와 프라이빗 IP가 있는데 이것들은 IPv4 주소의 낭비를 막고 공인 인터넷을 사용하지 않아도 되는 엔드포인트들에게 어떤 망이든..

네트워크를 공부하다 보면 프록시란 단어가 계속 나온다. 질리도록 나오고 꼭 필수로 알아야 하는 개념이다. 프록시의 대표적인 예시로 VPN 서버가 있다. 대표적인 예시로 유튜브를 보다 보면 어떤 콘텐츠는 한국에서는 볼 수 없지만 미국에서는 볼 수 있는 경우가 있다. 이럴 때 프록시 서버를 이용해 미국 서버를 통해 접속하면 해당 콘텐츠를 볼 수 있다. 이런 방법은 지역 제한을 우회하는 데 사용된다. 물론 VPN은 보안과 프라이버시 측면에서 더 높은 수준의 보호를 제공하나 어쨋든 프록시 역할을 한다. 그렇다면 프록시가 뭘까? 네트워크의 다양한 구조 중 꼭 알아야 할 구조가 있다. 인라인, 인라인인데 out of path, 그리고 어플리케이션 프록시 구조이다. 이는 뒤에 설명하겠다. 여기서 한 대의 ..

스위칭 라우팅이란 다양한 방법으로 경로 정보를 얻고 그 정보 중 최적의 경로로 생각되는 경로를라우팅 테이블에 올려 유지하는 방법이다. 이런 최적 경로 정보를 유지하는 것은 라우터에 패킷이 들어왔을 때 라우터가 최선의 경로로 패킷을 빨리 포워딩하는 것을 도와주기 위해서다. 패킷이 들어와 라우팅 테이블을 참조하고 최적의 경로를 찾아 라우터 외부로 포워딩(전달)하는 작업을 스위칭이라고 한다. 이 그림을 보자. 라우팅 테이블과 패킷 스위칭에 대한 그림이다. 10.1.1.9 ip가 목적지인 패킷이 라우터로 들어온 경우, 라우터는 도착지 ip와 가장 가깝게 매치되는 경로 정보를 찾는다. 롱기스트 프리픽스 매치 기법을 이용해 갖고 있는 경로 정보 중 가장 가까운 경로를 선택한다. ※ 롱기스트 프리픽스 매치란 라우터..

라우터란? 라우터는 3계층에서 동작하는 여러 네트워크 장비의 대표격으로 그 이름처럼 경로를 지정해주는 장비이다. 라우터에 들어오는 패킷의 목적지 IP 주소를 확인하고 자신이 가진 경로 정보를 이용해 패킷을 최적의 경로로 포워딩한다. 쉽게 설명하자면 원격지 통신이 매우 중요한 시대에서 라우터는 필수 네트워크 장비이고 네트워크를 구성하는 핵심 장비이기 때문에 네트워크를 공부한다면 무조건 알아야 한다. https://pinokio0702.tistory.com/35 [네트워크] OSI 계층 구조이 글은 아래의 블로그를 통해서 가져온 글입니다. 블로그를 참고하면서 공부해나가는 방식이 재미있습니다. https://blog.lael.be/post/107 OSI 7계층 중 홉 단위로 수행되는 계층과 종단간 수행되..