『Wireshark로 배우는 컴퓨터 네트워크』는 IT 전문가가 되고자 하는 학생들이 트러블슈팅, 보안 및 네트워크 최적화를 위해서 사용하는 필수 도구인 와이어샤크에 대해 설명한 책으로 설명한 내용을 차근차근 따라하다 보면 TCP/IP 프로토콜을 정확하게 이해할 뿐만 아니라 각종 문제점을 잘 해결할 수 있는 전문가가 될 수 있을 것으로 생각한다. 와이어샤크 홈페이지에 접속해서 프로그램을 다운로드하고, 설치하는 방법에서부터 와이어샤크가 가지고 있는 다양한 기능들을 익힌 다음, 실제로 패킷을 캡처해서 계층별 프로토콜을 하나하나씩 익혀나가면 컴퓨터 네트워크 전체의 계층을 종합적으로 이해할 수 있는 IT 전문가로서 성장할 수 있을 것이다.
Contents
이 책의 차례
CHAPTER 01 개요
1. 인터넷의 역사
1.1 ARPANET
1.2 인터넷의 탄생
1.3 TCP/IP
1.4 MILNET
1.5 CSNET
1.6 NSFNET
1.7 ANSNET
1.8 현재의 인터넷
1.9 월드 와이드 웹
1.10 인터넷의 성장
1.11 국내 인터넷 역사
1.12 국가 초고속 정보 통신망
2. 프로토콜과 표준
2.1 프로토콜
2.2 표준
3. 표준화 기구
3.1 국제 표준
3.2 국내 표준
4. 인터넷 표준
4.1 완성 단계
4.2 RFC 요구 단계
5. 인터넷 관리
5.1 ISOC
5.2 IAB
5.3 IETF
5.4 IRTF
5.5 IANA와 ICANN
5.6 NIC
5.7 국내 인터넷 관리
요약
연습문제
CHAPTER 02 OSI 모델과 TCP/IP 프로토콜
1. 프로토콜 계층구조
1.1 계층구조
1.2 서비스
2. OSI 기본 참조 모델
2.1 계층화된 구조
2.2 계층-대-계층 통신
2.3 캡슐화
2.4 OSI 모델의 계층 구조
2.5 OSI 계층의 요약
3. TCP/IP 프로토콜
3.1 OSI와 TCP/IP 그룹 간 비교
3.2 TCP/IP 프로토콜의 계층들
3.3 전송층
4. 주소지정
4.1 물리 주소
4.2 논리 주소
4.3 포트 주소
4.4 응용 지정 주소
요약
연습문제
CHAPTER 03 네트워크층 개요
1. 개요
2. 교환
2.1 회선 교환
2.2 패킷 교환
3. 네트워크층에서 패킷 교환
3.1 비연결형 서비스
3.2 연결형 서비스
4. 네트워크층 서비스
4.1 네트워크층 서비스 예
4.2 논리 주소 체계
4.3 발신지 컴퓨터에서 제공되는 서비스
4.4 각 라우터에서 제공되는 서비스
4.5 목적지 컴퓨터에서 제공되는 서비스
5. 네트워크층 문제점들
5.1 오류 제어
5.2 흐름 제어
5.3 혼잡 제어
5.4 서비스 품질
5.5 라우팅
5.6 보안
요약
연습문제
CHAPTER 04 IP 주소
1. 개요
1.1 주소 공간
1.2 표기법
1.3 주소의 범위
1.4 연산
2. 클래스 기반 주소지정
2.1 클래스
2.2 클래스와 블록
2.3 2계층 주소지정
2.4 3계층 주소지정: 서브넷팅
2.5 슈퍼넷팅
3. 클래스 없는 주소지정
3.1 가변 길이 블록
3.2 2단계 주소 체계
3.3 블록 할당
3.4 서브넷팅
4. 특수 주소
4.1 특수 블록
4.2 각 블록에서 사용되는 특수 주소
5. IPv6 주소
5.1 표기법
5.2 주소 공간
5.3 세 가지 주소 유형
6. IPv6 주소 공간 할당
요약
연습문제
CHAPTER 05 IP 패킷 전달과 포워딩
1. 연결형과 비연결형 서비스
2. 직접 전달과 간접 전달
2.1 직접 전달
2.2 간접 전달
3. 포워딩
3.1 목적지 주소 기반 포워딩
3.2 클래스 기반 주소지정에서 포워딩
3.3 클래스 없는 주소지정에서 포워딩
3.4 라우팅 테이블 검색 알고리즘
3.5 레이블 기반 포워딩
4. 라우터의 구조
4.1 구성요소
요약
연습문제
CHAPTER 06 와이어샤크 개요 및 설치와 실행
1. 패킷 분석기
1.1 패킷 분석기의 종류
2. 와이어샤크 개요
2.1 와이어샤크의 용도
2.2 와이어샤크의 주요 기능
2.3 와이어샤크의 장점
2.4 와이어샤크의 취약 분야
2.5 와이어샤크의 버전 업
2.6 와이어샤크의 안정판과 과거 안정판 버전
3. 와이어샤크에서 패킷을 캡처/처리하는 방법
3.1 해석기, 플러그인 및 디스플레이 필터
3.2 그래픽 툴킷
4. 와이어샤크 정보
5. 와이어샤크 설치와 실행
5.1 와이어샤크 다운로드
5.2 와이어샤크 설치
5.3 설치 확인과 시작
5.4 와이어샤크 커맨드 라인 인터페이스
6. 와이어샤크 사용자 인터페이스
6.1 와이어샤크의 메인 화면 구성
6.2 와이어샤크 화면을 자세히 살펴보자
6.3 메뉴 바
6.4 툴 바
6.5 디스플레이 필터 바
6.6 사용자 인터페이스 언어 선택
요약
연습문제
1. IEEE 표준 이더넷
2. Ethernet Ⅱ 프레임 형식
3. Ethernet Ⅱ 덤프 분석
요약
연습문제
CHAPTER 09 주소 변환 프로토콜(ARP)
1. 주소 변환
2. 주소 변환 프로토콜(ARP)
2.1 ARP 패킷 형식
2.2 캡슐화
2.3 동작
2.4 프락시 ARP
3. ARP 덤프 분석
요약
연습문제
CHAPTER 10 인터넷 프로토콜(IP)
1. 개요
2. 데이터그램
2.1 IPv6 데이터그램 기본 헤더
2.2 흐름 레이블
2.3 IPv4와 IPv6 헤더 비교
3. 단편화
3.1 최대 전달 단위(MTU)
3.2 단편화와 관련된 필드
4. 옵션
4.1 형식
4.2 옵션 유형
5. 검사합
5.1 송신자의 검사합 계산
5.2 수신자의 검사합 계산
5.3 IP 패킷의 검사합
6. IP 패키지
6.1 헤더 추가 모듈
6.2 처리 모듈
6.3 큐
6.4 라우팅 테이블
6.5 포워딩 모듈
6.6 MTU 테이블
6.7 단편화 모듈
6.8 재조립 테이블
6.9 재조립 모듈
7. 인터넷 프로토콜(IP) 덤프 분석
요약
연습문제
CHAPTER 11 인터넷 제어 메시지 프로토콜(ICMP)
1. 개요
2. 메시지 유형
2.1 메시지 형식
2.2 오류 보고 메시지
2.3 질의 메시지
2.4 검사합
3. 디버깅 도구
4. ICMP 패키지
5. ping 명령어를 이용한 ICMP 덤프 분석
5.1 패킷 캡처 개시와 ping 명령어 실행
5.2 패킷 캡처 정지와 내용 확인
5.3 ICMP 덤프 분석
요약
연습문제
CHAPTER 12 전송층 개요
1. 개요
2. 전송층 서비스
2.1 프로세스-대-프로세스 통신
2.2 주소 체계: 포트 번호
2.3 캡슐화와 역캡슐화
2.4 다중화와 역다중화
2.5 흐름 제어
2.6 오류 제어
2.7 흐름 제어와 오류 제어의 결합
2.8 혼잡 제어
2.9 비연결형과 연결형 서비스
3. 전송층 프로토콜
3.1 단순 프로토콜
3.2 정지-후-대기 프로토콜
3.3 N -프레임-후퇴 프로토콜
3.4 선택적 반복 프로토콜
3.5 양방향 프로토콜: 피기백킹
요약
연습문제
CHAPTER 13 사용자 데이터그램 프로토콜(UDP)
1. 개요
2. 사용자 데이터그램
3. UDP 서비스
3.1 프로세스-대-프로세스 통신
3.2 비연결형 서비스
3.3 흐름 제어
3.4 오류 제어
3.5 혼잡 제어
3.6 캡슐화와 역캡슐화
3.7 큐잉
3.8 다중화와 역다중화
3.9 UDP와 일반 단순 프로토콜과 비교
4. UDP 응용
4.1 UDP 특징
4.2 대표적인 응용
5. UDP 패키지
5.1 제어 블록 테이블
5.2 입력 큐
5.3 제어-블록 모듈
5.4 입력 모듈
5.5 출력 모듈
5.6 예제
6. UDP 덤프 분석
요약
연습문제
CHAPTER 14 전송 제어 프로토콜(TCP)
1. TCP 서비스
1.1 프로세스-대-프로세스 통신
1.2 스트림 전달 서비스
1.3 전이중 통신
1.4 다중화와 역다중화
1.5 연결형 서비스
1.6 신뢰성 서비스
2. TCP 특징
2.1 번호화 시스템
2.2 흐름 제어
2.3 오류 제어
2.4 혼잡 제어
3. 세그먼트
3.1 형식
3.2 캡슐화
4. TCP 연결
4.1 연결 설정
4.2 데이터 전송
4.3 연결 종료
4.4 연결 재설정
5. 상태 천이 다이어그램
5.1 시나리오
6. TCP 창
6.1 송신 창
6.2 수신 창
7. 흐름 제어
7.1 창 열기와 닫기
7.2 창 축소
7.3 어리석은 창 신드롬
8. 오류 제어
8.1 검사합
8.2 확인응답
8.3 재전송
8.4 순서가 어긋난 세그먼트
9. 혼잡 제어
9.1 혼잡 창
9.2 혼잡 제어 원칙
10. TCP 타이머
10.1 재전송 타이머
10.2 영속 타이머
10.3 킵얼라이브 타이머
10.4 시간 대기 타이머
11. 옵션
12. TCP 패키지
12.1 전송 제어 블록
12.2 타이머
12.3 메인 모듈
12.4 입력 처리 모듈
12.5 출력 처리 모듈
13. TCP 덤프 분석
요약
연습문제
CHAPTER 15 응용층 개요(홈페이지에서 PDF로 제공)
1. 클라이언트-서버 개념
1.1 서버
1.2 클라이언트
1.3 동시성
1.4 서버의 동시성
1.5 소켓 인터페이스
1.6 UDP를 이용한 통신
1.7 TCP를 이용한 통신
1.8 미리 정의된 클라이언트 서버 응용들
2. Peer-to-peer 개념
요약
연습문제
CHAPTER 16 동적 호스트 설정 프로토콜(DHCP)
1. 개요
1.1 이전 프로토콜
2. DHCP 동작 절차
3. 설정
3.1 정적 주소 할당
3.2 동적 주소 할당
3.3 상태 천이
3.4 초기(INIT) 상태
3.5 선택(SELECTING) 상태
3.6 요청(REQUESTING) 상태
3.7 바운드(Bound) 상태
3.8 재설정(Renewing) 상태
3.9 재연결(Rebinding) 상태
3.10 다른 이슈들
3.11 메시지 교환
4. DHCP 패킷 분석
4.1 Discover 패킷
4.2 Offer 패킷
4.3 Request 패킷
4.4 Acknowledgement 패킷
4.5 DHCP 임대 갱신
요약
연습문제
CHAPTER 17 도메인 이름 시스템(DNS)
1. DNS의 필요성
2. 이름 공간
2.1 계층적 이름 공간
2.2 도메인 이름 공간
2.3 도메인
2.4 이름 공간의 분산
3. 인터넷에서 사용되는 DNS
3.1 일반 도메인
3.2 국가 도메인
3.3 인버스 도메인
3.4 도메인 관리 체계
3.5 한국의 DNS 관리 체계
4. 변환
4.1 변환기
4.2 재귀적 변환
4.3 반복적 변환
4.4 캐싱
5. DNS 메시지
5.1 헤더
5.2 질문 섹션
5.3 응답 섹션
5.4 권한 섹션
5.5 추가 정보 섹션
6. 레코드 유형
6.1 조회 레코드
6.2 자원 레코드
7. 캡슐화
8. DDNS
9. DNS 보안
10. DNS 덤프 분석
요약
연습문제
CHAPTER 18 WWW와 HTTP
1. WWW의 구조
1.1 하이퍼텍스트와 하이퍼미디어
1.2 웹 클라이언트
1.3 웹 서버
1.4 단일 자원 위치기(URL)
2. 웹 문서
2.1 정적 문서
2.2 동적 문서
2.3 액티브 문서
3. 하이퍼텍스트 전송 프로토콜(HTTP)
3.1 HTTP 트랜잭션
3.2 조건부 요청
3.3 영속성
3.4 쿠키
3.5 웹 캐시: 프락시 서버
3.6 HTTP 보안
4. HTTP 덤프 분석
4.1 HTTP 요청 메시지
요약
연습문제