네트워크

프로토콜(Protocol) 에 대해 알아보겠습니다.

forward error correction Circle 2022. 12. 25. 04:05
반응형

Ⅰ. 프로토콜(Protocol)
- 송신자와 수신자가 통신을 하려면 서로 간의 메시지 포멧, 데이터를 언제 보낼 것인지, 응답에 대한 것

  컴퓨터와 컴퓨터 사이의 통신이 가능하도록 하는 규약이며 통신 표준이 됩니다.


Ⅱ. 프로토콜의 기본 기능
- 데이터 대열의 분할(Segmentation)
- 데이터 대열의 분할을 위한 패킷의 크기는 지연을 줄이기 위해서 짧은 패킷으로 분할
- 패킷의 길이가 길면 기억장치의 단편발생으로 낭비가 생겨 적당한 길이로 분할

- 정보의 결합(Blocking)
- 아주 작은 프레임을 받아들이는 것이 허용된다면 패킷 당 회선 오버헤드는 굉장히 높아지므로, 

   여러 사용자에 속하는 데이터를 하나의 패킷에 같이 묶어 낭비를 피한다.

 

Ⅲ. 프로토콜 특징

순서제어(Sequencing/Ordering)
- 발신을 한 노드가 수신 노드에 데이터 단위들을 전달할 수 있도록 제어 및 통제를 해주는 프로토콜을 말한다.
흐름제어(Flow Control)
흐름제어의 핵심은 송신 속도가 처리능력을 초과하지 않도록 조정하는 것이다.

 

Ⅳ. 프로토콜의 구성요소
Protocol, Port, Socket
데이터는 네트워크를 통해 특정 호스트(PC)로 전달되고 나면 올바른 사용자나 프로세스로
전달되어야만 한다.
-IP는 Transport Protocol을 인식하기 위해 Protocol Number을 사용한다.
(IP는 3계층의 프로토콜을 인식하기 위해 Protocol Number을 사용한다.)
-Transport Protocol은 Application을 구분하기 위해 Port Number을 사용한다.


Ⅴ. Protocol의 구성요소

 - 구문

   데이터의 형식 (아날로그 or 디지털), 부호화 (Unicode, ASCII), 신호크기를 정하는 구문

 - 의미

   전송제어 (동기화, 전송정지 및 전송 재개, 전송 완료, 재전송 신호를 정함),

   오류제어 (데이터 무결성 검사 방법, 패리티비트, CRC) 등을 정함

 - 타이밍

   신호의 지속시간, 신호의 순서 등을 정함


Ⅵ. Protocol Number
 -데이터의 전송 과정 중 지나가는 계층들의 프로토콜을 구분 해준다.

 

Ⅶ. Port Number
 -IP에 포함된 데이터를 Transport Protocol로 넘기고 Transport Protocol은 프로세스에게 데이터를 넘긴다.
 -Application 프로세스는 Port Number에 의해 구분된다.
 -데이터를 보낸 프로세스를 지정하는 송신자 포트번호와 데이터를 받을 프로세스를 지정하는 수신자 포트번호의 헤더 값
 -Protocol + Port Number의 조합이 데이터가 전달되어야 하는 프로세스를 지정해준다.

 

Ⅷ. 리눅스 내 프로토콜 및 서비스 설정 파일
   1) /etc/services
       -프로토콜과 포트번호 중 서비스를 하고 있는 것들을 알 수 있는 파일이다.
       -Port Number에 의해 정의되어진다.

   2) /etc/protocols
      -파일의 경로와 파일명 그리고 프로토콜에 대한 번호를 알 수 있는 파일이다.
      -Protocol Number에 의해 정의되어진다.


Ⅸ. Socket
 -IP Address + Port Number의 조합을 Socket이라고 한다.
 -Socket은 전체 인터넷 안에서 하나의 네트워크 프로세스를 단일하게 표현해준다.

반응형