일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
- 동적 프로그래밍
- 설탕 배달
- 맛집 투어
- 알고리즘
- dp
- 투어
- 양꼬치
- 2839
- 스프링 MVC
- 쓰레드 풀
- 호유동
- 완도산회
- 서블릿
- Servlet
- 2638
- 백준
- 프로그래머스
- 2589
- 2020 KAKAO BLIND
- 스프링
- 문자열 압축
- BFS
- HTTP API
- mvc
- 다이나믹 프로그래밍
- Spring
- 고모네 콩탕
- 1로 만들기
- 맛집
- 포두부 보쌈
- Today
- Total
프로그래밍 공방
OSI 7 Layer 본문
OSI 7 Layer
국제 표준화 기구(ISO)에서 개발한 모델
컴퓨터 네트워크 프로토콜 디자인과 통신 과정을 계층으로 나누어 설명한 것
계층화의 장점
시스템이 계층구조를 가질때, 그 계층이 제공하는 서비스의 구현을 변경하는 것이 쉽다.
-> 한 계층이 상위 계층에 같은 서비스를 제공하고, 하위 계층의 서비스를 이용하는 한, 어떤 한 계층의 구현이 변하더라도 시스템의 나머지 부분은 변하지 않는다.
계속해서 갱신되는 복잡하고 커다린 시스템의 경우, 시스템의 다른 요소에 영향을 주지 않고 서비스 구현을 변화시킬 수 있다.
OSI 7 Layer 모델
애플리케이션 계층
- 네트워크 애플리케이션과 애플리케이션 계층 프로토콜이 있는 계층
- 인터넷 애플리케이션 계층 : HTTP, SMTP, FTP 등을 포함
- DNS 서비스 (www.xxx.com -> 32비트(ip)) 등
- 애플리케이션 계층 프로토콜은 여러 종단 시스템에 분산되어 있어서, 한 종단 시스템에 있는 애플리케이션이 다른 종단 시스템에 있는 애플리케이션과 정보 패킷을 교환하는데 이 프로토콜을 사용한다.
-> 이 정보 패킷을 "메시지"라고 부른다.
프레젠테이션 계층
- 통신하는 애플리케이션들이 교환되는 데이터의 의미를 해석하도록 하는 서비스를 제공
- 코드 간의 번역을 담당하여 사용자 시스템에서 데이터의 형식상 차이를 다루는 부담을 애플리케이션 계층으로부터 덜어준다. / 데이터 압축, 데이터 암호화 포함)
- 애플리케이션이 데이터가 표현/저장되는 내부 포맷을 걱정하지 않아도 되게 한다.
(ex. EBCDIC로 인코딩된 문서 파일을 ASCII로 인코딩된 파일로 바꿔준다.)
세션 계층
- 양 끝단의 응용 프로세스가 통신을 관리하기 위한 방법을 제공
- TCP/IP 세션을 만들고 없애는 역할을 한다.
- 데이터 교환의 경계와 동기화를 제공
- 체크 포인트와 회복 방법을 세우는 수단을 포함
트랜스포트 계층
- 클라이언트와 서버 간에 애플리케이션 계층 메시지를 전송하는 서비스를 제공한다.
- TCP / UDP(트랜스포트 프로토콜, 애플리케이션 계층 메시지를 전달)
- TCP : 연결지향형 서비스를 제공 (메시지 전달 보장, 흐름제어(송신자/수신자의 속도 일치), 긴 메시지를 짧은 메시지로 나누고 혼잡제어 기능을 제공하여, 네트워크가 혼잡할 때 출발지의 전송속도를 줄이도록 한다.)
- UDP : 비연결형 서비스를 제공 (신뢰성, 흐름제어, 혼잡제어를 제공하지 않음)
- 트랜스포트 계층 패킷은 "세그먼트"라고 부른다.
네트워크 계층
- 출발지와 목적지 사이에서 데이터그램이 이동하는 경로를 결정하는 라우팅 프로토콜을 포함
(한 호스트에서 다른 호스트로 데이터그램을 라우팅하는 역할을 한다.)
- 출발지의 인터넷 트랜스포트 계층 프로토콜은 트랜스포트 계층 세그먼트와 목적지 주소를 네트워크 계층으로 전달한다.
- 목적지 호스트의 트랜스포트 계층으로 세그먼트를 운반하는 서비스를 제공
- IP프로토콜 (IP 데이터그램의 필드를 정의하며 종단 시스템과 라우터가 이 필드에 어떻게 동작하는지를 정의하는 프로토콜을 갖고 있다.)
- 네트워크 계층을 가진 모든 인터넷 요소는 IP 프로토콜을 수행해야만 한다.
링크 계층
- 경로상의 한 노드(호스트 혹은 패킷 스위치)에서 다른 노드로 패킷을 이동하기 위해, 네트워크 계층은 링크 계층 서비스에 의존한다.
- 링크 계층에서 제공하는 서비스는 그 링크에서 사용하는 특정 링크 계층 프로토콜에 의존한다.
- 링크 계층 프로토콜(이더넷, 와이파이, DOCSIS) / 어떤 프로토콜은 수신 노드까지 신뢰적 전송을 제공한다
(TCP의 신뢰적 전달 서비스와는 다르다)
- 데이터그램이 출발지에서 목적지로 가는 데 여러 링크를 거치므로 경로상의 다른 링크에서 다른 링크 계층 프로토콜에 의해 처리될 수 있다.
- 링크 계층 패킷을 "프레임"이라고 한다.
물리 계층
- 프레임 내부의 각 비트를 한 노드에서 다음 노드로 이동하는 것
- 링크의 실제 전송 매체(꼬임쌍선, 단일 모드 광케이블)에 의존한다.
캡슐화
OSI 계층에서 사용자 데이터가 각 계층을 지나면서, 하위 계층은 상위 계층에서 온 정보를 데이터로 취급하며 자신의 계층 특성을 담은 제어정보를 헤더화시켜 이를 붙이는 과정
각 계층에서 패킷은 헤더 필드와 페이로드 필드라는 두 가지 형태의 필드를 갖는다.
* 페이로드는 일반적으로 상위 계층으로부터의 패킷이다.
참고) 각 계층에서 패킷은 다르게 불려진다.
애플리케이션 계층 = 메시지
트랜스포트 계층 = 세그먼트
네트워크 계층 = 데이터그램
링크 계층 = 프레임
'개발 > 문제해결' 카테고리의 다른 글
[백준] 1010번 : 다리놓기 (0) | 2021.01.26 |
---|---|
[백준] 1766번 : 문제집 (0) | 2021.01.26 |
[프로그래머스] 셔틀버스 (0) | 2021.01.23 |
[프로그래머스] 가사 검색 (0) | 2021.01.21 |
[프로그래머스] 베스트앨범 (0) | 2021.01.20 |