CS/네트워크 14

[네트워크] 2. Application layer (2) - Performance & Requirements

Reference - Computer Networking: a Top Down Approach Performance & Application Requirements Performance 네트워크의 성능을 알아보기 위해 필요한 것 : Bandwidth(= 단위 시간 당 전송할 수 있는 데이터 총량) BDP(Bandwidth Delay Product = channel memory) = 딜레이를 제외하고, End Point 간 최대 데이터 처리량 = Bandwidth * Delay(=RTT, 실제로는 RTT/2이나 굳이 나누지 않음.) BDP는 가변적인 delay를 예측해 최적의 TCP 효율을 맞추기 위해 참고하는 용도, Throughput = Transfer size / Transfer time = 단위 시..

CS/네트워크 2023.10.09

[네트워크] 2. Application layer (1) - 네트워크 어플리케이션의 원리

Reference - Computer Networking: a Top Down Approach 네트워크 기반 어플리케이션은 email, web, messenger, P2P file sharing, voIP, streaming stored video(ex. youtube) 등을 말한다. 이러한 네트워크 어플리케이션 개발을 위해 TCP, UDP, socket Interface 개념이 요구된다. 2.1 네트워크 어플리케이션이 가지는 주요 법칙 Network Application Architecture 먼저 네트워크 어플리케이션 구조를 알아보겠다. 일반적으로 아래 두 구조 중 하나를 따른다. - Client-server architecture server host에게 필요한 것을 요청하는 client와, 외부 ..

CS/네트워크 2023.10.08

[네트워크] 1. 컴퓨터 네트워크와 인터넷

Reference - Computer Networking: a Top Down Approach 1.1 인터넷이란 무엇인가? 인터넷은 구성 요소와 서비스 관점으로 나누어 정의할 수 있다. 구성 요소로 봤을 때 인터넷은 end system(=host), 통신 링크, 패킷, 패킷 스위치, path, ISP, protocol(TCP/IP), Standards로 이루어진다 할 수 있다. 개념 정리부터 간단히 해보겠다. - end system : 서버와 같이, 컴퓨터 네트워크에 연결된 종단 시스템이다. host라 칭하기도 하며, 통신링크와 패킷 스위치로 연결된다. - 패킷 : 데이터를 네트워크를 통해 송신할 때 데이터를 분할하고 데이터에 대한 메타 정보를 헤더로 붙인 데이터. - 통신 링크 : 동축케이블, 구리선,..

CS/네트워크 2023.10.06

[네트워크] RESTful API란? / REST의 모든 것

API란 무엇일까? 개발을 하며 여러 API를 사용하지만, 마음으로는 알겠으나 설명하라면 정확하게 설명할 수 없었기에 API의 개념에 대해 짧게 정리를 해볼까 합니다. API란 Application Programming Interface의 약자로, 프로그래밍 언어의 기능을 제어하고 어플리케이션에서 상호작용할 수 있도록 만든 인터페이스입니다. 즉, "클라이언트와 리소스 사이의 게이트웨이"와 같은 느낌입니다. 이때 클라이언트는 웹에서 정보에 접근하려는 사용자이고, 리소스는 이미지, 텍스트를 포함한 모든 유형의 데이터를 의미합니다. API를 통해서 클라이언트에게 리소스를 공유하고 보안, 인증 등을 유지한 채 웹 서비스를 제공할 수 있습니다. 정보를 찾던 도중 찰떡인 비유가 있었습니다. 일련의 개발 과정을 레스..

CS/네트워크 2023.02.20
loading