Chapter 01. 웹 브라우저가 메시지를 만든다 - 웹 브라우저의 내부 탐험
Story 01. HTTP 리퀘스트 메시지를 작성한다
1. 탐험 여행은 URL 입력부터 시작한다
2. 브라우저는 먼저 URL을 해독한다
3. 파일명을 생략한 경우
4. HTTP의 기본 개념
5. HTTP 리퀘스트 메시지를 만든다
6. 리퀘스트 메시지를 보내면 응답이 되돌아온다
Story 02. 웹 서버의 IP 주소를 DNS 서버에 조회한다
1. IP 주소의 기본
2. 도메인명과 IP 주소를 구분하여 사용하는 이유
3. Socket 라이브러리가 IP 주소를 찾는 기능을 제공한다
4. 리졸버를 이용하여 DNS 서버를 조회한다
5. 리졸버 내부의 작동
Story 03. 전 세계의 DNS 서버가 연대한다
1. DNS 서버의 기본 동작
2. 도메인의 계층
3. 담당 DNS 서버를 찾아 IP 주소를 가져온다
4. DNS 서버는 캐시 기능으로 빠르게 회답할 수 있다
Story 04. 프로토콜 스택에 메시지 송신을 의뢰한다
1. 데이터 송ㆍ수신 동작의 개요
2. 소켓의 작성 단계
3. 파이프를 연결하는 접속 단계
4. 메시지를 주고받는 송ㆍ수신 단계
5. 연결 끊기 단계에서 송ㆍ수신이 종료된다
확인퀴즈
COLUMN | [사실은 어렵지 않은 네트워크 용어] - 쾌걸 리졸버 |
Chapter 02. TCP/IP의 데이터를 전기신호로 만들어 보낸다 - 프로토콜 스택과 LAN 어댑터의 탐험
Story 01. 소켓을 작성한다
1. 프로토콜 스택의 내부 구성
2. 소켓의 실체는 통신 제어용 제어 정보
3. Socket을 호출했을 때의 동작
Story 02. 서버에 접속한다
1. 접속의 의미
2. 맨 앞부분에 제어 정보를 기록한 헤더를 배치한다
3. 접속 동작의 실제
Story 03. 데이터를 송ㆍ수신한다
1. 프로토콜 스택에 HTTP 리퀘스트 메시지를 넘긴다
2. 데이터가 클 때는 분할하여 보낸다
3. ACK 번호를 사용하여 패킷이 도착했는지 확인한다
4. 패킷 평균 왕복 시간으로 ACK 번호의 대기 시간을 조정한다
5. 윈도우 제어 방식으로 ACK 번호를 관리한다
6. ACK 번호와 윈도우를 합승한다
7. HTTP 응답 메시지를 수신한다
Story 04. 서버에서 연결을 끊어 소켓을 말소한다
1. 데이터 보내기를 완료했을 때 연결을 끊는다
2. 소켓을 말소한다
3. 데이터 송ㆍ수신 동작을 정리한다
Story 05. IP와 이더넷의 패킷 송ㆍ수신 동작
1. 패킷의 기본
2. 패킷 송ㆍ수신 동작의 개요
3. 수신처 IP 주소를 기록한 IP 헤더를 만든다
4. 이더넷용 MAC 헤더를 만든다
5. ARP로 수신처 라우터의 MAC 주소를 조사한다
6. 이더넷의 기본
7. IP 패킷을 전기나 빛의 신호로 변환하여 송신한다
8. 패킷에 3개의 제어용 데이터를 추가한다
9. 허브를 향해 패킷을 송신한다
10. 돌아온 패킷을 받는다
11. 서버의 응답 패킷을 IP에서 TCP로 넘긴다
Story 06. UDP 프로토콜을 이용한 송ㆍ수신 동작
1. 수정 송신이 필요없는 데이터의 송신은 UDP가 효율적이다
2. 제어용 짧은 데이터
3. 음성 및 동영상 데이터
확인퀴즈
COLUMN | [사실은 어렵지 않은 네트워크 용어] |
- 소켓에 나사를 돌려 끼우는 것은 전구인가요, 프로그램인가요?
Chapter 03. 케이블의 앞은 LAN 기기였다 - 허브와 스위치, 라우터의 탐험
Story 01. 케이블과 리피터, 허브 속을 신호가 흘러간다
1. 하나하나의 패킷이 독립된 것으로 동작한다
2. LAN 케이블은 신호를 약화시키지 않는 것이 핵심이다
3. ‘꼼’은 잡음을 방지하기 위한 방법이다
4. 리피터 허브는 연결되어 있는 전체 케이블에 신호를 송신한다
Story 02. 스위칭 허브의 패킷 중계 동작
1. 스위칭 허브는 주소 테이블로 중계한다
2. MAC 주소 테이블을 등록 및 갱신한다
3. 예외적인 동작
4. 전이중 모드에서 송신과 수신을 동시에 실행한다
5. 최적의 전송 속도로 보내는 자동 조정
6. 스위칭 허브는 복수의 중계 동작을 동시에 실행한다
Story 03. 라우터의 패킷 중계 동작
1. 라우터의 기본
2. 경로표에 등록된 정보
3. 라우터의 패킷 수신 동작
4. 경로표를 검색하여 출력 포트를 발견한다
5. 해당하는 경로가 없는 경우에 선택하는 기본 경로
6. 패킷은 유효 기한이 있다
8. 라우터의 송신 동작은 컴퓨터와 같다
9. 라우터와 스위칭 허브의 관계
Story 04. 라우터의 부가 기능
1. 주소 변환으로 IP 주소를 효율적으로 이용한다
2. 주소 변환의 기본 동작
3. 포트 번호를 바꿔쓰는 이유
4. 인터넷에서 회사로 액세스한다
5. 라우터의 패킷 필터링 기능
확인퀴즈
COLUMN | [사실은 어렵지 않은 네트워크 용어] |
허브와 라우터 - 이름을 바꾸면 가격도 변할까요?
Chapter 04. 액세스 회선을 통해 인터넷의 내부로! - 액세스 회선과 프로바이더의 탐험
Story 01. ADSL 기술을 이용한 액세스 회선의 구조와 동작
1. 인터넷의 기본은 가정이나 회사의 LAN과 같다
2. 사용자와 인터넷을 연결하는 액세스 회선
3. ADSL 모델에서 패킷을 셀로 분할한다
4. ADSL은 변조 방식으로 셀을 신호화한다
5. ADSL은 파를 많이 사용하여 고속화를 실현한다
6. 스플리터의 역할
7. 전화국까지의 여정
8. 잡음의 영향
9. DSLAM을 통과하여 BAS에 도달한다
Story 02. 광섬유를 이용한 액세스 회선(FTTH)
1. 광섬유의 기본
2. 싱글모드와 멀티모드의 차이
3. 광섬유를 분기시켜서 비용을 절감한다
Story 03. 액세스 회선으로 이용하는 PPP와 터널링
1. 본인 확인과 설정 정보를 통지한다
2. 이더넷에서 PPP 메시지를 주고받는 PPPoE
3. 터널링 기능에 의해 프로바이더에 패킷을 전달한다
4. 액세스 회선 전체의 동작
5. IP 어드레스를 할당하지 않는 언넘버드
6. 인터넷 접속용 라우터에서 프라이비트 주소를 글로벌 주소로 변환한다
7. PPPoE 이외의 방식
Story 04. 프로바이더의 내부
1. POP와 NOC
2. 건물 밖은 통신 회선 등으로 접속한다
Story 05. 프로바이더를 경유하여 흐르는 패킷
1. 프로바이더끼리의 접속
2. 프로바이더끼리 경로 정보 교환하기
3. 사내 네트워크에서 자동 등록하기
4. IX의 필요성
5. IX에서 프로바이더끼리 접속하는 모습
확인퀴즈
COLUMN | [사실은 어렵지 않은 네트워크 용어] - 이름은 서버, 본질은 라우터 |
Chapter 05. 서버측의 LAN에는 무엇이 있는가? - 방화벽과 캐시 서버의 탐험
Story 01. 웹 서버의 설치 장소
1. 사내에 웹 서버를 설치하는 경우
2. 데이터센터에 웹 서버를 설치하는 경우
Story 02. 방화벽의 원리와 동작
1. 패킷 필터링형이 주류이다
2. 패킷 필터링의 조건 설정 개념
3. 애플리케이션을 한정할 때 포트 번호를 사용한다
4. 컨트롤 비트로 접속 방향을 판단한다
5. 사내 LAN에서 공개 서버용 LAN으로 조건을 설정한다
6. 밖에서 사내 LAN으로 액세스할 수 없다
7. 방화벽을 통과한다
8. 방화벽으로 막을 수 없는 공격
Story 03. 복수 서버에 리퀘스트를 분배한 서버의 부하 분산
1. 처리 능력이 부족하면 복수 서버로 부하 분산된다
2. 부하 분산 장치를 이용해 복수의 웹 서버로 분할된다
Story 04. 캐시 서버를 이용한 서버의 부하 분산
1. 캐시 서버의 이용
2. 캐시 서버는 갱신일로 콘텐츠를 관리한다
3. 프록시의 원점은 포워드 프록시이다
4. 포워드 프록시를 개량한 리버스 프록시
5. 트랜스페어런트 프록시
Story 05. 콘텐츠 배포 서비스
1. 콘텐츠 배포 서비스를 이용한 부하 분산
2. 가장 가까운 캐시 서버의 관점
3. 리피터용 서버로 액세스 대상을 분배한다
4. 캐시 내용의 갱신 방법에서 성능의 차이가 난다
확인퀴즈
COLUMN | [사실은 어렵지 않은 네트워크 용어] - 통신 회선이 LAN이 되는 날 |
Chapter 06. 웹 서버에 도착하여 응답 데이터가 웹 브라우저로 돌아간다 - 불과 몇 초인 ‘긴 여행’의 끝
Story 01. 서버의 개요
1. 클라이언트와 서버의 차이점
2. 서버 애플리케이션의 구조
3. 서버측의 소켓과 포트 번호
Story 02. 서버의 수신 동작
1. LAN 어댑터에서 수신 신호를 디지털 데이터로 변환한다
2. IP 담당 부분의 수신 동작
3. TCP 담당 부분이 접속 패킷을 수신했을 때의 동작
4. TCP 담당 부분이 데이터 패킷을 수신했을 때의 동작
5. TCP 담당 부분의 연결 끊기 동작
Story 03. 웹 서버 소프트웨어가 리퀘스트 메시지의 의미를 해석하여 요구에 응한다
1. 조회의 URI를 실제 파일명으로 변환한다
2. CGI 프로그램을 작동하는 경우
3. 웹 서버로 수행하는 액세스 제어
4. 응답 메시지를 되돌려 보낸다
Story 04. 브라우저가 응답 메시지를 받아 화면에 표시한다
1. 응답 데이터의 형식을 보고 본질을 판단한다
2. 브라우저 화면에 웹 페이지를 표시하여 액세스를 완료한다
확인퀴즈