CS지식 - Network
도커/쿠버네티스/웹/서버에 대해서 잘 한다라는 말을 듣고, 실력 있다고 인정을 받으려면...
먼저 가장 밑단의 코어 지식인 CS. Computer Science 지식. 그 중에 Network쪽이 중요하다!!
한빛미디어 혼공단 12기
이번에 네트워크를 공부하기에 앞서 한빛미디어에서 혼공단 12기를 모집한다는 소식을 듣고 구글폼으로 신청하게 되었다.
혼공단 12기 선정 축하축하~!! 🥳
혼공족장님께 질문
집에 책장꽂이에 자리가 없어서 혼공족장님께 Ebook으로 공부해도 되냐고 여쭤봤다.
그리고 한여름에 책과 노트북을 들고 카페를 오가기엔 너무 무겁다.. ㅠ 힝
그랬더니 엄청 빠르게 답장이 오면서 Ebook으로 공부하셔도 좋다고 했다!
그리고 추가로 Ebook에 용어노트가 빠져있을까봐 링크까지 첨부해주셨다ㅠㅠ
정말 친절하심...❤️
yes24 Ebook 구매
혼공은 C, 파이썬이 있었는데 이번에 네트워크책을 추가했다!
추가로 혼공얄코책을 최근에 내돈내산으로 정독했는데, 이 책도 완전완전 강추다!!
https://code-boki.tistory.com/171
맥북을 사용중인데 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. 네트워크에 대한 설명으로 옳지 않은 것을 골라보세요.
- 네트워크에 대한 이해는 프로그램을 만드는 과정에 도움을 주지 않습니다.
- 네트워크에 대한 이해는 프로그램을 유지 보수하는 과정에 도움을 줄 수 있습니다.
- 많은 프로그램이 네트워크를 통해 다른 장비와 상호 작용하며 실행됩니다.
- 채용 시 네트워크에 대한 지식을 강조하거나 검증하는 기업이 존재합니다.
A. 네트워크에 대한 이해는 당연히 프로그램을 만드는 과정에 도움을 준다!!
모바일이나 웹으로 웹페이지를 보거나, 이메일을 주고받는 것 하나 하나 다 네트워크지식이 들어간다
Q. 네트워크 참조 모델에 대한 설명으로 옳지 않은 것을 골라 보세요.
- OSI 모델은 7개의 계층으로 통신 과정을 구분합니다.
- TCP/IP 모델은 3개의 계층으로 통신 과정을 구분합니다.
- 네트워크 참조 모델은 네트워크 구성과 설계를 용이하게 합니다.
- 네트워크 참조 모델은 네트워크 문제 진단과 해결을 용이하게 합니다.
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
댓글