[Network] Protocol
Protocol의 정의
컴퓨터 네트워크를 하기 위하여 송수신 장치 간 통일된 통신 규약
<Before> <After>
독점적 프로토콜 프로토콜 개발 기준 수립
==> -OSI 7 Layer
비독점적 프로토콜
Protocol 형식
각 Field마다 의미가 있음
Protocol 기능
1. 분할과 재조립
데이터를 전송할 때 용량이 커서 한번에 보내기 힘든 경우에 사용한다. 이 경우 대용량 파일의 패킷을 일정크기로 분할해서 전송한 후 수신측에서 원래대로 합치는 방식으로 전달한다.
2. 캡슐화 Encapsulation ('=. Decapsulation)
프로토콜에서 캡슐화는 데이터를 전송하기 전 OSI 각 계층에서 송수신자의 주소나 오류검출코드 등 여러 제어정보를 덧붙이는 것을 말한다. 데이터를 전송하면 OSI 최상위 계층인 응용계층에서 물리계층까지 내려오면서 필요한 제어정보를 추가한다.
3. 연결제어 방식
데이터를 전송할 때는 연결 / 비연결 두 가지 방식을 사용한다.
- 연결형 방식
- TCP가 주로 사용되며 연결 후 지속적인 통신이 일어나고 수신측와 응답을 주고받기 때문에 순서가 보장된다.
- 비연결방식
- UDP가 사용되며 수신측의 응답을 받지않고 송신측에서 일방적으로 데이터를 전송한다.
4. 흐름 제어
데이터 전송을 제어하는 부분이다.
5. 오류 제어
- 오류가 발생 시 재전송을 요구하는 형태
- 직접 오류를 복구하는 형태
6. 순서 제어
패킷을 분할하여 보낼 때, 갓 패킷에 번호를 부여하여 순서대로 패킷이 도착하도록 함
7. 주소 지정
네트워크의 개체마다 서로 식별할 수 있도록 고유번호를 부여한 것.
대표적인 예로는 IP가 있다.
8. 동기화
하나의 회선에 다수의 사용자가 동시에 사용하는 것이 가능하도록 가상회선을 설정하는 것이라고 볼 수 있다.
예를들면 동기화된 두 매체가 서로의 데이터나 인자값을 일치시킨다. 이후 한쪽의 데이터를 삭제한 뒤 다시 동기화를 이루면 반대쪽에도 데이터가 지워진다.
계층 모델
프로토콜과 인터페이스
- 프로토콜: 서로 다른 호스트에 위치한 동일 계층끼리의 통신 규칙
- 인터페이스: 같은 호스트에 위치한 상하위 계층의 규칙
- 서비스: 하위 계층이 상위 계층에 제공하는 인터페이스
계층 구조의 장점
- 전체 시스템을 이해하기 쉽고, 설계 및 구현이 용이
- 모듈간 표준 인터페이스가 단순하면 모듈 독립성 향상시킬 수 있다
- 특정 모듈 외부 인터페이스가 변하지 않으면 내부 기능의 변화가 전체 시스템에 영향을 미치지 않음