데이터 통신과 네트워크 목차 정리
지속적으로 추가 예정
데통네 목차
Overview
1) 네트워크 이해
네트워크 통신의 종류 - LAN / WAN
네트워크 통신 방식 - 유니캐스트 / 브로드캐스트 / 멀티캐스트
2) 프로토콜
프로토콜의 3가지 요소
프로토콜의 기능
3) 네트워크 계층 구조
OSI 7계층 vs TCP/IP 4계층
4) 네트워크 장비
물리 - 리피터 / 허브
데이터링크 - MAC 주소 / 이더넷 / 브리지 / 스위치
네트워크 - ARP / IP / ICMP / IGMP / 라우터 (정적 라우팅 / 동적 라우팅)
전송 - 포트 주소 / TCP / UDP
응용 - FTP / Telnet / POP3 & IMAP / SMTP / DNS / TFTP / HTTP
Computer Networks and the Internet - 01
1. 컴퓨터 네트워크와 인터넷
1.1 구성 요소
2. 네트워크 구조
- 종단 시스템(network edge) / 접속 네트워크(access network) / 물리적 매체(physical media)
2-1. 접속 네트워크와 물리적 매체
DSL / HFC / FTTH / Ethernet
1. 유도매체 - 구리선 / UTP, STP / 동축 케이블 / 광섬유
2. 비유도 매체 - 라디오
3. 네트워크 코어
3-1. 패킷 교환 - 저장-전달 / 대기열 지연 및 손실 / 전달 및 라우팅
3-2. 회로 교환 - FDM / TDM
3-3. 패킷 교환 vs 회로 교환
4. 네트워크의 네트워크 - ISP 이야기
Computer Networks and the Internet - 02
1. 네트워크의 지연, 손실, 처리량
1-1. 패킷 지연의 요소 - 4가지
노드 처리 지연(nodal processing delay) 큐 지연(queueing delay) 전송 지연(transmission delay) 전파 지연(propagation delay)
1-3. 큐 지연
1-4. 패킷 손실
1-5. 처리량(Throughput)
2. 프로토콜 계층, 서비스 모델
3. 네트워크 보안
3-1. 호스트를 통한 공격 - malware (virus / worm) / spyware malware / botnet
3-2. 서버와 네트워크 인프라에 대한 공격 - DOS / 스니핑 / IP 스푸핑 / ARP 스푸핑
4. 보안계층
Application Layer - 01
1. 네트워크 어플리케이션
1.1 Write
1-2 Application architectures - client - server / P2P
2. Processes
2-1. 소켓
2-2 프로세스 식별자
3. App-layer 프로토콜
3-1 어플리케이션 레이어 프로토콜이란?
3-2 어플리케이션 레이어 프로토콜의 종류
4. 어플리케이션 레이어와 트랜스포트 레이어
4-1 앱에 필요한 운송 서비스
4-2 Transport Layer - TCP / UDP
5. Web과 HTTP
5-1 URL
5-2 HTTP 프로토콜 동작 절차
5-3 HTTP : stateless
5-4 HTTP connection - non-persistent / persistent / RTT
5-5 HTTP messages의 종류 - request / response
6. Cookies
6-1 쿠키의 구성 요소
6-2 쿠키의 기능
7. Web caches (proxy server)
7-1. 웹캐시/프록시 서버 작동 원리
7-2. 웹캐시/프록시 서버 왜 사용할까요? - response 타임 감소 / 트래픽 감소
7-3. 캐싱의 예시
8. Electronic Mail
8-1. 이메일에 꼭 필요한 3가지 요소 - user agents / mail server /SMTP
8-2. 이메일 작동원리
8-3. HTTP VS SMTP
8-4. 메일 엑세스 프로토콜
Application Layer - 02
1. Socket programming with UDP and TCP
1-1. Socket programming
1-2. 소켓의 유형
1-3. 응용 프로그램 예시
Transport Layer - 01
1. 전송 서비스와 프로토콜
1-1. 전송 계층과 네트워크 계층의 차이
1-2. 전송 계층 프로토콜의 종류
1-3. 전송 계층 프로토콜의 단위
2. 소켓이란?
3. 다중화와 역다중화에 대해서 Multiplexing / Demultiplexing
3-1. 다중화와 역다중화
3-2. 다중화의 필요 조건
4. UDP에서의 다중화 및 역다중화
4-1. UDP 소켓의 식별
4-2. 예제
5. TCP에서의 다중화 및 역다중화
5-1. TCP 소켓의 식별
6. UDP
6-1. UDP의 사용처
6-2. UDP의 특징
6-3. UDP 세그먼트의 특징
6-4. UDP 세그먼트 구조
+ checksum 필드가 전송 계층에 있는 이유
7. 신뢰할 수 있는 데이터 전송 원리
7-1. 전송 과정 1. rdt_send() / 2. udt_send() / 3. rdt_rcv() / 4. deliver_data()
8. rdt 만들기
8-1. 유한 상태 기계(FSM)이란? - 관련 용어 : 현재 상태 / 전이
8-2. FSM 작동 구조 - rdt 1.0 / rdt 2.0 / rdt 2.1 / rdt 2.2 / rdt 3.0
8-3. 파이프라이닝 - 1) 시퀀스 넘버 증가 2) 버퍼링
8-4. 파이프라인 프로토콜의 두 가지 종류 - GBN / Selective Repeat
Transport Layer - 02
1. TCP 세그먼트
1-1. 시퀀스 번호와 ACKs
2. TCP의 RTT와 timeout
3. TCP의 신뢰적인 데이터 전송
4. TCP의 빠른 재전송
5. TCP의 flow control
6. 연결 관리 - 연결 시작 / 연결 종료
Transport Layer - 03
1. 혼잡(Congestion)
2. 혼잡 제어 방법 - End-to-end 혼잡 제어 / Network-assisted 혼잡 제어
3. TCP 혼잡 제어 알고리즘의 3가지 요소
3-1. TCP Slow Start
3-2. Congestion Avoidance
3-3. Fast Recovery
4. TCP Fairness / TCP의 공정함
5. Network-assisted 혼잡 제어
Network Layer - 01
1. 네트워크 계층
2. 네트워크 계층의 기능
2.1 - data plane
2.2 - control plane
3. The Traditional Approach
4. The SDN Approach
5. 네트워크 서비스 모델
6. 라우터의 구조
6-1. 입력 포트
6-2. switch fabric
6-3. 출력 포트
7. 스케쥴링 규칙
7-1. FIFO(First In First Out)
7-2. Priority
7-3. Round Robin(RR)
7-4. Weighted Fair Queuing(WFQ)