서버의 부하 대량의 패킷이 서버로 요청 될 경우에 서버가 모두 처리하지 못할 수 있는 상황이 발생한다. 이를 해결하기 위한 부하 분산 방법에 대해 알아보자. DNS를 이용한 부하분산 DNS서버에 같은 이름으로 여러대의 웹 서버를 등록하는 방법 라운드로빈을 이용하여 차례대로 다른서버에 요청을 보낸다. DNS의 경우 서버의 상태를 체크할 수 없어 서버가 요청을 받을 수 없는 상태에도 해당 서버에 요청을 보내는 단점이 있다. 클라이언트 측에서 여러페이지에 걸쳐 대화를 하는경우 중간에 끊길 수도있다. 예를들어 로그인을 한 상태인경우 로그인상태가 다른서버에 접근하더라도 유지가 되어야한다. 복수페이지의 대화를 진행하는 방법 전후의 관계를 나타내는 데이터를 추가 쿠키를 HTTP헤더에 추가 로드밸런서(부하분산장치) D..
방화벽 패킷을 검사하여 조건에 부합하는 패킷만 통과시킨다. 차단하는 패킷의 경우 이를 분석하여 나중에 부정침입을 방지한다. 패킷필터링형 패킷의 수신측 IP주소와 웹서버의 IP주소에 일치하는 패킷을 통과시킨다. TCP 또는 UDP 헤더의 포트를 이용하여 수신측과 송신측의 포트번호가 일치하는 경우 통과 시킨다 웹 서버에서 브라우저로 접근하려는 경우 동작을 중지시킨다. 접근하려고 할 경우 컨트롤비트의 ACK = 0으로 변경하여 응답에 실패했다는 표시를 추가한다. 막을 수 없는 공격 패킷의 데이터에 문제가 있는경우 방화벽으로 막을 수없음 해결방법 버그를 고쳐서 다운되지 않도록한다. 계속해서 버전 업데이트 패킷의 내용을 조사하여 방화벽과는 또 다른 장치나 소프트웨어를 준비한다.
접속(connect) 커넥션: 소켓끼리의 연결을 의미 소켓 한개분량의 메모리 영역 확보 ->제어정보를 기록한다 Application의 connect 호출: 접속단계 수신측의 IP주소와 포트번호를 통해 연결이 가능한지 확인 데이터를 임시적으로 저장하는 버퍼메모리 생성 프로토콜 스택에 서버 IP와 포트번호를 받아 TCP담당 부분에 전달 제어정보를 이용하여 TCP 헤더생성 컨트롤 비트 SYN을 1로설정(초기 접속 시) IP담당 부분에 전달 수신측 소켓과 연결(상세한 부분 생략) 응답 시 ACK비트 설정 -> 연결 되었음을 확인 작성(write) 송신 접속(connect)이후의 동작으로 송신하려는 데이터를 프로토콜 스택에 전달 프로토콜스택에 버퍼메모리에 데이터를 임시저장 네트워크 이용효율을 위해 패킷을 적당한크..
프로토콜 스택간 동작 원리 nestat 제어정보 (헤더) 제어정보는 서버측에서 확인할 수 없다. 송신처, 수신처 포트번호 SEQ,ACK 데이터 오프셋 컨트롤 비트: 통신제어를 위한비트 ACK: 수신데이터의 일려번호 필드가 유효함을 나타냄 -> 데이터를 올바르게 도착했음을 의미한다. SYN: 송신측과 수신측의 일렬번호를 확인, 최초연결 시 사용 FIN: 연결끊기 URG: 긴급포인터의 유효 RST: 접속 강제종료 윈도우: 수신처에서 받을 수 있는 데이터의 양을 송신측에 알려주기 위한 제어정보 긴급 포인터: 긴급하게 처리해야 할 데이터를 나타냄 체크섬: 오류 유무 사용 TCP 데이터를 송수신하기 위한 프로토콜 패킷을 제대로 받지 못했을 경우 다시 송신 수신확인 응답이 꼭 필요하다. UDP 데이터를 송수신하기 ..
과정 웹 브라우저에서 URL 해독 및 HTTP 생성 OS를 통해 메시지 송신 이 때 OS에는 수신처의 IP주소가 필요하여 도메인을 통해 IP주소를 조사하여야 한다. 도메인 주소란? 네트워크 상에서 컴퓨터를 식별하는 호스트명을 가리킨다 IP 주소란? 서브넷이란? 작은 네트워크에 라우터를 연결한 형태, 허브에 몇대의 pc가 접속된 것과 같다 IP 주소란? 라우터를 통해 연결된 서브넷에 IP주소를 할당한다 ex ) 211.116.83.112/24 넷마스크 /뒤에 숫자를 의미하며 해당 수를 8비트의 수로 바꾸었을 때 1인분이 네트워크 번호가 된다. 네트워크 번호 넷마스크가 1인부분 호스트번호 넷마스크가 0인부분 호스트번호가 0인경우 서브넷 자체를 나타낸다. 호스트번호가 255인경우 브로드캐스트를 의미한다. 브로..
URL 구조 프로토콜://(유저:패스워드)@도메인:(포트번호)/파일경로명 도메인과 파일경로명을 이용하여 액세스 파일명은 생략 가능하며 index.html 또는 default.html이 대신한다. HTTP 기본개념 클라이언트와 서버가 주고 받는 메세지의 내용이나 순서를 정한 것이다. 주요 메소드 메소드 의미 GET 리소스 조회 POST 요청 데이터 처리, 주로 데이터 등록에 사용 PUT 리소스를 대체, 해당 리소스가 없으면 생성 DELETE 리소스 삭제 PATCH 리소스를 일부만 변경 기타메소드 메소드 의미 HEAD HTTP 헤더만 반송하고 데이터의 내용을 생략한다. 보통 서버의 정상작동 여부를 알고 싶을 때 사용한다 OPTIONS 서버의 옵션들을 확인하기 위해 사용한다. 서버에 어떤 메소드를 지원하는지 ..
- Total
- Today
- Yesterday
- useCallback과 useMemo 사용
- suspense 장점
- 미로탈출 명령어
- 가장 긴 짝수 연속한 부분 수열
- javascript
- node version yarn berry
- node 버전 마이그레이션
- 백준 22862
- 백준 1600번
- nestjs 배포하기
- serverless nestjs
- 1600 파이썬
- React useCallback
- 선언적 UI
- 서버사이드 error handling
- nextjs 에러핸들링
- CSS
- storybook scss import
- nextjs errorboundary
- 자바스크립트
- 표현 가능한 이진트리
- react suspense
- 관심사 분리하기
- storybook scss이슈
- React useMemo
- 불량 사용자 자바스크립트
- 에러핸들링
- 서비스 디자인 패턴
- storybook react is not defiend 해결
- serverless 배포
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |