cs
network - 프로토콜 & 표준
joepasss
2022. 7. 2. 04:24
프로토콜
(통신) 프로토콜은 특정 단말기와 단말기 간의 상호 통신을 위한 규약으로서 제어 정보 전송, 데이터 전달 시 사용되는 언어, 프로세스, 절차 및 규약을 총칭한다
네트워크에 연결된 시스템이 통신하려면 정해진 규칙에 따라 데이터를 주고받아야 하는데 이 일련의 규칙을 프로토콜이라 한다
- 프로토콜의 요소
- 문법 (규칙, role)
- 상호간 주고받는 데이터의 형식
- 문자 음성 화상 등
- 타이밍
- 송신과 수신 속도의 정합성, 통신 순서, 주고받기(handshaking) 등
- 어의적 요소
- 정보 제어와 오류 처리, 정보 흐름제어, 검사, 정정, 재송신 등
- 문법 (규칙, role)
표준
사회적 합의를 통해 이루어진 통일 규격
사실 표준과 법률 표준
- 1. 사실 표준
- 신제품이나 신기술의 기능을 정의하려는 제조업체에 의해 설정
- 공식 기관에 의해 공인되지는 않았으나 널리 사용되는 표준
- 1-1. 특허 표준 (폐쇄 표준)
- 영리기관이 원래 자기 제품의 기본원리로서 창안한 것
- 창안한 회사가 독점적으로 권리를 소유하고 있다
- 1-2. 비특허 표준 (개방 표준)
- 집단이나 위원회에서 개발하여 공개영역에 공개한 표준
- 서로 다른 제품간의 호환을 허용
- 2. 법률 표준
- 공식기관에 의해 입법화된 표준을 의미
OSI 참조 모델 (Reference model)
서로 다른 시스템 간의 통신을 위한 표준을 제공함으로써 서로 다른 개체간의 정보교환을 하기 위한 상호 인터페이스를 정의하고 있다.
이를 위해 국제 표준화 단체인 ISO(International Standard Organiztion) 에서 제안한 모델
두 단말기가 각 7개 계층으로 구성된 모듈을 통해 특정 데이터의 송수신이 가능하다
전송 데이터는 송신 측 단말기의 응용계층(계층7)에서 시작해 물리계층에서 수신측 단말기로 전달되며 데이터가 하위계층으로 이동 시 각 계층의 프로토콜에서 정의한 헤더 정보가 추가된다 (반대의 경우 순차적으로 헤더 정보를 제거해 나가며 해석한다)
계층별 기능
전송계층의 하위에 위치한 물리계층, 데이터링크 계층, 네트워크 계층은 전송계층의 연결을 지원하는 기능 수행
상위에 위치한 세션계층, 표현계층, 응용계층은 설정된 전송계층 연결을 어떻게 활용할지를 다룬다
TCP/IP 모델에서는 운영체제에 계층 4 까지의 기능을 구현하고 상위계층의 기능은 프로그램에서 구현한다
- 1. 물리계층
- 전송매체의 물리적 인터페이스에 관한 사항을 다룬다
- 전송매체에서 개별 정보의 비트 교환문제를 다룬다
- 하드웨어 시스템으로 구현된다 ( 계층 2 (데이터링크 계층) 이상의 프로토콜들은 소프트웨어적으로 구현 )
- 데이터의 전송 속도, 송수신 단말기 사이의 클록 동기화 방법 및 물리적 연결형태를 다룬다
- 2. 데이터링크 계층
- 물리계층을 통해 전송되는 데이터의 물리적 전송오류를 해결한다
- 상위 네트워크 계층에 신뢰성 있는 패킷 전송을 보장해 전송오류의 부담을 줄여준다
- 데이터링크 계층을 이용해 전송되는 데이터를 프레임(frame)이라 부르며 헤더에 표시되는 송수신 단말기 정보에는 LAN 카드에 내장된 송수신 단말기의 MAC 주소가 기록된다
- 송신 단말기와 수신 단말기 사이의 전송속도 차이를 고려한 흐름제어 기능도 지원한다
- 3. 네트워크 계층
- 송신 단말기가 전송한 데이터가 어떤 경로를 통해 수신 단말기에 전달되는지를 결정하는 라우팅 문제를 처리
- 전달경로 선택은 미리 정해지는 정적인 방식과 네트워크의 현재 부하 상태에 따라 결정되는 동적인 방식으로 구분
- 네트워크 계층을 이용해 전송되는 데이터를 패킷(packet)이라 하며 이 떄 중개과정에서 경로 선택의 기준이 되는 단말기 주소가 필요하다
- IP 프로토콜이 네트워크 계층의 기능을 수행
- 단말기 IP 주소를 데이터 경로로 선택해 중요한 기준으로 삼는다
- 네트워크 트래픽이 과도하게 증가하는 문제를 조절하는 혼잡제어 기능을 담당
- 4. 전송계층
- 송신 프로세스와 수신 프로세스를 직접 연결하는 단대단 (end to end) 통신기능을 지원한다
- 전송계층의 하위 (물리계층, 데이터링크 계층, 네트워크 계층) 계층은 단말기와 단말기 사이의 데이터 전송과정에서 발생하는 문제들만 반영하는데 반해 전송계층은 컴퓨터 내부에서 논리적으로 구축되는 통신 당사자 (일반적으로 프로그램의 실행상태를 의미하는 네트워크 응용 프로세스) 사이의 통신문제를 다룬다
- 전송 오류율, 전송속도 같은 일반 사용자의 서비스 요구 유형에 대한 고려와 흐름제어 기능 지원
- 5. 세션계층
- 전송계층과 유사하나 사용자에게 원격 파일전송이나 원격접속 같은 상위적 연결 개념인 세션 기능을 제공한다
- 송수신 단말기 사이의 대화제어를 비롯 상호 배타적인 작동을 제어하기 위한 토큰 제어나 일시적인 전송장애를 해결하기 위한 동기 기능 등을 제공한다
- 6. 표현계층
- 데이터의 의미와 표현방법을 처리
- 송신자와 수신자가 서로 이해할 수 있는 표준방식으로 데이터를 코딩하는 문제를 다룸
- 데이터를 암호화 하는 기술도 표현계층에서 다룬다
- 동영상 정보와 같은 대용량 데이터의 크기를 줄여주는 압축 기능 제공
- 7. 응용계층
- 파일전송 프로토콜(FTP), 가상 터미널, 전자우편 등 다양하게 존재하는 응용환경에서 공통적으로 필요한 기능을 다룬다