1주차(7/1 ~ 7/7) chapter01. 컴퓨터네트워크 시작하기
- 학습목표
컴퓨터네트워크 지식의 필요성 이해
컴퓨터 네트워크의 큰 그림 그리기
컴퓨터가 네트워크를 통해 대화하는 과정을 이해
✔️ 컴퓨터 네트워크란?
여러 개의 장치가 마치 그물처럼 서로 연결
되어 정보를 주고받을 수 있는
통신망
을 뜻함.
✔️ 인터넷이란?
여러 장치들이 네트워크를 통해 서로 연결되면, 주변이 장치하고만 정보를 주고 받는 것이 아니라, 네트워크와 연결된 지구 반대편에 있는 장치와도 정보를 주고 받는다. 이것을 가능케 하는 기술을 인터넷이라 한다.
-> 컴퓨터(pc, 노트북, 핸드폰)이 주변장치와 유무선으로 연결됨
-> 스마트폰을 예로 들면, 네트워크가 연결되지 않은 계산기, 메모장, 시계 등고 같은 어플이케이션도 있지만, 유튜브, 인스타그램, 카카오톡, 게임 같은 어플이케이션은 인터넷 연결 없이는 사용하기 힘들다.
✔️ 개발자가 컴퓨터 네트워크를 알아야 하는 이유?
인터넷 연결이 없는 프로그램보다는 인터넷 연결을 이용한 프로그램을 만들 가능성이 크고, 프로그램 유지보수를 할 때도 이용된다.
✔️ 네트워크 구성에 따른 분류
네트워크의 구성
네트워크 = 노드 + 간선 + 메시지
✔️ 범위에 따른 네트워크 분류
✔️ 메시지 교환방식에 따른 네트워크 분류
💡 내 생각정리하기
패킷교환방식으로 메시지를 전달하면서 (자연스럽게) 캡슐화와 역캡슐화가 중요해졌다고 생각한다. ( 회선 교환방식에서 캡슐화/역캡슐화가 있었는지는 정확히 알수 없지만)
메시지를 패킷단위로 쪼개 송신할 때, 데이터(메시지)의 손실이 없어 정확하게 패킷단위로 쪼개고, 수신할 때는 다시 정확하게 데이터(메시지)를 재조립해야 해야만 의도한 정보를 정확히 전달할 수 있기 때문이다.
->
책상을 예로 들면 송신 할때 상판, 다리 4개, 나사 4개 등 모두 빠짐없이 보내야 하고, 수신 측에서는 설명서에 따라 순서대로 각각을 조립해야만 흔들리거나 기울어지지 않는 튼튼한 책상을 조립해서 사용할 수 있는 것과 같은 이치라고 생각한다.
네트워크를 이용해 정보를 주고 받는 것은 택배를 주고 받는 것과 유사하다.
핵심 포인트
- 프로토콜
- 네트워크 참조모델
- 캡슐화(역캡술화)
프로토콜이란?
통신과정에서 정보를 올바르게 주고 받기 위해 합의된 규칙이나 방법
-> 서로 다른 통신 장치들이 정보를 주고 받으려면 프로토콜이 통해야 한다.
네트워크 참조모델
네트워크를 통해 정보를 주고받을 때 정형화된 여러 단계를 거치는데, 그 과정을 계층으로 나눈 구조를 네트워크 참조모델이라 한다.
💡 네트워크 참조 모델을 사용하는 이유
각 계층별로 수행해야 할 역할이 정해져 있으면
네트워크 구성과 설계가 용이
합니다.네트워크 문제 진단과 해결이 용이
합니다.📌 OSI모델
📌 TCP/IP모델
네트워크에서 전달하는 정보인 메시지를 보낼때(송신과정)에서 캡슐화가 이루어지고, 메시지를 받을 때(수신 과정)에서 역캡슐화 이루어진다.
💡 택배를 보낼 때 상품이 안전하게 전달되도록 에어캡에 씌우고, 상자에 넣고, 데이핑을 하는 것처럼, 전달하는 메시지가 안전하게(보낸 상태 그대로 받을 수 있도록 하기 위해) 캡슐화와 역캡슐화가 필요하다.
OSI 모델 및 TCP/IP 모델 차이점을 정리하고, 이를 바탕으로 네트워크 계층 구조를 작성해 보기(p. 62 참조)
-> 상단의 네트워크 참조모델에 정리하였습니다.
택배를 주고받는 과정에서 정형화된 순서가 있는 것처럼, 네트워크를 통해 정보(메시지)를 주고받는 과정에서 정형화된 순서가 있는 데, 이것을 계층별로 나눈 것을 네트워크 계층이라 합니다. 네트워크 계층은 전기 신호를 받아들이는 물리 계층부터 사용자 및 사용자가 이용하는 응용프로그램과 가장 맞닿아 있는 응용계층으로 이루어져 있습니다. 대표적인 네트워크 계층모델에는 OSI모델과 TCP/IP모델이 있습니다.
Ch.01(01-1) 확인 문제 2번(p.35) 풀고 설명하기
📌 확인문제 2.
네트워크에 대한 설명을 옳지 않은 것은? -> 정답 1번
-> 1번) x. 프로그램을 만드는 과정에서 네트워크를 활용한 프로그램이 그렇지 않은 프로그램보다 훨씬 많기 때문에, 개발자 입장에서 네트워크에 대해 알고 있어야 합니다. 예를 들어, TCP/UDP 같은 네트워크 지식이 없다면 스프링 프레임워크의 기능을 제대로 이해하고 활용하기 어렵습니다.
(01-3) 확인 문제 2번(p.73) 풀고 설명하기