본문 바로가기
반응형

분류 전체보기350

성공과 실패를 결정하는 1%의 네트워크 원리 4장: 액세스 회선과 프로바이더의 탐험 Chapter 4. 액세스 회선을 통해 인터넷의 내부로 패킷이 인터넷 접속용 라우터를 경유하여 인터넷 안으로 들어가 진행해 가는 모습을 살펴본다. 01. ADSL 기술을 이용한 액세스 회선의 구조와 동작 1. 인터넷의 기본은 가정이나 회사의 LAN과 같다. 인터넷의 내부에는 수만 대 이상의 라우터가 있고, 이것이 수신처 IP 주소를 바탕으로 중계 대상을 판단하며 패킷을 중계한다. 즉 가정이나 회사의 LAN 규모가 커진 것이 인터넷이다. 인터넷은 가장 가까운 전화국에만 도착하려고 해도 수백만 킬로미터로 이더넷 케이블로 연결하기 어렵다. 인터넷의 라우터는 경로 정보가 10만개 이상 들어있으며, 정보가 시시각각 변화하므로 이 부분을 자동화해야 한다. 이런 거리의 차이와 경로 정보의 등록 방법의 차이가 인터넷과.. 2023. 1. 31.
성공과 실패를 결정하는 1%의 네트워크 원리 3장: 허브, 스위치, 라우터 Chapter 3. 케이블의 앞은 LAN 기기였다. 케이블이 송출한 패킷이 리피터 허브, 스위칭 허브, 라우터 등의 네트워크 기기를 경유하여 인터넷을 향해 진행하는 부분을 살펴본다. 01. 케이블과 리피터, 허브 속을 신호가 흘러간다. 1. 하나하나의 패킷이 독립된 것으로 동작한다. 컴퓨터에서 송신된 패킷은 패킷의 헤더에 기록된 제어 정보와 중계 장치(허브, 라우터)의 내부에 있는 중계 대상을 등록한 표로 목적지를 판단하고 목적지에 가까워지도록 하여 패킷을 중계한다. 애플리케이션의 데이터나 TCP 헤더는 패킷을 운반하는 동작에 영향을 주지 않는다. 클라이언트 PC가 LAN에 접속되어 있다고 가정. 즉 PC가 송신한 패킷이 리피터 허브, 스위칭 허브, 라우터를 경유하여 인터넷에 나가는 것으로 간주한다. .. 2023. 1. 28.
성공과 실패를 결정하는 1%의 네트워크 원리 2장: 프로토콜 스택, LAN 어댑터 Chapter 2. TCP/IP의 데이터를 전기 신호로 만들어 보낸다. 이번장에서는 OS에 내장된 네트워크 제어용 소프트웨어(프로토콜 스택)와 네트워크용 하드웨어(LAN 어댑터)가 브라우저에서 받은 메시지를 서버에 송출하는 동작을 탐험한다. 01. 소켓을 작성한다. 1. 프로토콜 스택의 내부 구성 애플리케이션의 아랫부분에는 Socket 라이브러리가 있으며, 그 안에는 리졸버가 내장되어 있다. 리졸버가 DNS 서버에 조회하는 동작을 실행한다. OS의 내부에는 프로토콜 스택이 있다. 프로토콜의 스택 윗부분에는 TCP라는 프로토콜을 사용하여 데이터 송,수신을 담당하는 부분과 UDP라는 프로토콜을 사용하여 데이터 송,수신을 담당하는 부분이 있다. 이 둘이 애플리케이션에서 보낸 의뢰를 받아 송,수신 동작을 실행한.. 2023. 1. 26.
성공과 실패를 결정하는 1%의 네트워크 원리 1장: 웹 브라우저 Chapter 1. 웹브라우저가 메시지를 만든다. 01. HTTP 리퀘스트 메시지를 작성한다. 1. 탐험 여행은 URL 입력부터 시작한다. 브라우저에서 URL을 입력하는 것으로부터 여행이 시작된다. URL은 http:로부터 시작하는 것, ftp:로 시작하는 것, mailto:로 시작하는 것 등 여러가지가 있다. 이들은 모두 프로토콜이며 통신 동작의 규칙을 정한 것이다. 웹 서버나 FTP 서버에 액세스 하는 경우에는 서버의 도메인 명이나 액세스하는 파일의 경로, 서버 포트 번호 등을 URL에 포함한다. 도메인은 google.com, www.naver.com 등을 말한다. 2. 브라우저는 먼저 URL을 해독한다. 브라우저가 처음 하는 일은 웹 서버에 보내는 리퀘스트의 메시지를 작성하기 위해 URL을 해독하는.. 2023. 1. 20.
인터럽트 인터럽트 오늘날의 운영체제는 입출력 시 인터럽트를 이용해 시스템의 효율을 높인다. 인터럽트 처리는 입출력뿐만 아니라 시스템을 보호하는 데 매우 중요한 작업이다. 오늘날의 프로그래밍에서는 버튼이 눌렸는지 안 눌렸는지 주기적으로 확인하는 대신 버튼이 눌리면 프로세스에 알려주는데, 이를 이벤트 드리븐(Event Driven)이라고 한다. 운영체제에서의 입출력 처리도 이와 똑같다. 과거에는 입출력장치가 거의 없었으므로 입출력을 요청하면 운영체제가 주기적으로 입출력장치를 직접 확인해서 처리했다. 이러한 방식을 폴링이라고 한다. 하지만 다양한 입출력장치가 개발되어 운영체제가 모든 입출력을 관리하기 어려워지자 이벤트 드리븐 방식과 마찬가지로 입출력을 요청하고 입출력이 완료되면 이벤트를 발생시켜 이 사실을 알리게 되었.. 2022. 12. 28.
그레이들의 빌드 (Gradle Build) 이번 시간에는 그레이들의 빌드에 대해 알아보겠습니다. 빌드란 무엇인가 소프트웨어는 빌드는 소스 코드 파일을 컴퓨터에서 실행할 수 있는 독립 소프트웨어 가공물로 변환하는 과정 또는 그 결과를 말한다. 빌드 대상이 되는 소스 코드의 언어 종류에 따라 빌드 프로세스나 생성되는 결과물이 다르다. 빌드 툴은 컴파일부터 결과를 생성까지의 프로세스를 실행한다. 하지만 컴파일이 필요한 언어의 빌드에만 국한되는 것은 아니다. 지정한 디렉터리의 파일을 별도의 디렉터리에 복사한다. 지정한 애플리케이션을 실행한다. 같은 처리도 빌드 프로세스에 넣을 수 있다. 빌드 대상에 어떤 액션을 취하는 것, 이것이 빌드 툴에서 말하는 빌드다. 그레이들에서는 실행 단위를 태스크라고 부른다. 이 태스크를 실행하는 것을 빌드라고 하며, 빌드를.. 2022. 12. 15.
반응형