공부한 이야기

    사진 파일에 GPS 좌표가 들어있다고?

    카카오톡으로 다운로드받은 사진에는, 당연하지만.. 그 사진이 언제 찍혔는지에 대한 정보가, 담겨있지 않다. 같이 여행간 친구가 올린 사진을 카카오톡을 통해 다운받으면, 그 사진들은 다운받은 날짜에 생성된 사진으로 인식되어 버린다. 이는 리눅스 시스템이나 윈도우 OS단에서 파일생성시각과 관련 있는 것일까? 이래저래 살펴보다가, EXIF editor를 통해 이를 수정할 수 있는 걸 알았다. 그럼 이제, EXIF에는 어떤 데이터들이 포함되어 있는 걸까? EXIF(Exchangeable Image File Format) 데이터는 디지털 사진에 포함되어 있으며, 사진이 촬영될 때 카메라에 의해 자동으로 기록되는 다양한 메타데이터를 포함한다. 촬영 날짜와 시간, 사진의 해상도같은 기본적인 정보부터, 렌즈의 종류, ..

    amazon linux?

    amazon linux는 AWS에서 ec2를 띄워 보려고 할 때 처음으로 접해보는 이미지이다. AWS를 사용하기 전의 내 세상에서는 debian(ubuntu) 세상과 centos(redhat) 세상만 존재하기에, 둘의 차이점만 알면 그래도 충분하다 생각했는데, 이제는 저 둘의 이미지보다도 amazon linux를 사용하는 빈도가 늘게 되었다. 그런데도 여기는 'yum' 패키지 관리이니까 redhat 계열쪽이겠구나, 만 추측한 채로 몇번이고 서버를 세팅하기만을 반복했다. 그래서 이번 기회에 amazon linux에 아주 조금이라도 더 알아보기로 했다. - amazon linux는 RHEL 계열이다? 'yum'을 대표적으로 보면 맞는 말같기도 하지만, 다만.. amazon 은 이 질문에 대해 '그 어느 리눅..

    tar 포맷은 어떤 포맷일까?

    리눅스 서버를 많이 다뤄 보면서, 그만큼 `tar` 확장자를 가진 파일들도 자주 접해 보았다. 하지만 여태 나는 그저, 리눅스에서 역사적으로 자주 쓰는 하나의 압축 포맷이구나. 라고만 생각하고, 깊게 짚어보지 않았다. 그리고, 리눅스 서버에서 이번에 zip 압축을 해제하기 위해 unzip 패키지를 설치하면서, 도대체 왜 리눅스에서는 zip을 안쓰고 tar같은걸 쓰는걸까.. 이런 생각이 들어, 찾아보게 되었다. tar는 압축이 아니라 아카이브! 가장 크게 오해하고 있었던 내용이다. tar 형식은 압축이 아닌, 아카이브 포맷이다. 그저, 파일들을 한 데 묶어주는 역할을 할 뿐이었다. 이름부터가 tape archive 의 약자로서, 자기테이프 백업을 위한 포맷이라고 한다. 메타데이터 및 소유권이 유지된다. 리..

    1% 네트워크 VI : 웹 서버에 도착하여 응답 데이터가 웹 브라우저로 돌아간다

    VI : 웹 서버에 도착하여 응답 데이터가 웹 브라우저로 돌아간다 1% 네트워크 원리 을 읽고 정리한 문서입니다 ;) 서버의 개요 서버 머신은 용도에 따라 다양한 종류가 있으며, 하드웨어나 OS 부분은 클라이언트와 다른 것도 있지만, 네트워크에 대한 장비와 구성은 클라이언트와 조금도 다르지 않다. 사용하는 방법까지 같은 것은 아닌데, 서버의 어플리케이션은 동시에 다수의 클라이언트와 대화해야 하기 때문이다. 하나의 프로그램으로 여러 클라이언트들의 상태를 처리하기에는, 어느 클라이언트와 어디까지 대화가 진행되고 있는지를 파악해야 하기 때문에 쉽지 않다. 따라서, 클라이언트가 접속할 때마다 새로 서버 프로그램을 작동하여 서버 어플리케이션과 클라이언트를 1:1로 대화시키는 것이 일반적이다. 서버 프로그램을 접속..

    1% 네트워크 V : 서버측의 LAN에는 무엇이 있는가

    V : 서버측의 LAN에는 무엇이 있는가 1% 네트워크 원리 을 읽고 정리한 문서입니다 ;) 웹서버의 설치장소 요즈음의 인터넷 환경에서는 위협의 증가와 IP 주소의 부족으로 인해 서버 앞 단에 방화벽을 두는 것이 일반적이다. 이는 특정 서버에서 동작하는 특정 어플리케이션에 액세스하는 패킷만 통과시키고, 나머지는 차단한다. 프로바이더 등이 운영하는 데이터센터 시설에 서버를 설치하는 경우도 존재한다. 이 경우 NOC에 직접 접속되었거나 IX에 고속 회선으로 접속되어 있기에 쾌적환 네트워크 환경이 보장된다. 하지만 어떠한 경우라도, 패킷은 라우터에서 중계되고 최종적으로 서버에 도착한다는 점은 달라지지 않는다. 방화벽의 원리와 동작 방화벽의 기능을 수행할 다양한 방법이 고안되었지만, 성능과 가격, 편의성 등의 ..

    1% 네트워크 III : 케이블의 앞은 LAN 기기였다

    III : 케이블의 앞은 LAN 기기였다 1% 네트워크 원리 을 읽고 정리한 문서입니다 ;) 케이블과 리피터, 허브 속에 신호가 흘러간다 LAN 어댑터의 PHY (MAU) 회로에서 전기 신호로 형태를 바꾼 패킷은 RJ-45 커넥터를 통해 UTP (트위스트 페어 케이블)에 들어간다. 송출한 신호는 그대로의 모습으로 다음 기기에 도착하는 것이 아니라, 신호가 약해지고 왜곡이 생기는데, 이는 주변에 전자파가 금속 등의 도전체에 닿으면 전류가 발생하기 때문이다. 이러한 현상을 최소화 하기 위해 UTP 케이블 내부 선들은 두 가닥씩 꼬여 있다. 크로스토크 (crosstalk)라고 하는 내부 선끼리 잡음을 유발시키는 것 또한 선을 마주 꼬아 플러스와 마이너스 균형을 맞추어 해결한다. 이것보다 확실한 방법으로, 신호..

    1% 네트워크 II-I IP와 이더넷의 패킷 송수신 동작

    II-I IP와 이더넷의 패킷 송수신 동작 1% 네트워크 원리 을 읽고 정리한 문서입니다 ;) IP와 이더넷의 패킷 송수신 동작 패킷의 기본 패킷은 헤더와 데이터의 두 부분으로 구성된다. 헤더가 붙은 이상, 상위 계층에서 받은, 그 뒤에 붙은 데이터는 그저 바이너리 데이터로 보기 때문에, 이 것이 어떠한 프로토콜이든, 오류가 있던 전혀 상관하지 않고, 그저 이 데이터의 타입만 헤더로 적어놓게 된다. 패킷의 헤더를 조사하면 패킷의 목적지를 판단할 수 있고, 이 주소는 라우팅 테이블과 조합되면 어느 케이블로 가야 하는지를 알 수 있기에, 다음 중계 장치로 도착할 수 있는 것이다. 이렇게 요청을 보내면 거의 같은 경로로 회답 패킷이 오가는 것이 일반적이므로, 송수신 측을 구분하기보다는 둘 다 엔드 노드로 보는..

    1% 네트워크 II : TCP/IP의 데이터를 전기 신호로 만들어 보낸다

    II : TCP/IP의 데이터를 전기 신호로 만들어 보낸다 1% 네트워크 원리 을 읽고 정리한 문서입니다 ;) 소켓을 작성한다 TCP/IP 소프트웨어의 계층을 보면 다음과 같다. 네트워크 어플리케이션이 최상위에 존재한다. 웹 브라우저, 메일러, 웹 서버, 메일 서버 등 소켓 라이브러리가 어플리케이션과 OS 사이에 위치한다. 이 단계에 DNS 리졸버 또한 존재한다. OS 단계, 즉 프로토콜 스택은 두 계층으로 나뉜다. TCP / UDP 계층에서는 커넥션을 사용하여 통신할 것인지에 따라 캡슐화가 달라진다. IP 계층에서는 위 계층을 타고 온 데이터를 IP 주소를 통해 경로를 결정하여 패킷을 보낸다. 드라이버 소프트웨어 계층에서 LAN 드라이버가 LAN 어댑터를 제어한다. 기기에 하드웨어로 존재하는 LAN 어..