728x90
반응형

네트워크 5

프록시 캐시와 캐시 무효화

Intro 본 포스팅에서는 프록시 캐시와 캐시 무효화에 대해 다룬다. 프록시 캐시 원(origin) 서버에 직접 접근 원 서버에 클라이언트가 직접 접근하여 리소스를 받게 되면 병목현상이 일어날 수 있다. 프록시 캐시 도입 첫 번째 요청 첫 번째 요청에는 프록시 서버를 거쳐서 원 서버로 요청이 가게 된다. 첫 요청에는 프록시 서버에 리소스가 없으므로 당연한 결과이다. 그리고 원 서버로부터 응답이 오게 되면, 캐시 서버는 이를 캐시로 저장한다. 두 번째 요청 두 번째 요청 시에는 프록시 캐시 서버가 클라이언트들에게 응답을 함으로서 더 빠른 속도로 응답할 수 있다. 이렇게 프록시 캐시 서버에서 저장할 수 있는 캐시를 public 캐시라고 한다. 반면에 클라이언트가 보유하고 있는 캐시는 private 캐시이다...

CS/Network 2023.10.07

검증 헤더와 조건부 요청1

Intro 본 포스팅에서는 검증 헤더와 조건부 요청에 대해 다룬다. 캐시 시간 초과 캐시 유효 시간이 초과해서 서버에 다시 리소스를 요청하면 다음 두 가지 상황이 나타난다. 서버에서 기존 데이터를 변경하지 않은 경우 서버에서 기존 데이터를 변경한 경우 서버에서 데이터를 변경하지 않은 경우 그렇다면, 데이터를 전송해서 새로 받는 대신에 저장해 두었던 캐시를 재사용 할 수 있다. 단, 클라이언트의 데이터와 서버의 데이터가 같다는 사실을 확인할 수 있는 식별자가 필요할 것이다. 첫 번째 요청 첫 번째 요청을 받은 서버는 클라이언트에게 리소스를 보낸다. 이 때, Last-Modified라는 필드에 날짜 값을 넣어서 보내게 된다. 이 값을 통해 해당 리소스의 최종 수정일을 알 수 있다. 웹 브라우저는 수신한 리소..

CS/Network 2023.10.07

캐시 기본 동작

Intro 본 포스팅에서는 캐시 기본 동작에 대해 다룬다. 캐시의 필요성 클라이언트는 웹 서버에 다양한 리소스를 요청하고, 이를 요청하는 클라이언트는 다수이다. 이 때 캐시가 있는 상황과 없는 상황을 가정하고 캐시가 필요한 이유에 대해 학습할 수 있다. 캐시가 없을 때 첫 번째 요청 캐시가 없는 상황에서, 클라이언트가 star.jpg라는 이미지 파일을 서버에 요청해서 받아오는 상황이다. 서버가 클라이언트로부터 GET요청을 받고 이미지 리소스를 돌려주는데 이 때 데이터의 크기는 1.1M로, 헤더 0.1M과 이미지 파일 본체인 바디는 1.0M로 이루어져있다. 두 번째 요청 클라이언트로부터 몇번의 요청이 오든 서버에서는 같은 1.1M 크기의 파일을 전송한다. 데이터가 변경되지 않아도 계속 네트워크를 통해 데이..

CS/Network 2023.10.07

TCP, UDP

Intro 본 포스팅에서는 전송계층 프로토콜인 TCP, UDP 에 대해 다룬다. 인터넷 프로토콜 스택의 4계층 인터넷 상에서 통신을 주고 받을 때, 기본적으로 이 네 계층을 통해서 통신을 주고 받는다고 볼 수 있다. 통신 Overview 한 clinet가 "Hello, world!"라는 메시지를 인터넷 망에서 보내려고 할 때, 이 data payload가 각 계층을 지나간다. 이 때, 각 계층을 통과하며 header가 encapsulate된다. application layer에서는 socket library를 통해 전달된다. 전송 계층에서는 TCP/UDP 등의 header를 붙인다. 인터넷 계층에서는 IP header를 붙인다. 최종적으로 네트워크 인터페이스 계층에서는 MAC 주소를 기반으로 ethern..

CS/Network 2023.10.02

About ARP

Previous Posts About IP Address About MAC Address ARP? Address Resolution Protocol 네트워크 상에서 IP address에 대응하는 MAC address를 찾기 위해 사용되는 프로토콜이다. 이 프로토콜을 사용하여 매핑된 IP address와 MAC address의 쌍은 ARP table에 저장된다. ARP는 plub-and-play라는 특징을 가진다. 즉, 특별한 설정 없이 바로 사용 가능하다는 의미이다. Procedure LAN에 존재하는 한 host A가 host B의 IP address를 알고 있고, MAC address를 알고자 한다. host A가 LAN에 물려있는 모든 host에게 ARP request packet을 보낸다. (br..

CS/Network 2023.09.19
728x90
반응형