~11.4
이번 주 정글의 구현 과제
Echo Server
클라이언트 측에서 보낸 데이터를 그대로 되돌려 주는 서버

Application Layer
최종 목적지, HTTP, Telnet등 프로토콜이며 모든 통신의 양 끝단.
Presentation Layer
인코딩, 디코딩, 압축, 암호화 담당.
(MIME 인코딩)
사용자의 명령어를 완성, 결과를 표현하는 계층
Session Layer
통신의 연결, 유지, 종료 관리.
에러 및 흐름 제어.
Transport Layer
데이터의 전송계층,
패킷 생성 및 전송
TCP Protocol
패킷 손실, 중복, 순서바뀜이 없음을 보장
(IP의 낮은 신뢰적 서비스에 신뢰도를 더해줌)
연결지향적이며 연결설정 및 해제 필요
UDP Protocol
수신확인에 대한 응답x
순서제어 x
흐름제어 x
오류제어 거의 x
빠른 요청과 응답
단순한 헤더구조
Network Layer
라우팅 기능
(목적지 까지의 최단경로 탐색)
흐름제어
세그멘테이션
오류제어
인터네트워킹
DataLink Layer
MAC 주소를 통한 통신
프레임 단위 전송
point to point간 전송의 신뢰성 보장 계층
CRC 기반 오류제어
CyclicRedundancy
Physical Layer
전기적, 기계적 특성을 이용하여 데이터 전송
TCP
신뢰성을 보장한다는 것은
손실, 순서, 혼잡, 오버로드 제어 가능
흐름제어 - 송수신측 간 데이터 처리 속도 차이 해결
Receiver가 Sender에게 자신의 상태를 Feedback


혼잡제어
전송의 속도를 늘리고 줄이는 여러 알고리즘을 이용하여 제어


요청/응답
헤더

대소문자를 구분하지 않는 이름 + 콜론 + value 공백은 무시
General Header
Request/Response Header
Entity Header
메소드

HEAD Method
상태코드
Client-Server model
소켓(socket, bind, listen, accept, connect, close)
파일디스크립터
Datagram Socket vs Stream Socket
CGI / WebServer / MIME Type
HTTP (요청/응답, 헤더, 메소드, 상태코드, HEAD 메소드)
Proxy
동시성 프로그래밍의 보장
암달의 법칙
Synchronization