네트워크

CS/컴퓨터 네트워크

[컴퓨터 네트워크] 34. Network Layer (10) : Distance Vector

Distance VectorBellman-FordDistance Vector 는 벨만포드 알고리즘 기반의 라우팅 알고리즘이다. 벨만포드 알고리즘은 DP 기반의 알고리즘인데, 위와 같은 점화식을 사용한다.나(x)로부터 목적지(y)까지 가는데, 필요한 최단 경로는 나의 이웃 노드 v가 알려준 Dv(y) 값들과 내가 알고있는 v까지의 거리 Cx,v 로부터 최소값을 계산해서 얻는다는 아이디어다.(이때 기존의 Dx(y) 값은 사용하지 않는다. 링크의 비용이 증가하는 쪽으로 갱신되어 최소값도 증가했다면, 증가한 것으로 계산해야 되기 때문이다.) Link State 에서 사용했던 예제 그림에 벨만포드를 그대로 적용해보자.u에서 z로 가는 최단 경로를 찾고자 한다.  u와 인접한 v, x, w 로 부터 각각 그 노드(..

CS/컴퓨터 네트워크

[컴퓨터 네트워크] 33. Network Layer (9) : Link State

Link State링크 스테이트 방식은 말 그대로 각 라우터가 자신이 알고있는 '링크 정보' = '링크 스태이트' 를 모두 공유해서 같은 네트워크 맵을 보는 상태를 만들고, 이 맵을 input으로 다익스트라 알고리즘을 돌려서 최단 경로를 얻는 방법이다. 다익스트라 알고리즘은, 시작점이 고정되어있을 때, 그 시작점으로부터 다른 모든 목적지까지의 최단경로를 구하는 알고리즘이다.따라서 각각의 라우터는 자신을 시작점으로 해서 다익스트라를 돌리면 다른 모든 라우터까지의 최단 경로를 알 수 있다.이를 통해 포워딩 테이블을 만든다.  LS 알고리즘을 설명할 때 위와 같은 노테이션을 사용한다.Cxy는 x에서 y로 가는 비용을 말하며, 직접 연결된 링크가 없으면 무한대 값을 갖는다.D(v)는 현재 측정한 v까지 가는 최..

CS/컴퓨터 네트워크

[컴퓨터 네트워크] 30. Network Layer (6) : Generalized Forwarding

Generalized Forwarding지금까지 정리한 포워딩 방식은 IP 패킷을 받으면, 이 패킷의 목적지 IP주소를 보고, 가장 길게 매치되는 것을 포워딩 테이블에서 찾아서, 그 다음 목적지로 가기 위한 output link(port) 를 결정했었다. 이번엔 이 방법보다 조금 더 일반화된 포워딩 방법을 정리해보려고 한다.왜 output port 를 찾을 때 목적지 주소만 봐야 하는가, Source IP주소를 봤을 때도 도움이 될 만한 부분이 실제로 많다. 예를 들어 인터넷 해킹에서 공격 시발점의 source ip주소를 보고, black list에 있는 IP주소와 매칭되면 원천적으로 방화벽에서 차단시켜버리는 경우가 있다.홍대도 매일 100건 이상의 공격시도가 들어오는데, 물론 공격자들이 IP주소를 바꿔..

CS/컴퓨터 네트워크

[컴퓨터 네트워크] 29. Network Layer (5) : IPv6

IPv6(IPv5는 실험적 목적이므로 건너감!)IPv6는 나온지 20년이 넘은 꽤 오래된 개념이다.약 27년전 시점부터 IPv4의 주소가 고갈될게 분명해져서 그 전에 새로운 주소 체계를 도입하고자 등장한 것이 IPv6이였다.그런데 주소 체계를 바꾼다는 것은 꽤 큰 일이다.32bit 에서 128bit 주소 체계로 바꾼다는 것은, 일단 양립성을 포기하는 것과 같다.32bit 주소체계를 쓰면서 동시에 128bit 주소 체계를 사용하는 것이 불가능하기 때문이다. 그래서 IPv6를 설계할 때는 어차피 처음부터 만들 거 IPv4에서 마음에 안들었던 부분을 다같이 바꾸자고 생각했고, 많은 부분들이 개선되었다. (option, checksum 과 같은 필드가 삭제되었다.)따라서 헤더의 크기가 고정되었기 때문에, 프로세..

CS/컴퓨터 네트워크

[컴퓨터 네트워크] 28. Network Layer (4) : NAT

NATNetwork Address Translation, 보통 '공유기' 라는 이름으로 익숙하게 알려져있다.말 네트워크 주소를 번역 (변환) 해준다. (일종의 라우터) NAT는 다수의 디바이스로 구성된 어떤 local network(집)에서 외부 인터넷으로 나가는 유일한 통로역할을 한다.외부 인터넷의 관점에서 보면, 해당하는 local network(집)로 들어가는 유일한 통로로 NAT 밖에 보이지 않는다. 즉, 집에서 여러 인터넷 디바이스를 사용하고 싶은데, 인터넷은 하나의 회선만 사용하고 싶을 때 NAT(공유기)를 사용할 수 있다. 또한 밖에서는 하나의 IPv4 주소만 가지고 있는 것처럼 보이기 때문에 내부 네트워크를 감추는 효과도 있다. local network 에서는 다시 각각의 디바이스를 구분하..

CS/컴퓨터 네트워크

[컴퓨터 네트워크] 27. Network Layer (3) : IP

IP - Internet ProtocolIP는 인터넷에서 제일 중요한 프로토콜이다.IP가 없으면 인터넷 동작을 할 수가 없기 때문이다내가 아무리 엔드시스템에서 기가 막힌 인터넷 어플리케이션을 만들었다고 하더라도, IP가 없으면 (IP에 의존하지 않으면) 상대방 컴퓨터와 통신을 할 방법이 아예없다. 반대로, 데이터링크 계층에 새로운 기술을 개발했고, 이 기술이 이더넷보다 훨씬 훌륭하다고 생각한다고 해보자.그런데 이 기술을 이용해서 돈을 벌려면 이 기술을 사용한 장치가 인터넷에 연결이 되어야 한다.인터넷은 플랫폼이기 때문이다.따라서 IP가 없어서 대문자 I의 인터넷에 연결될 수 없다면 이 기술은 무용지물이다.IP는 여러 데이터링크 계층 기술과 인터넷이 붙을 수있도록 해주는 접착제 역할을 해준다. 따라서 IP..

에버듀
'네트워크' 태그의 글 목록