프로세스 = 살아있는 프로그램
소켓 = 프로세스가 통신할 때 필요(문에 대응한다)
프로세스 식별은 IP주소와 포트 넘버 둘 다 있어야 통신이 가능하다.
IP 주소( 아파트 동 번호)
포트 번호(아파트 호수)
네트워크 관련 프로세스들이 데이터를 주고 받을때 어떤 데이터를 받을 지 결정하는 방식
ex) http는 request, response 방식.
어떤 정보를 달라고 클릭하면 -> 요청이 웹서버 포트번호 80으로 감-> 프로세스가 받음-> 원하는 정보를 클라이언트 IP, 포트로 보내줌.
바이트 필드들이 어떤 역할 하는지에 따라 구역 나누기
ex) 앞에 두 바이트는 긴급한 메세지 형식이야 등
오픈 프로토콜 정의(open protocols)
ex) RFC,HTTP,SMTP(이메일)
개인적으로 쓰는 정의(proprietary protocols)
ex)스카이프, 카톡
-오디오는 신뢰되는 데이터 반드시 필요x
-파일 전송은 신뢰되는 데이터 반드시 필요
딜레이가 적어야하는 앱이 있음 ex) fps 게임
-음악듣는 멜론 앱은 최소한의 전송량이 보장되어야(bandwidth에 민감)
-메일은 전송량 노상관
-암호화
클라이언트에서 서버까지 갈때 and 암호화된 상태로 저장
-암호화 없음
-TCP 보안 추가 버전 -> TLS(Transport Security Layer)
-UDP 보안 추가 버전 -> DTLS(Datagram Transport Security Layer)
과거 기록이 없고, 지금 당장만 기억.
과거 기록을 넣으면 복잡함으로 DB에 따로 저장
-매번 서버에 요청해야해서 부하가 생길 수 있어
-한번 할 때 마다 response time = 2Rtt+ 트랜스미션 타임
ex) 오브젝트 11개면
persistent 는 RTT+(RTT+trans_object)11
non persistent는 (2RTT+trans_object)*11