모듈
독립적으로 동작하며, 유기적으로 통합 가능하게 만드는 규격
ex)자동차, 컴퓨터 하드웨어의 부품 규격, 소프트웨어의 함수 및 객체지향 개념
계층화된 모듈 구조
하위 계층이 서비스를 제공하며, 상위 계층이 이를 이용한다.
모듈화된 계층 프로토콜의 장점
작고 간단한 여러 시스템을 구성하여 크고 복잡한 시스템을 만들 수 있다.
모듈간에 연동할 수 있는 인터페이스를 제공한다.
오류가 발생시 해당 모듈만 교체하여 개선 가능하다. 전체 시스템을 교체할 필요가 없다.
전송매체 양단의 호스트가 수행하는 프로토콜은 상호 대칭이다.
프로토콜 설계시 고려할 사항
주소 표현
상대방을 구분할 수 있는 방법이 필요하다. 이 때, 주소가 이용된다.
브로드캐스트(방송): 모두가 볼 수 있다. 수신자에 대한 주소가 필요없다.
멀티캐스트: 특정 그룹만 볼 수 있다. 특정 그룹 식별에 주소를 이용한다.
오류 제어 (Error control)
->정상
ABCD 전송 - ABCD 수신
->오류: 분실
ABCD 전송 - 도착하지 않음
->오류: 변형
ABCD 전송 - DCBA 도착
->오류: 중복도착
ABCD 전송 - ABCD, ABCD 도착
각 오류에 대한 해결 방안은?
->오류: 분실 해결방안: 응답
수신 호스트에게 정보가 도착하면, 도착했다는 사실을 발신 호스트에게 알림
->오류: 변형 해결방안: 변형을 판단하기 위한 검증 정보 추가전송
각 데이터에 대한 순서 번호를 함께 전송할 수 있다.
->오류: 중복도착 해결방안: 요청에 대한 순서번호를 함께 전송
동일한 번호의 요청이 두 번 도착하는 경우, 한 번은 무시할 수 있다.
흐름제어 (flow control)
송수신 호스트의 데이터 처리속도가 다를 경우, 분실이 발생할 수 있다.
->일반적으로 수신 호스트의 부하가 더 크다.
버퍼(대기, buffer)를 이용하면 완화 가능하지만, 버퍼 크기에 제한이 있다.
->송신 호스트가 전송 속도를 조절한다.
->n번째 데이터 송신 후, 수신 호스트가 수신 완료 데이터를 응답하면 n+1번째 데이터를 송신하는 방식이 가능하다.
데이터 전달 방식
단방향 (Simplex): 한쪽 방향으로만 송신
송신자 -> 수신자
반이중 (Half duplex): 양방향 전송이 가능하지만, 동시에는 불가능하다. 따라서 데이터 전송 시점 관리가 필요하다.
송신자 -> 수신자, 송신자 <- 수신자
전이중 (Full duplex): 양쪽이 동시에 송신 가능
송신자 <-> 수신자
서비스의 종류
연결형
전달경로를 연결하는 과정이 필요하다.
->데이터를 어떤 경로로 보낼지 정하고, 준비를 시키는 과정
해제시에는 해제 과정도 필요하다.
비연결형
연결 및 해제 과정없이 바로 데이터를 전송한다.
매 전송마다 다른 경로를 이용하게 될 수도 있다.
많은 데이터를 보내야 할 때에는 연결형, 단 건의 데이터를 보낼때는 비연결형이 유리하다.
서비스 프리미티브
연결형 서비스에서 사용하는 프리미티브
CONNECT: 연결 설정
DATA: 데이터 전송
DISCONNECT: 연결 해제
비연결형 서비스에서 사용하는 프리미티브
DATA: 데이터 전송
서비스 프리미티브의 기능
Request: 클라이언트가 서버에 서비스를 요구한다. (발신자: 클라이언트)
하위 계층에 대한 요구이다.
CONNECT.request, DATA.request, DISCONNECT.request
Indication: 서버에 서비스 요구가 도착했음을 통지한다. (발신자: 서버)
클라이언트의 Request가 있었다는 것을 상위 계층에 알린다.
CONNECT.indication, DATA.indication, DISCONNECT.indication
Response: 서버가 클라이언트에 서비스를 응답한다. (발신자: 서버)
클라이언트로 응답한다.
CONNECT.response, DATA.response, DISCONNECT.response
Confirm: 클라이언트에 응답이 도착했음을 통지한다. (발신자: 클라이언트)
서버에서 보낸 응답을 클라이언트로 통보한다.
CONNECT.confirm, DATA.confirm, DISCONNECT.confirm
'네트워크' 카테고리의 다른 글
[네트워크] TCP/IP 모델 및 관련 프로토콜 (1) | 2021.07.21 |
---|---|
[네트워크] 네트워크 주소 표현 (0) | 2021.07.20 |
[네트워크] 네트워크의 기능 - OSI 7계층, 프로토콜과 인터페이스 (0) | 2021.07.19 |
[네트워크] 네트워크 기초 용어 (0) | 2021.07.18 |
댓글