용's
망했다. 다른 길 찾아봐야겠다.
▶ 라우팅란 무엇인가 → Source에서 Destination으로 최적의 경로(즉, Shortest Path)를 찾는 것을 목적으로 Routing/Forwarding Table 만드는 것을 목적으로 함. → Shortest Path를 구하기 위해서는, Router들 사이에 정보(Routing Info)를 교환해야 함. → 교환하는 방식에 따라, 대표적으로 Link-State와 Distance-Vector의 두가지 방식이 존재 → Link-State(다익스트라 알고리즘): 모든 라우터들의 정보를 토대로 Shortest Path를 구하게 되며, 결과적으로 네트워크의 topology를 얻을 수 있다. → Distance-Vector(Distributed Bellman-Ford 알고리즘): 인접한 라우터들끼리 ..
(1) Blocking - 조건 만족이 되지 않는다면 함수는 리턴하지 않고 해당스레드는 Wait State를 만족하게 되면서, 애플리케이션은 더이상 진행되지 않는다. - 예를 들어, 블로킹 소켓을 사용한 서버라고 가정하는 경우, 서버의 역할상 동시다발적으로 복수의 클라이언트가 접속하여 서비스를 이용하는데, 블록킹 소켓을 사용하면 순차적으로 클라이언트의 접속을 받아들여 작업하고 해당 작업이 완료돼야 다음 접속에 대한 작업을 할 수 있다. - 이를 해결하기 위해 멀티쓰레드 방식을 이용한다. 각 클라이언트마다 각 쓰레드를 하나씩 생성하는 것이다. - 하지만, 운영체제마다 스레드의 갯수가 제한되어 있으며, 제한된 스레드보다 많은 클라이언트가 접속할시 문제가 발생(가용성 부재). 또한, 스레드가 작동되기 위해서는..