[CS] Network - 개념, Application layer

2.so_j·2023년 11월 27일
0
post-thumbnail

Contents

  1. performance : loss, delay, throughput
  2. security
  3. TCP/IP vs OSI 7계층
  4. Application layer

1. performance

  • 처리량 (throughput) : 성공적으로 전달된 데이터의 양, 얼만큼의 트래픽을 처리했는지
  • 트래픽 : 특정 시점에 링크 내에 흐르는 데이터의 양
  • 지연 시간 (delay) : 요청이 처리되는 시간, 어떤 메세지가 두 장치 사이를 왕복하는데 걸리는 시간

    이런 것에 의해 영향을 받는다

  • packet loss : 패킷이 전체 대기열에 도착했을 때, 패킷을 저장할 공간이 없다면 라우터가 drop하게됨

  • 병목 현상(bottleneck) : 전체 시스템의 성능이나 용량이 하나의 구성 요소로 인해 제한 받는 현상


2. Security

  • Spoofing : '속이다'라는 뜻으로, 스위칭 기능을 마비시키거나 속여서 특정 노드에 해당 패킷이 오도록 처리
    -> 올바르게 수신부에 가야할 패킷이 악의적인 노드에 전달됨
    -> LAN에서 사용하는 버스 토폴로지에서 일어날 수 있음
  • Sniffing : 네트워크 상에 지나다니는 패킷들을 캡처하여 그 안에 있는 내용을 들여다보는 기술을 말한다.

3. TCP/IP 4계층 vs OSI 7계층

TCP/IP 4계층 요약

Application layer
: 사용자-sw간 소통을 담당하는 계층, HTTP / SSH / DNS 프로토콜이 대표적
Transport layer
: 통신 노드간 신뢰성 있는 데이터 전송을 보장하는 계층, TCP / UDP
Internet layer
: 패킷을 최종 목적지까지 라우팅 하는 계층, IP / ARP / ICMP
Network Interface
: 물리적 MAC 주소를 이용해 알맞은 기기로 데이터를 전달하는 계층


4. Application layer

  • 응용 프로그램이 사용되는 프로토콜 계층, 서비스를 실질적으로 사람들에게 제공하는 층
  • 한 지점에 있는 네트워크 관련 어플리케이션이 멀리 원격지에 있는 어플리케이션과도 실시간으로 통신하게 해줌
  • 프로토콜(어떻게 메세지를 주고받을 것인지)를 정함

what transport service does an app need?

  • app layer는 transport layer의 TCP/UDP 중 무엇을 쓸지 정한다.
    아래 요소들이 기준이 된다

    Reliable data transfer : reliable한 data가 필요한 곳도 있고 아닌 곳도 존재
    Timing : 타이밍이 중요한 서비스도 존재함 ex)게임
    Throughput : 전송량에 엄청 예민한 서비스도 존재. 멜론과 같은 멀티미디어 서비스는 최소한의 전송량이 보장되어야 노래를 보내는거지. 한 두개 패킷 소실은 상관없지만,,

HTTP

  • hypertext transfer protocol

  • 웹 서버에서 클라이언트에게 정보를 어떻게 주고받는지에 대한 것들을 정의해둔 프로토콜

  • 특징

    • 비연결성 : 실제로 요청을 주고받을 때만 연결을 유지하고, 응답을 주고 나면 TCP/IP 연결을 끊음
    • 무상태성 : 서버가 클라이언트의 상태를 보존하지 않는다 (그래서 쿠키 사용함)
    • TCP 사용 :

Web Caches (proxy server)

  • 중간 개체를 둬서 오리지널 서버까지 가지않고 프록시 서버에서 정보를 가져옴

  • 많이 쓰이는건 업데이트 해두었다가 바로바로 주는 것. 이게 만약 과거의 정보면 origin server에서 가져옴.

  • 왜? 웹 캐시를 통해 클라이언트 요청에 대한 응답 시간을 대폭 단축 가능

profile
싱글코어 두뇌의 개발자 도전기

0개의 댓글

관련 채용 정보