C++/C++ CS 개념

OSI 참조 모델

CE : 하랑 2023. 11. 13. 21:33

 

 

 

OSI 참조 모델

 

- 다른 시스템 간의 원활한 통신을 위해 ISO(국제표준화기구)에서 제안한 통신 규약

 

하위 계층 : 물리 계층 -> 데이터 링크 계층 -> 네트워크 계층

 

상위 계층 : 전송 계층 -> 세션 계층 -> 표현 계층 -> 응용 계층

 

 

 

1. 물리 계층 (Physical Layer)

- 전송에 필요한 두 장치 간의 실제 접속과 절단 등 기계적, 전기적, 기능적, 절차적 특성에 대한 규칙을 정의함

 

 

2. 데이터 링크 계층 (Data Link Layer)

-  두 개의 인접한 개방 시스템들 간에 신뢰성 있고 효율적인 정보 전송을 할 수 있도록 시스템 간 연결 설정과 유지 및 종료를 담당

 

- 송신 측과 수신 측의 속도 차이를 해결하기 위한 흐름 제어 기능

 

- 프레임의 시작과 끝을 구분하기 위한 프레임의 동기화 기능

 

- 오류의 검출과 회복을 위한 오류 제어 기능

 


 

프레임 : 컴퓨터 과학에서 물리 메모리를 일정한 크기로 나눈 하나의 블록

 

동기화 : 시스템을 동시에 작동시키기 위해 여러 사건들을 조화시키는 것을 의미


 

 

3. 네트워크 계층 (Network Layer)

- 개방 시스템들 간의 네트워크 연결을 관리하는 기능과 데이터의 교환 및 중계 기능

 

- 네트워크 연결을 설정 유지, 해제하는 기능

 

- 경로 설정, 데이터 교환 및 중계, 트래픽 제어, 패킷 정보 전송 수행

 


 

트래픽 : 서버와 스위치 등 네트워크 장치에서 일정 시간 내에 흐르는 데이터의 양

 

패킷 : 네트워크 전송의 용량 단위


 

4. 전송 계층 (Transport Layer)

- 논리적 안정과 균일한 데이터 전송 서비스를 제공함으로써 종단 시스템 간에 투명한 데이터 전송을 가능하게 한다.

 

- 종단 시스템 간의 전송 연결 설정, 데이터 전송, 연결 해제 기능

 

- 주소 설정, 다중화, 오류 제어, 흐름 제어 수행

 


 

다중화 : 하나의 고속 통신 회선을 다수의 단말기가 공유할 수 있도록 하는 것


 

 

5. 세션 계층 (Session Layer)

- 송 수신 측 간의 관련성을 유지하고 대화 제어 담당

 

- 대화 구성 및 동기 제어, 데이터 교환 관리 기능

 

 

 

6. 표현 계층 (Presentation Layer)

- 응용 계층으로부터 받은 데이터를 세션 계층에 보내기 전에 통신에 적당한 형태로 반환하고, 세션 계층에서 받은 데이터는 응용 계층에 맞게 변환하는 기능

 

- 서로 다른 데이터 표현 형태를 갖는 시스템 간의 상호 접속을 위해 필요한 계층

 

- 코드 변환, 데이터 암호화, 데이터 압축, 구문 검색, 정보 형식 변환, 문맥 관리 기능

 

 

 

7. 응용 계층 (Application Layer)

- 사용자 OSI 환경에 접근할 수 있도록 서비스 제공

 

 

 


 

1. 응용 계층의 주요 프로토콜

 

(1) FTP (File Transfer Protocol)

- 컴퓨터와 컴퓨터 또는 컴퓨터와 인터넷 사이에서 파일을 주고받을 수 있도록 하는 원격 파일 전송 프로토콜

 

(2) SMTP (Simple Mail Transfer Protocol)

- 전자 우편을 교환하는 서비스

 

(3) TELNET

- 멀리 떨어져 있는 컴퓨터에 접속하여 자신의 컴퓨터처럼 사용할 수 있도록 해주는 서비스

- 프로그램을 실행하는 등 시스템 관리 작업을 할 수 있는 가상의 터미널 기능 수행

 

 

(4) SNMP (Simple Network Management Protocol)

- TCP/IP의 네트워크 관리 프로토콜로, 라우터나 허브 등 네트워크 기기의 네트워크 정보를 네트워크 관리 시스템에 보내는 데 사용되는 표준 통신 규약

 

 

(5) DNS (Domain Name System)

- 도메인 네임을 IP주소로 매핑하는 시스템

 

(6) HTTP (Hyper Text Transfer Protocol)

- 월드 와이트 웹에서 HTML 문서를 송수신 하기 위한 표준 프로토콜

 

 

 

 

 

2. 전송 계층의 주요 프로토콜

(1) TCP (Transmission Control Protocol)

- 양방향 연결형 서비스를 제공

- 스트림 위주의 전달

- 신뢰성 있는 경로를 확립하고 메시지 전송을 감독

- 순서 제어, 오류 제어, 흐름 제어 기능

 


 

스트림 : 실제의 입력이나 출력이 표현된 데이터의 이상화된 흐름


 

 

(2) UDP (User Datagram Protocol)

- 데이터 전송 전에 연결을 설정하지 않는 비연결형 서비스 제공

- TCP에 비해 상대적으로 단순한 헤더 구조를 가지므로, 오버헤드가 적고, 흐름제어나 순서 제어가 없어 전송 속도가 빠름

- 실시간 전송에 유리하며, 신뢰성보다는 속도가 중요시되는 네트워크에 사용

 

 

(3) RTCP (Real-Time Control Protocol)

- RTP(Real - Time Transport Protocol) 패킷의 전송 품질을 제어하기 위한 제어 프로토콜

- 세션에 참여한 각 참여자들에게 주기적 제어 정보를 전송

 

 

 

3. 인터넷 계층의 주요 프로토콜

 

(1) IP (Internet Protocol)

- 전송할 데이터에 주소를 지정하고, 경로를 설정하는 기능

- 비연결형인 데이터그램 방식을 사용하는 것으로 신뢰성이 보장되지 않음

 


 

데이터그램 : IP의 전송 단위


 

(2) ICMP (Internet Control Message Protocol)

- IP와 조합하여 통신중에 발생하는 오류의 처리와 전송 경로 변경 등을 위한 제어 메시지를 관리하는 역활

- 헤더는 8Byte로 구성

 

(3) IGMP (Internet Group Management Protocol)

- 멀티캐스트를 지원하는 호스트나 라우터 사이에서 멀티캐스트 그룹 유지를 위해 사용됨

 

(4) ARP (Address Resolution Protocol)

- 호스트의 IP 주소를 호스트와 연결된 네트워크 접속 장치의 물리적 주소로 바꿈

 

(5) RARP (Reverse Address Resolution Protocol)

- ARP와 반대로 물리적 주소를 IP 주소로 변환하는 기능

 

 

 

 

 

4. 네트워크 액세스 계층의 주요 프로토콜

 

(1) Ethernet (IEEE 802.3)

- CSMA/CD 방식의 LAN


 

CSMA/CD ( Carrier Sense Multiple Access/Collision Detetion  ) :  이더넷 환경에서 통신을 하고 싶은 PC나 서버는 먼저 네트워크 상에 통신이 일어나는지 확인을 한다.

 

LAN(근거리 통신망) : 일반적으로 같은 건물 내에 있는 작은 지리적 영역 내에 포함된 네트워크


(2) IEEE 802

- LAN을 위한 표준 프로토콜

 

(3) HDLC

- 비트 위주의 데이터 링크 제어 프로토콜

 

(4) X.25

-  패킷 교환망을 통한 DTE와 DOE 간의 인터페이스를 제공하는 프로토콜

 

(5) RS-232C

- 공중 전화 교환망(PSTIN)을 통한 DTE와 DOE 간의 인터페이스를 제공하는 프로토콜

 

 

 

 

 

 

 

 

 

'C++ > C++ CS 개념' 카테고리의 다른 글

IP  (2) 2023.11.11
형상관리, 빅오 표기법  (0) 2023.11.11
모듈  (0) 2023.11.11
디자인 패턴  (0) 2023.11.09
생성자, 소멸자, 대입 연산자  (0) 2023.11.08