-
11주차: NET) AS SDN교내 강의/컴퓨터 네트워크 2024. 5. 22. 18:41
1. Making Routing Scalable
scalable은 확장의 가능성을 말한다. scalability란 확장의 용이성을 판단하는 지표이다.
실제로 몇 십 억 개의 destination이 존재하고 이를 전부 Routing Table에 집어 넣을 수는 없다.
따라서 라우터는 계층구조로 이루워져 있고, 각 계층마다 관리규모를 작게 유지한다.
나눠진 하나의 네트워크 계층을 autonomous systems(AS)라고 한다.
*지금까지 배운 내용은 AS내에서의 라우터를 말한다.Intra-AS:
*같은 AS 내부에서 이루워지는 라우팅
AS에 속한 모든 라우터는 같은 Intra-AS 프로토콜을 사용해야 한다.
하나의 AS의 edge에 있는 다른 AS와 연결된 라우터를 gateway라우터(border router) 라고 한다.
OSPF(Link State), RIP(Distance Vector)알고리즘을 주로 사용
Inter-AS:
*AS간의 라우팅
gateway 라우터는 inter-AS 라우팅과 더불어, 다른 AS의 gateway 라우터와 inter-AS 라우팅을 수행한다.
BGP(Path Vector)알고리즘을 주로 사용
라우터의 라우팅 테이블을 만들 때는 intra-AS, inter-AS 라우팅 알고리즘을 모두 사용하여 만든다.Intra-AS Routing
*IGP(Interior gateway protocols)라고도 한다.
RIP(Routing Information Protocol), OSPF(Open Shortest Path First), IGRP(Interior Gateway Routing Protocol) 등이 있다.
OSPF(Open Shortest Path First):
public하게 open되어 있다,
link state algorithm을 사용한다.
동작 방식:
1. 각각의 라우터는 AS 내부의 모든 다른 라우터들에게 link state를 flood 한다.
2. 각각의 라우터는 full topology를 가지고 있으며 , 다익스트라 알고리즘을 통해 다른 모든 라우터들까지의 최적 경로를 탐색한다.Hierarchical OSPF:
두개의 계층:
Local, Backbone
area border router:
Local과 Backbone을 잇는 라우터 (Local Area의 대표로 backbone에 속함)
backbone router:
OSPF routing을 backbone영역에 한정하여 돌림
boundary router:
다른 AS와 연결하는 라우터Inter-AS Routing(BGP(Border Gateway Protocol)):
inter-AS 라우팅에는 BGP(Border Gateway Protocol)이 사용된다.
eBGP:
이웃 AS들로부터 reachability information 을 받아온다(AS의 위치, 갈 수 있는 destination의 종류와 경로 정보 등)
*reachability information은 두 라우터 간의 물리적 연결이 아니다. 다른 라우터를 거친 연결도 포함된다.
iBGP:
reachability information을 AS 내부의 모든 라우터들에게 전파한다. (propagate)
BGP:
gateway 라우터들은 서로 BGP 메시지를 교환한다.
이 메시지는 특정 destination으로 갈 수 있는 경로 정보를 담고 있다.
AS-PATH:
목적지에 도달하기 위해 거쳐야 하는 AS들.
NEXT-HOP:
다음 hop을 어느 라우터로 향해야 하는지에 대한 정보.
정보를 받은 gateway 라우터들은 내부 정책을 통해 이 경로를 받아들일지(accept) 혹은 거부할지(decline)를 선택한다.
정책을 따르기 때문에 BGP를 policy-based routing 을 한다고 한다.
아래는 예시이다.더보기목적지인 w에 도달하려면 A를 거쳐야함을 eBGP로 B, C에게 알린다. (A, w)
B는 정책에 따라 B, A, w를 C에게 보낼 수도 있고 안 보낼 수도 있다.
BGP Message:
TCP로 한다. (permanent하게 연결, 179번 포트)
- OPEN : 다른 BGP 피어와 TCP 연결을 시도한다.
- UPDATE : 새로운 경로 정보를 받아 이를 통해 정보를 갱신한다.
- KEEPALIVE : 연결을 수립한 상대방이 아직 살아 있는지 (연결이 유효한지), 또는 OPEN 메시지에 대한 ACK 로써 사용된다.
- NOTIFICATION : 에러가 발생하였음을 알리거나 연결을 끊고자 할 때 사용된다.
Hot Potato Routing:
AS2는 현재 AS3으로 가는 두 가지 경로를 알고 있다. 2c -> 3a 경로가 있고, 2a -> 1c -> 3a 경로가 있다.
2d 라우터는 intra-AS cost가 가장 작은 경로를 사용한다.
2d에서 2a로 가는 비용은 201이고 2c로 가는 경로는 263이다.
이때 inter-AS cost는 고려하지 않는다.BGP route selection:
하나의 라우터는 특정 목적지로 향하는 길을 n개 알고 있다. 그중 하나를 고르는 기준은 다음과 같다.
1. policy
2. shortest AS-PATH
3. 가장 싼 next-hop(hot potato routing)
4. 기타 기준Intra AS routing, Inter AS routing을 다르게 사용하는 이유?
policy:
inter-AS routing: admin은 트래픽이 어떻게 라우팅되고 누가 net을 사용하는지 컨트롤 해야한다.
intra-AS routing: single admin이기 때문에 가 필요하지 않다.
scale:
계층 구조는 라우팅 테이블의 사이즈를 줄이고 update traffic을 감소 시킬 수 있다.
performance:
inter-AS routing: policy>performance
intra-AS routing: performance에만 집중할 수 있음
SDN Overview:
Q: 만약 network operator가 u~z로 가는 트래픽을 경로를 임의로 수정하고 싶다면?
A: Link Weight를 수정하여 routing algorithm을 그 경로로 유도해야한다.
Q: 만약 트래픽에 따라 다른 경로를 사용하고 싶다면?
A: LS, DV 라우팅 알고리즘으론 불가능하다.
기존방식:
distributed, Per-router approach:
각각의 라우터는 Control Plane과 Data Plane를 가지고 있고 라우팅 알고리즘의 요소가 각각의 라우터에 전부 들어가 있다.
(혼잡도 등)
라우팅 알고리즘을 통해 라우팅 테이블을 구성하여 forwarding을 수행한다.
*시간이 지나 데이터 전송 기술이 발전함에 따라 control plane이 굉장히 복잡해지게 되었다.
*장비의 성능이 향상됨에 따라 가격 또한 같이 상승하게 되었다. (SDN의 등장)
현재 방식:
Logically centralized control plane:
하나의 control plane이 모든 Local control agents와 연결되어 있다.
그 control plane에 라우팅 알고리즘, OS 등 필요한 정보를 적재한다.
OpenFlow protocol:
data plane과 control plane 사이를 이어주는 인터페이스. (TCP 메시지 교환)
controller to switch, switch to controller 두개의 클래스가 있다.
controller to switch Messages:- feature : switch의 상태에 대해 질의
- configure : switch의 파라미터 확인 또는 설정
- modify-state : flow entry를 추가하거나 삭제 또는 수정
- packet-out : 스위치의 특정한 포트에서 패킷을 내보낼 때 사용
switch to controller Messages:
- packet-in : 패킷을 컨트롤러로 보낼 때 사용
- flow-removed : table entry가 삭제되었음을 알림
- port status : 포트의 상태 변화를 알림
'교내 강의 > 컴퓨터 네트워크' 카테고리의 다른 글
12주차: Link) MAP (0) 2024.05.30 12주차: Link) EDC(Error Dectection, Correction) (0) 2024.05.25 11주차: Net) Routing algorithm (link state, distance vector) (0) 2024.05.20 10주차: Net) IPv6, ICMP, Graph Notation (0) 2024.05.19 10주차: Net) Dhcp, NAT (0) 2024.05.19