이 책을 읽기 전에
이 책은 데이터통신과 컴퓨터 네트워크를 처음 배우는 사람을 위한 책입니다. 대학 전공 과목으로 이 주제를 듣는 학생, 면접을 앞두고 네트워크 기본기를 다지려는 취업 준비생, 그리고 'TCP는 쓰는데 정작 어떻게 동작하는지는 모르겠다'는 실무 개발자를 모두 염두에 두었습니다.
이 책이 다른 네트워크 책과 다른 점
시중에는 이미 훌륭한 네트워크 교과서가 많습니다. 그럼에도 이 책을 쓴 이유는 세 가지입니다.
첫째, 큰 그림과 '왜'를 먼저 봅니다. 물리계층의 수식부터 시작하는 대신, 데이터가 인터넷을 여행하는 이야기로 시작해 각 계층이 왜 존재하는지를 먼저 이해합니다.
둘째, 모든 장에 손으로 하는 실습이 있습니다. Wireshark로 패킷을 캡처하고, ping·traceroute·dig·curl 같은 명령을 직접 실행하고, Python으로 소켓을 만들어 봅니다. 이론은 눈으로 확인할 때 비로소 자기 것이 됩니다.
셋째, 마지막에 '문제 해결사' PART를 둡니다. 커넥션 타임아웃, 포트가 안 풀리는 문제, DNS 캐싱 문제처럼 현업에서 실제로 만나는 장애를 진단하는 법까지 다룹니다.
이 책을 읽는 법
이 책은 PART 01의 큰 그림에서 시작해 물리계층부터 응용계층까지 한 층씩 올라가도록 짜여 있습니다. 순서대로 읽는 것을 권하지만, 전송계층(PART 05)이나 응용계층(PART 06)이 급하다면 거기부터 펼쳐도 좋습니다. 각 장은 앞 장의 개념을 가볍게 떠올려 주며 시작합니다.