본문 바로가기
320x100
320x100

CS지식 - Network

도커/쿠버네티스/웹/서버에 대해서 잘 한다라는 말을 듣고, 실력 있다고 인정을 받으려면...

먼저 가장 밑단의 코어 지식인 CS. Computer Science 지식. 그 중에 Network쪽이 중요하다!!

 

한빛미디어 혼공단 12기

이번에 네트워크를 공부하기에 앞서 한빛미디어에서 혼공단 12기를 모집한다는 소식을 듣고 구글폼으로 신청하게 되었다.

혼공단 12기 선정 축하축하~!! 🥳

 

혼공족장님께 질문

집에 책장꽂이에 자리가 없어서 혼공족장님께 Ebook으로 공부해도 되냐고 여쭤봤다.

그리고 한여름에 책과 노트북을 들고 카페를 오가기엔 너무 무겁다.. ㅠ 힝

그랬더니 엄청 빠르게 답장이 오면서 Ebook으로 공부하셔도 좋다고 했다!

그리고 추가로 Ebook에 용어노트가 빠져있을까봐 링크까지 첨부해주셨다ㅠㅠ

정말 친절하심...❤️

 

yes24 Ebook 구매

혼공은 C, 파이썬이 있었는데 이번에 네트워크책을 추가했다!

추가로 혼공얄코책을 최근에 내돈내산으로 정독했는데, 이 책도 완전완전 강추다!!

https://code-boki.tistory.com/171

 

내돈내산) 개정판 - 혼자 공부하는 얄팍한 코딩 지식 책 리뷰

책 소개예전에 유튜브 컨텐츠로 알게된 님이 쓰신 책이다.2022년에 먼저 나온 모양이지만, 아쉽게도 난 개정판을 맨 처음 보게 됐다.2024년 7월 4일 기준, yes24에서 리뷰/한줄평이 111/89개나 된다.이

code-boki.tistory.com

맥북을 사용중인데 Yes24가 크레마라고 해서 이북을 편하게 만들어줘서 잘 사용중에 있다 크크

 

목차

Ebook에서 옆에 목차부분을 클릭하면 바로바로 점프해서 갈 수 있다. 북마크도 달아놓을 수도 있고, 현재 보고 있는 페이지에 메모도 추가할 수 있다!

노트북이 아니라 터치가능한 패드로 보면, 책 위에 손글씨로 메모를 작성할 수도 있는 것 같았다.

 

독서

카페에서, 그리고 집에서 열심히 독서를 했다!! 정독하느라 시간이 좀 걸렸다ㅠㅠ 끼잉....

 

좋았던 부분

1챕터의 마지막에는 좀 더 알아보기 부분이 있었다.

- OSI 7계층, TCP/IP 4계층은 사실 아무것도 해주지 않는다

- 트래픽과 네트워크 성능 지표

이 부분이 정말 좋았다. 현업에서 3년정도 개발해온 개발자로서 정처기에 나올법한 기본지식도 중요하지만 허와 실, 그리고 더 중요하게 생각하는 부분에 대한 내용이었다.

네트워크가 서로 연결되었는지에 대한 가장 기본적이지만 가장 중요한 ping 명령어의 사용. 그로 인해 패킷손실량을 볼 수 있다.

결국 개발자가 되고 년차가 쌓이면 기능개발보다는 운영/로그/모니터링/테스트가 좀 더 중요해지는데, 그 과정으로 가는 중요한 용어들을 배웠다!

 

과제

뭔가 책에 있는 내용을 그대로 그대로 옮기면 안될 것 같기도 하고(이북에서 스크린샷이 어차피 안되도록 막혀있음), 내가 만들면 더 기억에 남을 것 같아서 Keynote(윈도우의 PPT)를 통해서 이쁘게 레이어를 그려봤다ㅋㅋ

페이스북의 다른분들 글에 달린 댓글을 봤는데, 혼공족장님이 이번에 혼공네트는 처음이라 걱정을 좀 하신 것 같아보였다. 하지만 괜찮을꺼다. 우하하(내가있으니깐)

 

기본숙제

OSI 모델

Summary) OSI 모델은 통신 과정을 7개의 계층으로 표현. OSI 7계층이라고도 부름

OSI 모델은 국제 표준화 기구(ISO - International Organization for Standardization)에서 만든 네트워크 참조 모델

통신 단계를 7개의 계층으로 나눈다.

최하위 -> 최상위 계층 순으로 물리 계층 -> 데이터 링크 계층 -> 네트워크 계층 -> 전송 계층 -> 세션 계층 -> 표현 계층 -> 응용 계층

  • 물리 계층 - Physical Layer
    • OSI 모델의 최하단에 있는 계층
    • 1과 0으로 표현되는 비트 신호를 주고받음
    • 비트 신호는 다양한 통신 매체를 통해 다양한 신호로 운반
    • 같은 비트 데이터라도 -> 전기, 빛, 전파 등의 신호로 변환되어서 운반
    • 비트 데이터의 변환, 송수신을 위한 계층
  • 데이터 링크 계층 - Data Link Layer
    • 네트워크 내 주변 장치간의 정보를 올바르게 주고받기 위한 계층
    • 이더넷을 비롯한 많은 LAN 기술이 사용
    • 물리 계층을 통해 주고받는 정보에 오류가 없는지 확인하고, MAC주소 체계를 통해 네트워크 내 송수신지를 특정
    • 때로는 전송 과정에서 발생할 수 있는 충돌 문제를 해결하는 계층
  • 네트워크 계층 - Network Layer
    • 메시지를 다른 네트워크에 속한 수신지까지 전달하는 계층
    • 네트워크 계층에서는 네트워크 간의 통신이 일어남
    • 인터넷을 가능하게 하는 계층
    • IP주소 체계를 통해 통신하고자 하는 수신지 호스트와 네트워크를 식별하고, 원하는 수신지에 도달하기 위한 최적의 경로를 결정
  • 전송 계층 - Transport Layer
    • 신뢰성 있고 안정성 있는 전송을 해야 할 때 필요한 계층
    • 패킷이 정상적으로 전송됐는지 확인
    • 중간에 유실된 정보는 없는지 확인
    • 여러 개의 패킷을 보낼 때 순서가 뒤바뀐 것은 없는지 확인
    • 패킷의 흐름을 제어하거나 전송 오류를 점검해 신뢰성 있고 안정적인 전송이 이루어지도록 함
    • PORT 정보를 통해 실행중인 프로그램을 식별
  • 세션 계층 - Session Layer
    • '세션'을 관리하기 위해 존재하는 계층
    • 세션: 통신을 주고받는 호스트의 응용 프로그램 간 연결 상태
    • 연결 상태를 생성/유지/종료를 담당
  • 표현 계층 - Persentation Layer
    • 번역가와 같은 역할을 하는 계층
    • 사람이 이해할 수 있는 언어인 문자 -> 컴퓨터가 이해할 수 있는 코드로 변환/압축/암호화하는 역할을 담당
  • 응용 계층 - Application Layer
    • OSI 참조 모델 최상단에 있는 계층
    • 사용자 및 사용자가 이용하는 응용프로그램과 가장 밀접히 닿아 있는 계층
    • 응용프로그램에 다양한 네트워크 서비스를 제공
    • 웹 브라우저에 웹 페이지를 제공
    • 이메일 클라이언트 프로그램에 송수신된 이메일을 제공
    • 실질적인 네트워크 서비스가 제공되는 계층
    • 응용 프로그램에 다양한 서비스가 제공될 수 있는 만큼 타 계층에 비해 프로토콜이 많음

 

TCP/IP 모델

Summary) TCP/IP 모델은 통신 과정을 4개의 계층으로 표현

OSI모델과 다르게 TCP/IP 모델의 목적은 실용적 구현을 위한 참조에 가까움

최하위 -> 최상위 계층 순으로 네트워크 액세스 계층 -> 인터넷 계층 -> 전송 계층 -> 응용 계층

이 책의 관점에서는 4계층보다는 네트워크 액세스 계층을 데이터 링크/물리 계층으로 나눈, 5계층으로 보고 있음

  • 네트워크 액세스 계층 - Network Access Layer
    • 네트워크 액세스 계층은 링크 계층(Link Layer)또는 네트워크 인터페이스 계층(Network Interface Layer)이라고도 불림
    • OSI 모델의 데이터 링크 계층과 유사
    • 전통적인 TCP/IP 모델에서의 최하위 계층은 OSI 모델에서의 물리계층보다는 데이터 링크 계층 역할을 수행하는 쪽에 가까움
    • TCP/IP 모델에는 OSI 모델에서의 물리 계층에 해당하는 개념이 없다고 보는 견해도 존재
    • -> 많은 공식문서와 전공 서적에는 TCP/IP 모델을 5계층으로 확장하여 기술하기도 함(해당 책에서 채택)
  • 인터넷 계층 - Internet Layer
    • OSI 모델에서의 네트워크 계층과 유사
  • 전송 계층 - Transport Layer
    • OSI 모델에서의 전송 계층과 유사
  • 응용 계층 - Application Layer
    • OSI 모델의 세션 계층, 표현 계층, 응용 계층을 합친 것과 유사

 

차이점

Summary) OSI모델과 TCP/IP 모델을 비교하는 건 '유사'할 뿐 같지는 않다

OSI 모델에서 네트워크 참조 모델 <- 이라는 명칭이 사용됨.

실질적으로 모든 네트워크 구조가 이 OSI 7계층으로 나뉘어있거나 사용되지 않고, 추상화된 계층에 좀 더 가까움.

모든 네트워크 프로토콜과 장비들이 OSI나 TCP/IP 모델 계층에 예외 없이 부합라리라 속단하는 것은 오해이다.

이 모델들을 엄격하게 바라볼 게 아니라 하나의 개념으로 바라보아야 한다.

 

네트워크 계층 구조 작성

 

이쁘게 간격 맞추느라 KeyNote에서 애먹었다ㅋㅋ큐ㅠㅠㅠㅠ

 

추가숙제

Ch.01 (01-1) 확인 문제 2번(p.35), (01-3) 확인 문제 2번(p.73) 풀고 설명하기

Q. 네트워크에 대한 설명으로 옳지 않은 것을 골라보세요.

  1. 네트워크에 대한 이해는 프로그램을 만드는 과정에 도움을 주지 않습니다.
  2. 네트워크에 대한 이해는 프로그램을 유지 보수하는 과정에 도움을 줄 수 있습니다.
  3. 많은 프로그램이 네트워크를 통해 다른 장비와 상호 작용하며 실행됩니다.
  4. 채용 시 네트워크에 대한 지식을 강조하거나 검증하는 기업이 존재합니다.

A. 네트워크에 대한 이해는 당연히 프로그램을 만드는 과정에 도움을 준다!!

모바일이나 웹으로 웹페이지를 보거나, 이메일을 주고받는 것 하나 하나 다 네트워크지식이 들어간다

 

 

Q. 네트워크 참조 모델에 대한 설명으로 옳지 않은 것을 골라 보세요.

  1. OSI 모델은 7개의 계층으로 통신 과정을 구분합니다.
  2. TCP/IP 모델은 3개의 계층으로 통신 과정을 구분합니다.
  3. 네트워크 참조 모델은 네트워크 구성과 설계를 용이하게 합니다.
  4. 네트워크 참조 모델은 네트워크 문제 진단과 해결을 용이하게 합니다.

A. TCP/IP 모델은 통신 과정을 4개의 계층으로 표현한다. 추가로 책에서는 5계층으로 표현했다.

결국 3계층으로 통신과정을 구분했다는 건 틀린 말

 

스터디 1주차 후기

네트워크의 주요 모델들 Layer의 명칭과 역할에 대해서 배웠다.

추가로 블로그에 자세하게 포스팅하지는 않았지만, 책에 나와있는 캡슐화/역캡슐화/PDU가 현업에서는 좀 더 중요한 개념이라고 생각한다.

예전에 스프링에서 어떤 http 요청에 break point를 걸고 step into를 계속 하다가 캡슐화/역캡슐화가 일어나는 과정을 눈으로 본 기억이 있다.

그리고 공부나 암기 관점보다는 데이터 관점에서 보자면 각 계층에서 전송되는 PDU(Protocol Data Unit)도 정말 중요하다고 생각해서 아래에 정리해본다.

요즘 어린친구들이 "너 왜 나한테 그런 프레임을 씌워!", "저를 그런 프레임을 씌워서 바라보지 마세요". 하는 걸 볼 수 있다.

어떻게 보면 캡슐화/역캡슐화 과정의 데이터 링크 계층에서 프레임을 씌우고 벗기는 과정을 말하는 공대생들의 대화일수도...

계층 PDU(Protocol Data Unit)
응용/표현/세션 데이터(Data)
전송 세그먼트(Segment - TCP / Datagram - UDP)
네트워크 패킷(Packet)
데이터 링크 프레임(frame)
물리 비트(Bit)

 

책 구매처

https://www.yes24.com/Product/Goods/125830483

 

혼자 공부하는 네트워크 - 예스24

혼자 해도 충분하다!1:1 과외하듯 배우는 네트워크 자습서『혼자 공부하는 네트워크』는 개발자의 필수 지식인 네트워크를 기본부터 제대로 학습할 수 있도록 돕는 입문서이다. 다수의 네트워

www.yes24.com

 

 

댓글