네트워크및보안 보충 ; virtual circuit network, datagram network

MINJU·2022년 4월 12일
0

네트워크

목록 보기
8/12

Network는 circuit switching networkpacket switching network로 나뉜다. packet swtiching network는 virtual circuit networkdatagram network로 나뉜다.

Connection, connection-less service

  • datagram은 network 레벨에서 connectionless service를 제공하고
  • vc는 network 레벨에서 connection 서비스를 제공한다.

-> transport 계층에서의 TCP/UDP와 비슷하기도 한데 차이점도 있다.
==== transport 계층에서는 connectionless, connection-orient implementation을 양 끝단에서 해준다.(sending TCP, receiving TCP) 그리고 process-process 서비스를 정의한다. 또한 user 입장에서 TCP,UDP 서비스 중 선택이 가능했다.
==== 근데 network계층에서는 core의 모든 라우터들과 end system의 네트워크 계층이 다 협력해서 connectionless, connection의 서비스를 구현한다. host-host delivery 서비스를 정의한다. user 입장에서는 VC 쓸것인지 Datagram 쓸 것인지 결정할 수 없다.

Virtual circuits


여기서는 데이터를 내보내기 전에 call setup을 한다.(=서킷 스위칭 처럼) 그리고 데이터를 다 주고 받은 다음에는 connection teardown을 한다.
call setup하는 과정에서 경로가 결정된다. 이는 sender측에서 나는 어떤 목적지로 VC setup을 하고 싶다고 요청 메세지를 내보내면, 네트워크는 이 메세지에 있는 목적지 주소를 보고 목적지까지 route를 한다. 그 과정에서 VC를 위한 destination까지의 경로가 결정되는 것이다. (call setup 메세지가 forwarding되는 과정에서 경로가 결정된다는 의미) 그리고 call setup이 진행되는 동안 이 VC에 대해서 할당할 ID가 결정된다. 그리고 경우에 따라서는 패킷 스위칭 네트워크지만, VC에다가 일종의 data를 할당 할 수도 있다.(= 보장된 서비스를 위해서) 이런 경우에는 VC ID와 VC에 어떤 resource를 할당했는지, 진행이 되면서 어느 정도를 사용했는지에 대한 상태 정보를 유지해야만한다.

VC implemetation

-> 여기에 resource에 대한 상태 정보도 추가될 수도 있다. (위에서 언급한대로)
-> VC를 이용해서 data를 전달할때는 헤더에 full 목적지 주소보다는 더 간단한 VC 번호를 적어서 보내준다. VC 번호는 경로를 지나가면서 link마다 변경될 수도 있다.
-> 처음부터 끝까지 동일한 VC 번호를 사용하려면 '더 긴 VC 번호'가 필요하다
--> vc 번호 비트수가 더 많다 = 더 많은 vc 번호를 unique하게 식별할 수 있다. 각 링크에는 여러 VC들이 지나는데, 처음부터 끝까지 동일한 번호를 사용하려면 그 VC 번호는 각 링크에서 unique해야한다. 이때 link에서는 여러 flow에서 vc가 지나가고 있는 중일 것이다. 훨씬 큰집합에서 unique한 값을 갖기 위해선 더 긴 VC ID를 가져야만한다.(비트수가 더 많아야한다.)
--> 각 링크에서 unique한 VC 번호 정할 때는 2개 끼리 negotiate한다.
--> 전체에 대해서 같은 VC 번호를 정할 때는 모든 link끼리 negotiate해야한다. (누구도 사용하고 있지 않은 VC 번호를 사용해야하기 때문에) === 그래서 control overhead가 커진다. == 그래서 VC 번호는 각 링크에서 switching 한다!

--> 하나의 링크가 내 링크는 ~~ 번호를 안쓰니까 이 전 link에게 이번에 오는 애는 ~~ 번호로 붙여달라한다...

VC forwarding table


네 가지의 정보를 기억해야한다. 인터페이스 1번에 12번 VC가 있을 때, 인터페이스 2번에도 12번 VC가 있을 수 있다. 근데 이 둘은 완전히 다른 것!

VC ; signaling protocols


call setup과 tear down, VC maintain을 위해서 반드시 라우터 간의 signaling을 할 수 있는 프로토콜이 필요하다.(call setup 메시지 주고받는 것, call setup message 지나갈 때 vc number negotiate하는 것이 모두 프로토콜에 의해서 진행된다.)
-> 거론된 ATM과 같은 것들은 모두 전화 회사에서 만든 packet switching network이다.
-> 인터넷에서는 vc가 사용되지 않고 있다.


이런 다음에 data flow가 진행될 수 있다.

datagram network


: call setup과정이 없다.
: trans 계층에서 segment 받으면 network 계층에서는 그대로 그 세그먼트를 네트워크로 밀어넣는다.
: 네트워크의 라우터들은 header의 host adress를 보고(VC 번호 아님) packet forwarding한다.

datagram의 forwarding 테이블


: 근데 인터넷에 엄~~청 많은 IP 주소가 있음. 각 목적지 별로 테이블의 entry를 만들고자한다면.. entry는 마찬가지로 40억개가 필요함. forwarding 테이블이 이렇게 길어지려면 forwarding 테이블 저장하려는 공간 차지도 장난 아닐 것이고 look up time도 길어질 것이다.
: 그래서 목적지 별로 만들기보다는 address-range별로 만들어준다. (ex. 경상도의 작은 마을으로 가는 데, 고속도로에서 마을 단위로 표시를 해주지 않고 러프한 정보를 준다. 그러다가 목적지에 가까울 수록 더 구체적인 정보를 제공한다.)
: local 네트워크를 인터넷에 연결해주는 라우터는 더 구체적인 정보를 알고 있어서 보내줄 수 있다는 것!
: aggregate된 address에 대한 정보를 갖고 있다.

DT vs VC

: 두 네트워크의 큰 차이점은 '엔드 시스템'
: Internet(datagram)에서는 end system에 모든 복잡도를 몰아놔서, network층에서는 기냥 전송만 하면 된다. 빠른 속도로 전송이 가능해진다. 그리고 뭐 종류도 복잡해서 network가 인터넷에서 그에 맞는 서비스를 제공해주기도 애매함.
: ATM(VC) - 전화가 보통 일반적인 end system. complex한 일은 네트워크에서 제공하고, 사용자는 최대한 일관된 서비스를 제공하도록 만든다. 그리고 guranteed service를 제공해줌!!

0개의 댓글