2019년 5월 4일 토요일

[프로젝트]node red 시작하기


라즈베리 파이 (현재 스트레치 버전)를 설치 하면 기본적으로 node-red가 설치 되어있습니다.


이 상태로도 node-red를 실행하여도 무관하지만, node-red의 강력한 기능인 node-red-dashboard를 사용하기 위해서 npm을 설치 해주어야합니다.

sudo apt-get install npm




node-red-start로 node-red를 시작해 줍니다.


브라우져에서 http://<파이 IP>:1880으로 접속하게 되면 다음과 같은 화면이 나타납니다. 


위에서 언급했습니다만 node-red를 사용하는 이유는 좌측에 보이는 아이콘, 팔레트라고 하는 기능을 사용하기 위해서 라고 했습니다. 우리가 사용하고 하는 dashboard를 추가 해봅시다.

cd .node-red
sudo npm install node-red-dashboard


설치 후 
node-red-stop 명령어로 node-red를 잠시 꺼줍니다.
다시 node-red-start 하여 실행을 시키면 


다음과 같이 dashboard가 추가 됨을 볼수 있습니다.



[프로젝트]MQTT 설치 및 메세지 받아보기

MQTT는 통신 프로토콜의 일종으로 경량화된 메시지를 주고 받는 통신 규칙이다.
경량화된 메시지를 주고 받는 점에서 최근 트렌드인 IOT에 적합하다.

- 라즈베리 파이에 설치 해보자.

cd~
wget http://repo.mosquitto.org/debian/mosquitto-repo.gpg.key
sudo apt-key add mosquitto-repo.gpg.key

위 명령어를 입력하여 mosquitto 서명키를 가져오자


cd /etc/apt/source.list.d/
 2018-04-18일 이후로 라즈비안을 다운로드후 설치하신 분은 아래 명령어를 입력해야 합니다. sudo wget http://repo.mosquitto.org/debian/mosquitto-stretch.list

위 명령어를 입력하여 mosquitto 저장소 패키지를 등록합니다. 여기서 주의 해야할 사항은

파이 설치 버전과 패키지 버전과 일치 해야합니다. (모르겠다면 파이 os 설치 파일을 확인해주세요)



이제 Mosquitto를 설치 합니다.

sudo apt-get update
 sudo apt-cache search mosquitto
sudo apt-get install mosquitto mosquitto-clients



sudo /etc/init.d/mosquitto start
mosquitto_sub -d -t hello/world


다음과 같이 실행 시켜줍니다.

파이의 터미널 창에서 
mosquitto_pub -d -t hello/world -m "Hi!"
명령어를 입력합니다.




다음과 같이 "Hi!"라는 메세지를 받을 수 있습니다.



[ERROR] Mac에서 ssh 접속시 오류



맥에서 라즈베리파이에 터미널로 접속할 시 "remote host identification has changed"라는 오류가

발생하였다.

이때 ssh-keygen -R<접속할 ip> 명령어를 입력하면 호스트가 업데이트 되고, 파이에 ssh로 접속

할 수 있다.

2019년 4월 23일 화요일

[시험] 네트워크 (6)

하위 계층의 이해 (2)

오류제어, 흐름제어의 원리와 동작 방식을 이해한다.
통신 프로토콜에서 윈도우의 개념과 동작 방식을 이해한다.

  • 프레임
긍정 응답 프레임 : ACK 프레임
전송 데이터가 올바르게 도착했음을 알리는 용도

부정 응답 프레임 : NAK프레임
전송 데이터가 깨져서 도착했음을 알리는 용도
송신단에서 NAK 프레임을 회신 받으면 보내고자 하는 데이터를 재전송하여 오류를 복구한다.

정보 프레임: I 프레임
상위계층이 전송을 요구한 데이터를 송신하는 용도
순서번호, 송수신 호스트 정보등이 포함됨.

  • 프로토콜 기법
- ENQ/ACK 기법
송신단에서 ENQ 프레임을 전송하여 연결의 초기화를 진행 후 데이터를 쭉 전송하고 수신단에서는 데이터 전송이 제대로 되면 ACK신호로 회신한다. 데이터 전송을 마치면 송신단에서 EOT 프레임을 보내어 통신을 종료한다. 

  • 폴링기법
하나의 스테이션을 주 스테이션(여기는 일종의 서버)으로 지정하고 나머지는 종속 스테이션(이쪽이 단말기)으로 구성됨. 

- select 모드에서는 일종의 서버가 되는 메인 스테이션에서 데이터를 전송하고자 할때 사용하는 모드. 즉, 특정한 종속 스테이션으로 데이터를 보낼때 사용하는 모드 
- poll 모드는 메인 스테이션이 다수의 종속 스테이션에게 보낼 데이터가 있는지 여부를 확인 하여 데이터 전송이 이루어지도록 하는 모드이다.
메인에서 폴 프레임을 종속, 단말기로 보내는데 전송할 데이터가 없으면 NAK를 회신 받고, 전송할 데이터가 있으면 ACK를 보낸다. 

  • 오류제어가 없는 프로토콜 - 흐름제어 사용
송신단에서 수신단으로만 데이터를 전송하고, 전송오류가 없는 물리매체를 사용한다고 가정했을때.

정지-대기 프로토콜1
- 수신 버퍼의 갯수가 유한하므로 흐름제어가 필요하다. 즉, 송신단의 전송속도를 제어한다.
- 수신단에서 송신단의 전송 시점을 지정하기 위한 ACK 프레임이 필요하다. 
ACK프레임은 송신단에 긍정 응답을 회신하고, 다음 프레임을 전송하도록 지시하는 흐름제어의 역할도 수행. 
- 데이터 중복 수신 우려가 있고 순서 번호 기능이 필요하다.
-구조가 간단하고 성능이 좋지만 ACK프레임이 수신되어야지만 다음 데이터를 보내기 때문에 효율은 떨어진다. 

  • 오류제어, 흐름제어 모두 사용하는 프로토콜 
송신단에서 수신단으로만 데이터를 전송한다고 가정
- 오류제어와 흐름제어가 모두 필요하고, 프레임 변형 오류를 해결 하기 위한 수신 호스트의 NAK기능이 요구됨, 프레임 분실 오류를 해결하기 위한 송신단의 타임아웃 기능이 필요 

-NAK가 없는 경우 (부정 응답 프레임이 없을때)
정보 프레임을 분실했을때는 타임아웃 기능으로 오류 복구 / ACK신호 분실 시 마찬가지로 타임아웃 기능으로 오류 복구
정보 프레임이 변형 되었을때도 마찬가지로 타임아웃 기능으로 오류를 복구한다.

-NAK가 있을 경우
데이터 프레임 변형의 경우 NAK 응답으로 오류를 복구 
>>부정 응답을 받았다--> 송신단에서 데이터 재전송

  • 슬라이딩 윈도우 프로토콜 
양방향 통신을 지원, 오류제어와 흐름제어 기능을 모두 지원함
- 기본적인 절차는 송신단에서 정보 프레임을 (데이터 + 순서번호 + 오류 검출코드)를 순서 번호에 따라 순차적으로 전송한다. 
일반적으로 수신단에서 위의 정보 프레임을 수신하면 응답으로는 다음에 수신하기를 바라는 순서번호를 회신하게 된다.  송신단에서는 자신이 보낸 데이터를 버퍼에 저장하고있는데 이를 송신 윈도우라고 한다. 이 송신 윈도우에서 '대기'하게 되는데 이 프레임은 아직 ACK를 받지 못한 프레임이다.
수신단에서도 마찬가지로 수신한 정보를 보관하기 위해 내부 버퍼인 수신 윈도우를 유지할수 있다. 이 수신 윈도우의 크기는 프로토콜 동작 방식에 따라 크기가 달라진다.
선택적 재전송 방식에서는 송신 윈도우와 크기가 같다. 선택적 재전송에서는  프레임의 도착이 비 순서적으로 이루어져도 크기가 같기 때문에 송신 윈도우와 크기가 같고, 고백N 방식에서는 크기가 1인데, 바로전에 수신된 데이터 다음의 데이터를 기다리기때문에 크기가 1이다.

- 윈도우라는 것은 송 수신단 양쪽에 만들어진 버퍼의 크기를 말한다. 

- 연속형 전송
ACK 프레임을 받지 않고 여러 프레임을 연속적으로 전송한다. 전송한 데이터 각각에 대해서 ACK 프레임을 받지 않고 전송받은 마지막 데이터에 대해서만 ACK 프레임을 받는다. 이렇게 되면 그 전송 프레임의 하위 프레임들은 제대로 전송한 꼴이 되기 때문이다.
다만 오류가 적은 환경에서 효율적이다. 
오류가 발생했을 때 고백N 방식에서는 오류가 발생한 프레임 이후의 모든 프레임을 재전송하고, 선택적 재전송 방식에서는 오류가 발생한 프레임에 대해서만 재전송을 하게 된다.

  • 오류제어 기법
데이터 링크 계층에서 오류제어 기법은 주로 오류 검출 과정재전송 과정을 포함한다.
ARQ(Automatic Repeat reQuest)라고 하여 데이터 전송시 프레임이 손상 되었거나 분실 되었을 때 재전송이 수행되는 재전송과정이다. 
정지 - 대기 흐름제어에서는 정지 - 대기 ARQ로 구현하고, 슬라이딩 윈도우 흐름제어에서는 GBn ARQ, SR ARQ로 구현한다.

- 정지-대기 ARQ 재전송 절차는 송신단에서 ACK를 받을 때 까지 프레임의 복사본을 유지한다. 식별을 하기 위해 데이터 프레임과 ACK 프레임에 0,1로 번호를 매긴다. 
오류가 발생하면 수신단에서 NAK프레임을 회신하고 송신단에서 버퍼에 저장된 프레임의 복사본을 재전송한다. 또한 송신단에는 타이머가 있어서 정해진 시간에 ACK가 오지 않으면 데이터를 재전송한다. 

- GBn ARQ 절차는 수신단으로 데이터를 쭉 전송하다가 중간에 데이터가 손상된경우 수신단에서 NAK를 보낸다. 수신단에서는 손상이 발생된 이후의 데이터를 폐기한다. NAK를 받은 송신단에서는 손상된 데이터 부터 재전송하게 된다.  
또한 데이터 프레임을 분실한 경우 수신단에서는 분실한 데이터 이후의 데이터를 폐기하고 송신단에서는 분실한 데이터에 대한 NAK를 받는다. 분실된 데이터 부터 재전송을 하게 된다. 
ACK 프레임을 분실한경우에는 ACK 프레임을 받기 전 데이터 부터 재전송을 하게 된다. 

- SR ARQ
손상되거나 잃어 버린 프레임에 대해서만 재전송을 하게된다. 
수신단에서는 비순서적으로 도착한 데이터 프레임을 재정렬한다. 이때 재정렬까지 도착한 프레임들을 저장한 버퍼가 필요하다. 

* 오류제어 기법의 비교 

- 정지대기 ARQ : 구조가 간단하여 구현이 쉬우나 비효율적이어서 활용도가 낮다
- GBn ARQ : 구조가 간단하고 효율성이 향상되어 가장 많이 사용한다. 하지만 데이터 전송 시 중간에 오류가 발생하면 다시 처음 부터 전송을 해야한다.
- SR ARQ : 가장 효율적이나 구조가 복잡하여 유지보수 비용이 증가 따라서 필요한 경우에만 사용. 




[시험] 네트워크 (5)

하위 계층(데이터 링크 계층)의 이해

LAN 환경에서 MAC 계층과 LLC계층의 차이와 역할을 이해한다.
이더넷의 동작 원리와 프레임 구조를 이해한다.
토큰 버스에서 토큰의 역할과 프레임 구조를 이해한다.



  • DATA Link Layer (L2)
물리적으로 연결된 두 호스트 간의 신뢰성 있는 데이터 전송을 지원한다. 오류제어, 흐름제어 같은 기능을 지원하고 전송되는 데이터 단위는 프레임이다. 즉, 오류없이 패킷을 전송하는 기능을 수행하는 계층으로 LLC 계층과 MAC 계층으로 나뉜다.
- MAC(Media Access Control)은 공유 미디어에 대한 접근의 조정기능을 의미하고
LLC(Logical Link Control)은 공유 미디어에 대한 접근 감독 기능을 말한다.

>> 쉽게 말해 Wifi를 예로 들자면 L2에서 802.11(이전포스트 참고)의 정의된 바에 의해 어떤 무선 네트워크에 연결할지, 인증절차를 거치는 것을 말한다.

  • MAC 계층
LAN 종류에 따라 특성이 구분된다.
Ethernet에 경우 공유 버스 구조를 지원하고, 둘 이상의 호스트에서 동시에 데이터를 전송하면 충돌이 발생한다. 따라서 이러한 충돌을 감지하는 기능이 요구된다.
토큰 링에서는 링 구조를 지원하고 토큰이라는 특정 패턴의 제어 데이터가 링을 순환하면서 충돌을 방지 한다. 따라서 토큰 링 방식에서는 데이터간에 충돌이 발생 할 수 없다.


-참고-


(순서가 좀 뒤죽박죽...)



  • LLC 계층
WAN 환경의 데이터 링크 계층 기능을 수행한다. 또한 슬라이딩 윈도우 프로토콜을 사용하여 흐름제어 기능을 지원한다.

-참고-

  • CSMA/CD(Carrier Sense Multiple Access /Collision Detection)
이름에서 뜻을 풀이 하자면 MA : 다수의 호스트가 하나의 공유 매체에 연결됨
CS: 호스트는 공유 매체의 사용가능 여부를 신호 감지로 확인, CD: 공유매체 에서 데이터의 충돌 여부를 확인 802 시리즈의 LAN환경에서 데이터를 전송하는 방식을 말하고 하나의 공유 매체에 연결되어있어 이 공유매체가 비었는지 사용하는지를 확인하고 데이터를 보낸후 데이터끼리 충돌이 있나 없나를 확인하는 방식의 전송 방식이다. (공유매체 >> LAN선) 

- 데이터 전송원리는 broadcasting 방식으로 데이터 프레임에 목적지 주소를 기록하여 수신 호스트를 지정하여 데이터를 전송한다.

- CSMA/CD는 기본적으로 경쟁을 기반으로 하는 전송 방식이다.
공유매체 혹은 전송 채널이 busy 상태라면 얼마 시간 동안 기다렸다가 다시 전송을 시도한다.
데이터 전송후에 수신단에서 ACK 신호를 받을때 까지 기다린다. 데이터를 받았다고 무작정 ACK신호를 보낼게 아니라 채널에 접근하는 시간이 고려 되어야한다.
또한 전파 지연시간 내에 두 개 이상의 스테이션(지국)이 전송을 하는 경우 패킷 간의 충돌이 발생한다. 충돌이 발생하는 이유는 둘 이상의 노드가 동시에 CS프로세스를 수행했을 때 두 노드 모두 전송채널 혹은 공유 매체가 idle 상태라고 판단하여 프레임을 전송했기 때문이다.

- CSMA/CD에서 두 데이터 간의 충돌이 발생하면 전송지연이 발생하게 되어 처리율이 저하된다. 그래서 데이터 전송 중 전송미디어를 검사하여 충돌에 의한 전송지연을 줄이게 된다. 또한 데이터 전송 중에도 충돌 탐지(CD)프로세스를 수행하여 충돌을 신속하게 감지 한다.
충돌이 발생하면 다른 모든 노드에게 알리기 위해 32비트 크기의 임의의 데이터를 전송하는데 이것을 충돌 신호 혹은 재밍 신호라 한다.

- CSMA/CD에서 신호감지 기능
1-presistent CSMA는 프레임 전송 전 채널의 사용 여부를 확인한다. 채널이 사용 중이면 idle 상태까지 대기한다.
Non-presistent CSMA는 프레임을 전송하기 전에 채널 사용 여부를 확인한다. 채널이 사용 중이면 더이상 idle 상태를 확인 하지 않는다. 1-presistent 방식보다 충돌 확률을 줄일 수 있다.
P-presistent CSMA는 슬롯 채널 방식에서 주로 사용한다. 채널 사용여부를 확인하고 채널이 idle상태이면 p의 확률로 프레임을 전송한다.

  • 허브, 스위치, 공유기 비교
hub는 모든 출발지에서 모든 도착지로 데이터를 보낸다. 모든 패킷을 공유하기 때문에 트래픽 부담이 크다.
스위치 허브는 허브의 문제점을 개선함. 목적지에 맞게 전송하므로 트래픽이 적고 대역폭을 효율적으로 사용한다. 스위치를 사용하면 local에 연결된 장비끼리 네트워크가 구성되지만, 외부와는 연결되지 않는 문제점이 있다.
라우터는 각 네트워크간 통신이 가능 하도록 라우팅 기능을 제공하는 장비
공유기의 정확한 명칭은 NAT(Network Address Translation). 공인 ip를 사설 ip로 변경해주는 역할인데 공인 ip의 갯수가 부족하여 사설 ip로 서브네팅을 하여 사용하므로 갯수 부족 문제를 극복.



[시험] 네트워크 (4)

데이터 전송 방식


  • 점대점 방식
링 형은 호스트의 연결이 순환 구조를 이루고, 모든 호스트가 전송과 교환 기능을 수행한다.
링형에서는 '토큰'이 중요한데 토큰이라는 것은 데이터를 전송 할수 있는 권리를 말하며 데이터 전송을 원하는 호스트는 미리 토큰을 확보해야한다. 데이터 전송이 완료되면 토큰을 반납해야한다.

링 형에서 데이터 전송원리는 다음과 같다.

1) 토큰을 링에서 회수하여 확보한 후 , 데이터를 링에 전송한다.
2) 데이터는 링을 한 바퀴 돌고, 다시 송신 호스트로 돌아온다.
3) 이 과정에서 링에 연결된 모든 호스트가 데이터를 수신하게 된다.
4) 자신을 목적지로 하는 호스트만 데이터를 보관하고, 다른 호스트들은 데이터를 취하지 않는다.
5) 송신 호스트는 데이터를 회수한 후에 토큰을 링에 돌려준다.

토큰 링의 프레임 구조는 모니터기능, 토큰 생성기능, 데이터의 무한 순환으로 구성.
토큰을 확보하기 위한 기능으로 토큰을 분실했을 때 이를 감지하여 토큰을 재생성 한다던지(모니터 기능), 송신단에서 전송한 데이터가 링을 한 바퀴 돌고 왔을때 회수 하지 않는 오류가 생기면 데이터를 회수해 토큰을 다시 만들어 준다. 


  • BroadCasting 
네트워크에 연결된 모든 호스트에게 데이터를 전달 하는 방식. LAN 환경에서 사용하고, 버스형과 링 형이 존재한다.

브로드캐스팅은 네트워크에 연결된 모든 호스트에게 데이터를 전송하는 방식이다. 여기서 말하는 동일한 네트워크 환경을 말하고, 네트워크 전체가 아닌 특정 서브넷 내에서 사용한다. 데이터를 전송 할때 수신측에서는 자신을 목적지로 하는 호스트만 데이터를 내부에 저장하고, 다른 수신 호스트들은 데이터를 무시한다.


  • 멀티 포인트 통신
하나의 송신 호스트를 기준으로 유니포인트-하나의 수신호스트와 연결-, 멀티 포인트-다수의 수신 호스트와 연결-가 있다.

송신 호스트가 한번의 전송으로 유니캐스팅-하나의 수신 호스트에 데이터를 전송-, 멀티 캐스팅 -다수의 수신 호스트에 데이터를 전송-

- 멀티 포인트 유니캐스팅은 유니캐스팅 방식을 이용하여 일:다 통신을 지원한다. 
즉, 실질적으로는 1:1 통신이고, 연결만 1:다수로 연결한다. 데이터는 개별적으로 전송함.
다만 수신 호스트의 수가 증가하면 성능에 문제점이 발생한다.

그림과 같이 패킷들을 하나씩 개별적으로 수신 호스트로 보내기 때문에 수신호스트의 수가 증가하면 성능에 문제가 발생한다. 

- 멀티 캐스팅은 1:다 전송기능을 지원한다. 송신 호스트는 한번의 데이터 전송으로 여러 호스트에게 데이터를 전송 할수 있다. 




  • 오류제어
수신 호스트의 응답 프레임은 두가지가 있다. 긍정 응답과 부정응답이다.
긍정응답은 데이터가 정상적으로 도착했을 때 수신 호스트가 송신 호스트에게 회신을 하고,
부정응답은 데이터가 깨져서 도착했을 때, 수신이 송신에게 회신을 하는데 부정응답을 받은 송신단은 재전송 기능으로 오류를 복구 하려고 한다.

- 송신 호스트의 타이머 기능
송신 호스트가 전송한 데이터가 네트워크에서 사라지는 문제를 해결하는 것이다. 데이터를 분실 했을 때 수신 호스트로부터 부정이든 긍정이든 어떠한 응답 프레임을 받을 수가 없다. 이때 송신 호스트는 일정 시간 동안 응답 프레임이 없으면 타임아웃 기능으로 재전송을 시도한다. (타임아웃이 계속되서 재전송을 계속 시도하면 다른 데이터를 전송 할수가 없게 된다.)


- 전송 오류의 유형
프레임이 변형/ 손실/깨지는 형태로 전송된 경우 수신 호스트는 송신단으로 부정 응답 프레임을 보내고 송신단에서 원래의 데이터 프레임을 재전송하므로 오류를 복구하려고 한다.

프레임이 분실된 경우 수신단에서는 어떠한 데이터도 받지 못하였으므로 송신단에 응답을 할 수 없는 상태이다. 송신단에서는 타임아웃 기능으로 원래의 데이터 프레임을 재전송 하여 오류를 복구하려고 한다.

- 순서 번호
데이터의 중복 수신 문제를 해결하기 위해 데이터 프레임에 부여되는 고유 번호이다.
긍정 응답 프레임을 분실하여 송신단에서는 타임아웃으로 인지, 데이터를 재전송 할수가 있다. 이러면 수신단에서는 동일 데이터를 중복 수신하게 된다. (수신단에서는 데이터 구분을 할수가 없다.) 따라서 이러한 문제 때문에 순서 번호가 요구된다.

- 흐름제어
수신단이 감당 할 수 있는 속도로 송신단에서 데이터를 전송하도록 제어하는 방식.
데이터를 너무 빨리 전송하는 경우 수신단의 내부 버퍼에 보관 하지 못한다. 이는 프레임 분실과 동일한 효과를 갖는다. 기본원리는 수신단이 송신단의 전송 시점을 제어하는 원리이다.
대표적인 방법으로 슬라이딩 윈도우 프로토콜이 있다.

[시험] 네트워크 (3-2)

LAN, WAN, MAN


  • LAN (Local Area Network) 

유선을 통해 근거리에서 이루어지는 네트워크, 소규모 지역에 위치하는 호스트로 구성된 네트워크이다. BroadCasting 방식으로 전송한다.

LAN에서 데이터를 전송하는 방식으로는 bus형과 ring형이 있다.

- bus형은 공유버스 하나에 여러 호스트를 직접 연결하는 방식으로 이더넷(Ethernet)에서 사용한다. 데이터간의 충돌(Collision)이 발생하는 것을 허용하는 대신, 충돌 후에 문제를 해결하는 방식이다.

- ring은 전송 호스트의 연결이 순환 구조인 링 형태이다. 전송한 데이터는 링을 한 바퀴 돌아 송신 호스트로 되돌아 온다. 링 형에서는 '토큰'이라는 제어프레임을 사용해 충돌 가능성을 차단한다.


  • MAN(Metropolitan Area Network)
대도시 정도의 넓은 지역을 연결하기 위한 네트워크 구성 형태를 말한다. LAN보다 큰 지역을 지원함.


두 개의 단방향 선로가 존재하여 충돌 문제를 해결함.

  • WAN(Wide Area Network)
국가 이상의 넓은 지역을 지원하는 네트워크 구조이다. 광범위한 지역을 수용하며, 하나의 국가내에서 도시와 도시, 혹은 국가와 국가 간을 연결하려는 목적으로 구성된 광역 네트워크 시스템이다. 점대점으로 연결된 WAN 환경은 전송과 더불어 교환 기능이 반드시 필요하다.
또한 서로 다른 네트워크 환경 연결시에 필요한 환경이다.
LAN,MAN은 전송 호스트가 공유 버스를 이용한 BroadCasting을 지원하기 때문에 교환이 필요 없다.-
- 점 대 점 이라는 것은 위 그림과 같이 호스트 하나가 국가 혹은 광범위한 지역을 말한다.-


Internetworking

Router: 네트워크를 연결하는 장비, L3 기능을 수행. 네트워크 계층 기능을 지원하므로 경로 선택 기능을 제공한다. 임의의 네트워크에서 들어온 데이터를 어느 네트워크로 전달 할 지 판단 할 수 있어야한다. 즉, Router를 통해 최적의 경로로 데이터를 주고 받는다.
경로를 지정함에 있어서 고정 경로 배정과 적응 경로 배정이 있다.

- 고정 경로 배정은 송수신 호스트 사이에 영구 불변의 고정 경로를 배정한다. 간단하고 효율적인 라우팅이 가능하지만, 트래픽에 따른 독정 경로 배정이 불가능하다. 
- 적응 경로 배정은 인터넷 연결 상태가 변하면 이를 전달 경로 배정에 반영하는 식이다. 특정 네트워크나 라우터가 비정상적으로 동작하는 경우, 네트워크의 특정 위치에서 혼잡이 발생하는 경우에 사용한다. 하지만 경로 결정 과정, 라우터 사이에 정보 교환이 자주 발생하는데 이렇게 되면 네트워크 트래픽이 증가되고 결국에는 라우터의 부담이 증가 할 수 밖에 없다. 

GateWay: Router의 ip주소라고 생각하면된다. 서로 다른 네트워크를 연결해 주는 역할.


Bridge: repeater 기능에 데이터 링크 계층의 기능이 추가된 게이트 웨이 이다.


Routing Table (MAC address Table)

LAN이 동작하면서 자동으로 생성된다. 스위치는 처음에 MAC 주소 테이블이 없다. 
스위칭 테이블에 목적지가 없으면 스위치는 허브와 같이 프레임을 모든 포트로 보낸다. 이 과정을 플러딩이라한다. (플러딩이란 포트를 통해 들어온 하나의 패킷을 라우터에 접속된 다른 모든 포트로 보낸다.) 다음은 플러딩 과정이다.



Looping 

플러딩과 이중경로에 의해 루핑이 발생한다. CSMA/CD 특성으로 네트워크가 제대로 동작하지 못한다. looping이 발생하면 STP 알고리즘에 의해 해결한다. STP 알고리즘은 비 순환 구조를 지원하는 알고리즘이다. 쉽게 말하면 임의의 경로를 끊어서 looping을 해결한다.