데이터 통신과 네트워크 - Application Layer

강준호·2021년 11월 7일
0

프로세스 = 살아있는 프로그램
소켓 = 프로세스가 통신할 때 필요(문에 대응한다)

프로세스 식별은 IP주소와 포트 넘버 둘 다 있어야 통신이 가능하다.
IP 주소( 아파트 동 번호)
포트 번호(아파트 호수)

어플리케이션 레이어 프로토콜 정의

네트워크 관련 프로세스들이 데이터를 주고 받을때 어떤 데이터를 받을 지 결정하는 방식

메세지 교환 타입 정의(Types of messages exchanged)

ex) http는 request, response 방식.
어떤 정보를 달라고 클릭하면 -> 요청이 웹서버 포트번호 80으로 감-> 프로세스가 받음-> 원하는 정보를 클라이언트 IP, 포트로 보내줌.

메세지 신택스(message syntax)

바이트 필드들이 어떤 역할 하는지에 따라 구역 나누기

구역이 나눠지면 의미 정의(message syntax)

ex) 앞에 두 바이트는 긴급한 메세지 형식이야 등

어떤 식으로 메세지를 주고받을지 규칙 정의(rules for when and how processes send & respond to messages)

오픈 프로토콜 정의(open protocols)
ex) RFC,HTTP,SMTP(이메일)
개인적으로 쓰는 정의(proprietary protocols)
ex)스카이프, 카톡

어플리케이션 레이어는 트랜스포트 레이어에게 어떤것을 요구해야할까?

reliable data transfer

-오디오는 신뢰되는 데이터 반드시 필요x
-파일 전송은 신뢰되는 데이터 반드시 필요

Timing

딜레이가 적어야하는 앱이 있음 ex) fps 게임

Throughput

-음악듣는 멜론 앱은 최소한의 전송량이 보장되어야(bandwidth에 민감)
-메일은 전송량 노상관

Security

-암호화
클라이언트에서 서버까지 갈때 and 암호화된 상태로 저장

Securing TCP

TCP & UDP

-암호화 없음
-TCP 보안 추가 버전 -> TLS(Transport Security Layer)
-UDP 보안 추가 버전 -> DTLS(Datagram Transport Security Layer)

HTTP overview

TCP 커넥션을 사용

stateless 한 성질

과거 기록이 없고, 지금 당장만 기억.
과거 기록을 넣으면 복잡함으로 DB에 따로 저장

Persistent HTTP vs non persistent

persistent

  • 커넥션을 한번 맺으면 그떄 와다다다 보냄
  • 각 오브젝트 끼리 RTT 타임이 한번만 있음.
    RTT+(RTT+트랜스미션 타임)

non persistent

-매번 서버에 요청해야해서 부하가 생길 수 있어
-한번 할 때 마다 response time = 2Rtt+ 트랜스미션 타임

ex) 오브젝트 11개면
persistent 는 RTT+(RTT+trans_object)11
non persistent는 (2
RTT+trans_object)*11

0개의 댓글