TCP/IP 교과서 - TCP/IP를 중심으로 네트워크 원리를 파악한다!
조 캐서드 지음, 정용석 옮김 / 길벗 / 2020년 12월
평점 :
절판


최근 내가 맡아서 하는 업무 중 네트워크에 대한 이해가 필요한 일이 많았다.

그간 잘 모르는 내용은 그때그때 찾아가며 익혀갔었지만 이번 업무에서 아직 많이 부족하다고 느꼈었다.

내가 주로 웹 서비스를 개발해왔었지만, 웹과 관련된 기술 중 네트워크 기술에 대해서는 아직도 부족하다고 느낀다.

특정 네트워크 구성요소에 대해 이해했다면 이와 연관있는 다른 구성요소에 대해서도 이해가 있어야 완벽하게 이해할 수 있다고 보는데, 전반적으로 이해하려면 시간과 노력이 많이 필요하다고 생각한다.

페이스북을 통해 길벗 출판사에서 진행하는 개발자 리뷰어라는 게시글을 보게 되었다.

그중 TCP/IP 교과서라는 책을 보게 되었는데, 이전 길벗에서 출판한 Git 교과서로 Git을 쉽게 이해하는 데 많은 도움을 받았던 좋은 기억이 있어서 인지 이 책도 읽다보면 지난번처럼 또다시 도움을 받을 수 있지 않을까 싶어 신청하였다.

좋은 기회로 개발자 리뷰어로 선정되었다.

매일 한 챕터에서 두 챕터씩 분량을 정해 완독하였다.

어려운 내용이 많지만, 나는 책의 내용을 머릿속으로 그려가면서 이해하려고 했었고 특히나 그림으로 설명하는 부분도 꼼꼼히 보았다.

나에게 가장 도움이 되었던 부분을 몇가지 꼽아보자면,

첫번째, 용어와 구성요소에 대한 설명이다.

네트워크 관련 요청 사항 등의 이유로 담당자와 이야기를 해야할 경우가 있거나 다른 전공 도서에서 설명하는 내용 중 네트워크 관련 용어를 잘 알지 못하는 경우에 구글링을 통해 공부하는 편이었다.

잘 설명된 블로그를 통해서 이해하기가 쉬운 적도 있었지만, 이해가 잘 되지 않은 적도 많았다.

이 책에서는 용어와 네트워크의 각 구성 요소를 쉽게 설명되어 있고, 사례를 통해서도 이해할 수 있어서 도움이 되었다.

두번째, 실무에서 도움이될 도구와 서비스에 대한 설명이다.

간혹 서비스 개발이나 운영 중, 서비스 로직 오류 외에도 네트워크와 관련된 문제가 발생하는 경우가 있다.

이때 네트워크 담당자를 통해서 빠른 해결이 가능한 경우가 있지만, 그 전에 어떤 문제로 인해 서비스 장애가 발생했는지 확인이 필요하고, 내가 요청했던 부분이 잘 적용되었는 지에 대해서도 간혹 확인이 필요한데, 이때 알아두면 좋을 내용들에 대한 챕터가 따로 구성되어 있어 특히 도움이 많이 되었다.

이 책을 읽는 도중에도 알게된 내용을 통해 실무에서 적용해볼 수 있었다.

세번째, 개발자가 알아두면 좋은 네트워크 공격과 관련된 내용이다.

항상 보안은 서비스 운영에 가장 중요한 요소이다.

방화벽은 보안에 있어서 중요한 부분인데, 네트워크 공격을 소개하기 전 방화벽이 어떤 것이고 어떤 규칙을 통해 적용되는 지에 대해서도 설명하고 있어 내가 잘 알지 못했던 영역도 이해할 수 있었다.

또한 네트워크 공격에 대해 자격 증명, 네트워크 수준, 어플리케이션 수준, 루트 접근, 피싱, 서비스 거부 공격 등에 대해서 자세하게 알 수 있어서 다시한번 보안이 중요하다고 느꼈다.

네번째는, 우리 일상에 자주 사용하는 이메일과 스트리밍이 어떻게 처리되는 지에 대한 내용이다.

한번쯤 이메일이 어떻게 수신자에게 전달될까라고 생각은 해보았는데, 막상 찾아보지 않았었다.

이 책에서는 이메일이 따로 챕터로 구성되어 있어 재밌게 보았었다.

우리가 알고 있는 이메일이 어떤 필드로 구성되어 있는 지에 대한 기본 설명부터 내가 가장 재밌게 본 이메일이 어떻게 작동하는지에 대해 설명한다.

간략하게 적어보자면, 이메일도 다른 서비스들처럼 클라이언트와 서버로 이루어져 있는데, 양 끝에 클라이언트가 있어 네트워크를 통해 서버 사이를 이동하면서 메시지가 전달이 된다.

즉, 이메일 리더라고 불리는 클라이언트 어플리케이션이 이메일 서버에 메시지를 보내고, 이메일 서버가 수신자의 주소를 읽어서 또다른 이메일 서버에 메시지를 보내고, 메시지는 메일박스의 이메일 서버에 저장이 되는 방식으로 동작을 한다. 수신자는 이메일 서버에 주기적으로 로그인을 해서 메시지를 확인한다.

만약 누군가가 나에게 이메일이 어떤 방식으로 처리되는 지에 물어본다면 설명을 잘 할 수 있을 것이다.

그리고 이메일의 전송 프로토콜인 SMTP에 대해서도 더욱 이해도가 높아졌다.

간혹 서버에서 직접 SMTP 클라이언트 명령어를 통해 이메일 서버가 정상적으로 응답하는 지 확인하는 경우가 있다.

최근에도 이 명령어를 통해서 테스트를 해보았는데, 책에 정리된 SMTP 서버 응답 코드는 추후 테스트 시 유용하게 사용할 수 있을 듯하다.

다섯번째, IPv6에 대한 이해도가 높아졌다.

아마 이 책을 보고 싶었던 이유 중 하나가 IPv6 때문이기도 했었다.

어디선가 한번쯤 32비트의 IP 주소가 부족하다는 내용을 읽어본 적이 있을 것이다.

이런 문제로 인해 개선된 IP인 IPv6가 등장하게 되었고, 현재 많은 기업에서 IPv6 연결을 테스트하고 전환 단계에 있다고 한다.

이로 인해 개발자인 나도 IPv6에 대한 배경 지식이 있어야 하지 않을까 싶었다.

IPv6의 IP 주소 형식은 128비트로 매우 큰 주소 공간을 사용하기 때문에 많은 주소를 제공한다.

또한 인증과 개인정보가 향상 되었다는 점에서도 장점을 가지고, 간단해진 헤더 형식과 IPv6 데이터그램을 특정 프름 레벨로 표시할 수 있어 서비스 품질이 보장된다.

나는 이 챕터에서는 주로 IPv4와 다른 IPv6와 IPv4가 어떻게 IPv6에 연결되는 지에 대한 기술을 중점적으로 보았다.

여섯번째, 웹 서비스에 대한 내용이다.

아무래도 웹 서비스를 개발을 주로 하는 개발자에게 이 챕터는 필수로 추천하고 싶다.

특히 웹 서비스 구성형식과 REST에 대해 읽어보면 API 개발 등과 같이 서비스 로직 설계에 많은 참고사항이 될 것이라고 생각한다.

책의 분량이 많아서 이해하는 데에 시간이 많이 걸렸다.

아직도 완벽히 이해하지는 못했지만 내가 궁금했었고, 이해가 되지 않았었던 부분들에 대해서는 개념을 다시 다질 수 있어서 도움이 되었다.

이 책은 여러번 읽다보면 네트워크에 대한 흐름을 이해할 수 있지 않을까 싶다.

또한 업무 중 그때그때마다 궁금했던 용어들도 손쉽게 찾아볼 수 있어 도움이 될 것이라고 생각한다.


댓글(0) 먼댓글(0) 좋아요(0)
좋아요
북마크하기찜하기 thankstoThanksTo