컴퓨터 사이언스

OSI 7 계층

woohap 2024. 10. 17. 00:00
OSI는 모든 종류의 컴퓨터 시스템 간 통신을 가능하게 하는 네트워크 시스템 설계를 위한 계층 구조이다. 
서로 다른 시스템 간의 통신을 원할하게 하는데 목적이 있다.
OSI 모델은 프로토콜이 아니다. 

- 각 계층은 고유한 기능과 책임을 가지고 있음 // 한 계층의 내부 동작이 변경되어도 다른 계층에 영향 안 줌

- 인터페이스를 통해 각 계층은 인접한 상위/하위 계층만 직접적으로 상호작용함 

- 각 계층은 하위 계층의 복잡성을 숨기고, 상위 계층에 간단한 인터페이스를 제공 

- 각 계층을 독립적으로 개발, 수정, 최적화 가능 

- 각 계층은 논리적으로 연결되어 통신을 수행 
		실제 전송은 물리 계층에서만 이루어지지만, 각 계층은 동일한 계층만 보기 때문에 같은 동일한 계층과 
		통신하는 것 처럼 동작함 

응용 계층 (Application layer)

애플리케이션 계층이라고 부르며 응용 프로그램을 구동하는 계층을 의미한다. 
사용자와 직접 상호작용하는 모든 응용 프로그램이 여기에 속한다. 
통신의 최종 목적지 

데이터 교환을 위한 프로토콜 
- 웹 브라우저 // HTTP/HTTPS
- 이메일     // SMTP/PO3/IMAP
- 파일 전송 프로그램 // FTP 
- 메신저 애플리케이션 // XMPP, IRC
등등 

** 데이터 단위 'message'

표현 계층 (Presentation layer)

데이터 표현 방식을 다루는 계층이다. 즉, 전송하는 표현 방식을 결정한다. 
서로 다른 시스템이 다른 인코딩을 사용할 수 있기 때문에 데이터 변환이 필요함 
데이터 변환, 암호화/복호화, 데이터 압축 및 해제를 처리하는 계층 

- 응용 계층에게 데이터 표현 서비스 제공 

- 서로 다른 시스템이 데이터를 주고 받을 수 있도록 '번역가' 역할 수행

- 암호화/복호화를 통해 보안 강화 

- 데이터 압축을 통해 네트워크 성능 개선 // JPG, PNG, GIF 등

** 데이터 단위 'message'

세션 계층 (Session layer)

두 장치간 통신을 관리하는 계층 즉, 통신 연결의 설정, 유지, 종료를 담당하는 계층
TCP/IP 세션을 만들고 없애는 역할 수행

** 세션이란 두 장치 또는 애플리케이션 간의 논리적 연결을 의미 
   통신이 시작될 때부터 종료될 때까지를 세션이라고 함 

- 세션 설정, 유지, 종료 관리        // 논리적 연결 관리

- 동기화 충돌 관리(데이터 전송을 체크포인트와 동기화) 
	  100MB 파일 전송 시 5MB마다 체크포인터 설정 
	  52BM 전송된 후 연결이 끊어지거나 충돌이 발생하면 마지막 체크 포인트에서 세션을 재개하는 것이 가능 
	  (처음부터 다시 전송할 필요 없이 50MB 부터 다시 전송하면 됨               
	  
- 대화 제어(Dialogue Control)   // 통신 방향 제어
		통신 방향 및 순서, 토큰 관리    // 토큰은 데이터를 전송할 수 있는 권한
		
- 인증                         // 사용자 또는 시스템 신원확인

** 데이터 단위 'data'

전송 계층 (Transport layer)

두 기기 간의 종단 간 통신을 담당하는 계층 

- 세그멘테이션 
		세션 계층의 데이터를 세그먼트로 분할 혹은 세그먼트를 데이터로 조립 // 송신 - 분할, 수신 - 조립 
		
- 흐름 제어 및 오류 제어
		흐름 제어 : 송신자가 데이터를 보내는 속도를 조절하여 수신자가 처리할 수 있도록 속도를 제어함
							속도를 제어하여 데이터 손실을 방지하고 네트워크 혼잡 예방 
		오류 제어 : 전송 순서를 보장하고, 손실된 데이터를 재전송하는 기능을 포함 
							데이터 손상이나 손실을 감지하고 이를 수정 
- 포트 번호 사용
		포트 번호를 사용하여 여러 응용 프로그램 간의 데이터를 구분 
		
- 연결지향(TCP) 혹은 비연결지향 (UDP)
		TCP, UDP 프로토콜 사용 
		
** 데이터 단위 '세그먼트' 또는 '데이터그램'

네트워크 계층 (Network layer)

서로 다른 두 네트워크 간 데이터 전송을 용이하게 하는 계층 
두 장치가 동일한 네트워크에 있는 경우 네트워크 계층은 필요하지 않음 

- 패킷화
		전송 계층으로부터 받은 세그먼트들에 각각 IP 헤더를 붙여서 패킷으로 만든다. 
		
- 패킷 분할 및 재조립
		만약 패킷의 크기가 MTU(최대크기)를 넘기면 패킷을 분할한다. 
		이 때 분할된 새로운 패킷들에 IP 헤더를 붙여준다. // 식별자를 부여하여 분할된 패킷임을 표시
		수신 측의 경우 분할된 패킷을 원래 패킷으로 재조립 
		
- IP 주소를 사용하여 네트워크 상의 기기를 식별한다. // 논리적 주소 지정 
		IPv4, IPv6 주소 체계 사용 
		
- 라우팅
		데이터가 목적지에 도달하기 위해 최상의 물리적 경로를 찾는다. 
		** 라우팅 과정 **
		1. 라우터가 패킷을 받음
		2. 패킷의 목적지 IP를 헤더에서 확인
		3. 라우터의 라우팅 테이블에서 해당 IP에 대한 경로를 찾음
		4. 최적의 경로를 선택 후 전송 
		
- 주요 프로토콜 
	IP, ICMP, IGMP

** 데이터 단위 '패킷'

데이터 링크 계층 (DataLink layer)

동일한 네트워크에 있는 두 개의 장치 간 데이터 전송을 용이하게 하는 계층 

- 프레임화
		네트워크 계층의 패킷을 '프레임'이라는 더 작은 단위로 세분화 함 
	
- 물리적 주소 지정 // MAC 주소 할당 
	  프레임 헤더에 이전 노드와 다음 노드의 주소가 포함됨 
	  MAC 주소를 사용하여 장치를 식별한다. 
	
- 흐름 제어 및 오류 제어
		흐름 제어 : 동일한 네트워크 상에 있는 노드 간의 속도를 고려하여 흐름 제어 
		오류 제어 : 물리 계층에서 발생하는 에러를 검출하고 복구하는 등의 흐름 제어 
		** 노드와 인접한 노드 간의 흐름 제어와 오류 제어를 수행 
		** 전송 계층의 경우 한 번만 진행됨 // 주로 수신측에서 실행됨 
		
- 접근 제어 
		여러 장치가 동일한 네트워크 매체(케이블, 무선)를 공유할 때, 누가 언제 데이터를 전송할지 결정
		두 개 장치가 동시에 데이터를 전송하려고 할 때 충돌을 예방하거나 해결
		모든 장치가 공정하게 네트워크 매체에 접근할 수 있도록 보장 
		
** 데이터 단위 '프레임'

** 노드란 네트워크 상의 모든 장치

물리 계층 (Physical layer)

데이터의 물리적 전송을 담당하는 계층 
프레임을 비트 단위의 전기적 신호나 광신호로 변환하여 전송

케이블, 스위치, 네트워크 인터페이스 카드 등 데이터 전송과 관련된 물리적 장비가 포함됨

** 데이터 단위 '비트'
OSI는 모든 종류의 컴퓨터 시스템 간 통신을 가능하게 하는 네트워크 시스템 설계를 위한 계층 구조이다. 
서로 다른 시스템 간의 통신을 원할하게 하는데 목적이 있다.
OSI 모델은 프로토콜이 아니다. 

- 각 계층은 고유한 기능과 책임을 가지고 있음 // 한 계층의 내부 동작이 변경되어도 다른 계층에 영향 안 줌

- 인터페이스를 통해 각 계층은 인접한 상위/하위 계층만 직접적으로 상호작용함 

- 각 계층은 하위 계층의 복잡성을 숨기고, 상위 계층에 간단한 인터페이스를 제공 

- 각 계층을 독립적으로 개발, 수정, 최적화 가능 

- 각 계층은 논리적으로 연결되어 통신을 수행 
		실제 전송은 물리 계층에서만 이루어지지만, 각 계층은 동일한 계층만 보기 때문에 같은 동일한 계층과 
		통신하는 것 처럼 동작함 

'컴퓨터 사이언스' 카테고리의 다른 글

CDN  (1) 2024.10.20
파일 디스크립터  (1) 2024.10.18
HTTP 메서드  (0) 2024.10.16
HTTP 기본 개념  (2) 2024.10.15
TCP/IP, UDP  (0) 2024.10.14