본문 바로가기

CS 공부/네트워크5

HTTP&HTTPS HTTP(HyperText Transfer Protocol) 인터넷 상에서 클라이언트와 서버가 자원을 주고 받을 때 쓰는 통신 규약이다. HTTP는 텍스트 교환이므로, 누군가 네트워크에서 신호를 가로채면 내용이 노출되는 보안 이슈가 존재한다. 이런 보안 문제를 해결해주는 프로토콜이 'HTTPS' 이다. HTTPS(HyperText Transfer Protocol Secure) 인터넷 상에서 정보를 암호화하는 SSL 프로토콜을 사용해 클라이언트와 서버가 자원을 주고 받을 때 쓰는 통신 규약이다. HTTPS는 텍스트를 암호화한다. (공개키 암호화 방식으로) HTTPS 통신 흐름 애플리케이션 서버(A)를 만드는 기업은 HTTPS를 적용하기 위해 공개키와 개인키를 만든다. 신뢰할 수 있는 CA 기업을 선택하고,.. 2022. 9. 11.
로드 밸런싱(Load Balancing) 요즘 시대에는 웹사이트에 접속하는 인원이 급격히 늘어나게 되었다. 따라서 이 사람들에 대해 모든 트래픽을 감당하기엔 1대의 서버로는 부족하다. → Scale-up / Scale-out ? 대응 방안으로 하드웨어의 성능을 올리거나(Scale-up) 여러대의 서버가 나눠서 일하도록 만드는 것(Scale-out)이 있다. 하드웨어 향상 비용이 더욱 비싸기도 하고, 서버가 여러대면 무중단 서비스를 제공하는 환경 구성이 용이하므로 Scale-out이 효과적이다. 로드 밸런싱이란? 이때 여러 서버에게 균등하게 트래픽을 분산시켜주는 것이 바로 로드 밸런싱이다. 둘 이상의 CPU or 저장장치와 같은 컴퓨터 자원들에게 작업을 나누는 것이다. 로드 밸런싱은 분산식 웹 서비스로, 여러 서버에 부하(Load)를 나누어주는 .. 2022. 7. 3.
Blocking/Non-blocking & Synchronous/Asynchronous Synchronous와 Blocking은 무언가를 기다리게 하고, Asynchronous와 Nonblocking은 기다리지 않고 바로 바로 처리된다. 하지만, 분명한 차이점이 존재한다. Blocking/NonBlocking Blocking/NonBlocking은 호출되는 함수가 바로 리턴을 하느냐 마느냐가 관심사이다. Nonblocking : 호출되는 함수가 바로 리턴한다. 호출되는 함수가 제어권을 바로 호출하는 함수에게 넘겨주어 다른 일을 할 수 있도록 한다. 제어권은 호출하는 함수에게 있다. Blocking : 호출되는 함수가 자신의 작업을 완료할 때까지 리턴하지 않는다. 호출되는 함수는 자신의 작업을 완료하면, 호출하는 함수에게 제어권을 넘겨주므로 호출하는 함수는 다른 일을 하지 않고 대기한다. 제.. 2022. 7. 3.
[TCP] 흐름제어/혼잡제어 흐름제어란? 송신측과 수신측의 데이터 처리 속도 차이를 해결하기 위한 기법 수신측이 Packet을 지나치게 많이 받지 않도록 조절하는 것 기본 개념은 수신측이 송신측에게 현재 자신의 상태를 Feedback 한다는 점 수신측이 송신측보다 데이터 처리 속도가 빠르면 문제없지만, 송신측의 속도가 빠를 경우 문제가 생긴다. 수신측에서 제한된 저장 용량을 초과한 이후에 도착하는 데이터는 손실될 수 있으며, 만약 손실 된다면 불필요하게 응답과 데이터 전송이 송/수신 측 간에 빈번히 발생한다. 이러한 위험을 줄이기 위해 송신측의 데이터 전송량을 수신측에 따라 조절해야한다. → 해결방법? 1. Stop and Wait : 매번 전송한 패킷에 대해 확인 응답을 받아야만 그 다음 패킷을 전송하는 방법 2. Sliding .. 2022. 6. 26.
[TCP] 3 way handshake & 4 way handshake TCP(Transmission Control Protocol)란? TCP는 네트워크 계층 중 전송 계층에서 사용하는 프로토콜로서, 장치들 사이에 논리적인 접속을 성립하기 위하여 연결을 설정하여 신뢰성을 보장하는 연결형 서비스 이다. 인터넷 상에서 데이터를 메세지의 형태(세그먼트 라는 블록 단위)로 보내기 위해 IP와 함께 사용하는 프로토콜이다. TCP와 IP를 함께 사용하는데, IP가 데이터의 배달을 처리한다면 TCP는 패킷을 추적 및 관리한다. 3-way handshaking과정을 통해 연결을 설정하고, 4-way handshaking을 통해 연결을 해제한다. 흐름제어 및 혼잡제어를 제공한다. 2022.06.26 - [CS 공부/네트워크] - [TCP] 흐름제어/혼잡제어 높은 신뢰성을 보장한다. 대신,.. 2022. 6. 26.