목록전체 글 (111)
Shine's dev log

1. Cookie 쿠키는 문자와 숫자의 조합으로 된 작은 파일이다. 서버는 쿠키를 통해서 클라이언트를 식별하고 이에 맞춰 다양한 서비스를 제공한다. 아마존 사이트에 들어가면 내가 보았던 상품 목록들을 보여 주는데, 이런 것들이 모두 쿠키를 이용하기 때문에 가능한 것이다. 사용자가 특정 사이트에 처음 접속하면, 그 사이트 서버는 사용자에게 Cookie header라는 숫자를 부여해준다. 브라우저는 부여받은 Cookie header와 사이트 이름을 조합하여 만들어진 쿠키 파일을 사용자의 컴퓨터에 저장한다. 이후 사용자가 그 사이트에 접속할 때마다 해당 쿠키파일을 보내주면 서버는 이를 통해 사용자를 식별할 수 있다. 전체적인 동작 과정은 아래 그림과 같다. 위의 내용들을 종합해보았을 때, 쿠키를 사용하려면 다..

1. 웹과 HTTP 웹 페이지는 HTML file + referenced object 로 이루어져 있는데, 이 때 각 object들은 URL을 통해 reference 되는 구조이다. 여기서 URL이란, Uniform Resource Locator의 약자로 아래 그림과 같은 구조로 이루어져 있다. 2. HTTP HTTP(Hyper Text Transfer Protocol)는 Application layer의 여러 프로토콜 중 하나로 주로 웹에서 많이 쓰이는 프로토콜이다. HTTP 프로토콜을 통해 우리는 웹사이트에서 다양한 활동을 할 수 있다. HTTP의 특징은 다음과 같다. 1) HTTP는 TCP와 짝지어져 있다. : 처음에 TCP가 연결을 맺으면 이후 HTTP 메시지가 교환되는 구조이다. TCP를 통해 ..

1. Application layer TCP/IP 네트워크 프로토콜 스택에서 가장 상위 레이어를 담당하고 있는 놈이 Application Layer이다. Application layer는 그 이름에 걸맞게 end system 들에게 여러가지 서비스를 제공거나 받는 부분을 책임진다. 즉, 이메일, 웹서핑 등과 같은 서비스를 제공하고 제공받기 위해서 어떤 형식으로 메시지를 주고 받아야 하는지의 프로토콜들이 모여있는 레이어라고 생각하면 된다. 대부분의 Application layer에서는 Client-Server 구조로 이루어져 있다. Client는 서비스를 제공 받는 호스트를 의미하고, Server 는 서비스를 제공해주는 호스트를 의미한다. Client-Server 구조 외에도 P2P (Peer 2 Peer..
1. 패킷의 지연 (Packet delay) network core에서 라우터를 통해 패킷들이 전달된다는 것을 알고 있다. 패킷들이 전송되는 과정에서 막힘없이 전송되면 가장 좋겠지만, 실제 환경에서는 여러가지 요인들로 인해 지연이 발생한다. 패킷이 지연되는 요소는 아래와 같이 크게 4가지로 생각해볼 수 있다. 1) Processing delay 2) Queueing delay 3) Transmission delay 4) Propagation delay 즉 패킷이 전송될 때 발생되는 총 지연인 Nodal delay = Processing delay + Queueing delay + Transmission delay + Propagation delay 인 것이다. 2. Processing delay Proc..

1. 네트워크 구성 우리가 항상 사용하는 스마트폰과 PC는 네트워크와 연결되어 있어 다양한 일들을 할 수 있다. 막연히 그냥 서로 연결되어 있다고 생각하면 마음이 편하지만, 그래도 네트워크가 어떻게 구성되어 있는지 조금 더 자세하게 살펴보자. 네트워크는 크게 3가지로 구성되어 있다. 1) 네트워크 엣지 (Network edge) 2) 엑세스 네트워크 (Access network) 3) 네트워크 코어 (Network core) 각각의 네트워크 구성요소들이 어떤 기능을 하는지 알아보자. 2. 네트워크 엣지 (Network edge) 네트워크의 가장 가장자리이다. 여기에는 수많은 end system들이 존재한다. 여기서 end system이란 host 라고 생각하면 되는데, host는 클라이언트나 서버를 뜻한..

0. ext4 파일 시스템 지난번에 ext4 파일 시스템의 전체적인 구조에 대하여 살펴보았다. ext4는 전체 파티션을 여러개의 블록그룹으로 나누고, 각각의 블록그룹에는 슈퍼블록, 그룹 디스크립터 테이블, 데이터블록 비트맵, 아이노드 비트맵, 아이노드 테이블, 데이터 영역이 존재한다고 하였다. 또한, ext3 부터는 파일의 변경사항 추적을 위해 저널링(Journaling) 기능이 생겼다는 것도 알 수 있었다. 이번에는 이 저널링 기능을 통해 삭제된 파일을 복구하는 방법을 알아보자. 1. 저널영역 (Journal Area) 우선, 저널영역의 위치를 알아야 하는데, 이는 inode 8번에 저장되어 있다. inode 8번 파일에는 저널 영역에 대한 주소값이 저장되어 있다. 저널영역은 위의 그림과 같이 하나의 ..