💻CS/Network

    [Network] 네트워크 계층 6

    앞선 글에서 봤던 count-to-infinity를 해결하는 방법 중의 하나로는 poisoned reverse라는게 있다. 라우팅 정보를 되돌려 주기는 하되, 기존의 정보가 아니라 무한대의 값으로 전달해주어 경로가 사용될 수 없다고 인식하도록 만들어준다. 즉, 경로를 역행하여 값들이 수시로 변경되던 예시를 방지할 수 있다. Hierarchical Routing 네트워크의 스케일이 큰 경우는 계층화(hierarchical routing)를 시킨다. 이전 글 들에서 link state, distance vector 알고리즘들을 통해 라우터들을 연결시켰었다. 이 때 잠시 말했었던 부분이 있는데, 바로 하나의 네트워크 내부에서만 이러한 알고리즘을 쓰고 외부 네트워크들을 연결하는데에는 다른 알고리즘을 사용한다고 ..

    [Network] 네트워크 계층 5

    지난번에 이어서 distance vector 알고리즘에 대해 알아볼 것이다. 이전 글에서 봤듯이, 본인과 인접한 부분에 대한 정보만 알고, 나머지 정보들은 이웃에 의해 전달받아야 한다. 그렇기 때문에 Distance vector 알고리즘의 핵심은 이웃에게 정보를 받아 이를 기반으로 정보를 업데이트한다는 것이 된다. 이러한 구조에서, x로부터 z로의 최단 경로를 구하기 위해서는 min(C(x,y) + Dy(z), C(x,z) + Dz(z))의 식으로 값을 구해낼 수 있다. y를 거쳐서 가는 경우 z로 바로 가는 경우 이 두 가지 경우 중 최소값을 가지는 경우를 선택하여 정보를 업데이트 해주는 것이다. 이러한 계산 과정이 반복되며 정보는 계속 업데이트 되고 더 이상 값이 바뀌지 않는(stable)한 상태가 ..

    [Network] 네트워크 계층 4

    이전에 포워딩 테이블은 라우팅 알고리즘에 의해서 만들어진다고 했었다. 이번 강의에서는 라우팅 알고리즘에 대해서 알아볼 것이다. Routing Algorithms 라우터의 주 역할 중 하나는 포워딩이었다. 포워딩이라는 것은 패킷 내 헤더의 목적지 정보를 보고 포워딩 테이블내 가장 적합한 엔트리와 매칭해서 연결시켜주는 것이다. 즉 A를 B로 보내기 위해 중간에 거쳐야하는 관문 정도로 보면 될 것 같다. 이제는 네트워크를 그림으로만 보지 않고 노드와 간선으로 이루어진 네트워크 그래프로 볼 것이다. 노드는 라우터고, 간선은 링크라고 보면 된다. 이 네트워크 그래프를 보는 이유가 뭘까?? 바로 앞서 말했듯이 포워딩 테이블을 만들기 위해서이다. 어? 그럼 포워딩 테이블의 엔트리는 어떻게 구성해야 좋은거지?? 예를 ..

    [Network] 네트워크 계층 3

    DHCP (Dynamic Host Configuration Protocol) 호스트 정보(IP, Mask, Router, DNS 등)를 동적으로 세팅해주는 역할을 한다. 만약 DHCP가 아니라 수동으로 IP주소를 정해주게 된다면 정적으로 사전에 미리 정해줘야 할 것 이다. 예를 들어서 A 아파트에 입주자가 10,000명이라고 할 때, 수동으로 IP를 할당하려면 10,000개를 미리 정해줘야 한다. 하지만 DHCP는 동적으로 사용 중인 입주자를 대상으로만 할당해주기에 그 수를 더 효율적으로 사용할 수 있다. 즉, 네트워크에 접속했을 때 주소가 할당되며, 이후에 회수하여 IP주소의 재사용 또한 가능해진다. (주소를 잠시 렌탈해주는 것과 같은 느낌!) 1. DHCP discover 사용자 : 저기.. 저 새로..

    [Network] 네트워크 계층 1, 2

    Application Layer, Transport Layer 그 아래의 Network Layer에 대해 알아볼 것이다. 네트워크 레이어의 두 가지 핵심 기능 (feat. 라우터) 라우터는 패킷이 들어오면 목적지로 향하는 방향으로 전달하는게 핵심이다. 패킷의 헤더에 해당 정보가 있어 이를 분석하여 정보를 얻어낼 수 있다. forwarding : 들어온 패킷의 목적지 + 표(forwarding table)를 보고 매칭시켜서 알맞는 링크로 보낸다. routing : forwarding시 참조할 수 있는 forwarding table을 라우팅 알고리즘이 만드는 역할을 한다. 포워딩 테이블의 양이 너무 많다보니 주소 범위로 관리가 되어 있다. 예를 들어서 0 ~ 100부터는 0번, 101 ~ 200은 1번과 같..

    [Network] 전송계층 4

    http://www.kocw.net/home/cview.do?mty=p&kemId=1169634 컴퓨터네트워크 인터넷을 동작시키는 컴퓨터네트워크 프로토폴을 학습한다. www.kocw.net Congestion Control이란? 이전에도 봤듯이, 모두가 함께 사용하는 네트워크를 혼잡하게 만들면 안된다. 즉, 요청(=전송량)을 나 혼자 살자고 네트워크에 쏟아부으면 안된다는 것이다. 이기적으로 행동해서 많은 양을 한 번에 전송하게 되면 결국 네트워크가 막히게 되고, 본인에게도 좋지 않은 결과를 가져다주게 된다. 결론적으로 전송량을 관리하는 것은 매우 중요한 요소 중 하나라는 것이다. 이에 등장하는 개념이 TCP Congestion Control, 말 그대로 TCP의 혼잡을 제어하는 역할을 한다. 즉 전송량을..