전체 글

알고리즘 블로그
3-Way HandSwakeTcp 에서는 신뢰성을 확보하기 위해 3-Way HandSwake라는 작업을 진행한다. 그림과 같이 3단계를 거친다고 해서 3-Way HandSwake라고 하는데 SYN , SYN + ACK, ACK 단계로 나뉜다. SYN 단계에서는 클라이언트의 ISN을 서버에 보낸다. 이때 ISN은 첫번째 패킷에 담긴 임의의 시퀀스 번호이다.SYN + ACK 단계에서는 서버가 클라이언트의 SYN을 수신하고 서버의 ISN을 보내며 승인번호로 클라이언트의 ISN+1 값을 보낸다.ACK단계는 클라이언트가 서버의 승인번호를 받고 승인번호+1 값을 승인번호로 서버에 보내고 서버가 성공적으로 수신하면 완료된다. 이처럼 3-wWay HandSwake 과정으로 신뢰성이 구축되고 데이터 전송을 시작한다. T..
TCP/IP 4계층 모델?TCP/IP는 인터넷을 사용할 때 기본적으로 적용되는 네트워크 프로토콜 모델이다. 초기에는 OSI 모델의 7계층을 간소화하여 4계층 모델로 표현되었다. 이 4계층 모델은 네트워크 액세스 계층, 인터넷 계층, 전송 계층, 응용 계층으로 구성되어 있다.시간이 지나면서 인터넷의 발전과 함께 TCP/IP 모델도 계속해서 갱신되어왔다. 이러한 변화의 일환으로, 최근에는 'TCP/IP Updated 모델'이라는 5계층 구조가 등장했다. 이 모델에서는 기존의 링크 계층을 물리 계층과 데이터 링크 계층으로 세분화하였고, '인터넷' 계층의 명칭을 '네트워크'로 변경했다. 현재 이 5계층 모델은 전 세계적으로 표준으로 채택되어 사용되고 있다.  4계층과 5계층의 차이는 TCP/IP 4계층의 링크 ..
토폴리지란?컴퓨터 네트워크의 토폴리지는 네트워크상의 장치들이 어떻게 연결되어 있는지를 나타내는 구조이다.각각의 토폴리지는 성능과 보안 측면에서 독특한 특성과 장단점을 가지고 있습니다. 이번 글에서는 각 토폴리지의 대해 알아보자.트리 포폴리지트리 토폴로지는 계층적 구조를 가지며, 스타 토폴로지가 계층적으로 연결된 형태이다. 중앙 노드가 하위 노드를 연결하고, 이 하위 노드들이 다시 다른 노드를 연결하는 구조이다.성능:확장성: 계층적 구조이기 때문에 트리와 마찬가지로 노드의 추가와 삭제가 쉽다. 병목현상: 중앙노드나 상위 레벨의 노드에 문제가 생기면 하위 노드 즉 하위 네트워크까지 영향을 미칠 수 있다.보안:관리 용이성: 계층적 구조로 인해 보안 정책을 적용하고 관리하기 쉽다.취약점: 상위 노드의 보안이 손..
싱글톤 패턴 싱글톤 패턴이란 객체 지향 프로그래밍에서 클래스의 인스턴스가 단 하나만 생성되도록 보장하는 디자인 패턴이다. 여러 사용자가 동시에 접근해서 한 인스턴스를 쓸 때 싱글톤 패턴을 사용하면 메모리 낭비를 방지하며 접근이 용이한 장점이 있다. 하지만 "전역 상태" 이기 때문에 테스트가 어렵고 SRP, DIP 원칙을 위배하는 단점이 있어 안티패턴이라고도 불린다. 이러한 안티패턴에 가까운 싱글톤 패턴을 왜 스프링은 적용했을까? 스프링은 대규모 시스템에서 효율적인 자원관리가 필수적이기 때문에 적용했다. 스프링은 스프링 컨테이너에서 각 빈(Bean)의 인스턴스 하나만 생성하고 관리하는 싱글톤 패턴을 적용했다. 이 과정에서 의존성 주입 (Dependency Injection)을 활용했고 싱글톤 패턴의 문제점..
알고리즘 노트
알고리즘 노트