책 소개
“이 책에서는 설명하는 지식은 인터넷 작업의 고도화와 안전성 제고를 목표로 하거나 지속적으로 발생하는 문제에 대한 해결책을 강구하고자 하는 엔지니어들에게 큰 도움이 될 것이다.” - 빈트 서프(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 프로토콜들을 기술했지만, 스티븐스는 다른 경쟁 서적과는 비교할 수 없는…
목차펼치기접기
1장 개요 ___1.1 아키텍처에 관한 원칙 ______1.1.1 패킷, 연결, 데이터그램 ______1.1.2 단대단 원칙과 운명 공동체 ______1.1.3 오류 제어와 흐름 제어 ___1.2 설계와 구현 ______1.2.1 계층화 ______1.2.2 계층 구현상의 다중화, 역다중화, 캡슐화 ___1.3 TCP/IP 아키텍처와 프로토콜 모음 ______1.3.1 ARPANET 참조 모델 ______1.3.2 TCP/IP에서 다중화, 역다중화, 캡슐화 ______1.3.3 포트 번호 ______1.3.4 이름, 주소, 그리고 DNS ___1.4 인터넷, 인트라넷, 엑스트라넷 ___1.5 애플리케이션의 설계 ______1.5.1 클라이언트/서버 ______1.5.2 p2p ______1.5.3 API ___1.6 표준화 절차 ______1.6.1 RFC ______1.6.2 기타 표준 ___1.7 구현과 소프트웨어 배포 ___1.8 인터넷 아키텍처에 관련된 공격 ___1.9 정리 ___1.10 참고 자료 2장 인터넷 주소 구조 ___2.1 개요 ___2.2 IP 주소의 표현 ___2.3 IP 주소의 기본 구조 ______2.3.1 클래스 기반 주소 지정 ______2.3.2 서브넷 주소 지정 ______2.3.3 서브넷 마스크 ______2.3.4 VLSM ______2.3.5 브로드캐스트 주소 ______2.3.6 IPv6 주소와 인터페이스 ID ___2.4 CIDR과 병합 ______2.4.1 접두사 ______2.4.2 병합 ___2.5 특별한 용도 주소 ______2.5.1 IPv4/IPv6 주소 변환기 ______2.5.2 멀티캐스트 주소 ______2.5.3 IPv4 멀티캐스트 주소 ______2.5.4 IPv6 멀티캐스트 주소 ______2.5.5 애니캐스트 주소 ___2.6 할당 ______2.6.1 유니캐스트 ______2.6.2 멀티캐스트 ___2.7 유니캐스트 주소 배정 ______2.7.1 단일 제공자/네트워크 없음/단일 주소 ______2.7.2 단일 제공자/단일 네트워크/단일 주소 ______2.7.3 단일 제공자/복수의 네트워크/복수의 주소 ______2.7.4 복수의 제공자/복수의 네트워크/복수의 주소(다중 홈 구성) ___2.8 IP 주소 관련 공격 ___2.9 정리 ___2.10 참고 자료 3장 링크 계층 ___3.1 개요 ___3.2 이더넷과 IEEE 802 LAN/MAN 표준 ______3.2.1 IEEE 802 LAN/MAN 표준 ______3.2.2 이더넷 프레임 형식 ______3.2.3 802.1p/q: 가상 LAN 및 QoS 태그 ______3.2.4 802.1AX: 링크 병합(예전 802.3ad) ___3.3 전이중, 절전, 자동 협상, 802.1X 흐름 제어 ______3.3.1 이중 모드의 불일치 ______3.3.2 WoL(Wake-on LAN), 절전, 매직 패킷 ______3.3.3 링크 계층 흐름 제어 ___3.4 브리지와 스위치 ______3.4.1 STP(스패닝 트리 프로토콜) ______3.4.2 802.1ak: MRP(다중 등록 프로토콜) ___3.5 무선 LAN: IEEE 802.11(Wi-Fi) ______3.5.1 802.11 프레임 ______3.5.2 절전 모드와 TSF(시간 동기화 기능) ______3.5.3 802.11 MAC(매체 접근 제어) ______3.5.4 물리 계층 세부 사항: 전송률, 채널, 주파수 ______3.5.5 Wi-Fi 보안 ______3.5.6 Wi-Fi 메시(802.11s) ___3.6 PPP ______3.6.1 링크 제어 프로토콜(LCP) ______3.6.2 다중 링크 PPP(MP) ______3.6.3 압축 제어 프로토콜(CCP) ______3.6.4 PPP 인증 ______3.6.5 네트워크 제어 프로토콜(NCP) ______3.6.6 헤더 압축 ______3.6.7 예제 ___3.7 루프백 ___3.8 MTU와 경로 MTU ___3.9 터널링의 기초 ______3.9.1 단방향 링크 ___3.10 링크 계층에 대한 공격 ___3.11 정리 ___3.12 참고 자료 4장 ARP: 주소 결정 프로토콜 ___4.1 개요 ___4.2 예제 ______4.2.1 직접 전달과 ARP ___4.3 ARP 캐시 ___4.4 ARP 프레임 형식 ___4.5 ARP 예제 ______4.5.1 정상적인 예제 ______4.5.2 존재하지 않는 호스트에 대한 ARP 요청 ___4.6 ARP 캐시 타임아웃 ___4.7 프락시 ARP ___4.8 무상 ARP와 주소 충돌 탐지(ACD) ___4.9 arp 명령 ___4.10 임베디드 장치의 IPv4 주소 설정에 ARP 사용 ___4.11 ARP 관련 공격 ___4.12 정리 ___4.13 참고 자료 5장 인터넷 프로토콜 ___5.1 개요 ___5.2 IPv4 헤더와 IPv6 헤더 ______5.2.1 IP 헤더 필드 ______5.2.2 인터넷 검사합 ______5.2.3 DS 필드와 ECN(예전의 ToS 바이트나 IPv6 트래픽 클래스) ______5.2.4 IP 옵션 ___5.3 IPv6 확장 헤더 ______5.3.1 IPv6 옵션 ______5.3.2 라우팅 헤더 ______5.3.3 단편 헤더 ___5.4 IP 포워딩 ______5.4.1 포워딩 테이블 ______5.4.2 IP 포워딩 동작 ______5.4.3 예제 ______5.4.4 토의 ___5.5 모바일 IP ______5.5.1 기본 모델: 양방향 터널링 ______5.5.2 경로 최적화(RO) ______5.5.3 토의 ___5.6 IP 데이터그램에 대한 호스트의 처리 ______5.6.1 호스트 모델 ______5.6.2 주소의 선택 ___5.7 IP 관련 공격 ___5.8 정리 ___5.9 참고 자료 6장 시스템 구성: DHCP와 자동 구성 ___6.1 개요 ___6.2 동적 호스트 구성 프로토콜 ______6.2.1 주소 풀과 임대 ______6.2.2 DHCP와 BOOTP 메시지 형식 ______6.2.3 DHCP와 BOOTP 옵션 ______6.2.4 DHCP 프로토콜 운영 ______6.2.5 DHCPv6 ______6.2.6 중계기에서 DHCP 사용 ______6.2.7 DHCP 인증 ______6.2.8 재구성 확장 ______6.2.9 성급한 허용 ______6.2.10 지역 정보(LCI와 LoST) ______6.2.11 이동성과 핸드오프 정보(MoS와 ANDSF) ______6.2.12 DHCP 스누핑 ___6.3 상태 없는 주소 자동 구성(SLAAC) ______6.3.1 IPv4 링크 로컬 주소의 동적 구성 ______6.3.2 링크 로컬 주소를 위한 IPv6 SLAAC ___6.4 DHCP와 DNS의 상호작용 ___6.5 PPP over 이더넷(PPPoE) ___6.6 시스템 구성을 포함하는 공격 ___6.7 정리 ___6.8 참고 자료 7장 방화벽과 네트워크 주소 변환 ___7.1 개요 ___7.2 방화벽 ______7.2.1 패킷 필터링 방화벽 ______7.2.2 프록시 방화벽 ___7.3 네트워크 주소 변환(NAT) ______7.3.1 전통적인 NAT: 기본 NAT와 NAPT ______7.3.2 주소와 포트 변환 과정 ______7.3.3 필터링 동작 ______7.3.4 NAT 후면의 서버 ______7.3.5 헤어피닝과 NAT 루프백 ______7.3.6 NAT 편집기 ______7.3.7 서비스 제공자 NAT(SPNAT)와 서비스 제공자 IPv6 천이 ___7.4 NAT 횡단 ______7.4.1 핀홀과 홀 뚫기 ______7.4.2 일방적인 자체 주소 고정(UNSAF) ______7.4.3 NAT를 위한 세션 횡단 유틸리티(STUN) ______7.4.4 중계기를 활용해 NAT 주의를 횡단(TURN) ______7.4.5 대화식의 연결성 설정(ICE) ___7.5 패킷 필터링 방화벽과 NAT 구성 ______7.5.1 방화벽 규칙 ______7.5.2 NAT 규칙 ______7.5.3 NAT와 방화벽의 직접적인 상호작용: UPnP, NAT-PMP, PCP _…
출처: 국립중앙도서관 서지정보
리뷰 남기기
로그인하면 리뷰를 남길 수 있어요.
리뷰 0개
아직 리뷰가 없어요.
