CS/네트워크

CS/네트워크

REST API 성숙도 모델

Rest, RestAPI, Restful Rest Api 성숙도 모델 rest api 의 발전 단계를 모델화 성숙도 모델은 총 4 단계로 나누어지며 각 단계를 달성할 수록 REST API 에 가까워짐 REST - 0 단계 crud CREATE : POST /api/user READ : POST /api/user UPDATE : POST /api/user DELETE : POST /api/user request POST /api/user { // body 에 담는 데이터로 요청을 구분함 "function": "getUser", "arguments" [ "1" ] } response HTTP/1.1 200 OK { "result" { "id": "1" "name": "honey", } } 리소스 구분없이 설..

CS/네트워크

인터넷 네트워크 구성 요소

인터넷 네트워크 구성요소 인터넷 전 세계의 수십억 개의 컴퓨팅 장치를 연결하는 컴퓨터 네트워크 호스트, 종단 시스템(end system) 네트워크를 통해 연결되는 컴퓨팅 장치들(데스크탑, 스마트폰, 태블릿 등등) 서버 컴퓨터, 클라이언트 기기 통신 링크(communication link) 동축케이블, 구리선, 광케이블, 라디오 스펙트럼 등등 각 링크들은 전송률(링크 대역폭, 단위 : bit per second)을 이용하여 데이터를 전송한다. 패킷 스위치(packet switch) 라우터, 스위치 패킷 : 데이터를 세그먼트로 나누고 각 세그먼트에 헤더를 붙인 정보 패키지 입력(송신) 통신 링크의 패킷을 출력(수신) 통신 링크로 전달 네트워크는 통신 링크와 패킷 스위치로 구성되어 있으며 송신 호스트는 이를 ..

CS/네트워크

Cookie 와 Session

쿠키와 세션의 특징과 동작 방식 HTTP 프로토콜의 stateless와 connectionless한 특징 때문에 그것을 보완하기 위해 나옴 서버는 클라이언트가 누구인지 매번 확인해야 하는 단점 connectionless 클라이언트가 요청을 한 후 응답을 받으면 그 연결을 끊어 버리는 특징 HTTP는 먼저 클라이언트가 request를 서버에 보내면, 서버는 클라이언트에게 요청에 맞는 response를 보내고 접속을 끊는 특성이 있다. 헤더에 keep-alive라는 값을 줘서 커넥션을 재활용하는데 HTTP1.1에서는 이것이 디폴트다. HTTP가 tcp위에서 구현되었기 때문에 (tcp는 연결지향,udp는 비연결지향) 네트워크 관점에서 keep-alive는 옵션으로 connectionless의 연결비용을 줄이는..

CS/네트워크

Network Delay

네트워크 지연 하나의 데이터가 송신지에서 수신지까지 이동할 때 걸리는 시간 4가지 종류 노드 처리 지연 (Node Processing Delay) 라우터에서 패킷 내 데이터의 에러를 체크하거나, 다음 경로를 결정하는 데 걸리는 지연 매우 짧은 시간 동안만 발생 전송 지연 (Transmission Delay) 라우터가 패킷을 Link(2계층 링크) 로 밀어내는 과정에서 발생하는 지연 패킷의 사이즈가 커지거나 Link의 Bandwidth가 작을수록 딜레이가 길어짐 큐잉 지연 (Queueing Delay) 패킷이 큐에서 다른 패킷들의 작업이 끝나길 기다리는 시간 라우터가 한 번에 한 개의 패킷을 처리하기 때문에, 먼저 들어온 패킷이 처리될 때 까지 기다려야 할 수 있음 패킷 손실의 주된 원인 큐잉 지연은 라우..

CS/네트워크

터널링, VPN 터널링

네트워크 터널링 연결해야 할 두 지점 간에 마치 터널이 뚫린 것처럼 통로를 생성하는 것. 패킷 내에 터널링할 대상을 캡슐화 시켜 목적지까지 전송 데이터 스트림을 가상의 파이프를 통해 전달시키는 기술 인터넷을 사적이고 안전한 네트워크의 일부로 사용하게 하는 기술 경유지를 통하지 않고 두 지점을 바로 연결하게 함 터널링 되는 데이터를 페이로드(Payload)라고 부르며 터널링 구간에서 페이로드는 전송되는 데이터로만 취급, 내용이 변하지 않음 VPN 터널링 기법 PPTP(Point to Point Tunneling Protocol) MS사에서 개발한 패킷 전송 프로토콜 RFC 2637이라는 기술 문서를 통해 표준화 규격이 발표됨 IP를 통과하는 모든 패킷을 암호화하기 때문에 모든 운영체제에서 사용이 가능 PP..

CS/네트워크

Forwarding vs Routing / Data Plane, Control Plane

라우팅 패킷을 목적지까지 전달하는 빠른 경로를 찾아주는 작업 A.B… F는 라우터를 나타내고 라우터를 연결하는 링크에 기록된 숫자는 이 링크를 지나가는데 소요되는 코스트를 의미 코스트란 패킷이 이 링크를 지나가는데 걸리는 시간을 의미 C → F 가장 빨리 전달될 수 있는 경로는 C→ B →E → F 하지만 C 라우터에서 모든 경로에 대해서 알고 있는 것이 아니라 인접한 노드 중에서 최적을 찾음 이와 같이 라우팅이 이루어 지려면 라우터는 목적지를 찾아가기 위한 최적의 경로를 알고 있어야 하는데, 최적의 경로를 찾아내기 위해서 라우팅 알고리즘 사용 패킷이 도착할 때 마다 라우팅 알고리즘을 실행하는 것이 아니라, 어느 경로가 최적인지를 먼저 구해놔야 함 라우팅 알고리즘을 통해 얻은 정보를 정리해 둔 것 ⇒ 라..

CS/네트워크

TCP 흐름제어와 혼잡제어

TCP 흐름제어와 혼잡제어 흐름제어 흐름제어란 ? 송신 측과 수신 측의 TCP 버퍼 크기 차이로 인해 생기는 데이터 처리 속도 차이를 해결하기 위한 기법 흐름 제어 기법 Stop and Wait 매번 전송 패킷에 대해 확인 응답(ACK)을 받으면 다음 패킷을 전송하는 방법 패킷을 하나씩 보내기 때문에 비효율적 Sliding Window 수신 측에서 설정한 윈도우 크기만큼 송신 측에서 확인 응답(ACK) 없이 전송할 수 있게 하여 데이터 흐름을 동적으로 조절하는 제어 기법 ✨ 윈도우 크기 ? 최초의 윈도우 크기는 3way handshaking을 통해 수신 측 윈도우 크기로 설정되며, 이후 수신 측의 버퍼에 남아있는 공간에 따라 변한다. 윈도우 크기는 수신 측에서 송신 측으로 확인 응답(ACK)을 보낼 때 ..

CS/네트워크

ARQ Stop and Wait, Go Back N, SR

ARQ 란 ? Automatic Repeat Request 통신회선 상에서 신뢰성 있는 데이터 전달을 위해 에러 검출 후 재전송을 통해 오류를 복구하는 에러 제어 방식 자동 반복 요청 에러가 발생한 경우, 재전송을 요구하는 방식 Stop and Wait 동작 방식 송신측은 프레임을 보내고 기다림과 동시에 타이머를 작동시킴 송신측에서는 ACK를 받으면 타이머를 멈춤 오류가 발생한 블록만 재전송하므로 구현 방법이 가장 단순하고 신뢰성 있는 통신 방식 다만, 한 프레임을 보낼 때 마다 기다리므로 속도가 느림 Go-Back-N 슬라이딩 윈도우 방식 연속적 ARQ(Continuous ARQ) 위에 두 개 다 Go Back n ARQ! 흐름제어를 위한, 검출 후 재전송 방식(ARQ)의 일종 일정한 윈도우 크기 이내..

D_Helloper
'CS/네트워크' 카테고리의 글 목록