OSI 7계층과 TCP/IP
Closed this issue · 0 comments
TCP / IP
-
네트워크 상에서 정보를 주고받으려면, 데이터를 어느 경로로 보낼지•어떤 방식으로 보낼지 등 고려해야 할 사항들이 많다. 이러한 것들을 관리하기 위해 하나의 규약만을 정해 놓았다면, 문제가 발생하였을 때 전체를 수정해야 하며 이로 인한 새로운 문제가 발생하게 될 수도 있을 것이다.
-
그렇기 때문에 네트워크는 각각의 역할을 나눈 계층 구조를 가지게 되었다.
-
OSI → 개념적 Model
-
TCP / IP → 연결을 설정하고 네트워크를 통해 통신하는 실제 Model
-
-
각각의 계층은 모듈 단위로 독립적이지만 상호 유기적인 관계를 가진다.
분산 컴퓨팅
-
컴퓨터 간 통신하는 상황
-
통신 당사자 ⇒ Process ( = 실행 중인 프로그램) (*참고: 프로그램 = 실행 가능한 파일)
-
통신을 돕는 것 ⇒ Protocol
-
각 Protocol들은 네트워크를 통해 서로에게 접근한다.
*참고: 프로토콜이란? - 통신 규약. - 각각의 계층마다 존재하며, 상대방과 데이터를 주고 받을 수 있게 해준다. - 계층 각각을 peer라고 한다.
-
OSI 7계층
layer 7 | Application Layer | 응용 계층 |
layer 6 | Presentation Layer | 표현 계층 |
layer 5 | Session Layer | 세션 계층 |
layer 4 | Transport Layer | 전송 계층 |
layer 3 | Network Layer | 네트워크 계층 |
layer 2 | Data Link Layer | 데이터 링크 계층 |
layer 1 | Physical Layer | 물리 계층 |
-
각각의 프로세스들은 위와 같은 계층 구조를 가지고 있으며, 계층 내의 프로토콜을 통해 네트워크에 접근하는 식으로 통신한다.
-
프로토콜은 전송 매체로 중계 장치를 거쳐간다.
- 종류 ⇒ 허브, 브릿지, 라우터, ...
계층별 핵심 기능
1. 물리 계층 (Physical Layer)
-
물리적인 매체(전선, 광, 공기, ...)를 통한 0과 1의 비트 데이터 전달
-
전기적 정의: 전압, 주파수, 인코딩 방식 (NRZ, Manchester, ...)
-
기계적 정의: 커넥터, 25핀 / 9핀, male / female
-
기능적 정의: + / - / 접지(GND), Tx / Rx, Clock, DTR / DSR
→ 각각의 선들의 상태나 기능에 따라 데이터의 전송이 달라진다.
2. 데이터 링크 계층 (Data Link Layer)
-
데이터 링크란 데이터가 흐르는 시스템 간의 물리적인 연결을 말한다.
-
데이터 링크 계층에서는 인접 시스템
neighbor
간 신뢰성 있는 정보를 전달한다. -
데이터를 바이트 단위나 프레임으로 구성하여 전달한다.
-
신뢰성 보장을 위한 기능 ⇒ 연결 제어, 오류 제어, 흐름 제어
-
연결 제어 ⇒ 연결을 맺고, 데이터를 전달하고, 전달이 끝나면 연결을 종료한다.
-
오류 제어 ⇒ 오류를 검출•정정한다.
-
흐름 제어 ⇒ 데이터 전달 속도가 너무 빠르거나 느려지지 않도록 수신호의 상태를 보며 조절한다.
-
3. 네트워크 계층 (Network Layer)
-
중계 장치(= 네트워크)를 통해 데이터를 전달한다.
-
시스템(컴퓨터)의 수가 적거나 가까이 있다면 하나의 네트워크로 구성되어 모든 컴퓨터들이 직접 데이터를 교환한다.
-
컴퓨터의 수가 많고 지리적으로 떨어져 있다면, 지역별로 네트워크를 구성하여 연결한다.
- 네트워크 ⇒ 중간 교환 장치
- Internet ⇒ 전 세계의 모든 네트워크들을 연결한 거대한 네트워크
-
네트워크를 통한 전달에 필요한 것들
-
Addressing ⇒ 각 시스템에 주소를 부여하는 것
-
라우팅 (Routing) ⇒ 목적지로 갈 수 있도록 경로를 찾아주는 것
-
라우터 (Router) ⇒ 중계 장치 ⇒ 목적지를 보고 최적의 경로로 보내주는 것
-
4. 수송 계층 (Transport Layer)
-
종단 시스템
end-to-end
간의 신뢰성 있는 정보를 전달한다.-
구간별로는 데이터 링크 계층에서 담당하지만, 종단 간의 추가적인 보장이 필요하기 때문이다.
-
종단 시스템 - 네트워크 - 종단 시스템
-
-
신뢰성 보장 ⇒ 연결 제어, 오류 제어, 흐름 제어
-
네트워크의 상태를 고려한 흐름 제어가 필요하다.
-
예시: congestion 상태 (네트워크 혼잡)
-
5. 세션 계층 (Session Layer)
-
응용 프로세스 간의 연결 (=
session
)을 제어한다. -
세션을 수립하고, 관리하고, 해제한다.
6. 표현 계층 (Presentation Layer)
-
데이터를 표현하는 계층이다.
Syntax
라고도 한다.
-
데이터를 형식화, 암호화, 압축한다.
- ex - ASCII / binary, jpg / gif, mpg / avi
7. 응용 계층 (Applicaiton Layer)
-
응용 프로세스에게 네트워크 서비스를 제공한다.
(= 미리 다양한 것들을 준비해놓고 필요한 걸 찾아 쓰도록 하는 것)
-
응용 계층에서의 네트워크 서비스
-
웹 데이터 전달
HTTP
-
파일 전송
FTP
-
이메일
SMTP
-
원격 접속
Telnet
-
네트워크 관리
SNMP
-
✅ 정리
-
정리하자면, 프로세스 사이에서의 데이터 전달은 네트워크를 통해 이루어지며 TCP/IP 7 Layer의 도움을 받는다.
-
계층별 핵심 기능은 아래와 같다.
응용 계층 | 다양한 네트워크 서비스 제공 (이메일, 파일 전송, ...) |
표현 계층 | 데이터의 표현 방식 정의 (ASCII, 압축, 암호화, ...) |
세션 계층 | 응용 프로세스 간의 연결 관리 |
전송 계층 | 종단간(end-to-end) 신뢰성 있는 정보 전달 |
네트워크 계층 | 네트워크를 통한 데이터 전달 |
데이터 링크 계층 | 인접 시스템(neighbor)간의 신뢰성 있는 정보 전달 |
물리 계층 | 물리 매체를 통한 0과 1의 비트 전송 |
- 네트워크 계층, 데이터 링크 계층, 물리 계층을 묶어서
low layer
라고도 한다.