구매문의 및 도서상담은 031-944-3966(매장)으로 문의해주세요.
매장전집은 전화 혹은 매장방문만 구입 가능합니다.
지은이 : 도네 쓰토무
네트워크 엔지니어, IT 전문 작가. 사내 업무 시스템 개선 작업을 맡아 이더넷 기반의 LAN 환경을 자력으로 구축했다. 당시 이더넷은 아직 일반화되지 않았고, 시판 제품도 드물었기에 많은 제조업체로부터 시제품 수준의 LAN 어댑터와 케이블을 확보해 기기 연결과 초기 프로토콜 테스트를 직접 수행했다. 외국계 네트워크 장비 제조업체 및 일본의 네트워크 통합 업체에서 다양한 업무를 경험했다. 제품 개발, 기술 컨설팅, 시스템 통합 등 네트워크 인프라 전반에 걸친 업무를 진행하며 실력을 쌓았다. 직장 생활과 강연 및 집필 활동을 함께하다가 1998년에 독립했다. 현재는 저술 및 기술 자문을 주로 한다. 개인 웹 사이트를 운영 중이며, 여기서 네트워크 기술 전반은 물론이고 본인이 집필한 책과 관련한 질문에 답을 주고 있다. 또한 책에서 미처 다루지 못한 내용을 싣기도 한다. 주요 저서로는 《네트워크의 사고방식》 《완전 이해 TCP/IP 네트워크》 《기초부터 익히는 리눅스 인터넷 서버 구축》 등이 있다.
들어가는 말
네트워크를 따라가는 탐험
이 책에서 해설할 주요 키워드
제1장 웹 브라우저가 만드는 메시지
브라우저 내부 탐험하기
1.1 HTTP 요청 메시지 작성하기
1.1.1 URL을 입력하는 데서 시작되는 탐험
1.1.2 브라우저는 먼저 URL을 해독
1.1.3 파일명을 생략한 경우
1.1.4 HTTP의 기본적인 작동 방식
1.1.5 HTTP 요청 메시지 만들기
1.1.6 요청을 보내면 되돌아오는 응답
1.2 DNS 서버에 웹 서버의 IP 주소 질의하기
1.2.1 IP 주소의 기본
1.2.2 도메인명과 IP 주소를 구분해 사용하는 이유
1.2.3 IP 주소를 찾는 기능은 Socket 라이브러리가 제공
1.2.4 리졸버를 이용해 DNS 서버에 질의하기
1.2.5 리졸버 내부의 움직임
1.3 연계하는 전 세계의 DNS 서버
1.3.1 DNS 서버의 기본 작동
1.3.2 도메인의 계층
1.3.3 담당 DNS 서버를 검색해 IP 주소를 취득
1.3.4 DNS 서버는 캐시 기능으로 빠르게 회답
1.4 프로토콜 스택에 메시지 송신 의뢰하기
1.4.1 데이터 송수신 작동의 개요
1.4.2 소켓을 만드는 생성 단계
1.4.3 파이프를 연결하는 접속 단계
1.4.4 메시지를 주고받는 송수신 단계
1.4.5 종료 단계에서 송수신은 끝
COLUMN 실제로는 어렵지 않은 네트워크 용어
괴도 리졸버
제2장 TCP/IP의 데이터를 전기신호로 만들어 보내기
프로토콜 스택과 LAN 어댑터를 탐험하기
2.1 소켓 생성하기
2.1.1 프로토콜 스택의 내부 구성
2.1.2 소켓의 실체는 통신 제어 정보
2.1.3 socket을 호출했을 때의 움직임
2.2 서버에 접속하기
2.2.1 접속한다는 것은 무엇일까?
2.2.2 앞부분에 제어 정보를 기재한 헤더 배치하기
2.2.3 접속 작동의 실제
2.3 데이터 송수신하기
2.3.1 프로토콜 스택에 HTTP 요청 메시지 건네기
2.3.2 데이터가 클 때는 분할해서 보내기
2.3.3 패킷이 도달한 것을 ACK 번호를 사용해 확인
2.3.4 패킷 평균 왕복 시간으로 ACK 번호의 대기 시간을 조정
2.3.5 윈도 제어 방식으로 ACK 번호를 효율적으로 관리
2.3.6 ACK 번호와 윈도를 함께 통지하기
2.3.7 HTTP 응답 메시지를 수신
2.4 서버에서 소켓을 종료
2.4.1 데이터를 다 보냈을 때 종료
2.4.2 소켓 종료
2.4.3 데이터 송수신 작동의 정리
2.5 IP와 이더넷의 패킷 송수신 작동
2.5.1 패킷의 기본
2.5.2 패킷 송수신 작동의 개요
2.5.3 수신처 IP 주소를 기재한 IP 헤더 만들기
2.5.4 이더넷용 MAC 헤더 만들기
2.5.5 ARP로 수신처 라우터의 MAC 주소 조회하기
2.5.6 이더넷의 기본
2.5.7 IP 패킷을 전기나 빛의 신호로 변환해 송신
2.5.8 추가로 패킷에 제어용 데이터 3개 붙이기
2.5.9 허브로 패킷 송신
2.5.10 돌아온 패킷 받기
2.5.11 서버에서 온 응답 패킷을 IP에서 TCP로 건네기
2.6 UDP 프로토콜을 사용한 송수신 작동
2.6.1 다시 보낼 필요가 없는 데이터 송신은 UDP가 효율적
2.6.2 제어용의 짧은 데이터
2.6.3 음성이나 동영상 데이터
COLUMN 실제로는 어렵지 않은 네트워크 용어
소켓에 끼워 넣는 건 전구인가, 프로그램인가
제3장 케이블의 끝이었던 LAN 기기
허브와 스위치, 라우터를 탐험하기
3.1 케이블과 중계기 허브로 흘러가는 신호
3.1.1 독립적으로 움직이는 하나하나의 패킷
3.1.2 LAN 케이블은 신호를 열화시키지 않는 것이 포인트
3.1.3 ‘꼬임’은 잡음을 방지하기 위한 아이디어
3.1.4 중계기 허브는 연결된 모든 케이블에 신호를 송신
3.2 스위칭 허브의 패킷 중계 작동
3.2.1 스위칭 허브는 주소 테이블에서 중계
3.2.2 MAC 주소 테이블의 등록 및 업데이트
3.2.3 예외적인 작동
3.2.4 전이중 모드로 송신과 수신을 동시에 실행
3.2.5 최적의 전송 속도로 보내는 자동 협상
3.2.6 스위칭 허브는 여러 중계 작동을 동시에 실행
3.3 라우터의 패킷 중계 작동
3.3.1 라우터의 기본
3.3.2 경로표에 등록되는 정보
3.3.3 라우터의 패킷 수신 작동
3.3.4 경로표를 검색해 출력 포트 찾기
3.3.5 해당하는 경로가 없을 경우 채택하는 디폴트 경로
3.3.6 패킷에는 유효기한이 있음
3.3.7 큰 패킷은 단편화 기능으로 분할
3.3.8 라우터의 송신 작동은 컴퓨터와 동일
3.3.9 라우터와 스위칭 허브의 관계
3.4 라우터의 부가 기능
3.4.1 주소 변환으로 IP 주소를 효과적으로 이용
3.4.2 주소 변환의 기본 작동
3.4.3 포트 번호를 변환하는 이유
3.4.4 인터넷에서 사내로 접속하기
3.4.5 라우터의 패킷 필터링 기능
COLUMN 실제로는 어렵지 않은 네트워크 용어
허브와 라우터 이름을 바꾸면 가격도 바뀐다?
제4장 접근 회선을 통해 인터넷 내부로
접근 회선과 프로바이더 탐험하기
4.1 ADSL 기술을 사용한 접근 회선의 구조와 작동
4.1.1 인터넷의 기본은 가정이나 사내의 LAN과 동일
4.1.2 사용자와 인터넷을 연결하는 접근 회선
4.1.3 ADSL 모뎀에서 패킷을 셀로 분할
4.1.4 ADSL은 ‘변조 방식’으로 셀을 암호화
4.1.5 ADSL은 파동을 다수 사용해 고속화를 실현
4.1.6 스플리터의 역할
4.1.7 전화국까지의 거리
4.1.8 잡음의 영향
4.1.9 DSLAM을 통과해 BAS에 도달
4.2 광케이블을 사용한 접근 회선(FTTH)
4.2.1 광케이블의 기본
4.2.2 싱글 모드와 멀티 모드의 차이
4.2.3 광케이블을 분기하면 비용이 절감
4.3 접근 회선으로 사용하는 PPP와 터널링 프로토콜
4.3.1 본인 확인과 설정 정보 통지
4.3.2 이더넷에서 PPP 메시지를 주고받는 PPPoE
4.3.3 터널링 기능으로 프로바이더에 패킷 보내기
4.3.4 접근 회선 전체의 움직임
4.3.5 IP 주소를 할당하지 않는 언넘버드
4.3.6 인터넷 접속용 라우터에서 프라이빗 주소를 글로벌 주소로 변환
4.3.7 PPPoE 이외의 방식
4.4 프로바이더의 내부
4.4.1 POP과 NOC
4.4.2 건물 바깥은 통신 회선 등으로 접속
4.5 프로바이더를 거쳐서 흐르는 패킷
4.5.1 프로바이더끼리 접속하기
4.5.2 프로바이더끼리 경로 정보를 교환
4.5.3 사내 네트워크에서 쓰는 자동 등록과의 차이
4.5.4 IX의 필요성
4.5.5 IX에서 프로바이더끼리 접속하는 상황
COLUMN 실제로는 어렵지 않은 네트워크 용어
이름은 서버 내용은 라우터
제5장 서버 쪽의 LAN에는 무엇이 있을까
5.1 웹 서버의 설치 장소
5.1.1 사내에 웹 서버를 설치할 경우
5.1.2 데이터 센터에 웹 서버를 설치할 경우
5.2 방화벽 시스템과 기능
5.2.1 패킷 필터링이 주류
5.2.2 패킷 필터링의 조건 설정에 대한 작동 방식
5.2.3 애플리케이션을 한정하는 데 포트 번호를 사용
5.2.4 접속 방향을 컨트롤 비트로 판단
5.2.5 사내 LAN에서 공개 서버용 LAN으로 조건을 설정
5.2.6 바깥에서 사내 LAN으로 접속할 수 없음
5.2.7 방화벽 통과하기
5.2.8 방화벽으로 막을 수 없는 공격
5.3 여러 서버에 요청을 할당해 서버의 부하를 분산
5.3.1 처리 능력이 부족하다면 여러 서버로 부하를 분산
5.3.2 부하 분산 장치로 여러 웹 서버에 할당
5.4 캐시 서버를 이용한 서버의 부하 분산
5.4.1 캐시 서버의 이용
5.4.2 캐시 서버는 업데이트 일시로 콘텐츠를 관리
5.4.3 프록시의 원점은 포워드 프록시
5.4.4 포워드 프록시를 개량한 리버스 프록시
5.4.5 투명 프록시
5.5 콘텐츠 배포 서비스
5.5.1 콘텐츠 배포 서비스를 이용한 부하 분산
5.5.2 가장 가까운 캐시 서버를 찾는 방법
5.5.3 리다이렉트용 서버에서 접속처를 할당
5.5.4 캐시 내용의 업데이트 방법에 따른 성능 차이
COLUMN 실제로는 어렵지 않은 네트워크 용어
통신 회선이 LAN이 되는 날
제6장 웹 서버에 도달해, 응답 데이터가 웹 브라우저로 복귀
6.1 서버의 개요
6.1.1 클라이언트와 서버의 차이
6.1.2 서버 애플리케이션의 구조
6.1.3 서버 쪽 소켓과 포트 번호
6.2 서버의 수신 작동
6.2.1 LAN 어댑터로 수신 신호를 디지털 데이터로 변환
6.2.2 IP 담당 부분의 수신 작동
6.2.3 TCP 담당 부분이 접속 패킷을 수신했을 때의 움직임
6.2.4 TCP 담당 부분이 데이터 소켓을 수신했을 때의 움직임
6.2.5 TCP 담당 부분의 종료 작동
6.3 웹 서버 소프트웨어가 요청 메시지의 의미를 해석해 요청에 부응
6.3.1 질의 URI를 실제 파일명으로 변환
6.3.2 CGI 프로그램을 기동할 경우
6.3.3 웹 서버로 접속 제어하기
6.3.4 응답 메시지를 반송
6.4 브라우저가 응답 메시지를 받아 화면에 출력
6.4.1 응답 데이터 타입을 보고 내용을 판단
6.4.2 브라우저 화면에 웹 페이지를 출력! 접속 완료!
COLUMN 실제로는 어렵지 않은 네트워크 용어
게이트웨이는 다른 세계로 통하는 입구
패킷이 지나가는 길
맺음말
찾아보기
도서 DB 제공 - 알라딘 인터넷서점 (www.aladin.co.kr)