공부한 이야기/네트워크

    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 어..

    1% 네트워크 I : 웹 브라우저가 메시지를 만든다

    I : 웹 브라우저가 메시지를 만든다 1% 네트워크 원리 을 읽고 정리한 문서입니다 ;) HTTP 리퀘스트 메시지를 작성한다 브라우저가 가장 먼저 하는 일은 입력된 URL을 해석하는 것이다. 입력된 URL을 잘게 파츠별로 나눈다. 맨 앞 부분은 해당 URL에 액세스하는 방법을 명시하며, 이에 따라 후속 해석도 결정된다. 이 해석을 통해 어디에 액세스해야하는지가 판명나게 된다. 이러한 액세스 지점은 파일명이나 CGI 프로그램 파일명이다. 이 액세스 대상을 통칭하는 말이 URI 이다. URL : Uniform Resource Locator URI : Uniform Resource Identifier HTTP프로토콜은 웹서버에서 클라이언트와 서버가 주고받는 메시지와 순서를 정한 것이다. HTTP 메서드로는 리..

    모두의 네트워크 IX : 무선 랜 이해하기

    IX : 무선 랜 이해하기 모두의 네트워크 을 읽고 정리한 문서입니다 ;) 모두의 네트워크 IX : 무선 랜 이해하기 Lesson 35 : 무선 랜의 구조 무선 랜은 케이블로 직접 연결하지 않아 편리하고, 케이블의 제약 사항에 영향을 받지 않는다. 대신 통신이 유선보다 불안정할 수 있으며, 보안이 더욱 취약하다는 단점이 있다. 무선 랜은 무선 액세스 포인트 (Wireless Access Point) 와 무선 클라이언트로 구성된다. 컴퓨터가 무선 네트워크로 통신하려면 무선 랜 칩과 무선 랜 어댑터가 필요하다. 무선 랜을 연결하는 방식에는 두 가지 방법이 있다. 인프라스트럭처 (Infrastructure) 방식 WAP (무선 액세스 포인트) 를 통해 접속하는 방식 애드혹 (Ad Hoc) 방식 WAP가 없이 ..

    모두의 네트워크 VIII : 네트워크의 전체 흐름 살펴보기

    VIII : 네트워크의 전체 흐름 살펴보기 모두의 네트워크 을 읽고 정리한 문서입니다 ;) 모두의 네트워크 VIII : 네트워크의 전체 흐름 살펴보기 Lesson 32 : 랜 카드에서의 데이터 전달과 처리 웹 사이트에 접속하려 할 때는 응용 계층부터 시작하여, URL을 입력하고 엔터를 누른 순간 캡슐화가 시작된다. DNS 를 통해 서버 IP를 알아내고, 3-Way 핸드셰이크를 통해 연결을 수립한다. 이후 HTTP 프로토콜에 맞추어 HTTP 메시지를 작성하고 이를 전송 계층으로 보낸다. 전송 계층에서는 여기에 TCP 헤더를 붙여, 출발지와 도착지 포트 번호 등을 설정하여 아래 네트워크 계층으로 보낸다. 네트워크 계층에서는 이 세그먼트를 전달받아 출발지와 도착지 IP 등이 들어간 IP 헤더를 붙이고, 이는 ..