Notice
Recent Posts
Recent Comments
Link
어떻게 하면 잘 정리했다고 소문이 날까...
[네트워크 5편] - Network Layer : Control Plane 본문
네트워크 5편 Control Plane은 총 4개의 내용으로 구성됩니다.
1. Overview
2. Routing Protocol
3. Intra-AS Routing in the Internet : OSPF
4. Inter-AS Routing in the Internet: BGF
✔️ Overview
- Network-Layer Functions
- Data Plane(HW): Forwarding
- Control Plane(SW): Routing
- 2가지 Approach
- traditional per-router: 각 라우터 내에 routing algorithm 존재.
- SDN: Centralized controller에서 계산한 내용을 각각 Router의 Control Agent에 전달.
- 2가지 Approach
✔️ Routing Protocol
- Routing Protocols
- 라우터의 네트워크를 통한 source에서 destination 까지 좋은 경로를 찾는 것.
- 경로 = sequence of routers.
- Graph Abstraction of Network
- cost: 패킷 입장에서의 비용.
- routing algorithm: algorithm that find the least cost path.
- Routing Algorithm Classification
- Global vs Decentralized
- Global = all routers have complete topology link cost info.
- link-state를 알고있음.
- Decentralized = routers know physically-connected neighbors, link cost to negihbors.
- 각 노드가 네트워크 내의 다른 노드까지의 비용 추정값을 벡터 형태로 가지고 있다.
- Global = all routers have complete topology link cost info.
- Static vs Dynamic
- Static = routes change slowly over time. (종종 사람이 개입한 결과)
- Dynamic = routes change more quickly. (cost change 나 topology에 더 민감)
- Global vs Decentralized
- Link State Routing Algorithm
- 다익스트라 알고리즘
- 네트워크 topology, link cost를 모든 노드가 가지고 있다.
- 네트워크 전체에 broadcasting.
- 한 노드에서 다른 노드까지 경로를 계산한 forwarding table 작성.
- iterative 하다.
- precedessor: 전위자가 있으므로, 전위자를 보고 따라간다.
- 네트워크 topology, link cost를 모든 노드가 가지고 있다.
- Complexity
- O(N^2)의 복잡도를 가짐.
- 효율적으로 만들다 보면, O(nlogn) 까지도 가능.
- oscillation problems(ping-pong) : support link cost equals amount of carried traffic.
( 트래픽 양에 따라 경로가 자꾸 변경됨.)
- 다익스트라 알고리즘
- Distance Vector Algorithm
- Bellman Ford Equation(Dynamic Programming)
- 노드는 각 이웃노드까지의 cost를 알고 있고, 이웃 노드가 가지고 있는 타 노드까지의 cost도 알고 있다. (= 라우팅 테이블)
- 측정값이 바뀌면 바뀐 노드가 이웃된 노드의 vector 값을 업데이트 시킨다.
- iterative, distributed 하다.
- Cost Changes
- link cost down.
- node가 local link cost 변화 감지.
- 자기 자신을 update하고 연결된 이웃에게 알림.
- 이웃 노드도 확인하고 update.
- link cost up.
- node가 변화 감지.
- 이미 기존에 세팅된 최소 거리로 update되어 있기 때문에 loop를 돌려서 원래의 값보다 커질 때 까지 무한 루프.
- 해결 방법: Posioned Reverse
- 기존의 값이 무한하다고 알리기.
- link cost down.
- Bellman Ford Equation(Dynamic Programming)
- Comparison LS vs DV
- message complexity
- LS: O(nE) n- node, E - links
- DV: exchange btw neighbors, 수렴 시간에 따른 문제
- spread of convergence
- LS: O(N^2) 시간 동안 O(nE)의 메세지.
- DV: convergence time varies may have routing loop. count to infinity problem.
- Robustness: 견고성 (what happens if mal-function?)
- LS: incorrect한 cost를 가지고 있어도 각 노드들은 각자 계산한 table을 가지고 있기 때문에 propagate 되지 않음.
타 노드에 영향을 미치지 않는다. - DV: advertise incorrect path to the other nodes. - propagate 가능.
- LS: incorrect한 cost를 가지고 있어도 각 노드들은 각자 계산한 table을 가지고 있기 때문에 propagate 되지 않음.
- message complexity
✔️ Intra-AS routing Protocol : OSPF(Open Shortest Path First)
- 실제 사용되는 프로토콜.
- router에는 모든 주소가 들어있는 게 아닌 longest prefix matching(subnet)으로 나뉘어 routing table 작성.
- Autonomous System: AS
- 단순하게는 ISP 라고 생각하면 됨.
- 라우터들의 모임.
- Intra-AS routing
- ISP 내에서의 네트워킹.
- AS 내의 모든 라우터들은 같은 intra-domain routing을 사용해야함.
- gateway router: AS 밖으로 나가는 AS의 edge. 다른 AS와 연결됨.
- Inter-AS routing
- ISP 간 혹은 AS 간의 라우팅.
- Gateway Router는 Intra-AS Routing Protocol 뿐만 아니라 Inter-AS Routing Protocol도 진행.
- Interconnected ASes
- Forwarding Table은 intra-AS 알고리즘과 inter-AS 알고리즘으로 결정.
- intra-AS routing은 AS 내의 도착지로 가기 위한 결정.
- inter-AS routing은 AS 바깥의 도착지로 가기위한 결정.
- Forwarding Table은 intra-AS 알고리즘과 inter-AS 알고리즘으로 결정.
- Inter AS tasks
- A의 AS에서 B의 AS로 나가려는 패킷을 보낼 때.
- 1. 어떤 gateway 라우터가 AS B로 내보내는 지 알아내기.
- 2. Reachability Info(Subnet, 경로 info)를 AS A에 다 알리기.
- A의 AS에서 B의 AS로 나가려는 패킷을 보낼 때.
- Intra AS Routing
- OSPF : Open Shortest Path First
- 어떤 프로토콜을 사용할 지는 ISP가 결정함.
- OSPF: Open Shortest Path FIrst
- open, free 프로토콜.
- link-state algorithm 활용. (=다익스트라 알고리즘)
- topology map이 각 노드에 저장되어 있음.
- AS 내의 모든 라우터들에게 OSPF의 Link state를 알림(=broadcating)
- 이 내용은 OSPF 메세지로 전달.
- OSPF가 제공하는 고급 기능.
- security: 인증된 OSPF 메세지
- multiple same cost paths allowed
- Hierarchical OSPF 제공
- 2 Level hierarchy: local area / backbone
- link state advertisement in area
- each nodes has detailed area topology.
- 다른 area의 topology는 모르지만, 가야하는 방향은 알고 있다.
✔️ Inter-AS routing Protocol : BGP(Border Gateway Protocol)
- BGP = Border Gateway Protocol
- Inter-domain routing protocol
- eBGP(=external BGP) : AS로부터 reachability info를 obtain.
- IBGP(=internal BGP): AS 내의 모든 router에게 reachability info를 propagate.
- subnet이 internet 나머지 부분에 reachability info를 advertise 하기도 함.
- gateway router는 eBGP, iBGP를 모두 돌린다.
- BGP session
- 2개의 BGP 라우터는 서로 간의 semi-permanent 한 TCP Connection을 열어 BGP 메세지를 주고 받는다.
- BGP is a path vector protocol.
- ISP에 라우터 하나가 추가되었다면, reachability info를 다른 AS에게 전달.
- inter AS routing은 policy의 영향을 많이 받음.
'CS 지식 > NTW(네트워크)' 카테고리의 다른 글
[네트워크 7편] Wireless and Mobile Network (0) | 2023.08.18 |
---|---|
[네트워크 6편] Link Layer (0) | 2023.07.26 |
[네트워크 4편] Network Layer : Data Plane (0) | 2023.04.17 |
[네트워크 3-2편] Transport Layer - TCP (0) | 2023.03.24 |
[네트워크 3-1편] Transport Layer (0) | 2023.03.24 |