현랑님 자료: https://www.notion.so/1-d6c404bec79d446bb34989f549f00540
나온님 자료:
-계층구조 개념
-기본적인 프로토콜 요소
-서비스 프리미티브(primitive)
모듈: 독립적으로 동작하면서 상호유기적으로 통합 가능해야 함(적절한 인터페이스 필요)
모듈화의 예: 자동차, 컴퓨터 하드웨어, 소프트웨어의 함수, 객체지향 개념
-상위 계층이 하위 계층에서 제공하는 서비스를요구하는 방식으로 동작
-크고 복잡한 시스템을 작고 간단한 시스템들로 재구성 가능(이해 쉽고, 설계-구현 용이)
-연동 위한 인터페이스 제공
-오류 수정 시 전체 수정하지 않고 특정 부분만 수정 가능
-서로 통신하려면 상대방을 구분할 수 있는 방법 필요(주소 체계)
-호스트 주소
-그룹 주소(브로드캐스트-방송, 멀티캐스트)
출처: https://devbin.kr/network-%EB%84%A4%ED%8A%B8%EC%9B%8C%ED%81%AC-%EB%AA%A8%EB%8D%B8/
흐름 제어 : 물리적인 오류가 없는데도 불구하고 데이터를 분실하는 경우가 있는데 이는 송수신 호스트 사이의 데이터 전송/처리 속도 차이 때문에 발생한다. 따라서 전송 속도를 조절한느 흐름 제어 기능이 필요하다.
출처: https://devbin.kr/network-%EB%84%A4%ED%8A%B8%EC%9B%8C%ED%81%AC-%EB%AA%A8%EB%8D%B8/
-단방향
-전이중(Full duplex): 양쪽이 동시 송신 가능
-반이중(Half duplex): 양방향 전송 가능, 동시 송신 불가능. 데이터 전송 시점 관리 필요(무전기)
-전달경로를 설정하는 연결, 설정 과정 필요
-데이터 전송 단계
-연결 해제 과정 필요
-연결 설정 및 해제 과정 없이 바로 데이터 전송
연결형은 전달경로가 미리 정해져서 동일한 경로를 타고 가지만,
비연결형은 매번 판단해서 바로 가기 때문에 경로가 다르다.
-connect: 연결 설정
-data: 데이터 전송
-disconnect: 연결 해엦
-data: 데이터 전송
-request: client가 server에 서비스 요구
-indication: server에 서비스 요구 도착했음을 통지
-response: server -> client 서비스 응답
-confirm: client에 response가 도착했음을 통지
강의 들으면 뭔소린지 이해가 잘 안된다....설명 잘 못하시는듯.
이 블로그 정리가 훨씬 와닿는다.
request
indication
response
confirm
출처: https://devbin.kr/network-%EB%84%A4%ED%8A%B8%EC%9B%8C%ED%81%AC-%EB%AA%A8%EB%8D%B8/