일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
- 결정 알고리즘
- async/await
- 리터럴 타입
- webpack
- Cypress
- useAppDispatch
- SSR
- 반공변성
- map
- 타입 좁히기
- app router
- 이분 검색
- autosize
- Promise
- 태그된 유니온
- CORS
- 무한 스크롤
- ESlint
- TS
- recoil
- RTK Query
- React
- tailwind
- dfs
- Jest
- 인터섹션
- 투포인터
- 호이스팅
- CI/CD
- 공변성
- Today
- Total
목록CS/네트워크 (9)
짧은코딩
HTTP/2 HTTP/2는 HPPT/1.x보다 지연 시간은 줄고 응답 시간을 더 빠르게 할 수 있다. 멀티플렉싱, 헤더 압축, 서버 푸시, 요청의 우선순위 처리를 지원하는 프로토콜이다. 멀티플렉싱 멀티플렉싱은 여러 개의 스트림을 사용해 송수신한다. 만약 특정 스트림의 패킷이 손실되어도 해당 스트림에만 영향을 미치고 다른 스트림은 잘 동작한다. 사진처럼 병렬적인 스트림을 사용하여 데이터를 송수신한다. 또한 스트림 안의 데이터들도 쪼개져있어서 독립된 프레임으로 조각되어 송수신하고 다시 조립하며 데이터를 주고받는다. -스트림(stream) 시간이 지남에 따라 사용할 수 있는 데이터 흐름 -HOL Blocking 해결 HTTP/1.x에서는 앞에 큰 데이터가 오래 걸리면 HOL Blocking이 발생한다. 하지만..
HTTP/1.0 HTTP/1.0은 기본적으로 한 연결당 하나의 요청을 처리하도록 설계되었다. 이로인해 RTT가 증가한다. 서버에서 파일을 가져올 때마다 TCP의 3-way handshake를 열어야해서 RTT가 증가한다. RTT: 패킷이 목적지까지 갔다가 돌아오는 시간, 즉 패킷 왕복 시간 RTT 증가 해결 방법 연결할 때마다 RTT가 증가하면 서버에 부담이 많아지고 응답 시간이 길어진다. 이를 해결하기 위해 이미지 스플리팅, 코드 압축, 이미지 Base64 인코딩을 사용했다. -이미지 스플리팅 이미지를 많이 다운 받으면 과부하가 걸려서 많은 이미지가 합쳐져 있는 하나의 이미지를 받고 이를 기반으로 background-image의 position을 이용해 이미지를 표기하는 법이다. -코드 압축 코드 압축..
ARP(Address Resolution Protocol) 컴퓨터는 IP 주소에서 ARP를 통해 MAC 주소를 찾아 MAC를 기반으로 통신한다. 즉 ARP는 IP 주소로부터 MAC 주소를 구하는IP와 MAC 주소의 다리 역할을 하는 프로토콜이다. ARP: 가상 주소인 IP -> 실제 주소인 MAC로 변환 RARP: 실제 주소인 MAC -> 가상 주소인 IP 주소로 변환 -ARP의 주소 찾기 ARP Request 브로드캐스트를 보냄 -> 원하는 IP 주소를 가진 장치를 찾음 -> 찾아진 장치에서 APR reply 유니캐스트를 이용해 MAC 주소를 반환 -> 원하는 MAC 주소 얻음 브로드캐스트: 송신 호스트가 전송한 데이터가 네트워크에 연결된 모든 호스트에 전송되는 방식 유니캐스트: 고유 주소로 식별된 하..
네트워크 기기의 처리 범위 네트워크 기기는 계층별로 처리 범위가 다르다. 상위 계층의 기기는 하위 계층을 처리할 수 있지만 반대로는 불가능하다. 애플리케이션 계층: L7 스위치 인터넷 계층: 라우터, L3 스위치 데이터 링크 계층: 브리지, L2 스위치 물리 계층: NIC, 리피터, AP 스위치: 여러 장비를 연결하고 데이터 통신을 중재해 목적지 포트로만 전기 신호를 보내는 통신 네트워크 장비이다. 애플리케이션 계층을 처리하는 기기 L7 스위치 L7 스위치는 로드밸런서라고 불리며 서버 부하를 분산한다. 클라이언트로 오는 요청들을 여러 서버로 나누고 시스템이 처리할 수 있는 트래픽 증가를 목표로 한다. URL, 서버, 캐시, 쿠키 기반으로 트래픽을 분산한다. 바이러스, 불필요한 외부 데이터를 걸러 필터링도..
계층 간 데이터 송수신 과정 HTTP를 통해 웹 서버에 요청을 하면 일어나는 과정을 그림으로 표현한 것이다. -과정 1. 애플리케이션 계층에서 전송 계층으로 요청(request) 값들이 캡슐화 과정을 거쳐 전달 2. 링크 계층을 통해 서버와 통신 3. 해당 서버의 링크 계층으로부터 애플리케이션까지 비캡슐화 과정을 거쳐서 데이터 전달 -캡슐화 과정 캡슐화 과정은 상위 계층의 헤더와 데이터를 하위 계층 데이터 부분에 포함하고 해당 계층의 헤더를 삽입하는 과정이다. 애플리케이션 계층 -> 전송 계층: 데이터가 전달되면서 세그먼트 혹은 데이터그램화 되어 TCP(L4) 헤더가 붙는다. 전송 계층 -> 인터넷 계층: IP(L3) 헤더가 붙여져 패킷화된다. 인터넷 계층 -> 링크 계층: 프레임 헤더, 프레임 트레일러..
Internert Protocol Suite Internert Protocol Suite는 프로토콜의 집합이다. 이를 TCP/IP 4계층 모델이나 OSI 7계층 모델로 설명한다. TCP/IP(Transmission Control Protocol/Internet Protocol) 4계층은 프로토콜의 네트워킹 범위에 따라 네 개의 추상화 계층으로 구성된다. 계층 구조 위에서 설명했듯이 TCP/IP 4계층 모델과 OSI 7계층 모델이 있다. OSI 7계층은 애플리케이션을 3개로 쪼개고, 네트워크 계층을 2개로 쪼갠 것이 다르다. 그리고 인터넷 계층을 네트워크 계층이라고 부르는 것도 다르다. 이 계층들은 특정 계층이 변경되어도 다른 계층에 영향을 받지 않는다. 이 사진은 각 계층을 대표하는 스택을 정리한 그림이..
패킷 교환 방식 -데이터 패킷 교환 방식 데이터를 전송하기 전 논리적 연결이 되어 있지 않고 패킷이 독립적으로 간다. 패킷을 수신한 라우터는 최적의 경로로 패킷을 전송하는데 분할된 여러 패킷은 서로 다른 경로로 전송될 수도 있다.(비연결 지향형) => 이 말은 송신 측에서 전송한 순서와 도착한 순서가 다를 수도 있다. 그리고 경로 설정을 여러 번 할 수 있다. -가상회선 패킷 교환 방식 데이터를 전송하기 전 논리적 연결이 설정된다.(연결 지향형) 각 패킷에 가상회선 식별 번호(VIC)가 포함되고 패킷이 전송한 순서대로 도착한다. 가상회선 방식은 경로 설정을 한 번만 한다. TCP(Transmission Control Protocol) TCP는 인터넷상에서 데이터를 메시지 형태로 보내기 위해 IP와 함께 ..
네트워크 분류 -LAN(Local Area Network) LAN은 사무실과 개인적으로 소유 가능한 규모이다. LAN은 근거리 통신망을 의미하고 캠퍼스 같은 좁은 공간에서 운영된다. 전송 속도가 빠르고 혼잡하지 않다. -MAN(Metropolitan Area Network) MAN은 서울시 같은 시 정도 규모이다. 대도시 지역 네트워크를 나타내고 도시 같이 넓은 지역에서 운영된다.전송 속도는 평균이고 LAN보다는 더 혼잡하다. -WAN(Wide Area Network) WAN은 세계 규모이며 광역 네트워크이다. 국가나 대륙 같은 더 넓은 지역에서 운영된다. 전송 속도는 낮고 MAN보다 더 혼잡하다. 네트워크 성능 분석 명령어 애플리케이션엔 문제가 없는데 데이터를 못 가져오는 경우가 있다. 이는 네트워크 ..
네트워크는 노드와 링크가 서로 연결되어 있거나 연결되지 않은 집합체를 의미한다. 여기서 노드란 서버, 라우터, 스위치 등 네트워크 장치를 의미하고 링크는 유선 혹은 무선을 의미한다. 처리량과 지연 시간 좋은 네트워크란 많은 처리량을 처리 할 수 있고 지연 시간이 짧고 장애 빈도가 적으며 좋은 보안을 갖춘 네트워크를 말한다. -처리량(throughput) 처리량은 링크를 통해 전달되는 단위 시간당 데이터양을 말한다. 단위로는 초당 전송/수신되는 비트 수라는 의미의 bps(bits per second)를 사용한다. 처리량은 이용자가 많아질 때 커지는 트래픽, 네트워크 장치 간의 대역폭, 네트워크에서 발생하는 에러, 하드웨어 스팩에 영향을 받는다. 대역폭(bandwidth): 주어진 시간 동안 네트워크 연결을..