네트워크. 네트워크란 노드(node)와 링크(link)가 서로 연결되어 있으며 리소스를 공유하는 집합을 의미합니다 -- 노드 : 서버, 라우터, 스위치 등 네트워크 장치 -- 링크(엣지) : 유선 또는 무선과 같은 연결매체 (와이파이나 LAN) ex) 사용자 A
네트워크 토폴로지란 노드와 링크가 어떻게 구성되어있는지를 말합니다.특징 \-- 하나의 회선에 여러개의 노드 \-- 노드 추가, 삭제 쉬움 \-- 설치비용 적음장점 \-- 소규모 네트워크를 구축하기 매우 쉬움. \-- 한 노드에 장애가 발생해도 다른 노드에 영향
링형 토폴로지특징 \-- 고리형태 \-- 노드 추가, 삭제가 쉬움장점 \-- 노드 수가 많아져도 데이터 손실이 없음, 토큰을 기반으로 연속적으로 노드를 거치며 통신권한 여부를 따지고 해당 권한이 없는 노드는 데이터를 전달받지 않음단점 \-- 링크 또는
토폴로지의 필요성토폴로지는 병목현상을 해결하는 척도가 된다.병목현상병목(bottleneck) 현상은 트래픽에 의해 데이터 흐름이 제한되는 상황을 말한다.핫스팟이라고도 한다(네트워크 한정)해결 사례사용자들이 몰린다트래픽이 집중된다\--- 서버 다운 --단순히 WAS나 D
유니캐스트란 1:1 통신을 말합니다.대표적으로 HTTP 통신, 가장 일반적인 네트워크 전송 형태입니다.EX) 네이버 요청 https://www.naver.com/멀티캐스트는 1: N 통신을 말합니다.N이지만 모든 노드들에게 데이터를 전달하지 않고 특정 그룹에게
네트워크는 LAN, MAN, WAN 순으로 분류된다.LAN이 가장 작은 단위, WAN이 가장 큰 단위.보통은 반경, 속도의 크기를 기반으로 분류.그러나 개념적으로 이해해서 분류하는게 중요.스펙 분류 금지 -- 100MBPS -- 0~5KM 이런게 랜이다 이런 설명은 과
데이터를 주고 받을 때 오류 없이 주고 받으려면 어떻게 해야하느냐.이 고민에 대한 답이 TCP.IP 모델이다.고민들을 해결하는 계층을 만든다.내가 데이터를 보낸다 -> 계층마다 책임을 부여해서 데이터를 보낸다는 방법.4TCP/IP 4계층은 장치들이 인터넷 상에서 데이터
HTTP, SSH, FTP, SMTP가 어플리케이션 계층의 대표적인 층.웹 서브시, 이메일 등 서비스를 실질적으로 제공하는 층.EX ) https://www.naver.com/HTTP(Hypertext Transfer Protocol)는 처음에는 서버와 브라우
패킷이 쪼개질 때 MTU(Maximum Transmission Unit)을 기반으로 쪼개진다, MTU는 네트워크 통신할 때 할 수 있는 가장 큰 PDU의 크기를 말합니다)EX) 터널의 높이제한 생각.네트워크의 장치와 장치마다 MTU가 있는데 1500으로 설정되어있다.2
TCP, UDP가 대표적이며 애플리케이션계층에서 받은 메세지를 기반으로 세그먼트 또는 데이터그램으로 데이터를 쪼개고 데이터가 오류없이 순서대로 전달되도록 도움을 주는 층.세그먼트 = TCP, 데이터그램 = UDP가상회선패킷 교환 방식을 사용한다.송신호스트에서 수신호스트
IP, ICMP, ARP가 대표적이며 한 노드에서 다른 노드로 전송 계층에서 받는 세그먼트 또는 데이터그램을 패킷화 하여 전송합니다ICMP(Internet Control Message Protocol)은 노드와 노드 사이에서 통신이 잘되나를 확인할 때 쓰는 프로토콜입니
3 WAY HANDSHAKE3 개의 단계를 기반으로 연결을 성립한다1\. SYN 단계 : 클라이언트는 서버에 클라이언트의 ISN을 담에 SYN을 보냄2\. SYN + ACK 단계 : 서버는 클라이언트의 SYN을 수신하고 서버의 ISN을 보내며 승인번호로 클라이언트의 I
TCP의 연결해제 과정 : 4 WAY HANDSHAKE TIME_WAIT클라이언트가 FIN_WAIT_1 상태가 되면서 FIN 세그먼트를 서버에 보낸다.서버와 클라이언트는 ESTABLESHED 상태가 된 상태.(연결상태)3 서버는 CLOSE_WAIT 상태가 된다(클라이언
라우팅(Routing)은 네트워크에서 데이터를 보낼 때 최적의 경로를 선택하는 과정이며 라우터가 이를 수행합니다.데이터는 보통 출발지에서 목적지로 가는 동안 여러개의 라우터를 거치며 여러번 라우팅을 수행합니다.(라우팅은 초당 수백만번 일어난다)가장 빠른 경로를 찾는 과
라우팅 테이블은 IP 주소를 기반으로 라우터의 위치를 저장한 테이블 또는 데이터베이스다양한 네트워크에 대한 정보와 해당 네트워크에 연결하는 방법이 포함되어 있다.네트워크에 연결하는 방법이 포함된 리스트로 이해하면 된다.PC1(10.0.0.4)이 101.25.67.0 네
IP 주소(Internet Protocol address)는 논리적 주소이며 컴퓨터 네트워크에서 장치들이 서로 인식하고 통신을 하기 위해서 사용하는 특수한 번호이며 IP를 기반으로 통신한다고도 하지만 사실상 그 밑에 물리적인 주소인 MAC 주소를 통해 통신한다.논리적
일반적으로 표현하는 숫자 10진법0~9 를 표현한다2진법은 두 가지 숫자로 표현하는 것.0과 1 두 개의 숫자로 표현함.100101b(b를 덧붙인다 b는 binary의 약자)100101(2)0b100101 (앞에 0b를 덧붙임오른쪽부터2의 0승2의 1승2의 2승2의 n
노드끼리는 서로 주소를 알아야 송수신이 가능.그 주소를 IP로 알아본다.IP 주소는 V4와 V6가 있다2023.10.31 현재는 V4를 많이 쓴다32비트, 2^32개의 주소(41억 9천만 주소) 표현 / 8비트 단위로 점을 찍어 4개로 구분(8비트의 단위를 옥텟이라고도
A회사에서 B회사의 (원치않은)내부 정보를 빼올 수 있으면 안된다.1차적으로 구별하는 것이 네트워크 구별.(A회사 네트워크 따로 B회사 네트워크 따로)그래서 네트워크를 어떻게 구별할거냐?나누는 방법이 Classful 이다.IP주소는 인터넷 주소, 네트워크주소, 호스트주
클래스풀의 단점을 해결하기 위해 클래스리스가 등장.(클래스풀은 IP 낭비가 심하다, 고정 크기로 지급되기 때문)클래스로 나누는 것이 아닌 서브넷마스크를 중심으로 어디까지가 네트워크 주소고어디까지가 호스트주소인지 나눈다. \-- 서브네팅 : 네트워크를 나눈다는 의미. \
IP주소의 부족을 공인 IP(public IP)와 사설IP(private IP)로 나누고 중간에 NAT라는 기술을 통해 해결합니다.NAT(Network Address Translation)는 패킷이 트래픽 라우팅 장치를 통해 전송되는 동안 패킷의 IP주소를 변경, IP
HTTP 요청을 할 때그냥 요청을 하는 게 아니다!HTTP HEADERHTTP BODY두 개를 나눠서 보낸다.PREVIEW를 보면 (본문)이렇게 JSON 형태로 날라오는 바디 형태도 있다.헤더는 콜론 ':'으로 서로 구분하는 key - value 형태로 설정된다.HTT
HTTP 요청이라는 기술은 1.0부터 시작해 지금은 3까지 많은 발전이 있다.HTTP/1.0은 수명이 짧은 연이라 부른다.HTTP 요청은 자체 요청에서 완료가 됩니다.각 HTTP 요청당 TCP 핸드세이크가 발생되며 기본적으로 한 연결당 하나의 요청을 처리하도록 설계되었
구글 2009년 HTTP/1.1의 한계를 극복하기 위해 SPDY 프로토콜 개발, 이후 2015년, SPDY 기반으로 하는 HTTP/2 프로토콜 만들었다.바이너리 포맷 계층애플리케이션 계층과 전송 계층 사이에 바이너리 포맷 계층을 추가.HTTP 1.0은 일반 텍스트 메세
암호화된 HTTPHTTP + TLS(Transport Layer Security)암호화된 통신이 가능하다.그러면 암호화란 무엇인가??암호화는 승인된 당사자만 정보를 이해할 수 있도록 데이터를 "스크램블" 한 방법.이를 복호화하려면 송신자와 수신자가 서로 동의한 "키"가
SSL(Server Socket Layer)는 SSL 1.0부터 시작해서 SSL 2.0, SSL 3.0, TLS(Transport Layer Security) 1.0, TLS 1.3까지 버전이 올라가며 마지막으로 TLS로 명칭이 변경.TLS 1.3을 기준으로 설명TLS
로컬스토리지는 웹 스토리지 객체로 브라우저 내에 { KEY : VALUE } 형태로 오리진에 종속되어 저장되는 데이터를 말합니다하나의 키에 오로지 하나의 값만 저장됩니다데이터는 사용자가 브라우저에서 수동으로 삭제하지 않는 한 평생 동안 로컬 저장소에 저장되며 만료 날짜
로컬스토리지는 웹 스토리지 객체로 브라우저 내에 { key : value } 형태로 오리진에 종속되어 저장되는 데이터를 말합니다.오리진은 무엇인가?주소창에 url을 쳐서 들어가는데 주소를 분석해보면 다음과 같다.ex)www.naver.com 으로 들어가면 앞에 http
로컬 스토리지 어디다 쓰냐?로그인 유지에 사용된다.1) 세션2) 토큰 1-1 유저가 아이디와 패스워드를 서버에 주면 1-2 서버가 토큰을 발급한다(인증완료시) 1-3 localstorage에서 서버가 준 토큰을 저장한다. 1-4 사용자는 로그인을 또 하는게 아니라 로컬
브라우저에 캐싱을 함으로써 서버에 대한 요청으 줄여 서버부화를 방지할 수 있다.셋 다 데이터의 작은 조각, 클라이언트가 서버가 줘야하는 것을 가지고 있으면 줘야할 것이 줄어들지캐싱으로 인해 다운로드 하는 컨텐츠가 줄어들어 웹사이트의 컨텐츠를 더 빨리 다운로드가 가능10
로그인을 구현하는 방법 세션기반 인증 방식토큰기반 인증 방식\--- 세션 기반 인증 방식 ---HTTP의 특징 중 하나는 상태없음(Stateless), 즉 HTTP 요청을 통해 데이터를 주고 받을 때 요청이 끝나면 요청한 사용자의 정보등을 유지하지 않는 특징이 있다.상
토큰 기반 인증 방식state를 토큰에 몰아넣고서버는 statless 하게 가자.토큰에 유저의 상태값이 다 들어있다.토큰으로 유저가 유효한지 유효하지 않은지 판단한다.토큰 로그인 방식 순서유저의 인증 요청(로그인)인증성공Authorization Server가 토큰을 발
status Code란?서버가 제대로 응답했느냐를 나타내는 지표이다.서버가 요청을 잘 받았으며 해당 프로세스를 계속 이어가며 처리하는 것을 의미100 : 계속함을 의미서버가 요청을 잘 받았고 이를 기반으로 클라이언트에게 성공적으로 데이터를 보낸 것을 의미.200 OK
HTTP 메서드는 많다GETPOSTPUTHEADDELETEPATCHOPTIONSCONNECTTRACEhttps://search.shopping.naver.com/catalog/43560327956?query=%EC%96%B4%EB%82%98%EB%8D%94%E
해당 데이터 전체를 보내고 전체 데이터의 교체를 의미.또한, PUT은 만약 해당 데이터가 없다면 새로이 생성하고 있다면 해당 데이터가 있다면 요청할 때 보낸 데이터와 교체를 진행한다EX) {"A" :1, "B" : 2}가 있을 때 B를 3으로 바꾼다하면 PUT의 경우
L7 스위치는 로드밸런서라고도 하며, 서버의 부하를 분산하는 기기입니다.서버 이중화, 보안에 강점이 있는 장치입니다. IP, PORT 뿐만 아니라 URL, 헤더, 쿠키 등을 기반으로 트래픽을 분산합니다. 헬스체크를 통해 장애가 발생한 서버를 확인하고 해당 서버로 트래픽
전송 계층의 대표적인 네트워크 장치로는 L4스위치가 있다.L7 로드밸런서의 특징인 트래픽 분산 등을 할 수 있다.패킷의 IP주소와 PORT 번호를 참조해서 적절히 트래픽분산을 할 수 있다.L7 스위치는 IP, PORT 말고 URL, 헤더, 쿠키 등을 기반으로 분산할 수
앞서 TCP 계층을 설명할 때 데이터 링크계층과 물리계층을 합해서 링크계층으로 설명.링크 계층을 쪼개서 데이터링크계층과 물리계층으로 나눌 수 있다.\-- 데이터 링크 계층은 '이더넷 프레임'을 통해 에러 확인, 흐름 제어, 접근제어를 담당하는 역할\-- 물리 계층 무선
전이중화(FULL DUPLEX) 통신은 양쪽 장치가 동시에 송수신 할 수 잇는 방식을 말한다.동축케이블, 광케이블 등을 기반으로 만들어진 유선LAN을 이루는 이더넷은 IEEE802.3 프로토콜을 기반으로 전 이중화 통신을 쓴다.충전기를 생각하면 된다.충전기는 C타입,
무선랜은 IEE82.11 표준 규격을 따르며 반 이중화 통신을 사용한다. 반이중화 통신 반이중화 통신(HAL DUPLEX)는 양쪽 장치는 서로 통신할 수 있지만, 동시에는 통신할 수 없으며 한 번에 한 방향만 통신할 수 있는 방식 (전이중화처럼 송신따로 수신따로
무선랜 LAN(WLAN, WIRELESS LOCAL AREA NETWORK)는 무선 신호 전달 방식을 이용하여 2대 이상의 장치를 연결하는 기술이다.2.4GHZ와 5HGZ 두 개가 있다.5GHZ가 더 빠르다.2.4GHZ의 경우 -- 장애물에 강하다.5GHZ의 경우 --
서버 과부화의 의미서버가 리소스를 소진하여 들어오는 요청을 처리하지 못할 때 발생.이 때 사용자의 웹요청을 처리하지 못해 응답없을이 뜨게 됩니다.해결책 1사실 이러한 서버 과부화로 서버가 응답없음이 뜨는 것은 여러가지 이유가 있지만 그 중에 하나가 바로 "자원의 한계점
서킷 브레이커 패턴이라고도 불리며 서비스 장애를 감지하고 연쇄적으로 생기는 에러를 방지하는 기법.서비스와 서비스 사이에 서킷브레이커 계층을 두고 미리 설정해놓은 timeout 임계값에 도달하면 서킷브레이커가 그 이후 추가 호출에 무조건 에러를 반환하게 한다.(연쇄적인
불필요한 컨텐츠 제거어떤 웹사이트나 서비스를 이용하면이 서비스들은 컨텐츠를 준다.어떻게 하면 서버의 부하를 덜고 과부화를 덜 주나. 이것이 핵심이다.CDN을 통한 컨텐츠 제공업로드중..
REST API란일련의 특징과 규칙 등을 지키는 RESTful한 API이다.NULL STYLE\-- 아키텍쳐 설계과정이 아무것도 없는 것으로부터 시작한다는 개념API에서 자원들은 각각의 독립적인 인터페이스를 가지며 각각의 자원들이 1\. url 2\. 자원식별, 3\.
Browser Rendering브라우저에 화면에 띄워지는 과정.이 과정에서 html 파일을 트리형태로 만든다DOM(Document Object Model Tree)이런 태그들이 모여 노드를 이루는 것.이런식으로 스타일을 먹일 수 있다.CSSOM 트리는 UL이라는 태그에
www.naver.com을 주소창에 치면리다이렉트가 있다면 리다이렉트를 진행하고 없다면 해당 요청에 대한 과정을 진행해당 요청이 캐싱이 가능한지 아닌지 여부 확인캐싱이 된 요청이면 캐싱된 값을 반환하고캐싱이 되지 않은 요청이라면 다음 단계로 넘어간다.이는 브라우저캐시와
이더넷 프레임이란 데이터 링크계층의 데이터 단위.