Layer와 Layered 구조
구성 요소(Layer)들 간의 관계를 표현하기 위해 도식(Layered)을 사용한다.
시스템을 이루는 요소와 관계를 설명하는 것이 설계이다.
Layered 구조
- Layer: 구성 요소. 하나의 네모 칸.
- Layered: 구성 요소들 간의 관계를 표현.
- 위와 같은 직렬 구조는 4층이 3층에 대해 의존적임을 표헌하는 것이다.
- 의존적: 행위, 기능에 대해서 의존적이다. 4는 3에 대해 의존적이라면, 4는 3이 없으면 존재할 수 없다.
- 전제 조건: 3은 4의 전제 조건이다. 3이 있어야 4가 존재할 수 있다.
네트워크와 네트워킹
- Network: 관계, 관계망
- Networking: 상호 작용
예를 들어보자.
- 국적이 다른 두 사람이 대화하기 위해서는 (1)공기중이고, 2m 이내여야 하고, (2)말 또는 글로 소통할지, (3)어떤 언어를 사용할지 선택해야 한다.
- 이런 조건들은 서로 (1) -> (2) -> (3) 순으로 전제조건이 있으며 (3) -> (2) -> (1) 순으로 의존적이다.
- 이런 규칙을 Protocol이라고 부른다.
- 이런 구조는 OSI 7 Layer와 유사하다.
- OSI 7 Layer는 개념에 관한 얘기이다.
개념과 구현(실체)
- 개념은 여자, 구현 형태는 박은빈.
- 이런 형태를 상속이라고 얘기한다.
- 개념은 어렵다. 철학 같다. 개념을 안다고 구현을 이해할 수 없다.
- OSI 7 Layer는 개념이여서 어렵다. 구현체를 먼저 아는게 좋다. 문법과 규칙에 대해서 공부하는 것이 빠르다.
User mode와 Kernel mode
하드웨어
어떤 하드웨어가 존재하면, 그 하드웨어를 제어하기 위한 소프트웨어가 존재한다.
이를 Driver라고 불린다.
ex) NIC (Network Interface Card)
- 랜카드라고 불림.
- NIC의 드라이버가 있어야 사용 가능하다.
User mode
Kernel mode
- 신의 영역
- 신이 정해준 인터페이스(파일, 소켓)를 통해서 User mode에서 HW를 사용할 수 있도록 해준다.
L5 이상부터는 User mode 이기 때문에 프로세스로 설명이 가능하다.
-
TCP : L4, Transport layer
-
IP: L3, Network Layer
-
TCP/IP 로 작성하는 이유: 계층이 다르다는것을 나타내기 위해.
-
Socket의 실체는 File이다. 네트워크 추상화가 이뤄진 파일을 Socket이라고 부른다.
-
Socket을 여는 주체는 Process이다.