Notice
Recent Posts
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
Tags
- 크레인 인형뽑기
- 이직
- 다트&플러터
- TODO
- 플러터 책
- Null Safety
- 다트 책
- 나도 코딩 잘할래!!!!!!!!!!!
- flutter-layout
- flutter_secure_storage
- 코딩 잘하고 싶어!!
- 주변에는 능력자 뿐이야!!
- 프로그래머스
- 쒸익!!!!!!!!!
- dfs
- 주니어개발자
- 포?코DX
- bloc
- flutter secure storage
- 댓글이 하나도 없오...ㅠㅠ
- 플러터
- 편하다요
- network
- 누가 보기는 하는걸까...ㅠㅠ
- Flutter2.8
- hero animation
- flutter
- open weather api
- flutter_local_notification
- FutureBuilder
Archives
- Today
- Total
오늘하루도 우힣ㅎ
CH5. Network Layer : The Control Plane 본문
2. Routing Protocol
- Static Routing
- 라우팅 경로가 한번 정해지게 되면 계속 그것을 사용하는 방식이다.
- 네트워크 접속성은 네트워크의 상태와 존재에 따라 독립적이다.
- Dynamic Routing
- 네트워크 상태에 따라 routing이 바뀌게 된다.
- 라우터간에 계속해서 정보교환이 일어나고 그를 통해 최적의 경로를 알아낸다.
- routing ocilation 같은 문제점이 일어날수가 있다.
- Global vs Decentralized Information
- Global information
- 모든 라우터들은 각각 완벽한 topology,link cost 정보를 가지고 있다.
- "link state" algoritm
- Decentralized information
- router들은 자기와 직접적으로 연결된 이웃까지의 cost를 알고있다.
- 모든 router와의 정보교환이 아닌 자신의 이웃과의 정보 교환이 이루어진다.
- "distance vector" algorithm
- Global information
- A Link-State Routing Algorithm
- Dijkstra's algorithm
- Forward search algorithm : src부터 시작해서 dest까지의 best path를 알아내는 방식이다.
- OSPF를 사용한다. : AS내의 라우터간에 정보 교환하는 라우팅 프로토콜을 의미한다.
- No convergence problem (convergence : 어떤 라우터에서 정보의 변화가 일어났을때 다른 모든 라우터까지 해당 정보가 퍼지는데 걸리는 정도를 의미한다.)
- 각각의 라우터들은 자신과 이웃과의 거리를 모든 다른 라우터들에게 알려준다.
- 각각의 라우터들은 완전한 topology를 알고있고 각 목적지에 대한 최선의 경로를 계산하게 된다.
- time complexity가 O(n^2)이다. -> 각각의 노드에서 최소 경로를 계산 하기때문이다.
- heap을 사용하게 되면 O(nlogn)이 되게 된다.
- 예시
- 표로는 아래와 같이 표현을 할수가 있다.
- Distance Vector Routing Algorithm
- call as Bellman-Ford
- Backward search algorithm이다.(목적지에서 부터 시작하여 최적의 경로를 찾는다.)
- 각각의 라우터들은 자신의 이웃이 어딨는지와 얼마나 걸리는지에 대한 정보를 가지고 있다.
- 모든 라우터에게 정보를 알리지 않고 이웃들에게만 알리게 된다.
- 거리 계산 방법
- 각각의 노드가 주기적으로 자신의 distance vector를 측정하여 이웃에게 보낸다.
- 각각의 노드는 주변 노드와의 상관관계를 모두 계산하여 그중 최솟값을 취하는 방식이다.
- Dx(y)<-min{c(x,v)+Dv(y)} for each node y
- Dx(y)는 x에서 y까지 가는데 최소의 코스트를 의미한다.
- Distace Vector Count-to-Infinity Problem
- slow convergence problem : 네트워크에 어떤 변화가 일어난후, 전체 라우터가 그 네트워크에 대하여 동일한 정보를 공유하는데 까지 오랜 시간이 걸리게 되는 문제가 있다.
- Count-to-Infinty의 해결법
- B가 C에서 A로 가는 경로가 자신을 통해 가는것임을 인지하지 못하기 때문에 일어나는 문제로 그것을 알려줄수 있도록 하면 해결이 될수 있다.
- 특정 distance(cost)가 넘게 되면 못가는 것으로 판단하게 한다.
- 변화가 생기게 되면 바로바로 알려줄수 있도록 한다.
- 나쁜 소식(router 하나가 끊기는 일)이 발생할 경우 전체가 이것을 알때까지 기다린다.
- 전달 방향을 알려주어 자신을 통해 전달된다는 것을 알려준다.
- Split horizom with poisoned reverse
- 라우터가 이웃 라우터 N에게 N이 그 목적지로 가는 다음 홉이라면 dstination 까지의 거리가 무한대라고 알려준다.
- 자기 자신에게 다시 데이터가 돌아 오는것을 막기 위함이다.
- 반대 방향으로 가는 것을 막기.
3. Intra-AS routing in the Internet : OSPF
- Internet approach to scalable routing
- AS(Autonomous systems) : domain이라고 알려져 있는 것으로 router들을 여러개 묶은 하나의 지역을 의미한다.
- 계층적 구조로 접근하기
- : Intra-Domain => 도메인(AS) 내의 router간에 routing을 하기 위한 알고리즘
- : Inter-Domain => 도메인(AS) 간에 routing 하기 위한 알고리즘
- Intra-domain Routing
- 한 도메인 내에 있는 router들은 모두 같은 routing protocol을 사용하여야 한다.
- IGP(Interior Gateway Protocol)로 잘 알려져있다.
- gateway router : AS의 말단에서 다른 AS와 연결되어 있는 router를 의미한다.
- Intra-AS의 주요 routing protocol
약어 | 풀네임 |
---|---|
RIP | Routing information protocol |
OSPF | Open Shortest Path First : Link State 차원(Dijkstra) |
EIGRP | Enhanced Interior Gateway Routing Protocol |
- Inter-domain Routing
- 다른 AS와 정보전달을 하는 router
- EGP(Exterior Gateway Protocols)로 잘 알려져있다.
- BGP : Border Gateway Protocol (Intra Domain에서 받은 내용을 다른 AS로 뿌려주기 위한 protocol)
- Interconneted AS's
- AS1은 중간에서 AS2와 AS3를 통해 목적지 까지 갈수 있음을 배우게 된다.
- AS1 내의 모든 router들은 AS2~AS3 까지 가는 정보를 forwarding table에 저장하게 된다.
- forwarding talble은 intra-AS와 inter-AS라우팅 알고리즘을 통해 결정되어 진다.
- Intra-AS 집합들은 내부 라우터 간의 forwarding entry들을 알고 있다.
- Inter-AS와 Intra-AS은 외부 라우터까지 가는 방법에 대한 entry를 가지고 있다
4. Intra-Domain Protocol
- RIP(Routing Inforamtion Protocol)
- Intra-domain 의 프로토콜중 가장 유명한 것이다.
- Interior Gateway Protocol
- Distance Vector Routing Algorithm(convergence problem존재)
- hops 에 대한 정보를 가지고 있게 되는데 이는 최대 15까지 늘어날수 있다.(그 후는 무한으로 취급하여 갈수 없음)
- 주기적은 정보교환을 통해 update가 일어난다.
- split horizon with poisoned reverse => 이 둘은 convergence problem의 해결을 위해 도입
- VLSM을 지원하여 준다.(각 서브넷 마다 가변길이의 서브넷 마스크를 지원하는 것 : class less)
- Authentication 을 지원하여 준다.=> v2에서만 지원을 한다.
- OSPF(Open Shortest Path First)
- Intra-Domain의 프토토콜중 하나이다.
- Link State Routing Protocol(convergence problem 이 존재 하지 않는다.)
- Flooding을 통해 동일한 AS내에 있는 router들에게 정보를 전달하게 된다.(계속해서 flooding이 되는것을 막기 위해 area라는 개념을 도입하였다.)
- Authentication을 지원한다.(보안에 신경을 쓸수가 있다.)
- 부하를 줄이기 위해 해당 router서 가는 경로가 a,b 두가지 있을 경우 한번은 a로 또다른 한번은 b로 보낸다.(load balancing, a,b의 홉은 동일한 경우여야 한다.)
- 내부서 두개의 계층 구조로 나누어 지게 된다.(Area, routing을 좀더 효율적으로 관리가 가능하다.)
- OSPF는 Multicast를 지원하여 준다.
- Hierarchical OSPF
- 두가지 레벨의 계층 구조를 가지고 있게 된다 : local area, backbone
- 각각의 지역 내에서만 정보를 주고 받을수가 있게된다.
- 각각의 라우터들은 자신이 해당한 지역 토폴로지를 알고있고 다른 지역으로 가는 것의 경우 shortest path만 알 뿐이다.
- ABR(Area Border Routers) : 해당 Area의 정보를 요약해 그 정보를 다른 Area의 router에게 알려주는 역할을 하게 된다.
- ASBR(AS Boundary Router) : 다른 AS와 연결된 router를 의미한다.
- 두가지 레벨의 계층 구조를 가지고 있게 된다 : local area, backbone
4. Inter-AS routing : BGP
- BGP(Boder Gateway Protocol)
- 알고리즘을 통해 최선의 경로를 찾는 것이 아닌 policy를 가장 우선으로 하는 protocol이다.
- 각각의 AS마다 모두 다른 algorithm을 사용할수 있기 때문에 algorithm으로 통일하는것은 어렵다.
- Path-vector(Distance vector에서 convergence problem을 해결한것)을 사용하게 된다.
- 비교적 간단한 프로토콜이지만 구성이 복잡하다.
- eBGP : AS사이에서 정보를 교환 하는 것을 의미한다. (자신의 AS에서 다른 AS로 도달이 가능한가)
- iBGP : AS 내부에서 돌아가는 것으로 외부로 부터 갈수 있는 정보를 받아서 내부에 있는 router에 알려줄때 사용이 된다.
- BGP Basics : Path advertisement
- AS 간에 정보 전달을 하기 위해서는 eBGP를 사용한다.(빨간색 점선)
- AS내의 router에게 정보를 전달하기 위해서는 iBGP를 사용한다.(파란색 점선)
- Path attributes and BGP routes
- attributes : AS-PATH(자신이 dest까지 가기 위해서 거쳐야 하는 AS list), NEXT-HOP(AS에서 다른 AS로 넘어갈때 거쳐야 하는 router)가 존재한다.
- 아래와 같은 경우 AS1의 1c 라우터는 AS3에서 알려주는 X,3a,AS3의 경로와, AS2에서 알려주는 X,2a,AS2,AS3의경로를 배우게 되는데 이중 selection rule(policy)를 통해 하나의 경로를 선택하고 iBGP를 통해 내부의 router에게 해당 경로를 알려준다.
- BGP : Route Selection
- 하나의 라우터가 하나의 목적지에 대해 두가지 이상의 path를 배우게 될때 어떤 것을 고를지에 대한 것이다.
- local preference value attribute : policy decision
- The shortest AS-PATH : AS 를 최소한으로 거치는것을 선택한다.
- The closest NEXT-HOP router : hot potato routing (자기의 AS에서 가장 작은 cost로 보내게 된다, 전체적인 cost가 가장 작은 것이아닌 일단 자기를 기준으로 가장 짧은 곳으로)
- Additional criteria
- 하나의 라우터가 하나의 목적지에 대해 두가지 이상의 path를 배우게 될때 어떤 것을 고를지에 대한 것이다.
- Hot Potato Routing(가장 가까운 곳으로 보내는 방식이다.)
'네트워크 > 강의정리' 카테고리의 다른 글
CH6. Link Layer and Lans(2) (0) | 2020.02.02 |
---|---|
CH6. Link Layer and LANs (0) | 2020.01.20 |
CH4. Network Layer(2) (0) | 2020.01.11 |
CH4. Network Layer(1) (0) | 2020.01.08 |
CH3. Transport Layer(4) (0) | 2020.01.05 |
Comments