OSI 7 Layer
"국제표준기구 iso가 발표한 네트워크 모델"
왜 발표했을까?
발표 전, 다른 네트워크 통신 절차를 사용하고 있는 회사와 통신이 원활히 잘안된다.
그래서 1984년, 7계층 발표.
osi 모델 (~~APSTNDP => 멘수에~~)
- Application Layer
- Presentation Layer
- Session Layer
- Transport Layer
- Network Layer
- Data Link Layer
- Physical Layer
Application Layer
응용 프로세스를 직접 사용.
HTTP FTP SMTP
Presentation Layer
데이터의 변환, 압축, 암호화
Session Layer
세션을 열고 닫고를 제공하는 메커니즘의 계층.
**세션 복구** 지원!! 세션도커는 체크포인트라는 것을 통해 동기화 시켜준다.
예를들어, 100MB 데이터를 보내는데, 체크포인트를 5MB마다 설정한다고 가정했을 때, 만약 48MB 전송했는데 연결이 끊어졌으면 45MB부터 다시 전송 시작할 수 있다.
Transport Layer
서로 다른 두 네트워크간의 전송을 담당
- 세그멘테이션 : 상위 계층 데이터를 받아서 세그먼트 단위로 나눈다. 근데 왜나눔?
- 영상 다운 중에도 시청가능
- 다운 중에 연결 끊기면 처음부터 할 필요 없다. (손실률이 크다)
- 흐름제어 : 서로 다른 데이터 전송량이 다른 기기간에 전송량을 맞추는 것 (둘 중 작은 값으로?)
- Stop & Wait 방식
- Sliding Window 방식
- 오류제어 : 보낸 데이터가 손실이 없는지, 만약에 오류가 있다면 해당 데이터를 다시 보내주는 것
- FEC 방식
- BEC 방식
- ARQ 방식
Network Layer
ip나 라우터 장비가 속한 계층. 데이터의 전송을 담당
호스트에다가 ip번호를 부여하고, 도착지 ip까지 최적의 경로를 찾아주는 기능을 "**라우팅**"이라고 부른다.
Data Link Layer
동일한 네트워크 내에서의 전송을 담당.
- 오류제어
- 흐름제어
두 기능이 제공된다.
그런데 transport layer는 이해가 되는데, 여기서는 오류제어 왜 필요함?
데이터 링크 계층의 데이터 단위를 "**Frame**"이라고 부른다.
만약 10개의 프레임이 존재한다고 가정해보자. 이중 두개의 프레임이 오류가 나면, 데이터링크 계층에서는 이 데이터 조각(프레임)들을 그냥 버린다.
이에 반해, 트렌스포트 계층의 오류제어는 해당 데이터가 없으면 다시 보내줌으로써 오류 복구를 한다.
Physical Layer
비트 단위 → 전기신호로 변환, 전송 해주는 역할.
OSI vs TCP / IP
우리는 현재 네트워크 모델은 tcp ip 모델을 사용하고 있다.
OSI는 단순히 네트워크를 묘사해주기 위한 모델로 사용중
OSI 7 Layer | TCP / IP |
Application Layer | Application Layer |
Presentation Layer | |
Session Layer | |
Transport Layer | Transport Layer |
Network Layer | Internet Layer |
Data Link Layer | Network Access Layer |
Physical Layer |