▶ Router
- 라우터는 들어오는 패킷들의 목적지ip를 보고 어디로 보낼지 결정 하여(적절한 포트) 전송한다.
- 라우터는 왼쪽 PC에서 들어오는 패킷의 ip header를 열어 목적지 ip를 확인 한 후 ip에 해당하는 포트로 전송하고 해당 포트에서 오른쪽 PC로 패킷을 전송한다. 이때, 목적지 ip에 해당하는 포트를 mapping 시켜 놓은 것을 Routing Table(라우팅 테이블)이라고 한다.
- 좀 더 정확히 살펴보면 두 대의 PC는 Network가 다르다. 따라서 전송하려고 하는 PC에서는 자신의 Default Gateway의 MAC address를 알아내기 위해 ARP를 이용하여 MAC address를 알아낸다. 그 후, 패킷을 전송하는데 이 때, MAC은 ARP로 알아낸 Default Gateway의 MAC address를 입력하고 목적지 ip는 전송받는 PC의 ip를 입력한다. 그럼 패킷은 라우터로 전송이 되고 라우터에서는 전송 받은 패킷의 ip header를 보고 목적지 ip를 확인 한 후, 해당 포트로 전송을 하고 해당 포트에서 ARP를 이용하여 목적지 ip에 대한 MAC address를 알아 낸 후 패킷을 전송 하게 된다.
▶ Routing
- Routing 이란 라우터 목적지 ip에 해당하는 포트를 mapping 시키는 것을 말한다. mapping된 table을 Routing Table이라고 말한다.
※ Routing Table을 만드는 방법에는 2가지 방법이 있다.
① Static Routing : Static Routing은 정적인 방법으로 사용자가 명령어로 목적지 ip에 대한 포트를 mapping 시켜 Table을 만드는 것을 말한다.
② Dynamic Routing
: Dynamic Routing은 Static Routing과 달리 주변 라우터들에게 자신의 Routing Table의 정보를 전송하고 그 정보에 따라 Routing Table을 만드는 것을 Dynamic Routing이라고 말한다.
※ Interior and Exterior Routing
- Interior Routing은 Network Group 내부에서 동작하는 Routing을 말한다.
- Exterior Routing은 Network Group 외부에서 동작하는 Routing을 말한다.
→ 내부에서 동작하는 IGP는 자신의 Routing Table의 정보를 자세히 전송하는 방면 외부에서 동작하는 EGP는 자신의 Routing Table의 정보를 요약하여 전송한다. 그 이유는 내부에서 동작하는 IGP는 해당 Network정보를 전송하면 되는 방면, 외부에서 동작하는 EGP는 Network Group 정보를 전송하기 때문이다. AS는 Network Group의 번호로 겹치지 않는 번호이며 할당받아야하는 번호이다.
▶ Routing Protocols
- Routing Protocol은 앞서 말한 내부에서 동작하는 IGP의 종류는 많은 반면 외부에서 동작하는 EGP의 종류는 하나 인 것을 알 수 있다.
- 여기서 국제 표준이 된 Protocol은 RIP(소규모 네트워크에 사용), OSPF, IS-IS, BGP 이며, IGRP와 EIGRP는 Cisco가 만든 Protocol이다.
▶ RIP
- 1번은 각 Router가 가지고 있는 Routing Table이 초기화가 되어 각 Router에 속해있는 Network에 대한 정보만 Routing Table로 가지고 있는 상황이다. - 2번은 Router들이 자신에게 인접한 다른 Router에게 자신의 Routing Table정보를 전송한다. 수신한 Router는 전송받은 Routing Table정보를 자신의 Routing Table과 비교를 하여 좀 더 나은 정보로 갱신을 하거나 없는 정보는 추가를 한다. - 3번은 전송받은 Routing Table과 자신의 Routing Table의 비교를 나타낸 것인데 Network와 해당 Network에 대한 Hop을 비교하여 자신의 Routing Table을 갱신한다. - 4번은 최종적으로 만들어진 Routing Table이다. 1번, 2번, 3번 과정을 시간이 흐를수록 되풀이 하여 모든 Router들은 모든 Network에 대한 Routing정보를 가지게 될 것이다. → 1번과 같이 정보를 전송할 때 사용하는 패킷을 RIP Packet이라고 말하며 정보를 전송하는 주기는 약 25~35초의 시간을 가진다. ※ RIP의 Routing Problem
- 위 그림은 Router와 연결된 Network가 Down되었다가 정상작동 할 대 제대로 작동하는 그림을 나타 낸 것이다. Down이 되어있던 Network에 대한 정보를 각 Router는 연결을 할 수 없다는 것을 Routing Table에 저장하고 있는데 Down된 Network가 정상 작동 하여 해당 Network가 연결되어 있는 Router가 감지하면 Routing Table을 갱신하게 되고 갱신 된 Routing Table의 정보를 인접한 Router에게 알려 주며 모든 Router들이 가지고 있는 Routing Table이 갱신된다.
- 위 그림은 연결되어 있던 Network가 갑자기 Down되었을 때 정상적으로 작동 안하는 그림을 나타낸 것이다. Network가 갑자기 Down이 되면 해당 Network가 연결되어 잇는 Router는 이를 감지하고 자신의 Routing Table을 갱신한다. 이때 갱신을 하고 자신의 Routing Table에 대한 정보를 전송하기 전에 인접한 Router에게서 Routing Table정보를 받을 경우 Down이 된 Network에 대한 정보가 속해 있어 비교를 하여 받은 정보로 Routing Table을 갱신한다. 그 후 Network가 연결되어 있는 Router가 인접 Router에게 Routing Table 정보를 전송하면 인접 Router는 Network가 문제가 발생하여 hop이 늘었다고 착각을 하고 자신의 Routing Table을 갱신한다. 이같이 Network가 속한 Router와 그 인접 Router간에 Down된 Network에 대하여 착각을 하고 Routing Table갱신이 오류가 발생한다. 만약 어떤 Network에서 Down된 Network로 패킷을 전송하면 오류가 발생한 Router간에서 패킷이 왔다 갔다 하게 된다.
- RIP에서는 Network에 오류가 발생하여 전송할 수 없다는 것을 나타내기 위해 Hop을 무한대로 나타낸다.
※ 위 오류를 정정하기 위한 방법
① Triggered update 방법
- Network가 Down이 되면 Routing Table을 전송하는 시간만큼 기다리지 않고 그 즉시 Down되었다고 인접 라우터들에게 알려주는 방법이다.
② Split Horizon 방식
- Split Horizon 방식은 인접 Router에게 Routing Table을 전송할 때 인접 Router가 모를 것 같은 정보만 전송하는 방식이다. 이렇게 하기 위해서 각 Router는 Routing Table을 전송하기 전 어떠한 정보를 전송할지 판별 하여야 한다.
③ Poison Reverse 방법
- Split Horizon과 반대로 모든 정보를 전송 하지만 인접한 Router가 모를 것 같은 정보는 정상적으로 보내고 그렇지 않은 정보는 Hop을 으로 하여 전송한다.(Message는 커지지만 각 Router들이 어떠한 정보를 가지고 있는지는 알 수 있다.)
④ Route Poisoning 방법
- 일반적인 RIP방식처럼 동작을 하지만, 오류가 난 Network에 대하여 새로운 Routing Table을 갱신한 후 인접한 Router에게 알리기 전에 수신된 Routing Table에 대한 정보로 다시 Routing Table을 갱신하지 않고 Routing Table을 전송할 때 까지 기다린다.
⑤ Hold-down timer 방법
- 오류가 난 Network에 대하여 새로운 Routing Table을 갱신한 후 Timer를 구동한다. 인접한 Router에게서 Routing Table에 대한 정보가 오면 그 Routing Table을 보고 오류가 난 Network에 접속하기 위한 Hop이 갱신 전의 Hop보다 작으면 받은 Routing Table로 갱신을 하지만 Hop이 같거나 크면 갱신하지 않는다.
- 위 그림과 같이 1번 Router에 저장되어 있는 Routing Table에는 N2 Network에 대해서 접속하기 위해선 2번 Router로 보내야 한다고 저장되어 있어 1번 Router는 2번 라우터에게 패킷을 전송하였지만 1번과 2번 사이의 전송속도는 1Mbps밖에 되지 않아 사실상 느리게 전송이 된다. 하지만 3번을 통하여 2번에게 전송이 된 후 N2 Network에 접속하면 100Mbps로 전송속도가 빠르다. 따라서 사실상 바로 2번을 통해 접속하는 것이 아니라 3번을 통해 2번에게 접속을 하여야 더욱 빨리 접속을 할수 있다. 이렇게 Hop만 보고 Routing Table을 새울 때 발생하는 문제점 이다.
'IT > 통신프로토콜 실습&연습문제' 카테고리의 다른 글
통신프로토콜(1) (0) | 2017.02.13 |
---|---|
통신프로토콜 웹서버와HTTP 이론및 연습문제(2) (0) | 2016.12.26 |
통신프로토콜 웹서버와 HTTP(1) (0) | 2016.12.22 |
통신프로토콜 Telnet 과 ftp 이론 및 연습문제(2) (0) | 2016.12.22 |
통신프로토콜 Telnet 과 ftp(1) (0) | 2016.12.22 |