000 | 00000cam c2200205 c 4500 | |
001 | 000045740288 | |
005 | 20181228103234 | |
007 | ta | |
008 | 130219s2013 ggkad b 001c kor | |
020 | ▼a 9788960773837 ▼g 93560 | |
035 | ▼a (KERIS)BIB000013037838 | |
040 | ▼a 211044 ▼c 211044 ▼d 211009 | |
041 | 1 | ▼a kor ▼h eng |
082 | 0 0 | ▼a 004.6/2 ▼2 23 |
085 | ▼a 004.62 ▼2 DDCK | |
090 | ▼a 004.62 ▼b 2013 | |
100 | 1 | ▼a Fall, Kevin R. ▼0 AUTH(211009)14173 |
245 | 1 0 | ▼a TCP/IP 네트워크 프로토콜의 이해 / ▼d 케빈 폴 외 지음 ; ▼e 김중규 외 옮김 |
246 | 1 9 | ▼a TCP/IP illustrated. ▼n 1, ▼p The protocols ▼g (2nd ed.) |
246 | 3 | ▼a 티씨피/아이피 네트워크 프로토콜의 이해 |
246 | 3 9 | ▼a Protocols |
260 | ▼a 의왕 : ▼b 에이콘, ▼c 2013 | |
300 | ▼a 1181 p. : ▼b 삽화, 도표 ; ▼c 25 cm | |
500 | ▼a 공역자: 김중규, 이광수, 이재광, 홍충선 | |
500 | ▼a 부록: 약어 사전 | |
504 | ▼a 참고문헌(각 장마다)과 색인수록 | |
650 | 0 | ▼a TCP/IP (Computer network protocol) |
700 | 1 | ▼a Stevens, W. Richard, ▼e 저 ▼0 AUTH(211009)59171 |
700 | 1 | ▼a 김중규, ▼e 역 ▼0 AUTH(211009)59632 |
700 | 1 | ▼a 이광수, ▼e 역 ▼0 AUTH(211009)84121 |
700 | 1 | ▼a 이재광, ▼e 역 ▼0 AUTH(211009)119344 |
700 | 1 | ▼a 홍충선, ▼e 역 ▼0 AUTH(211009)1041 |
900 | 1 0 | ▼a 폴, 케빈, ▼e 저 |
900 | 1 0 | ▼a 스티븐스, 리차드, ▼e 저 |
945 | ▼a KLPA |
Holdings Information
No. | Location | Call Number | Accession No. | Availability | Due Date | Make a Reservation | Service |
---|---|---|---|---|---|---|---|
No. 1 | Location Main Library/Monographs(3F)/ | Call Number 004.62 2013 | Accession No. 111715820 | Availability Available | Due Date | Make a Reservation | Service |
No. 2 | Location Science & Engineering Library/Sci-Info(Stacks1)/ | Call Number 004.62 2013 | Accession No. 121223465 | Availability Available | Due Date | Make a Reservation | Service |
No. 3 | Location Science & Engineering Library/Sci-Info(Stacks1)/ | Call Number 004.62 2013 | Accession No. 121234730 | Availability Missing | Due Date | Make a Reservation | Service |
No. 4 | Location Sejong Academic Information Center/Science & Technology/ | Call Number 004.62 2013 | Accession No. 151323442 | Availability Apply Simple Loan | Due Date | Make a Reservation | Service |
No. | Location | Call Number | Accession No. | Availability | Due Date | Make a Reservation | Service |
---|---|---|---|---|---|---|---|
No. 1 | Location Main Library/Monographs(3F)/ | Call Number 004.62 2013 | Accession No. 111715820 | Availability Available | Due Date | Make a Reservation | Service |
No. | Location | Call Number | Accession No. | Availability | Due Date | Make a Reservation | Service |
---|---|---|---|---|---|---|---|
No. 1 | Location Science & Engineering Library/Sci-Info(Stacks1)/ | Call Number 004.62 2013 | Accession No. 121223465 | Availability Available | Due Date | Make a Reservation | Service |
No. 2 | Location Science & Engineering Library/Sci-Info(Stacks1)/ | Call Number 004.62 2013 | Accession No. 121234730 | Availability Missing | Due Date | Make a Reservation | Service |
No. | Location | Call Number | Accession No. | Availability | Due Date | Make a Reservation | Service |
---|---|---|---|---|---|---|---|
No. 1 | Location Sejong Academic Information Center/Science & Technology/ | Call Number 004.62 2013 | Accession No. 151323442 | Availability Apply Simple Loan | Due Date | Make a Reservation | Service |
Contents information
Book Introduction
오늘날의 TCP/IP 프로토콜 모음에 대한 완벽 가이드다. 최신의 혁신적 수정 사항들을 완전하게 반영했으며, 최신 리눅스, 윈도우, 맥 OS 환경 등의 실제적인 예제를 통해 각 프로토콜이 어떻게 동작하는지를 보여준다. 이 책은 TCP/IP의 동작 원리, 일반적인 조건에서 동작 내용, 또 다양한 애플리케이션이나 네트워크상에서 TCP/IP가 어떻게 적용되는지 이해하기 위한 최적의 안내서다. TCP/IP의 핵심적인 목표와 구조적인 개념을 소개하고, TCP/IP가 다양한 네트워크들을 어떻게 안정적으로 연결하고 또 여러 서비스를 어떻게 동시에 지원할 수 있는지 보여준다.
"이 책에서는 설명하는 지식은 인터넷 작업의 고도화와 안전성 제고를 목표로 하거나 지속적으로 발생하는 문제에 대한 해결책을 강구하고자 하는 엔지니어들에게 큰 도움이 될 것이다."
- 빈트 서프(Vint Cerf) / 인터넷의 선구자
『TCP/IP Illustrated, Volume 1 Second Edition』은 오늘날의 TCP/IP 프로토콜 모음에 대한 상세하고도 생생한 안내서다. 최신의 혁신적 수정 사항들을 완전하게 반영했으며, 최신 리눅스, 윈도우, 맥 OS 환경 등으로부터의 현실적 예제들을 통해 각 프로토콜이 어떻게 동작하는지 보여준다. 이것은 TCP/IP의 동작 원리, 일반적인 조건에서의 동작 내용, 다양한 애플리케이션이나 네트워크상에서 TCP/IP가 어떻게 적용되는지를 이해하기 위한 최선의 방법이다.
작고한 리차드 스티븐스(Richard Stevens)가 저술한 초판을 바탕으로 2판의 저자인 케빈 폴(Kevin R. Fall)은 TCP/IP 프로토콜 연구의 선도자로서의 최첨단 경험들을 추가했으며, 최신 프로토콜들과 모범 사례들을 반영해 책의 내용을 대폭 수정했다. 케빈은 먼저 TCP/IP의 핵심적인 목표들과 구조적 개념들을 소개하고, TCP/IP가 다양한 네트워크들을 어떻게 안정적으로 연결할 수 있는지, 또 여러 서비스를 어떻게 동시에 지원할 수 있는지 보여준다. 그런 다음 IPv4 네트워크와 IPv6 네트워크에서의 인터넷 주소 체계를 찬찬히 설명한다. 그 후 이더넷이나 와이파이 등의 링크 계층 프로토콜에서부터 네트워크 계층, 트랜스포트 계층, 응용 계층에 이르기까지 TCP/IP의 구조와 기능들을 하위 계층에서 상위 계층으로 옮겨가며 설명한다.
ARP, DHCP, NAT, 방화벽, ICMPv4/ICMPv6, 브로드캐스팅, 멀티캐스팅, UDP, DNS 등을 비롯한 수많은 프로토콜들을 자세하게 소개한다. 그리고 TCP와 신뢰성 있는 전송에 관련된 연결 관리, 타임아웃, 재전송, 대화형 데이터 흐름, 혼잡 제어 등도 자세히 다룬다. 끝으로 보안과 암호학의 기본적인 개념들을 소개하고, 보안성과 프라이버시 보호를 위한 EAP, IPsec, TLS, DNSSEC, DKIM 등과 같은 최근의 주요 프로토콜들도 설명한다.
독자의 현재 TCP/IP에 대한 지식 수준에 관계없이 이 책은 전체 TCP/IP 프로토콜들에 대한 직관적 이해를 제고시켜줄 것이며, 이를 통해 좀 더 나은 애플리케이션을 작성할 수도 있고, 좀 더 효율적이면서도 신뢰할 수 있는 네트워크를 운영할 수도 있을 것이다.
★ 이 책의 대상 독자 ★
2판에서 대상으로 삼은 독자층은 1판의 경우와 같다. 이 책을 이해하는 데 네트워킹 개념에 대한 사전 지식은 필요하지 않지만, 사전 지식이 있는 고급 독자라면 세부 사항이나 참고 자료 등을 더 잘 활용할 수 있을 것이다. 추가적인 내용을 찾아보고 싶은 독자들을 위해 각 장의 끝에 풍부한 참고 자료들을 제시했다.
★ 2판에서의 내용상 변화 ★
내용에 있어 1판과의 가장 중요한 변화는 전반적으로 다루는 범위의 재구성과 보안 관련 내용을 많이 추가한 것이다. 인터넷상의 모든 계층에서 사용되는 거의 모든 프로토콜들을 다루는 대신 2판에서는 먼저 현재 널리 사용되고 있거나 가까운 장래에 널리 사용될 것으로 예상되는 비 보안 프로토콜들을 자세히 소개하는데, 여기에는 이더넷(802.3), Wi-Fi(802.11), PPP, ARP, IPv4, IPv6, UDP, TCP, DHCP, DNS 등이 포함된다. 시스템 관리자나 일반 사용자 모두 이러한 프로토콜들을 접하기 쉬울 것이다.
2판에서 보안은 두 가지 형태로 다루고 있다. 먼저 해당사항이 있는 각 장에서 한 절을 할애해 그 장에서 다루는 프로토콜에 관련된 공격들과 대응책들을 기술한다. 이러한 기술에서 공격을 구성하기 위한 방법을 구체적으로 제시하고 있지는 않으며, 대신 프로토콜의 구현이 (때로는 규격 자체가) 충분히 안정돼 있지 않을 때 발생할 수 있는 문제점 유형들에 대한 실무적 해설이 제시된다. 오늘날의 인터넷에서 불완전한 규격이나 안이한 구현으로 인해 비교적 단순한 공격으로도 주요 업무 시스템들이 침해될 수 있다.
보안에 관한 두 번째의 중요한 논의는 18장에서 이뤄지는데, 여기에서는 보안과 암호학을 자세히 살펴보며, 또한 IPsec, TLS, DNSSEC, DKIM 등의 프로토콜들도 소개한다. 무결성이나 안전한 운영의 확보를 요하는 모든 서비스나 애플리케이션의 구현에서 이상의 프로토콜들이 중요하다는 것은 오늘날 널리 인식돼 있다. 인터넷의 상업적 중요성이 증가함에 따라 보안에 대한 필요성도 (그리고 그에 대한 위협의 수도) 이에 비례해 증가하고 있다.
1판에는 IPv6이 포함되지 않았지만, 2011년 2월 미할당 IPv4 주소 그룹들이 고갈됨에 따라 IPv6의 사용이 크게 증가할 것으로 예상된다. IPv6의 주요 탄생 동기는 IPv4의 주소 고갈 문제를 해결하기 위한 것이며, 아직은 IPv4만큼 보편화돼 있지는 않지만 인터넷에 연결된 (휴대폰, 가정용 기기, 환경 센서 등과 같은) 소형 기기의 수가 증가함에 따라 점차 중요성을 더해가고 있다. (2011년 6월 8일로 정해진) 세계 IPv6의 날과 같은 이벤트들이 하위 프로토콜상의 상당한 변화와 기능 확대에도 불구하고 인터넷의 가동에 별 문제가 없음을 확인시켜주는 데 도움이 되고 있다.
2판의 구성에서 두 번째로 고려한 점은 별로 사용되지 않는 프로토콜들에 관한 내용은 축소하고 1판의 출간 이래 상당한 수정이 이뤄진 프로토콜들에 대한 수정 사항들을 반영하는 것이다. RARP, BOOTP, NFS, SMTP, SNMP 등을 다루는 장들은 없앴으며, SLIP 프로토콜에 대한 설명은 DHCP와 PPP(PPPoE 포함)에 대한 설명을 확장하는 것으로 대체했다. (1판의 9장에서 설명했던) IP 포워딩 기능은 2판에서는 5장의 IPv4와 IPv6 프로토콜에 관한 전반적인 내용에 편입했다. (RIP, OSPF, BGP 등의) 동적 라우팅 프로토콜에 관한 설명은 없앴는데, 이는 OSPF와 BGP만으로도 책 한 권 분량은 되기 때문이다. ICMP에서 시작해 IP, TCP, UDP 등에 이르기까지 IPv4와 IPv6 동작 차이가 클 경우 이러한 차이점을 다뤘다. IPv6에 대한 별도의 장을 두는 대신 해당 사항이 있을 경우 각각의 핵심 프로토콜에서 IPv6의 영향에 대해 기술했다. 인터넷 애플리케이션들과 지원 프로토콜들을 다뤘던 1판의 15장과 25~30장의 대부분은 삭제했으며, 하위 핵심 프로토콜의 동작을 보여주기 위해 필요한 것들만은 남겨뒀다.
새로운 내용들을 다루는 몇 개의 장이 추가됐다. 1장에서는 네트워킹 관련 이슈들과 아키텍처에 대한 일반 개요에서부터 시작해 인터넷 관련 내용들을 소개한다. 인터넷 주소체계 아키텍처에 대해서는 2장에서 다룬다. 6장은 호스트 구성과 시스템을 네트워크에 연결하는 방법 등을 다루는 내용으로 새로 추가했다. 7장에서는 방화벽과 NAT(Network Address Translation, 네트워크 주소 변환)를 다루는데, 여기에는 라우팅 가능한 영역과 라우팅 불가능한 영역 사이에서 주소 공간을 분할하기 위해 NAT가 어떻게 사용되는지도 다뤘다. 1판에서 사용된 도구들 외에 (그래픽 사용자 인터페이스를 갖춘 무료 네트워크 트래픽 모니터 애플리케이션인) 와이어샤크가 추가됐다.
★ 1판에 쏟아진 각계의 찬사 ★
이 책은 TCP/IP 개발자와 사용자를 위한 바이블이나 다름없다. 이 책을 펴든 지 몇 분 만에 나 자신과 동료들이 고민해왔던 시나리오들을 찾을 수 있었다. 스티븐스는 이 책에서 기존의 네트워크 계통 도사라는 사람들이 모호하게 감춰왔던 수많은 비밀들을 명쾌하게 밝혀준다. 이 책은 다년간 TCP/IP 구현에 종사하면서 지금까지 보아온 책들 중에서 가장 훌륭한 책이다.
- 로버트 시암파(Robert A. Ciampa) / 네트워크 엔지니어, 3COM의 Synernetics 부문
스티븐스의 모든 책이 읽기 쉬우면서도 기술적으로 훌륭한 내용을 담고 있지만, 이 책이야말로 단연 최고다. 그 동안 많은 책이 TCP/IP 프로토콜들을 기술했지만, 스티븐스는 다른 경쟁 서적과는 비교할 수 없는 깊이와 현실 세계의 세부 사항을 제공한다. 이 책은 독자로 하여금 TCP/IP 내부를 들여다볼 수 있게 도와주며, 프로토콜이 어떻게 동작하는지를 보여준다.
- 스티븐 베이커(Steven Baker) / ?유닉스 리뷰?의 네트워킹 칼럼니스트
『TCP/IP Illustrated』는 개발자, 네트워크 관리자, 또는 TCP/IP 기술에 대한 이해를 필요로 하는 누구에게나 훌륭한 참고 서적이다. 『TCP/IP Illustrated』는 TCP/IP 관련 주제들을 포괄적으로 다루며, 초심자를 위한 충분한 배경 지식과 해설을 제공하면서도 전문가들도 만족시킬 정도의 세부 사항들을 제공한다.
- 밥 윌리엄즈(Bob Williams) / 넷매니지 사의 마케팅 부문 부사장
이 책의 차별성은 스티븐스가 프로토콜들에 대해 설명하는 것뿐만 아니라 직접 프로토콜들을 보여주고자 한다는 점이다. 스티븐스는 명쾌한 설명, 각 장 말미의 연습문제, 프로토콜 헤더 및 데이터에 관한 상세한 다이어그램, 실제 네트워크 트래픽 예제 등의 다양한 도구를 이용해 프로토콜들을 가르쳐준다.
- 월터 진츠(Walter Zintz) / 유닉스월드
이론만 소개하는 책들과는 비교도 할 수 없다. (중략) 스티븐스는 다중 호스트 기반의 구성을 취해 TCP/IP 예제를 위한 설명에 그림들을 사용한다. 『TCP/IP Illustrated』는 이론을 보완하는 현실적 사례들에 기초하고 있다. 이는 TCP/IP에 관한 기존의 책들과 구별되는 특징이며, 이렇듯 사례를 이용한 설명은 이 책의 내용을 이해하는 데 도움이 되고 또한 많은 정보를 제공한다.
- 피터 하버록(Peter M. Haverlock) / IBM TCP/IP Development 컨설턴트
이 책에는 훌륭한 그림들이 들어있으며, 깔끔한 문체를 사용해 읽기 쉽게 작성됐다. 한마디로 복잡한 주제를 이해하기 쉽게 만들어준 책이다. 모든 사람에게 필독서로 추천한다.
- 엘리자베스 진칸(Elizabeth Zinkann) / 시스템 관리자
스티븐스는 훌륭한 교재이자 참고 서적을 저술했다. 이 책은 훌륭한 구성과 깔끔한 서술을 갖췄으며, 또한 IP, TCP, 기타 지원 프로토콜과 응용 등의 논리와 운영에 관한 세부 사항을 수많은 훌륭한 그림과 함께 기술한다.
- 스콧 브래드너(Scott Bradner) / 하버드 대학 OIT/NSD 컨설턴트
★ 추천의 글 ★
널리 알려진 주제에 대해 역사적 사실과 기술적 내용을 풍부하게 서술하면서도 고도의 정확성을 유지하고 있는 책을 발견하기란 쉽지 않다. 이 책의 놀라운 점 한 가지는 '적나라한' 기술 방식인데, TCP/IP의 결함에 대해서도 감추지 않는 이러한 기술 방식은 오히려 이 서적의 신빙성을 더해준다. TCP/IP 아키텍처는 그 탄생 시점을 반영하고 있다. 엄청나게 늘어난 애플리케이션은 말할 것도 없이 수백만 배 이상 확대된 사용 규모에 따라 여러 측면에서 추가된 요구사항들에 TCP/IP가 적응할 수 있었던 것은 놀라운 일이다. TCP/IP 아키텍처와 프로토콜들의 범위와 한계에 대한 이해는 미래의 진화와 혁신에 대한 사고에 있어 견실한 기초로 작용할 것이다.
인터넷 아키텍처가 초창기에 형성될 당시에는 '기관'이라는 개념이 정립돼 있지 않았다. 결과적으로 대부분의 네트워크들은 자체적인 IP 주소 공간을 갖고 라우팅 시스템에 자신의 주소들을 직접 '공표'했다. 상용 서비스의 도입 이후 자사 고객들을 대신해 인터넷 주소 블록을 '공표하는' 중개자로서의 인터넷 서비스 제공자ISP들이 등장했다. 이러한 이유로 대부분의 주소 공간은 '공급자 종속' 방식으로 배정돼 있으며, '공급자 독립' 주소 체계의 사용은 점차 드물게 됐다. 그 결과 라우팅 경로 요약이 생겨났으며, 글로벌 라우팅 테이블 크기도 한없이 늘어나는 것을 막을 수 있었다. 이러한 전략은 나름의 이점들도 있지만, 공급자 종속 주소의 사용자들이 글로벌 라우팅 테이블에 각자의 주소를 등록하지 않으므로 '다중 홈' 문제가 발생하게 됐다. 또한 IP 주소 '고갈'로 인해 네트워크 주소 변환이 생겨났으며, 이는 공급자 종속성과 다중 홈 문제를 심화시켰다.
이 책을 읽다 보면 작은 수의 네트워크와 응용 환경에 적용됐던 비교적 단순한 개념들에서 얼마나 복잡하게 진화돼 왔는지를 생각해보면 놀라운 느낌을 받게 된다. 이 책의 각 장을 통해 TCP/IP가 새로운 운용 조건이나 도전 과제, 시스템 규모의 급속한 성장 등으로 인해 발생한 수많은 요구 사항들을 수용하기 위해 얼마나 복잡해졌는지 알 수 있을 것이다.
인터넷의 '기관' 사용자 보호와 관련된 문제로 인해 경계선 보안을 제공하는 방화벽이 생겨나게 됐다. 방화벽이 유용하기는 하지만 지역 인터넷 설비에 대한 공격은 내부 침해를 통해 발생할 수도 있다. 예를 들면 감염된 컴퓨터를 내부 네트워크상에 연결시킬 수도 있고, USB 포트를 통해 내부의 컴퓨터를 감염시키기 위해 감염된 휴대용 저장기기가 사용될 수도 있다.
340×1조×1조×1조 개의 주소를 제공하는 IP 버전 6의 도입을 통해 인터넷 주소 공간을 확장할 필요 외에도 DNSSEC(Domain Name System Security Extension, DNS 보안 확장)을 위시한 다양한 보안 강화 메커니즘을 도입할 필요가 있었음은 명백하다.
이 책의 독특한 점은 TCP/IP 역사에 대해 진지하고 자세히 서술했다는 점이다. 이러한 서술을 통해 네트워킹 문제들에 대한 해결책들이 어떻게 진화해왔는지에 대한 배경과 발전 사항들을 살펴볼 수 있다. 이 책은 또한 해결되지 않은 문제 영역들을 밝히는 일과 서술의 정확성을 제고하기 위한 노력을 아끼지 않고 있다. 인터넷 작업의 정밀성과 안전성을 제고하고 만성적인 문제들에 대한 해결책을 탐색하는 일에 열의를 갖고 있는 엔지니어라면 이 책에서 얻는 지식들이 큰 도움이 될 것이다. 이 책의 저자들은 최신 인터넷 기술들을 면밀하게 서술한 점에 대해 칭송받을 만한 자격이 있다.
- 빈트 서프(Vint Cerf)
2011년 6월 우드허스트에서
★ 저자 서문 ★
『TCP/IP Illustrated, Volume 1 Second Edition』을 접하게 된 여러분을 환영한다. 이 책은 TCP/IP 프로토콜들을 최신 상태로 자세히 서술하는 것이 목표다. 이 책에서는 TCP/IP 프로토콜들이 어떻게 작동하는지에 대한 서술에 그치지 않고 다양한 분석 도구를 사용해 TCP/IP 프로토콜 동작 모습을 살펴본다. 이를 통해 TCP/IP 프로토콜 설계 결정의 배경과 프로토콜들 사이의 상호작용을 이해할 수 있을 뿐만 아니라, 프로토콜 구현 소프트웨어의 소스코드를 읽거나 실험 설비를 설치해보지 않고도 구현 세부 사항들을 접할 수 있을 것이다. 물론 소스코드를 읽거나 실험 설비를 설치해보는 것은 이해의 심화에 도움이 될 것이다.
지난 30년 동안 네트워킹은 급속히 발전해왔다. 원래는 연구 프로젝트이며 호기심의 대상으로 출발했던 인터넷은 오늘날 정부, 기업, 개인 모두가 의존하는 글로벌 통신 기반으로 발전했다. TCP/IP 프로토콜들은 인터넷상의 모든 기기가 정보를 교환하기 위해 사용하는 토대가 되는 방법들을 정의한다. 이제 인터넷과 TCP/IP는 IPv6으로 넘어가는 진화 과정에 있으며, 사실상 이러한 변화는 10여 년이 넘게 지체 중이다. 이 책 전반에 걸쳐 IPv6와 현재의 IPv4 양쪽 모두를 서술하지만, 중요한 차이점들도 강조한다. 유감스럽게도 IPv6과 IPv4는 호환되지 않으며, 따라서 이러한 진화의 영향을 파악하려면 신중하고 섬세한 이해가 필요하다.
이 책은 현재의 TCP/IP 프로토콜의 작동 원리에 대한 이해를 높이고자 하는 모든 사람을 위한 책이며, 여기에는 TCP/IP 프로토콜들을 다루는 네트워크 운영자 및 관리자, 네트워크 소프트웨어 개발자, 학생, 사용자 등이 포함된다. 이 책은 1판에 익숙한 독자들뿐만 아니라 이 책을 처음 접하는 독자들에게도 흥미로운 내용들을 포함한다. 이 책의 기존 내용들과 새로 추가된 내용들이 독자들에게 흥미롭고 유용하길 희망한다.
1판에 대한 논평
『TCP/IP Illustrated』 1판의 출간 이래 거의 이십 년이란 세월이 지났다. 이 책은 TCP/IP 프로토콜들을 자세하게 이해하고자 하는 학생들이나 전문가들에게 매우 귀중한 자료들을 포함하고 있으며, 이는 다른 유사 도서들과의 중요한 차이점이다. 오늘날까지도 이 책은 TCP/IP 프로토콜들의 동작에 대한 자세한 정보에 관해서는 가장 훌륭한 참고 서적으로 남아있다. 그러나 정보통신 기술 분야에서는 가장 훌륭한 도서들이라도 세월이 지나면 낡은 것이 되고 말며, 이는 TCP/IP Illustrated 시리즈도 예외일 수는 없다. 2판에서는 스티븐스 박사의 수많은 저술에 공통된 높은 서술 수준과 상세성을 유지하면서도 새로운 내용들을 면밀하게 추가하고자 노력했다.
이 책의 1판에서는 링크 계층에서부터 응용 계층과 네트워크 관리에 이르기까지 광범위한 프로토콜들과 이들의 동작을 다뤘다. 오늘날 이렇게 광범위한 내용을 한 권의 책에 포함시키자면 너무 두꺼운 책이 될 것이다. 이러한 이유로 2판에서는 핵심 프로토콜 위주로 서술했으며, 여기에는 인터넷에서 구성, 명명, 데이터 전달, 보안 등의 기본 서비스 제공에 주로 사용되는 비교적 낮은 레벨의 프로토콜들이 포함된다. 응용, 라우팅, 웹서비스, 기타 중요 주제 등은 이어지는 후속 권들에서 다룬다.
1판이 출판된 이후 TCP/IP 구현의 표준 준수성과 안정성을 개선함에 있어 상당한 진전이 이뤄졌다. 1판에서는 많은 예제에서 구현 오류나 표준에서 벗어난 동작들을 지적했는데, 오늘날의 TCP/IP 구현, 특히 IPv4에 대한 구현에서는 이러한 문제들이 대부분 해소됐다. 지난 18년 동안 TCP/IP 프로토콜 사용이 얼마나 확대됐는지를 생각하면 이러한 상황은 별로 놀라운 일은 아닐 것이다. 오작동하는 구현들은 비교적 드물며, 이는 TCP/IP 프로토콜의 성숙성을 방증한다고 볼 수 있다. 오늘날 핵심 프로토콜들의 동작에서 나타나는 문제점들은 잘 사용되지 않는 프로토콜 기능의 고의적 사용에 따른 경우가 많으며, 이는 1판에서는 중점적으로 다루지 않았던 일종의 보안 관련 사항들로서 2판에서는 이들에 대해 상당한 노력을 할애했다.
21세기의 인터넷 환경
1판이 출판된 이후 인터넷의 사용 패턴이나 중요성에 상당한 변화가 있었다. 가장 명백한 분수령적인 사건은 1990년대 초반에 시작된 월드와이드웹의 탄생과 상업화이며, 이로 인해 다양한 동기를 갖는 수많은 사람이 인터넷을 이용하게 됐다. 이에 따라 원래 소규모의 학술 기관 환경에서 구현됐던 프로토콜과 시스템은 주소 공간의 제한이나 보안 문제의 증가 등의 문제점들을 겪게 됐다.
보안 위협에 대한 대응으로 네트워크 관리자와 보안 관리자들은 특별한 통제 요소들을 네트워크에 도입했다. 오늘날 인터넷 접속 지점에 방화벽의 설치가 일반화됐으며, 이는 대형 기관들뿐만 아니라 소규모 사업체나 일반 가정의 경우도 마찬가지다. 지난 10여 년 동안 IP 주소와 보안에 대한 수요가 증가하면서 최근의 거의 모든 라우터에서 NAT(Network Address Translation, 네트워크 주소 변환 장치)가 지원되며 NAT의 사용이 광범위하게 확대되고 있다. NAT의 도입으로 인해 인터넷 사이트들은 인터넷 서비스 제공자로부터 받은 비교적 적은 수의 라우팅 가능한 인터넷 주소만으로도 많은 수의 컴퓨터에 IP 주소를 배정할 수 있게 됐는데, 동시에 인터넷에 접속하는 사용자 수만큼의 주소만 있으면 됐다. NAT 도입의 결과로 (거의 무한정의 주소를 제공하는) IPv6으로의 이행이 늦추어지게 됐으며, 일부 오래된 프로토콜들과의 상호운용성 문제가 발생하게 됐다.
1990년대 중반 무렵 PC 사용자들이 인터넷 접속을 요구하기 시작하면서 PC 소프트웨어의 최대 공급자인 마이크로소프트는 전용 소프트웨어를 통한 인터넷 접속 제공이라는 원래의 정책을 버리고 자사의 대부분 제품에서 TCP/IP 호환성을 지원하기 위한 노력을 진행했다. 이후 윈도우 운영체제를 탑재한 PC가 오늘날 인터넷에 연결된 PC들의 주종을 이루게 됐다. 시간이 지나면서 리눅스 기반의 시스템들도 상당히 많아졌으며, 이로 인해 선두 주자로서의 마이크로소프트의 아성은 위협을 받고 있다. 한때 인터넷에 연결된 시스템의 다수를 차지하고 있었던 오라클의 솔라리스나 버클리의 BSD 기반 시스템 등을 포함하는 기타 운영체제들은 이제 인터넷 연결 시스템들 중 비교적 작은 비중을 차지하고 있을 뿐이다. (Mach 기반의) 애플 OS X 운영체제가 새로운 경쟁자로 떠올랐으며, 특히 휴대용 컴퓨터 사용자들 사이에서 인기를 얻고 있다. 2003년에 휴대용 컴퓨터의 매출이 데스크톱 컴퓨터의 매출을 앞질렀으며, 이들의 번창으로 인해 광범위한 지역에서 무선 인프라를 통한 고속 인터넷 접속에 대한 수요를 촉진했다. 2012년 이후 인터넷 접속을 위한 가장 보편적인 방법은 스마트폰일 것으로 예상된다. 태블릿 컴퓨터 또한 성장 중인 중요한 경쟁자일 것이다.
오늘날 무선 네트워크는 음식점, 공항, 커피전문점, 기타 공공장소 등과 같은 수많은 장소에서 제공된다. 대개의 무선 네트워크는 짧은 거리에서 무료 또는 (고정 요금 체계의) 유료 고속 무선 인터넷 접속을 제공하는 하드웨어를 사용해 제공되며, 이러한 무선 네트워크 하드웨어는 사무실이나 가정에서 사용되는 LAN과도 호환성을 갖는다. (LTE, HSPA, UMTS, EV-DO 등과 같은) 휴대폰 표준에 기초한 '무선 고속통신망' 기술들도 선진국들에서 (그리고 최신의 무선 기술로 이행 중인 일부 개발도상국들에서도) 보편화되고 있는데, 이들의 경우 종종 제한적인 대역폭을 제공하며 통신량에 기초한 요금 체계를 따른다. 두 가지 유형의 인프라 모두 휴대용 컴퓨터나 좀 더 소형 기기를 사용해 이동하면서도 인터넷을 이용하기를 원하는 사용자들의 욕구를 다루고 있다. 어느 유형의 인프라를 사용하든 무선 네트워크를 통해 인터넷에 접속하는 이동성 사용자들의 존재는 TCP/IP 프로토콜 아키텍처에 두 가지 중요한 기술적 도전 과제를 제기한다. 첫째, 이동성은 호스트 컴퓨터의 주소가 인접 라우터의 식별 정보에 기초해 배정된다는 가정을 위배하는 것으로 인터넷의 라우팅 및 주소 체계에 영향을 미친다. 둘째, (일반적으로 유선망의 경우 네트워크상에 과도한 트래픽이 발생하지 않는 한 데이터 손실이 발생하지 않는 데 비해) 무선 링크는 연결 중단을 겪을 수 있으며 이로 인해 유선 링크와는 다른 이유로 데이터 손실이 발생할 수 있다.
끝으로 인터넷에서 '오버레이(overlay)' 네트워크를 형성하는 소위 p2p 애플리케이션들이 급부상했다. p2p 애플리케이션들은 어떤 작업을 수행하기 위해 중앙 서버에 의존하는 대신 통신 가능한 일단의 동격 컴퓨터들을 정하고 상호작용을 통해 작업을 수행한다. 동격 컴퓨터들을 운영하는 것은 다른 사용자들이며, 이들은 고정된 서버 인프라에 비해 참여했다가 떠나는 일이 신속히 이뤄진다. '오버레이' 개념은 일반 IP 기반 네트워크상에서 상호작용하는 동격 컴퓨터들이 또 다른 네트워크를 형성한다는 사실을 개념화시킨 것이다(실은 IP 기반 네트워크 또한 하위의 물리적 링크 상에서 형성된 오버레이라고 볼 수 있다). p2p 애플리케이션들의 발전은 트래픽 흐름이나 전자상거래를 연구하는 사람들에게는 지대한 관심사이지만, 이 책에서 기술하는 핵심 프로토콜들에 큰 영향을 미치고 있지는 않다. 그러나 오버레이 네트워크 개념은 점차 네트워킹 기술에서 중요한 관심사가 되고 있다.
★ 옮긴이의 말 ★
오늘날 네트워크 및 네트워크 간 연결에 관한 기술은 이 시대에 아마 가장 빠르게 성장해 왔고, 또 성장해 나갈 것으로 생각한다. 특히 매년 새로운 형태의 소셜 네트워킹 애플리케이션의 등장이 이러한 주장을 증명하고 있다. 최근 매일 인터넷을 사용하는 사람들이 점점 더 늘어나는 추세다. 우리는 최신 뉴스나 날씨 등을 확인하거나 연구, 쇼핑, 항공, 철도 예약을 할 때 인터넷을 사용한다. 이와 같이 고도의 정보화 사회에서 인터넷 전문가가 되려면 인터넷과 관련된 네트워크를 사용하고, 관리하고 실행하기 위한 훈련이 필요하다. 이를 위해 가장 적합하다고 생각되는 책은 리차드 스티븐스가 저술한 것을 바탕으로 케빈 폴이 개정한 『TCP/IP Illustrated, Vol 1, Second Edition』다. 우리는 TCP/IP 프로토콜 모음에 대해 아주 자세하게 설명한 안내서로서 많은 사람에게 큰 도움이 되리라고 판단해 이 책의 번역을 맡았다. 특히 이 책은 최신의 혁신적인 수정 사항을 완벽하게 반영하고 있을 뿐만 아니라 최신 리눅스, 윈도우, 맥 OS 환경 등에서 다양한 예제를 통해 각 프로토콜이 어떻게 동작하는지 보여준다. 이 책은 TCP/IP의 동작 원리, 일반적인 조건에서 동작 내용, 또 다양한 애플리케이션이나 네트워크상에서 TCP/IP가 어떻게 적용되는지를 이해하기 위한 최선의 도움서라 할 만하다.
이 책을 접하는 독자들은 현재 TCP/IP에 대한 지식 수준에 관계없이 전체 TCP/IP 프로토콜에 대한 직관적인 이해를 갖게 해줄 뿐만 아니라, 이를 통해 좀 더 나은 애플리케이션을 작성할 수도 있고, 좀 더 효율적이면서도 신뢰할 수 있는 네트워크를 운영할 수도 있을 것으로 생각된다. 따라서 이 책이 국내 인터넷 분야에 활동하고 있는 많은 분들에게 조금이나마 도움이 됐으면 하는 바람이다.
- 대표 역자 이재광
Information Provided By: :

Author Introduction
케빈 폴(지은이)
TCP/IP 분야에서 25년 이상의 경력이 있으며, IAB에서도 활동한다. 또한 네트워크 성능 보장이 어려운 극한 환경에서의 네트워킹을 연구하는 IRTF의 DTNRG(Delay Tolerant Networking Research Group) 연구반에서 공동 의장을 맡고 있으며, IEEE 펠로우이기도 하다.
리차드 스티븐스(지은이)
개척자적인 저술가로, 수십 년 동안 네트워크 전문가들에게 TCP/IP 기술들을 가르쳤으며, 이를 통해 인터넷이 일상생활의 중심이 될 수 있도록 기여해왔다. 베스트셀러로는 3권으로 이뤄진 『TCP/IP Illustarted』(Addison-Wesley), 『UNIX Network Programming』(Prentice Hall) 등이 있다.
이재광(옮긴이)
울산과학기술원(UNIST) 전기전자공학과 산학협력중점교수 한남대학교 컴퓨터공학과 명예교수
김중규(옮긴이)
대구대학교 ICT융합학부 교수
이광수(옮긴이)
숙명여자대학교 컴퓨터공학과 교수
홍충선(옮긴이)
경희대학교 컴퓨터공학과 교수

Table of Contents
목차 초판에 대한 찬사 = 4 추천의 글 = 6 저자ㆍ옮긴이 소개 = 8 옮긴이의 말 = 9 2판 들어가며 = 29 초판 들어가며 = 37 1장 개요 = 41 1.1 아키텍처에 관한 원칙 = 43 1.1.1. 패킷, 연결, 데이터그램 = 44 1.1.2. 단대단 원칙과 운명 공동체 = 47 1.1.3. 오류 제어와 흐름 제어 = 48 1.2 설계와 구현 = 49 1.2.1. 계층화 = 49 1.2.2. 계층 구현상의 다중화, 역다중화, 캡슐화 = 51 1.3 TCP/IP 아키텍처와 프로토콜 모음 = 55 1.3.1. ARPANET 참조 모델 = 55 1.3.2. TCP/IP에서 다중화, 역다중화, 캡슐화 = 58 1.3.3. 포트 번호 = 60 1.3.4. 이름, 주소, 그리고 DNS = 61 1.4 인터넷, 인트라넷, 엑스트라넷 = 62 1.5 애플리케이션의 설계 = 63 1.5.1. 클라이언트/서버 = 64 1.5.2. p2p = 65 1.5.3. API = 65 1.6 표준화 절차 = 66 1.6.1. RFC = 67 1.6.2. 기타 표준 = 67 1.7 구현과 소프트웨어 배포 = 68 1.8 인터넷 아키텍처에 관련된 공격 = 69 1.9 정리 = 71 1.10 참고 자료 = 72 2장 인터넷 주소 구조 = 77 2.1 개요 = 77 2.2 IP 주소의 표현 = 78 2.3 IP 주소의 기본 구조 = 81 2.3.1. 클래스 기반 주소 지정 = 81 2.3.2. 서브넷 주소 지정 = 84 2.3.3. 서브넷 마스크 = 86 2.3.4. VLSM = 88 2.3.5. 브로드캐스트 주소 = 90 2.3.6. IPv6 주소와 인터페이스 ID = 91 2.4 CIDR과 병합 = 95 2.4.1 접두사 = 96 2.4.2 병합 = 97 2.5 특별한 용도 주소 = 100 2.5.1. IPv4/IPv6 주소 변환기 = 102 2.5.2. 멀티캐스트 주소 = 103 2.5.3. IPv4 멀티캐스트 주소 = 105 2.5.4. IPv6 멀티캐스트 주소 = 108 2.5.5. 애니캐스트 주소 = 114 2.6 할당 = 114 2.6.1. 유니캐스트 = 114 2.6.2. 멀티캐스트 = 118 2.7 유니캐스트 주소 배정 = 119 2.7.1. 단일 제공자/네트워크 없음/단일 주소 = 119 2.7.2. 단일 제공자/단일 네트워크/단일 주소 = 120 2.7.3. 단일 제공자/복수의 네트워크/복수의 주소 = 121 2.7.4. 복수의 제공자/복수의 네트워크/복수의 주소(다중 홈 구성) = 122 2.8 IP 주소 관련 공격 = 125 2.9 정리 = 125 2.10 참고 자료 = 127 3장 링크 계층 = 135 3.1 개요 = 135 3.2 이더넷과 IEEE 802 LAN/MAN 표준 = 136 3.2.1. IEEE 802 LAN/MAN 표준 = 139 3.2.2. 이더넷 프레임 형식 = 141 3.2.3. 802.1p/q: 가상 LAN 및 QoS 태그 = 147 3.2.4. 802.1AX: 링크 병합(예전 802.3ad) = 150 3.3 전이중, 절전, 자동 협상, 802.1X 흐름 제어 = 153 3.3.1. 이중 모드의 불일치 = 155 3.3.2. WoL(Wake-on LAN), 절전, 매직 패킷 = 156 3.3.3. 링크 계층 흐름 제어 = 157 3.4 브리지와 스위치 = 158 3.4.1. STP(스패닝 트리 프로토콜) = 162 3.4.2. 802.1ak: MRP(다중 등록 프로토콜) = 173 3.5 무선 LAN: IEEE 802.11(Wi-Fi) = 174 3.5.1. 802.11 프레임 = 175 3.5.2. 절전 모드와 TSF(시간 동기화 기능) = 182 3.5.3. 802.11 MAC(매체 접근 제어) = 184 3.5.4. 물리 계층 세부 사항: 전송률, 채널, 주파수 = 188 3.5.5. Wi-Fi 보안 = 194 3.5.6. Wi-Fi 메시(802.11s) = 196 3.6 PPP = 197 3.6.1. 링크 제어 프로토콜(LCP) = 197 3.6.2. 다중 링크 PPP(MP) = 205 3.6.3. 압축 제어 프로토콜(CCP) = 207 3.6.4. PPP 인증 = 208 3.6.5. 네트워크 제어 프로토콜(NCP) = 209 3.6.6. 헤더 압축 = 210 3.6.7. 예제 = 211 3.7 루프백 = 215 3.8 MTU와 경로 MTU = 218 3.9 터널링의 기초 = 219 3.9.1 단방향 링크 = 225 3.10 링크 계층에 대한 공격 = 226 3.11 정리 = 228 3.12 참고 자료 = 230 4장 ARP: 주소 결정 프로토콜 = 239 4.1 개요 = 239 4.2 예제 = 241 4.2.1. 직접 전달과 ARP = 241 4.3 ARP 캐시 = 243 4.4 ARP 프레임 형식 = 245 4.5 ARP 예제 = 246 4.5.1. 정상적인 예제 = 246 4.5.2. 존재하지 않는 호스트에 대한 ARP 요청 = 249 4.6 ARP 캐시 타임아웃 = 250 4.7 프락시 ARP = 250 4.8 무상 ARP와 주소 충돌 탐지(ACD) = 251 4.9 arp 명령 = 253 4.10 임베디드 장치의 IPv4 주소 설정에 ARP 사용 = 254 4.11 ARP 관련 공격 = 255 4.12 정리 = 255 4.13 참고 자료 = 256 5장 인터넷 프로토콜 = 259 5.1 개요 = 259 5.2 IPv4 헤더와 IPv6 헤더 = 261 5.2.1. IP 헤더 필드 = 261 5.2.2. 인터넷 검사합 = 265 5.2.3. DS 필드와 ECN(예전의 ToS 바이트나 IPv6 트래픽 클래스) = 267 5.2.4. IP 옵션 = 272 5.3 IPv6 확장 헤더 = 274 5.3.1. IPv6 옵션 = 276 5.3.2. 라우팅 헤더 = 281 5.3.3. 단편 헤더 = 285 5.4 IP 포워딩 = 291 5.4.1. 포워딩 테이블 = 292 5.4.2. IP 포워딩 동작 = 293 5.4.3. 예제 = 294 5.4.4. 토의 = 299 5.5 모바일 IP = 300 5.5.1. 기본 모델: 양방향 터널링 = 301 5.5.2. 경로 최적화(RO) = 302 5.5.3. 토의 = 304 5.6 IP 데이터그램에 대한 호스트의 처리 = 305 5.6.1. 호스트 모델 = 305 5.6.2. 주소의 선택 = 307 5.7 IP 관련 공격 = 311 5.8 정리 = 312 5.9 참고 자료 = 314 6장 시스템 구성: DHCP와 자동 구성 = 319 6.1 개요 = 319 6.2 동적 호스트 구성 프로토콜 = 320 6.2.1. 주소 풀과 임대 = 321 6.2.2. DHCP와 BOOTP 메시지 형식 = 322 6.2.3. DHCP와 BOOTP 옵션 = 324 6.2.4. DHCP 프로토콜 운영 = 326 6.2.5. DHCPv6 = 339 6.2.6. 중계기에서 DHCP 사용 = 354 6.2.7. DHCP 인증 = 360 6.2.8. 재구성 확장 = 361 6.2.9. 성급한 허용 = 362 6.2.10. 지역 정보(LCI와 LoST) = 362 6.2.11. 이동성과 핸드오프 정보(MoS와 ANDSF) = 363 6.2.12. DHCP 스누핑 = 364 6.3 상태 없는 주소 자동 구성(SLAAC) = 364 6.3.1. IPv4 링크 로컬 주소의 동적 구성 = 365 6.3.2. 링크 로컬 주소를 위한 IPv6 SLAAC = 365 6.4 DHCP와 DNS의 상호작용 = 375 6.5 PPP over 이더넷(PPPoE) = 376 6.6 시스템 구성을 포함하는 공격 = 382 6.7 정리 = 383 6.8 참고 자료 = 384 7장 방화벽과 네트워크 주소 변환 = 391 7.1 개요 = 391 7.2 방화벽 = 392 7.2.1. 패킷 필터링 방화벽 = 392 7.2.2. 프록시 방화벽 = 394 7.3 네트워크 주소 변환(NAT) = 395 7.3.1. 전통적인 NAT: 기본 NAT와 NAPT = 398 7.3.2. 주소와 포트 변환 과정 = 404 7.3.3. 필터링 동작 = 407 7.3.4. NAT 후면의 서버 = 407 7.3.5. 헤어피닝과 NAT 루프백 = 408 7.3.6. NAT 편집기 = 409 7.3.7. 서비스 제공자 NAT(SPNAT)와 서비스 제공자 IPv6 천이 = 410 7.4 NAT 횡단 = 410 7.4.1. 핀홀과 홀 뚫기 = 411 7.4.2. 일방적인 자체 주소 고정(UNSAF) = 412 7.4.3. NAT를 위한 세션 횡단 유틸리티(STUN) = 414 7.4.4. 중계기를 활용해 NAT 주의를 횡단(TURN) = 421 7.4.5. 대화식의 연결성 설정(ICE) = 428 7.5 패킷 필터링 방화벽과 NAT 구성 = 430 7.5.1. 방화벽 규칙 = 430 7.5.2. NAT 규칙 = 433 7.5.3. NAT와 방화벽의 직접적인 상호작용: UPnP, NAT-PMP, PCP = 434 7.6 IPv4/IPv6 공존과 이전을 위한 NAT = 436 7.6.1. 이중-스택 Lite = 436 7.6.2. NAT와 ALG를 사용하는 IPv4/IPv6 변환 = 437 7.7 방화벽과 NAT를 포함하는 공격 = 442 7.8 정리 = 443 7.9 참고 자료 = 445 8장 ICMPv4와 ICMPv6: 인터넷 제어 메시지 프로토콜 = 451 8.1 개요 = 451 8.1.1. 캡슐화 IPv4와 IPv6 = 452 8.2 ICMP 메시지 = 454 8.2.1. ICMPv4 메시지 = 454 8.2.2. ICMPv6 메시지 = 456 8.2.3. ICMP 메시지의 처리 = 459 8.3 ICMP 오류 메시지 = 460 8.3.1. 확장된 ICMP와 멀티파트 메시지 = 462 8.3.2. 목적지 도달 불가(ICMPv4 유형 3, ICMPv6 유형 1)와 너무 큰 패킷(ICMPv6 유형 2) = 463 8.3.3. 재지정 (ICMPv4 유형 5, ICMPv6 유형 137) = 473 8.3.4. ICMP 시간 초과(ICMPv4 유형 11, ICMPv6 유형 3) = 476 8.3.5. 매개변수 문제(ICMPv4 유형 12, ICMPv6 유형 4) = 480 8.4 ICMP 조회/정보성 메시지 = 482 8.4.1. 에코 요청/응답(ICMPv4 유형 0/8, ICMPv6 유형 129/128) = 482 8.4.2. 라우터 발견: 라우터 간청과 광고(ICMPv4 유형 9, 10) = 485 8.4.3. 홈 에이전트 주소 발견 요청/응답(ICMPv6 유형 144/145) = 488 8.4.4. 모바일 접두사 간청/광고(ICMPv6 유형 146/147) = 489 8.4.5. 모바일 IPv6 급속 핸드오버 메시지(ICMPv6 유형 154) = 490 8.4.6. 멀티캐스트 리스너 조회/보고/종료(ICMPv6 유형 130/131/132) = 491 8.4.7. 버전 2 멀티캐스트 리스너 발견(MLDv2)(ICMPv6 유형 143) = 492 8.4.8. 멀티캐스트 라우터 발견(IGMP 유형 48/49/50, ICMPv6 유형 151/152/153) = 497 8.5 이웃 발견 IPv6 = 498 8.5.1. ICMPv6 라우터 간청과 광고(ICMPv6 유형 133, 134) = 499 8.5.2. ICMPv6 이웃 간청과 광고(IMCPv6 유형 135, 136) = 501 8.5.3. ICMPv6 역이웃 발견 간청/광고(ICMPv6 유형 141/142) = 505 8.5.4. 이웃 도달 불가 탐지(NUD) = 506 8.5.5. 안전한 이웃 발견(SEND) = 508 8.5.6. ICMPv6 이웃 발견(ND) 옵션 = 513 8.6 ICMPv4와 ICMPv6의 변환 = 531 8.6.1. ICMPv4를 ICMPv6로 변환 = 531 8.6.2. ICMPv6를 ICMPv4로 변환 = 534 8.7 ICMP를 포함하는 공격 = 536 8.8 정리 = 538 8.9 참고 자료 = 539 9장 브로드캐스팅과 로컬 멀티캐스팅 = 545 9.1 개요 = 545 9.2 브로드캐스팅 = 547 9.2.1. 브로드캐스트 주소 사용 = 547 9.2.2. 브로드캐스트 데이터그램 보내기 = 550 9.3 멀티캐스팅 = 552 9.3.1. IP 멀티캐스트 주소를 802 MAC/이더넷 주소로 변환 = 553 9.3.2. 예제 = 556 9.3.3. 멀티캐스트 데이터그램 보내기 = 558 9.3.4. 멀티캐스트 데이터그램 수신 = 560 9.3.5. 호스트 주소 필터링 = 562 9.4 인터넷 그룹 관리 프로토콜과 멀티캐스트 리스너 발견 프로토콜 = 565 9.4.1. 그룹 멤버로 IGMP와 MLD 처리('그룹 멤버 파트') = 568 9.4.2. 멀티캐스트 라우터에서의 IGMP와 MLD 처리('멀티캐스트 라우터 파트') = 572 9.4.3. 예제 = 574 9.4.4. 경량 IGMPv3와 MLDv2 = 579 9.4.5. IGMP와 MLD의 강건함 = 580 9.4.6. IGMP와 MLD의 카운터와 변수 = 583 9.4.7. IGMP와 MLD 스누핑 = 584 9.5 IGMP와 MLD 포함 공격 = 585 9.6 정리 = 586 9.7 참고 자료 = 587 10장 사용자 데이터그램 프로토콜과 IP 단편화 = 591 10.1 개요 = 591 10.2 UDP 헤더 = 592 10.3 UDP 검사합 = 594 10.4 예제 = 597 10.5 UDP와 IPv6 = 600 10.5.1. Teredo: IPv4 네트워크를 통한 IPv6 터널링 = 601 10.6 UDP-Lite = 606 10.7 IP 단편화 = 607 10.7.1. 예제: UDP/IPv4 단편화 = 608 10.7.2. 재조립 타임아웃 = 612 10.8 UDP를 이용한 경로 MTU 발견 = 613 10.8.1. 예제 = 613 10.9 IP 단편화와 ARP/ND 사이의 상호작용 = 616 10.10 최대 UDP 데이터그램 크기 = 618 10.10.1. 구현 제한 = 618 10.10.2. 데이터그램 절단 = 619 10.11 UDP 서버 설계 = 620 10.11.1. IP 주소와 UDP 포트 번호 = 620 10.11.2. 로컬 IP 주소의 제약 = 621 10.11.3. 다중 주소 사용 = 623 10.11.4. 외부 IP 주소의 제한 = 624 10.11.5. 포트당 다중 서버 사용 = 625 10.11.6. 스패닝 주소: IPv4와 IPv6 = 626 10.11.7. 흐름 제어와 혼잡 제어의 부족 = 627 10.12 UDP/IPv4의 UDP/IPv6 데이터그램으로 변환 = 628 10.13 인터넷에서 UDP = 628 10.14 UDP와 IP 단편화를 포함한 공격 = 629 10.15 정리 = 630 10.16 참고 자료 = 631 11장 이름 변환과 도메인 네임 시스템 = 635 11.1 개요 = 635 11.2 DNS 네임스페이스 = 636 11.2.1. DNS 이름 문법 = 638 11.3 네임 서버와 영역 = 640 11.4 캐싱 = 641 11.5 DNS 프로토콜 = 643 11.5.1. DNS 메시지 형식 = 645 11.5.2. DNS 확장 형식(EDNS0) = 649 11.5.3. UDP와 TCP = 650 11.5.4. 질문(조회)과 영역 섹션 형식 = 651 11.5.5. 응답, 인가, 부가적인 정보 섹션 형식 = 652 11.5.6. 자원 레코드 유형 = 653 11.5.7. 동적 갱신(DNS UPDATE) = 685 11.5.8. 영역 전달과 DNS 통보 = 689 11.6 분류 목록, 라운드로빈, 분리 DNS = 696 11.7 개방 DNS 서버와 DynDNS = 698 11.8 투명성과 확장성 = 699 11.9 IPv4에서 IPv6로 DNS 변환(DNS64) = 700 11.10 LLMNR과 mDNS = 701 11.11 LDAP = 702 11.12 DNS상의 공격 = 703 11.13 정리 = 704 11.14 참고 자료 = 705 12장 TCP: 전송 제어 프로토콜 = 713 12.1 개요 = 713 12.1.1. ARQ와 전송 = 714 12.1.2. 패킷의 윈도우와 슬라이딩 윈도우 = 716 12.1.3. 가변 윈도우: 흐름 제어와 혼잡 제어 = 717 12.1.4. 재전송 타임아웃 설정 = 718 12.2 TCP 소개 = 719 12.2.1. TCP 서비스 모델 = 720 12.2.2. TCP에서 신뢰성 = 720 12.3 TCP 헤더와 캡슐화 = 722 12.4 정리 = 726 12.5 참고 자료 = 727 13장 TCP 연결 관리 = 731 13.1 개요 = 731 13.2 TCP 연결 설정과 종료 = 732 13.2.1. TCP 절반 폐쇄 = 734 13.2.2. 동시 개방과 폐쇄 = 736 13.2.3. 초기 순서 번호(ISN) = 737 13.2.4. 예제 = 738 13.2.5. 연결 설정의 타임아웃 = 740 13.2.6. 연결과 변환기 = 742 13.3 TCP 옵션 = 743 13.3.1. 최대 세그먼트 크기 옵션 = 744 13.3.2. 선택 확인 응답(SACK) 옵션 = 744 13.3.3. 윈도우 스케일(WSCALE 혹은 WSOPT) 옵션 = 745 13.3.4. 타임스탬프 옵션과 PAWS = 746 13.3.5. 사용자 타임아웃(UTO) 옵션 = 749 13.3.6. 인증 옵션(TCP-AO) = 750 13.4 TCP의 경로 MTU 발견 = 750 13.4.1. 예제 = 752 13.5 TCP 상태 천이 = 756 13.5.1. TCP 상태 천이도 = 756 13.5.2. TIME_WAIT(2MSL 대기) 상태 = 759 13.5.3. 침묵 시간 개념 = 765 13.5.4. FIN_WAIT_2 상태 = 765 13.5.5. 동시 개방과 폐쇄 천이 = 766 13.6 재설정 세그먼트 = 766 13.6.1. 존재하지 않는 포트에 대한 연결 요구 = 766 13.6.2. 연결 중단 = 768 13.6.3. 절반 개방 연결 = 769 13.6.4. 시간_대기 감소(TWA) = 772 13.7 TCP 서버 동작 = 774 13.7.1. TCP 포트 번호 = 774 13.7.2. 로컬 IP 주소의 제한 = 776 13.7.3. 외부 종단점의 제한 = 778 13.7.4. 수신 연결 큐 = 778 13.8 TCP 연결 관리를 포함하는 공격 = 784 13.9 정리 = 786 13.10 참고 자료 = 787 14장 TCP 타임아웃과 재전송 = 791 14.1 개요 = 791 14.2 간단한 타임아웃과 재전송 예제 = 792 14.3 재전송 타임아웃의 설정 = 795 14.3.1. 고전적인 방법 = 796 14.3.2. 표준 방법 = 796 14.3.3. 리눅스 방법 = 802 14.3.4. RTT 추정기 동작 = 806 14.3.5. 손실과 재순서에 강인한 RTTM = 808 14.4 타이머 기반 재전송 = 810 14.4.1. 예제 = 811 14.5 빠른 재전송 = 812 14.5.1. 예제 = 813 14.6 선택 확인 응답을 가진 재전송 = 817 14.6.1. SACK 수신기 동작 = 818 14.6.2. SACK 송신기 동작 = 818 16.6.3. 예제 = 819 14.7 의사 타임아웃과 재전송 = 823 14.7.1. 중복 SACK(DSACK) 확장 = 824 14.7.2. 아이펠 검출 알고리즘 = 825 14.7.3. 전진 RTO 복구(F-RTO) = 826 14.7.4. 아이펠 응답 알고리즘 = 827 14.8 패킷 재순서화와 중복 = 829 14.8.1. 재순서화 = 829 14.8.2. 중복 = 831 14.9 목적지 매트릭스 = 832 14.10 재패킷화 = 832 14.11 TCP 재전송을 포함하는 공격 = 834 14.12 정리 = 835 14.13 참고 자료 = 836 15장 TCP 데이터 흐름과 윈도우 관리 = 839 15.1 개요 = 839 15.2 대화형 통신 = 840 15.3 지연된 확인 응답 = 843 15.4 네이글 알고리즘 = 844 15.4.1. 지연된 ACK와 네이글 알고리즘 상호작용 = 847 15.4.2. 네이글 알고리즘 기능 억제 = 848 15.5 흐름 제어와 윈도우 관리 = 849 15.5.1. 슬라이딩 윈도우 = 851 15.5.2. 제로 윈도우와 TCP 지속 타이머 = 853 15.5.3. 어리석은 윈도우 신드롬(SWS) = 858 15.5.4. 대용량 버퍼와 자동 조정 = 866 15.6 긴급 메커니즘 = 871 15.6.1. 예제 = 872 15.7 윈도우 관리를 포함한 공격 = 875 15.8 정리 = 875 15.9 참고 자료 = 877 16장 TCP 혼잡 제어 = 879 16.1 개요 = 879 16.1.1. TCP에서의 혼잡 검출 = 880 16.1.2. TCP 발신자의 전송률 감소 = 881 16.2 고전적인 알고리즘 = 883 16.2.1. 저속 시작 = 884 16.2.2. 혼잡 회피 = 887 16.2.3. 저속 시작과 혼잡 회피 사이의 선택 방법 = 889 16.2.4. Tahoe, Reno와 빠른 복구 = 890 16.2.5. 표준 TCP = 891 16.3 표준 알고리즘의 발전 = 892 16.3.1. NewReno = 893 16.3.2. SACK을 이용한 TCP 혼잡 제어 = 893 16.3.3. FACK와 전송률 절반 감소 = 894 16.3.4. 제한 전송 = 896 16.3.5. 혼잡 윈도우 유효성 검사(CWV) = 896 16.4 Eifel 응답 알고리즘을 이용한 Spurious RTO의 제어 = 898 16.5 확장 예제 = 899 16.5.1. 저속 시작 동작 = 904 16.5.2. 발신자 일시 정지와 지역 혼잡(이벤트 1) = 905 16.5.3. 지역 혼잡으로부터의 복구와 stretch ACK = 910 16.5.4. 빠른 재전송과 SACK 복구(이벤트 2) = 913 16.5.5. 추가적인 지역 혼잡과 빠른 재전송 이벤트 = 916 16.5.6. 시간 초과, 재전송, cwnd 변경 취소 = 918 16.5.7. 연결 완료 = 922 16.6 혼잡 상태 공유 = 923 16.7 TCP 친화성 = 924 16.8 고속 환경에서의 TCP = 926 16.8.1. 고속 TCP(HSTCP)와 제한된 저속 시작 = 926 16.8.2. 이진 증가 혼잡 제어(BIC와 CUBIC) = 929 16.9 지연 기반 혼잡 제어 = 934 16.9.1. 베가스 = 934 16.9.2. 패스트 = 936 16.9.3. TCP 웨스트우드와 웨스트우드+ = 936 16.9.4. 복합 TCP = 936 16.10 버퍼 포화 = 938 16.11 활성 대기열 관리와 ECN = 940 16.12 TCP 혼잡 제어와 관련된 공격 = 942 16.13 정리 = 944 16.14 참고 자료 = 946 17장 TCP 유지 = 951 17.1 개요 = 951 17.2 설명 = 953 17.2.1. 유지의 예 = 956 17.3 TCP 유지와 관련된 공격 = 961 17.4 정리 = 961 17.5 참고 자료 = 962 18장 보안: EAP, IPSec, TLS, DNSSEC, DKIM = 963 18.1 개요 = 963 18.2 정보 보호의 기본 원리 = 964 18.3 네트워크 통신에서의 위협 = 965 18.4 기본 암호화와 보안 메커니즘 = 967 18.4.1. 암호학 = 967 18.4.2. Rivest, Shamir, Adleman(RSA) 공개키 암호화 = 971 18.4.3. 디피 헬만 키 교환 프로토콜(Diffie-Hellman 또는 DH) = 971 18.4.4. Signcryption와 타원 곡선 암호(ECC) = 973 18.4.5. 키 파생과 완벽한 순방향 보안(PFS) = 973 18.4.6. 의사 난수, 생성기, 기능 계열 = 973 18.4.7. 일회용 숫자와 salt = 974 18.4.8. 암호화 해시 함수와 메시지 요약 = 975 18.4.9. 메시지 인증 코드(MAC, HMAC, CMAC, GMAC) = 976 18.4.10. 암호화 스위트와 암호 스위트 = 977 18.5 인증서, 인증기관(CA), PKI = 980 18.5.1 공개키 인증서, 인증기관, X.509 = 981 18.5.2 인증서의 검증과 폐기 = 988 18.5.3 인증서 속성 = 991 18.6 TCP/IP 보안 프로토콜과 계층 구조 = 992 18.7 네트워크 접근 제어: 802.1X, 802.1AE, EAP, PANA = 993 18.7.1. EAP 기법과 키 기원 = 997 18.7.2. EAP 재인증 프로토콜(ERP) = 999 18.7.3. 네트워크 접속에 대한 인증 운반 프로토콜(PANA) = 999 18.8 계층 3 IP 보안(IPSec) = 1000 18.8.1. 인터넷 키 교환(IKEv2) 프로토콜 = 1003 18.8.2. 인증 헤더(AH) = 1015 18.8.3. 캡슐 보안 페이로드(ESP) = 1019 18.8.4. 멀티캐스트 = 1025 18.8.5. L2TP/IPsec = 1026 18.8.6. IPsec NAT 탐색 = 1027 18.8.7. 예제 = 1029 18.9 트랜스포트 계층 보안(TLS와 DTLS) = 1039 18.9.1. TLS 1.2 = 1040 18.9.2. TLS with Datagrams(DTLS) = 1055 18.10 DNS 보안(DNSSEC) = 1059 18.10.1. DNSSEC 자원 레코드 = 1060 18.10.2. DNSSEC 연산 = 1067 18.10.3. 트랜잭션 인증(TSIG, TKEY, SIG(0)) = 1077 18.10.4. DNS64를 지닌 DNSSEC = 1082 18.11 DomainKeys Identified Mail(DKIM) = 1083 18.11.1. DKIM 서명 = 1083 18.11.2. 예제 = 1084 18.12 보안 프로토콜에서의 공격 = 1085 18.13 정리 = 1087 18.14 참고 자료 = 1089 부록 : 약어 사전 = 1105 찾아보기 = 1147