이번에 혼자 공부하는 네트워크라는 서적이 새로 출판되었다(!).
안그래도 학교 전공시간에 배웠던 데이터통신부터 시작해서 컴퓨터네트워크까지 전공과목의 난이도가 쉽지 않았던 터라
한빛미디어에서 뉴 페이스로 등장한 혼공 네트워크라는 친구를 고민하지않고 바로 구매해버렸다.
예전에 전공과목으로 혼자 공부하는 컴퓨터구조 & 운영체제라는 서적이 있는데 전공공부할 때 당시 큰 흐름을 잡는데
정말 많은 도움을 받았던 기억이 있어 이번 네트워크 책도 기대하고 구매했고, 이렇게 된거 혼공학습단도 신청해보았다.
이번 혼공학습단 12기 혼공 네트워크의 커리큘럼은 위와 같았다.
혼공족장님이 '럭키비키 잔앙~' 이라는 말을 쓰시는걸로 봐서는 최신 밈인 원영적 사고를 학습해버린 것 같다.
사담은 여기까지 적고, 바로 본론인 혼공 네트워크 1주차 공부 내용 및 숙제 풀이를 시작하고자 한다.
< Chapter 01. 컴퓨터 네트워크 시작하기 >
네트워크 기본 구조 용어 정리
모든 네트워크는 '노드' + '간선' + '메시지'로 구성된다.
노드 : 정보를 주고받을 수 있는 장치
간선 : 정보를 주고받을 수 있는 유무선의 통신 매체
메시지 : 노드 간 주고받는 메시지
용어 | 설명 |
노드 | 정보를 주고받을 수 있는 장치 |
간선 | 정보를 주고받을 수 있는 유무선의 통신 매체 |
메시지 | 간선으로 연결된 노드가 주고받는 정보 |
호스트 | 네트워크를 통해 흐르는 정보를 최초로 생성 및 송신하고, 최종적으로 수신하는 네트워크 가장자리의 노드 |
호스트 - 서버 | 어떠한 서비스를 제공하는 호스트 |
호스트 - 클라이언트 | 서버에게 어떠한 서비스를 요청하고 서버의 응답을 제공받는 호스트 |
네트워크 장비 | 네트워크 가장자리에 위치하지 않은 노드, 즉 호스트간 주고받을 정보가 중간에 거치는 노드 ex) 이더넷 허브, 스위치, 라우터, 공유기 등 |
범위에 따른 네트워크 분류
네트워크 종류 | 설명 |
LAN(Local Area Network) | 가까운 지역을 연결한 근거리 통신망 |
WAN(Wide Area Network) | 먼 지역을 연결하는 광역 통신망 |
메시지 교환 방식에 따른 네트워크 분류
네트워크 종류 | 사용하는 메시지 교환방식 | 설명 |
회선 교환 네트워크 | 회선 교환 방식 | - 메시지 전송로인 회선(circuit)을 설정하고 이를 통해 메시지를 주고받는 방식. - 회선 교환 네트워크에서는 호스트들이 메시지를 주고받기 전에 두 호스트를 연결한 후, 연결된 경로로 메시지를 주고받기 때문에 회선을 점유하고 있는 상태에서 다른 호스트가 사용할 수 없음 |
패킷 교환 네트워크 | 패킷 교환 방식 | - 회선 교환 방식의 문제점인 두 호스트 사이가 연결되어 점유 중일 때 회선을 사용할 수 없다는 문제점을 해결한 방식 - 메시지를 패킷이라는 작은 단위로 쪼개어 전송하는 방식 |
프로토콜(Protocol)
현대 인터넷은 호스트 간 패킷을 교환하는 방식으로 대부분 패킷 교환 방식을 사용한다.
패킷을 택배로 비유하고 패킷을 보내는 과정을 EZ하게 이해해보면 다음과 같은 과정을 거친다.
1. 선물할 책(페이로드)을 택배 상자에 담는다.
2. 배송 주소 등 택배 기사가 읽을 메시지(헤더)를 작성하고 첨부한다.
3. 택배 기사(네트워크 장비)를 통해 발송한다.
허나 이 과정에서 택배를 보내는 사람 + 받는 사람 + 택배 기사가 모두 이해할 수 있는 '언어'로 작성되어 있어야 택배 배송이 정상적으로 완료될 수 있다. 네트워크에서의 언어와 유사한 개념이 바로 프로토콜인 것!
[프로토콜(protocol)]
노드 간에 정보를 올바르게 주고받기 위해 합의된 규칙이나 방법
⇒ HTTP, HTTPS, TCP, UDP, ARP, IP 등
⇒ 모든 프로토콜에는 저마다의 목적과 특징이 있음
⇒ 프로토콜마다 목적과 특징이 다르기 때문에 특정 프로토콜로 주고받는 패킷의 부가 정보도 달라질 수 있음
⇒ 즉, 프로토콜마다 패킷의 헤더 내용이 달라질 수 있음
네트워크 참조 모델
네트워크 상에서 패킷을 주고받는 과정에는 정형화된 순서가 존재한다.
이러한 통신이 일어나는 각 과정을 계층으로 나눈 구조를 네트워크 참조 모델이라고 부른다.
또한, 계층으로 표현한다는 점에서 네트워크 계층 모델이라 부르기도 한다.
지금부터 네트워크 참조 모델 중 OSI 모델 & TCP/IP 모델에 대해서 살펴보자.
OSI 모델
OSI 모델 : 국제 표준화 기구(ISO)에서 만든 네트워크 참조 모델을 말한다.
⇒ 통신 단계를 7개의 계층으로 나눔
⇒ 응용 - 표현 - 세션 - 전송 - 네트워크 - 데이터링크 - 물리 계층
OSI 7계층 | 설명 |
응용 계층 | - 사용자 및 사용자가 이용하는 응용 프로그램과 가장 밀접히 맞닿아 있는 계층 - 사용자가 이용할 응용 프로그램에 다양한 네트워크 서비스 제공 - 다양한 서비스가 제공될 수 있는 만큼 타 계층에 비해 응용 계층에 속한 프로토콜이 많음 |
표현 계층 | - 번역기와 같은 역할을 하는 계층 - 사람이 이해할 수 있는 언어인 문자를 컴퓨터가 이해할 수 있는 코드로 변환, 압축, 암호화와 같은 작업을 수행 |
세션 계층 | - '세션'을 관리하기 위해 존재하는 계층 - 세션은 일반적으로 통신을 주고받는 호스트의 응용 프로그램 간 연결 상태를 의미함 - 세션 계층에서는 이러한 연결 상태를 생성하거나 유지하고, 종료되었을 때 끊어 주는 역할 담당 |
전송 계층 | - 신뢰성 있고 안정성 있는 전송을 해야 할 때 필요한 계층 - 패킷의 흐름을 제어하거나 전송 오류를 점검해 신뢰성 있고 안정적인 전송이 이루어지도록 함 - 포트라는 정보를 통해 실행 중인 응용 프로그램의 식별이 이루어지기도 함 |
네트워크 계층 | - 메시지를 수신지까지 전달하는 계층 - 네트워크 간의 통신이 이루어짐 - IP 주소라는 주소 체계를 통해 통신하고자 하는 수신지 호스트와 네트워크를 식별하고, 원하는 수신지에 도달하기 위한 최적의 경로를 결정함 |
데이터링크 계층 | - 네트워크 내 주변 장치 간의 정보를 올바르게 주고받기 위한 계층 - 물리 계층을 통해 주고받는 정보에 오류가 없는지 확인, MAC 주소라는 주소 체계를 통해 네트워크 내 송수신지를 특정할 수 있음 - 전송 과정에서 발생할 수 있는 충돌 문제를 때때로 해결하는 계층이기도 함 |
물리 계층 | - OSI 모델 최하단 계층 - 1과 0으로 표현되는 비트 신호를 주고 받는 계층 |
TCP/IP 모델
TCP/IP 모델 : 이론보다는 구현에 중점을 둔 네트워크 참조 모델(실용적)
⇒ OSI 모델은 주로 네트워크를 이론적으로 기술하고 이해할 때 사용하는 모델(이론적)
⇒ TCP/IP 4계층 or TCP/IP 프로토콜 스택 or 인터넷 프로토콜 스위트라고도 불림
⇒ 네트워크 참조 모델에 TCP/IP라는 프로토콜 이름이 붙은 이유는, 요 두 프로토콜이 현대 네트워크 구현의 핵심 요소이기 때문임
⇒ 여기서는 TCP/IP 모델에 물리 계층을 추가해서 5계층으로 확장하여 기술할 예정!!
TCP/IP 모델 | 설명 |
응용 계층 | - OSI 모델의 세션, 표현, 응용 계층을 합친 것과 유사함 |
전송 계층 | - OSI 모델의 전송 계층과 유사함 |
인터넷 계층(네트워크 계층) | - OSI 모델의 네트워크 계층과 유사함 |
네트워크 액세스 계층(데이터링크 계층) | - OSI 모델의 데이터 링크 계층과 유사함 - 네트워크 액세스 계층은 링크 계층 or 네트워크 인터페이스 계층이라고도 불림 - 많은 전공 서적에서는 OSI모델과 TCP/IP 모델을 대응하여 설명하기 위해서 TCP/IP 모델에 물리 계층을 추가해서 TCP/IP 모델을 5계층으로 확장하여 기술하기도 함(케바케) |
캡슐화 & 역캡슐화
패킷은 송신과정에서 캡슐화가 이루어지고, 수신과정에서 역캡슐화가 이루어진다.
좀 더 자세히 살펴보면 전체적인 패킷 전송과정은 송신지 입장에서 가장 높은 계층에서부터 가장 낮은 계층으로 이동하고, 수신지 입장에서는 가장 낮은 계층에서부터 가장 높은 계층으로 이동한다.
캡슐화와 역캡슐화에 대해서 좀 더 자세히 살펴보자.
캡슐화
- 패킷 교환 네트워크에서 메시지는 패킷 단위로 송수신된다.
- 패킷은 헤더와 페이로드, 때로는 트레일러를 포함하여 구성된다.
- 프로토콜의 목적과 특징에 따라 헤더의 내용은 달라질 수 있다.
- 어떤 정보를 송신할 때 각 계층에서는 상위 계층으로부터 내려받은 패킷을 페이로드 삼아, 프로토콜에 걸맞는 헤더(혹은 트레일러)를 덧붙인 후 하위 계층으로 전달한다.
- 이와 같이 송신 과정에서 헤더 및 트레일러를 추가해 나가는 과정을 캡슐화(Encapsulation)라고 한다.
역캡슐화
- 역캡슐화는 캡슐화 과정에서 붙였던 헤더(및 트레일러)를 각 계층에서 확인한 뒤 제거하는 과정을 말한다.
- 쉽게 말하면 캡슐화의 역순!
PDU(Protocol Data Unit)
OSI 계층 | PDU |
응용 계층 | 데이터(메세지)(data) |
표현 계층 | 데이터(메세지)(data) |
세션 계층 | 데이터(메세지)(data) |
전송 계층 | 세그먼트(segment)(TCP), 데이터그램(datagram)(UDP) |
네트워크 계층 | 패킷(packet) |
데이터 링크 계층 | 프레임(frame) |
물리 계층 | 비트(bit) |
PDU(Protocol Data Unit) : 각 계층에서 송수신되는 메시지의 단위를 말한다.
⇒ 상위 계층에서 전달받은 데이터에 현재 계층의 프로토콜 헤더(및 트레일러)를 추가하면 현재 계층의 PDU가 됨.
⇒ 위 표는 OSI 7계층 각 계층에서의 PDU를 정리한 내용임
⇒ '패킷은' 네트워크 계층에서의 송수신 단위를 지칭하기 위해 사용되기도 함, 네트워크 계층의 PDU인 '패킷' 그리고 패킷 교환 네트워크에서 사용되는 '패킷' 이렇게 2가지가 존재하는데 여기서는 혼동을 방지하기 위해 네트워크 계층의 PDU는 IP 패킷이라 지칭할 것!!
⇒ PDU = 전송을 원하는 데이터(SDU, Service Data Unit) + 제어 정보(PCI, Protocol Control Information)
기본 숙제 - OSI & TCP/IP 모델 차이점 정리 및 네트워크 계층 구조 작성
[OSI 모델 vs TCP/IP 모델]
- OSI 모델은 주로 네트워크를 이론적으로 기술하고 이해할 때 사용하는 모델(이론적, 이상적)
- TCP/IP 모델은 이론보다는 구현에 중점을 둔 네트워크 참조 모델(실용적)
추가 숙제 - 확인 문제 풀이
CH.01-1 확인 문제 2번)
정답 : 1번
컴퓨터 네트워크에 대한 이해를 통해 프로그램을 만드는 과정에 도움을 줄 수 있다(당근빠따죠)
CH.01-3 확인 문제 2번)
정답 : 2번
TCP/IP 모델은 4개의 계층(응용-전송-네트워크-데이터링크 계층)으로 통신 과정을 구분한다.
'Activity > 혼공학습단 12기' 카테고리의 다른 글
[혼공학습단 12기]혼공 네트워크 스터디 6주차 그리고 회고 - 와이어 샤크 & 네트워크 심화 (0) | 2024.08.18 |
---|---|
[혼공학습단 12기]혼공 네트워크 스터디 5주차 - 응용 계층 (0) | 2024.08.11 |
[혼공학습단 12기]혼공 네트워크 스터디 4주차 - 전송 계층 (0) | 2024.07.28 |
[혼공학습단 12기]혼공 네트워크 스터디 3주차 - 네트워크 계층 (0) | 2024.07.21 |
[혼공학습단 12기]혼공 네트워크 스터디 2주차 - 물리 & 데이터링크 계층 (2) | 2024.07.14 |