CS/네트워크
소켓 입출력 모델 - Overlapped 모델
Overlapped 모델완료 루틴을 통해 비동기 입출력 결과를 처리한다.완료루틴 - 애플리케이션이 정의한 일종의 콜백함수로 운영체제가 적절한 시점에 자동으로 호출하도록 되어 있다.동작 원리비동기 입출력 함수를 호출함으로써 운영체제에 입출력 작업을 요청한다.해당 스레드는 곧바로 alertable wait 상태로 진입한다비동기 입출력 작업이 완료되면, 운영체제는 스레드의 APC 큐에 결과를 저장한다비동기 입출력 함수를 호출한 스레드가 alertable wait 상태에 있으면, 운영체제가 APC 큐에 저장된 정보를 참조하여 완료 루틴을 호출한다 APC 큐에 저장된 정보를 토대로 모든 완료 루틴 호출이 끝나면, 스레드는 alertable wait 상태에서 빠져나온다APC Queue (Asynchronous Pr..
DoS 및 DDoS 정리
서비스 공격 거부 (DoS, Denial of Service) 1. 정의 : 공격 대상 시스템이 정상적인 서비스를 할 수 없도록 만드는 공격 2. 목적 : 가용성 저하 3. 주요 공격 : SYN Flooding Attack, 스머프 공격(Smurf Attack) 등 4. 스머프 공격(Smurf Attack), 스머핑(Smurfing) 1) 희생자의 스푸핑(Spoofing)된 원본 IP로 브로드캐스팅 방식으로 ICMP(Internet Control Message Protocol) 패킷 전송 2) 전달받은 시스템들은 원본 IP로 ICMP 응답 메시지 전송 3) 희생자 시스템은 ICMP 트래픽 과부화로 정상적인 서비스 불가능 ※ IP Spoofing : 네트워크의 취약점을 이용하여 해커가 자신의 IP를..
서브넷, 서브넷마스크, 서브넷팅
서브넷 (Subnet)IP 주소 공간을 더 작은 네트워크로 분할하는 기술이다 IP 주소 공간을 서브넷으로 분할하면 네트워크를 효율적으로 관리하고, 더 많은 호스트들을 지원하거나 보안을 강화할 수 있다.서브넷 마스크 (Subnet Mask)주어진 IP 주소를 네트워크 환경에 맞게 나누어 주기 위해서 씌어주는 이진수의 조합이다.서브넷을 만들 때 사용되는 것으로 IP 주소에는 반드시 서브넷 마스크가 있는데, 이 서브넷 마스크를 이용하여 IP주소에서 Network ID와 Host ID를 분리할 수 있다.서브넷팅 (Subnetting)네트워크를 더욱 작은 단위의 네트워크로 분할하는거다 IP주소의 낭비를 방지하고 브로드캐스트 도메인의 크기를 줄여서 성능을 향상하는 것이 주된 목적이다.예를 들어 당신이 192.167..
OSI 7계층 개념 정리
OSI (Open System Interconnection) 7계층은 국제 표준화 기구인 ISO (International Standardization Organization)에서 개발한 컴퓨터 네트워크 프로토콜 디자인과 통신을 계층으로 나누어 설명한 개방형 시스템 상호 연결 모델이다.AH : Application HeaderPH : Presentation HeaderSH : Session HeaderTH : Transport HeaderNH : Network Header / NT : Network TailDH : Data Link Header / DT : Data Link Tail계층을 지날 때마다 헤더(Header)가 붙는데, 이것은 해당 계층의 기능과 관련된 제어 정보가 포함 되어 있다.제어 정보들..
IaaS, PaaS, SaaS 차이
IaaS, PaaS, 및 SaaS는 클라우드 컴퓨팅 모델을 나타내는 서비스 유형이다.차이점은 각각 다른 수준의 관리와 책임을 제공하고, 사용자가 원하는 만큼의 제어와 유연성을 제공한다.SaaS는 소프트웨어 기반 서비스PaaS는 플랫폼 기반 서비스IaaS는 인프라 기반 서비스IaaS Infrastructure as a ServiceIaaS는 가장 기본적인 클라우드 서비스 모델로, 가상화된 컴퓨팅 리소스(가상 머신, 스토리지, 네트워킹 등)를 제공하는 것이다.사용자는 여기에 운영체제부터 응용프로그램, 데이터 등 전반적인 관리 책임을 갖게 된다. IaaS는 기본 인프라를 프로비저닝(IT 인프라를 설정하는 프로세스)하고 관리하는 데 필요한 컨트롤을 제공하면서도 하드웨어와 물리적 자원에 대한 걱정을 줄여준다.ex..
SRT, SJF 스케줄링 알고리즘 문제
5개의 작업에 대한 도착 시간과 CPU 사이클 시간이 아래표와 같다고 다음 물음에 답하시오위에서 SRT, SJF 스케줄링 알고리즘을 적용할 경우 평균 대기시간과 반환시간을 구하시오. A)선점형 스케줄링은 하나의 프로세스가 cpu를 점유하고 있을 때 작업중인 프로세스를 중단시킬 수 있는 방식으로 srt가 여기에 속한다.비선점형 스케줄링은 하나의 프로세스가 cpu를 점유하고 있을 때 작업중인 프로세스를 중단시킬 수 없는 방식으로 sjf가 여기에 속한다. SRT 방식남아있는 도착 시간이 가장 짧은 작업을 먼저 처리한다. 위의 그림을 보면 a가 먼저 시작이 되므로 1을 처리하고 a의 남은 시간은 5가 된다.b가 들어오는데 a보다 b가 남은 시간이 짧으므로 a는 대기 상태가 되고 b가 처리된다. b가 1을 처리하..
BGP (Border Gateway Protocol)
개념사실 모든 BGP 프로토콜이 서로 다른 AS들을 연결해주는 것은 아니다. Border Gateway Protocol의 이름에서 알 수 있듯이, AS의 가장 자리에 위치한 BG (Border Gateway)들 간의 프로토콜이다, 물론 다른 AS들에 속한 BG간의 연결에도 관여하지만, 같은 AS 내의 BG 간의 연결에도 관여한다. 이러한 역할의 차이에 따라 BGP는 크게 두 가지로 구분할 수 있다.1) iBGP서로 같은 AS 상의 Border Gateway들 끼리의 연결을 담당하는 BGP 2) eBGP서로 다른 AS 상의 Border Gateway들 끼리의 연결을 담당하는 BGP, inter-AS 라우팅이다.역할서로 다른 AS에 존재하는 IP주소로도 쉽게 패킷을 전달할 수 있는것이 다 BGP 때문이다. ..
라우팅 Routing
라우팅 기능과 주요 프로토콜 이해간단한 라우팅 프로토콜거리-벡터 프로토콜링크 상태 프로토콜외부 라우팅 프로토콜최단 경로 라우팅거리 기준은 다양하지만 중간에 거치는 홉(hop) 수로 판단패킷이 목적지로 가는 동안 거치는 라우터 수가 최소가 되도록 경로를 선택a > d로 가려면 a-b-d 경로 선택, a > g로 가려면 a-c-g 경로 선택기타 거리 기준) 패킷의 전송 지연, 전송 대역폭, 통신 비용 등플러딩 (Flooding)입력된 패킷을 라우터가 출력 가능한 모든 경로로 중개하는 방식확실하게 전달할 수 있다는 장점이 있지만 네트워크에 패킷이 무한 개 만들어질 위험이 있음홉 수를 일정 범위로 제한하고 제거하는 방식으로 대처 가능중요한 데이터를 모든 호스트에게 동시에 전달하는 환경에서 제한적으로 사용거리-벡..
RIP 라우팅 프로토콜
개념RIP (Routing Information Protocol)는 기업의 근거리통신망 또는 그러한 랜(LAN)들이 서로 연결된 그룹과 같은 독립적인 네트워크 내에서 라우팅 정보 관리를 위해 광범위하게 사용된 프로토콜이다. 경유하는 라우터의 대수(Hop Count)에 따라 최단 경로를 동적으로 결정하는 거리 벡터 알고리즘을 사용한다. 현재 2개의 버전이 있는데 버전 1은 인터넷, 인트라넷에 널리 사용되고 있으며 유닉스의 routed가 유명하다. 버전 2는 CIDR에 대응될 수 있도록 기능이 확장되어 있다. 버전 1은 RFC 1058, 버전 2는 RFC 1723으로 각각 규정되어 있다.특징1) 라우팅 프로토콜 분류RIP는 내부 네트워크에서 주로 사용경로 지정을 하나 밖에 할 수 없는 단일 경로 라우팅 프로..
RIP와 OSPF
Intra-AS 라우팅개요Intra-AS 라우팅을 위해 최적의 경로를 계산하는 알고리즘은 라우팅의 전달 내용, 방법 및 계산하는 방식에 따라 거리 벡터 알고리즘과 링크 상태 알고리즘으로 분류거리 벡터 알고리즘(Distance Vector Algorithm)네트워크 이론에서 최단 경로(Shorter Path)를 구하는 벨만-포드(Bellman-Ford) 알고리즘에 기반을 두고 있음벨만-포드 알고리즘 : 가중치를 갖는 방향(Directed) 그래프에서 최단 경로 문제를 푸는 알고리즘이며, 이때 간선의 가중치는 음수일 수도 있음각 라우터는 자신으로부터 다른 모든 라우터에 이르는 거리 정보(즉, 라우팅 테이블 자체)를 주기적으로 인접한 라우터와 서로 교환각 라우터는 목적지(라우터 또는 호스트)별로 자신이 가지고..