이 글은 "쉽게 배우는 데이터 통신과 컴퓨터 네트워크 (박기현 지음)"을 읽고 주관적으로 요약한 글입니다.
※ 요약
- 모듈화
- 복잡하고 큰 시스템의 기능은 특정 단위의 모듈로 나누어 설계됨
- 모듈화의 장점
- 구조가 단순 -> 전체 시스템을 이해하기 쉬워짐
- 각 모듈의 독립적인 기능 수행 -> 고장 / 업그레이드 등 상황 대처가 쉬워짐
- 주소의 표현
- 주소의 역할
- 특정 호스트끼리 통신하기 위해 시스템을 구분하여 지칭
- 일반적으로 주소는 호스트당 하나씩 부여
- 그룹 주소
- 다수의 호스트를 묶은 주소 (일대다 통신)
- 브로드캐스팅(Broadcasting)
- 네트워크에 연결된 모든 호스트 지칭 - 멀티캐스팅(Multicasting)
- 특정 사용자 그룹을 묶어서 지칭
- 주소의 역할
- 오류 제어 (Error Control)
- 데이터 송수신 과정의 오류
- 데이터 변형 오류
- 데이터가 깨져서 도착 - 데이터 분실 오류
- 데이터가 도착하지 못함
- 데이터 변형 오류
- 오류 원인
- 물리 계층의 전송 매체에 의한 물리적인 오류
- 오류 해결
- 먼저 오류가 발생한 사실을 인지해야함
- 송신 호스트가 원래 데이터를 재전송하여 해결할 수 있음
- 데이터 송수신 과정의 오류
- 흐름 제어 (Flow Control)
- 물리적인 오류없이 데이터를 분실
- 논리적인 데이터 분실 오류 발생
- 수신 호스트의 버퍼 처리 속도 < 송신 호스트의 데이터 전송 속도
- 송신 호스트의 전송 속도를 조절하는 흐름 제어 기능이 필요
- 물리적인 오류없이 데이터를 분실
- 서비스 프리미티브
- 프로토콜 계층 구조에서 하위 계층이 상위 계층에 서비스를 제공
- 이러한 서비스가 프리미티브 형태로 구현
- 연결형 서비스의 프리미티브 종류
- CONNECT
- 연결 요청 - DATA
- 데이터 전송 - DISCONNECT
- 연결 해제
- CONNECT
- 프리미티브가 포함해야하는 기능
- Request
- 클라이언트에서 하위 프로토콜에 요청 -> 서버
- CONNECT.Request / DATA.Request / DISCONECT.Request 등 - Indication
- 서버에서 Request를 수신했음을 하위 프로토콜이 알리는 형태 - Response
- 서버에서 클라이언트에 응답 -> 클라이언트 - Confirm
- 클라이언트에서 Response를 받는 형태
- Request
- OSI 참조 모델
- 생략
- TCP/IP 모델
- 인터넷
- 네트워크 계층으로 IP 프로토콜을 사용하는 네트워크를 의미
- 전송 계층
- 전송 계층(TCP/UDP)까지 커널 내부에 구현
- 소켓 인터페이스
- 전송 계층의 프리미티브인 소켓 인터페이스를 사용자 프로그램이 호출하는 방식으로 사용
- 세션 계층, 표현 계층, 응용 계층은 사용자 프로그램으로 구현
- 인터넷
- ARP / RARP
- 데이터 링크 계층 프로토콜을 이용해 데이터를 전송하려면 목적지의 MAC 주소가 필요함
- ARP (Address Resolution Protocol)
- 사용자에게 입력받은 상대방 호스트의 IP주소로 MAC 주소를 구하는 기능
- RARP (Reverse Address Resolution Protocol)
- 저장장치가 없는 시스템은 IP를 저장할 공간이 없음
- MAC 주소를 IP 주소로 변환하는 기능
- ICMP (Internet Control Message Protocol)
- IP 프로토콜이 동작하는 과정에서 오류가 발생할 수 있음
- 이 때 송신자에게 복구 작업 요청을 담당
- 오류 메시지 전송을 위한 별도의 헤더 구조를 가짐
- IP 패킷에 캡슐화되지만 IP 계층과 같은 취급
1. 계층 구조의 개념
1) 계층적 모듈 구조
- 쩜
- 쩜
2) 프로토콜 설계시 고려 사항
- 쩜
- 쩜
3) 서비스 프리미티브
- 쩜
- 쩜
2. OSI 참조 모델
1) OSI 7계층 모델
- 쩜
- 쩜
2) 계층별 기능
- 쩜
- 쩜
3. TCP/IP 모델
1) 구현 환경
- 쩜
- 쩜
2) 프로토콜
- 쩜
- 쩜
'책읽기' 카테고리의 다른 글
[파이썬 알고리즘 인터뷰][HEAP] 배열의 K번째 큰 요소 (0) | 2021.08.05 |
---|---|
[파이썬 알고리즘 인터뷰] 15장 - 힙(heap) (0) | 2021.08.05 |
[파이썬 알고리즘 인터뷰][트리] 전위,중위 순회 결과로 이진 트리 구축 (0) | 2021.08.04 |
[파이썬 알고리즘 인터뷰][BST] 이진 탐색 트리 노드 간 최소 거리 (0) | 2021.08.04 |
[파이썬 알고리즘 인터뷰][BST] 이진 탐색 트리 합의 범위 (0) | 2021.08.04 |