Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
29 | 30 | 31 |
Tags
- 세마포어와 뮤텍스
- 뮤텍스
- 뮤텍스란?
- 호스팅이란?
- 프록시서버
- Proxy Server
- 세마포어란?
- 플로이드 와샬
- 서버 호스팅
- 싸피 면접 후기
- floyd-warshall
- 프록시
- 호스팅
- Synchronization
- SSAFY
- 다익스트라 알고리즘
- Dijkstra Algorithm
- 싸피 합격
- 세마포어
- 웹 호스팅
- 플로이드 워셜
- 세마포어와 뮤텍스의 차이
- 최단 경로
- 삼성 청년 SW 아카데미
- Proxy
- 클라우드 서버
- 다익스트라
- 동기화
- 싸피
Archives
- Today
- Total
어제의 나보다 성장한 오늘의 나
OSI 7계층 본문
OSI 7 계층이란?
- Open System Interconnetion
- OSI 계층은 네트워크에서 통신이 일어나는 과정을 7단계로 나눈 것을 말한다.
OSI 7 계층을 나누는 이유는 무엇일까?
- 계층별의 기능과 통신 과정을 단계별로 나누어서 쉽게 알 수 있다.
- 특정한 곳에 이상이 생기면 그 단계만 수정할 수 있기 때문에 편리하다.
- OSI 계층별 기능과 통신의 과정을 정립하여 교육하기 위한 목적으로 사용
Encapsulation & Decapsulation
- 캡슐화(Encapsulation)
- 데이터를 전송할 때 각각의 Layer마다 인식할 수 있는 헤더를 붙이는 과정
- 2 계층(Data layer)에서는 오류제어를 위해 데이터의 뒷부분에도 일부 데이터가 추가됨
- 디캡슐화(Decapsulation)
- 수집된 데이터가 각각의 Layer를 따라 올라가면서 헤더가 벗겨지는 과정
계층 별 프로토콜과 기능
- OSI 7 계층에서 PDU개념을 중요시하는데 PDU(Process Data Unit)란 각 계층에서의 전송되는 단위이다.
- 계층 별 PDU
- 1계층 : Bits
- 2계층 : Frames
- 3계층 : Packets
- 4계층 : Segments
- 5~7계층 : Data
- 각 계층별 프로토콜 기능
- 분할 : 큰 용량의 데이터를 전송하기 위해 데이터를 나누는 기능
- 재조립 : 분할된 데이터를 사용하기 위해 재조립하는 기능
- 캡슐화 : 각 계층을 거칠 때마다 각 계층의 헤더가 계층별로 붙으며, 캡슐화를 진행
- 순서 제어 : 전송되는 데이터의 순서를 조율하고 이를 통해 데이터가 중복되거나 유실되는지 체크
- 흐름 제어 : 송신되어 데이터의 양과 전송률을 제한하는 기능
- 오류 제어 : 데이터가 올바르게 수신되었는지 에러 검출 코드를 통해 체크하는 기능
1. 물리(Physical)
- 주로 전기적, 기계적, 기능적인 특성을 이용해서 통신 케이블로 데이터를 전송하게 된다.
- 사용되는 통신 단위는 비트이며 이것은 1과 0으로 나타난다. 즉, 전기적으로 On, Off 상태
- 단지 데이터를 전달만 할 뿐 전송하려는( 또는 받으려는 ) 데이터가 무엇인지, 어떤 에러가 있는지 등을 전혀 신경 쓰지 않는다.
→ 통신 케이블, 리피터, 허브 등
2. 데이터 링크 계층(DataLink Layer)
- 물리계층을 통해 송수신되는 정보의 오류와 흐름을 관리하여 안전한 정보의 전달을 수행을 도와주는 역할이다.
- 오류를 찾아주고 재전송하는 기능을 가지고 있다.
- MAC 주소를 가지고 통신을 한다.
- 전송되는 단위를 프레임이라고 한다.
- 포인트 투 포인트(Point to Point) 간 신뢰성 있는 전송을 보장하기 위한 계층
→ 브릿지나 스위치를 통해 맥주소를 가지고 물리계층에서 받은 정보를 전달함.
→ 데이터 전송 단위 : 프레임
3. 네트워크 계층(Network Layer)
- 데이터를 목적지까지 가장 안전하고 빠르게 전달하는 기능(라우팅)이다.
- 여기서 IP 주소를 사용한다.
- 여러 개의 노드를 거칠 때마다 경로를 찾아주는 역할
- 라우터를 이용해 경로를 선택하여 IP 주소를 지정하고, 해당 경로에 따라 패킷을 전달해준다.
- 라우팅, 흐름 제어, 오류 제어, 세그멘테이션 등을 수행한다
→ 데이터 전송 단위 : 패킷
4. 전송 계층(Transport Layer)
- TCP, UDP 프로토콜을 통해 통신을 활성화한다.
- 포트를 열어두고 프로그램들이 전송할 수 있도록 제공해준다.
- 이를 통해 양 끝 단 사용자들이 데이터를 주고받을 수 있다.
- 데이터가 왔다면 4 계층에서 해당 데이터를 하나로 합쳐서 5 계층에 던져준다.
- 이 계층까지 물리적인 계층에 속한다.
- TCP : 신뢰성, 연결 지향적
- UDP : 비신뢰성, 비연결성, 실시간
→ 데이터 전송 단위 : 세그먼트
5. 세션(Session)
- API, Socket
- 데이터가 통신하기 위한 논리적인 연결을 말한다. 통신을 하기 위한 대문이라고 보면 된다.
- 양 끝단의 응용 프로세스가 통신을 관리하기 위한 방법을 제공한다.
- 동시 송수신 방식(duplex), 반이중 방식(half-duplex), 전이중 방식(Full Duplex)의 통신과 함께, 체크 포인팅과 유휴, 종료, 다시 시작 과정 등을 수행한다.
- TCP/IP 세션을 만들고 없애는 책임을 진다.
→ 통신하는 사용자들을 동기화하고 오류 복구 명령들을 일괄적으로 다룬다.
통신을 하기 위한 세션을 확립/유지/중단 (운영체제가 해줌)
6. 표현 계층(Presentation Layer)
- 데이터 표현이 상이한 응용 프로세스의 독립성을 제공하고, 암호화한다.
- 코드 간의 번역을 담당하여 사용자 시스템에서 데이터의 형식상 차이를 다루는 부담을 응용 계층으로부터 덜어준다.
- EBCDIC로 인코딩 된 문서 파일을 ASCII로 인코딩 된 파일로 바꿔준다.
- 해당 데이터가 TEXT, 그림, GIF, JPG 인지를 구분해준다.
→ 사용자의 명령어를 완성 및 결과 표현. 포장/압축/암호화
7. 응용 계층(Application Layer)
- 최종 목적지로서 HTTP, FTP, SMTP, POP3, IMAP, Telnet 등과 같은 프로토콜이 있다.
- 해당 통신 패킷들은 방금 나열한 프로토콜에 의해 모두 처리되어 우리가 사용하는 브라우저나, 메일 프로그램 프로토콜을 보다 쉽게 사용해주는 응용프로그램이다.
- 응용 프로세스와 직접 관계하여 일반적인 응용 서비스를 수행한다.
→ 네트워크 소프트웨어 UI 부분, 사용자의 입출력(I/O) 부분
3 계층(Network)과 4 계층(Transport)의 차이점
3 계층은 쉽게 말해 내 집을 찾아가는 것이다. 집이 여러 채가 있는데 그중, '내 집이 어디지' 하고 우편번호를 확인하는데 여기서 우편번호가 IP에 해당된다. 우편번호를 확인한 다음, 집을 찾아가서 '내방이 어디지' 하는 것이 4 계층이다.
OSI 모델의 실패
- OSI Model은 TCP/IP 이후에 규격화 됨
- 이유 1 : OSI는 TCP/IP가 자리잡고 난 다음 완성됨 -> 다른 모델로의 변경이 어려워 졌음
- 이유 2 : OSI모델의 일부는 완전히 정의되지 않음
- 이유 3 : TCP/IP측에서 볼 때, 구현된 OSI가 높은 수준의 성능을 보여주지 못함, 따라서 OSI로 변환 시킬 매력을 못 느낌
TCP/IP 란?
출처
'CS > 네트워크' 카테고리의 다른 글
로드 밸런싱 (0) | 2021.04.08 |
---|---|
TCP/IP 4계층 (0) | 2021.04.07 |
UDP란? (0) | 2021.04.06 |
TCP 3 Way-Handshake & 4 Way-Handshake (0) | 2021.04.06 |
주소창에 naver.com을 치면 일어나는 일 (0) | 2021.04.06 |
Comments