Protocol architecture breaks logic into subtask modules which are implemented seperately
-> Request service to next lower layer
-> Provide service to next higher layer
-> Changes in one layer does not affect other layers -> Modulization
Key features of a protocol
- Protocol : A set of rules that allow peer layers to communicate
- Syntax : Format of data
- Semantic : Meaning / Information, respectively
- Timing : Sequencing
SAP (Service Access Point) : 상위 계층에서 하위 계층으로 서비스를 요청 or 하위 계층에서 상위 계층으로 서비스 제공할 때 SAP 를 통한다.
Internet : 표준화 기구인 IETF 에서 정의한 표준 프로토콜들을 사용하는 기기들로 이루어진 통신망
Internet Communications
-> Protocol 의 각 layer 에서는 특정기능을 수행하기 위한 추가적인 정보를 header 의 형태로 추가 (Encapsulation) 또는 제거 (Decapsulation) 한다.
-> 하위 계층으로 데이터가 전달 될 때, 모듈화가 이루어진다.
- 순서를 유지하기 위해 번호를 부여한다.
패킷형태로 자른다.- 주소를 부여
- 에러검출 코드 부여
- 데이터에 문제가 없으면 상, 하위 계층간에 데이터 교환이 이루어지게 된다.
- Encapsulation, Decapsulation 과정을 반복하면서 통신한다.
- N+1, N, N-1 계층간에 서비스를 요청 제공하며 통신이 이루어진다.
- Confirmed Service : 요청을 확인받으면 응답을해준 후 요청을 진행한다.
- Nonconfirmed Service : 요청을 확인받으면 응답하지 않고 요청을 진행한다.
- Stream sockets : Delivery data = Arrive data
-> 데이터가 항상 같아야하므로 정렬, packet loss 재요청 등 데이터를 수신받기까지 시간이 오래걸릴 수 있다.- Datagram sockets : Delivery data =/ Arrive data
-> 응용프로그램 레벨에서 data 동일성을 처리하므로 데이터 수신까지 시간이 빠르다.