Application layer

ㅎㅎ·2023년 8월 18일
0

네트워크

목록 보기
2/6

Application 계층

  • 어플리케이션은 network-core에서 동작하는 것에 대한 코드는 작성할 필요가 없음. 이것은 application 아래 영역에서 알아서 진행함
  • 어플리케이션은 아래 4가지 작업이 필요
    • data integrity(no loss): packet 유실 방지, TCP가 지원해줌
    • timing: 특정 시간 내에 처리 필요, 지원 X
    • throughput: 시간 당 일정량 처리 필요, 지원 X
    • security: 지원 X
    • 지원하지 않는 항목에 대해 application 레벨에서 작업이 필요, 그래서 보안프로그램 설치 등을 지지고 볶고 함.
  • network-core는 dumb core라고도 할 정도로 패킷 전송에 관한 것만 작업함

client와 server간 통신: Sockets

  • OS시간에 같은 컴퓨터 내에서 process간 통신은 OS에 의해서 진행했음
  • processes in different hosts communicate by exchaning messages
  • 이 커뮤니케이션을 연결하는 인터페이스가 socket
  • socket을 연결시키기 위한 indexing이 IP address와 port 번호임
  • port 번호는 한 컴퓨터 내에 여러 application을 구분하기 위한 번호
    Q. 왜 항상 HTTP 연결에 80 PORT를 쓸까?
  • 포트 번호가 제각각이면 사용자가 접속할 때 항상 다른 포트번호를 지정해야함. 찾기 쉽게 항상 같은걸 쓰자고 약속한 것

HTTP

  • Hyper-text-transport protocol
  • web page는 여러 objects로 구성됨(HTML, JPEG, audio ...)
  • 이 objects는 referenced 되어 있음(URL로 링크됨)
  • client requests and receives and displays web objects
  • server sends objects in response to requests
  • TCP connection을 이용함(3way handshakes)
  • stateless: 과거 연결된 요청에 대한 어떤 정보도 가지고 저장하지 않고 작업이 끝나면 연결을 끊어버림
  • persistent connections: multiple objects can be sent over single TCP connection between clinet, server, non-persistent는 한 object에 대한 요청마다 계속 연결하고 끊고를 반복함. 현 인터넷 체계는 persistent를 사용.
profile
Hello World

1개의 댓글

comment-user-thumbnail
2023년 8월 18일

좋은 글 감사합니다.

답글 달기