Multiplexing 은 여러 Input 이 있을떄 하나의 Output 으로 나오는것을 말한다.
그럼 Switching 은 뭔가.
Switching 은 여러 Input 있으면 Output 도 여러개 이다.
1,2,3,4,5 에서 들어올수있는 Input 이 a,b,c,d,e 로 내보낼수있다.
어떻게 Switching 하냐에 따라 어떻게 나가는지가 다 다르다.
각 알파벳들은 I,II,III,,,, 등 다른 장비를 거치게 된다.
이런 장치가 Switch 기능을 한다.
Circuit Switching , Packet Switching , Message Switching 이 있다.
Circuit Switching 방식은 전화망 그리고 아날로그 방식에서 주로 사용되는 Switching 방식이다.
Packet Switching 방식은 인터넷은 Packet Switching 을 하는데 아날로그 방식을 쓰다가 디지털로 가면서 Packet Switching 을 사용한다.
Packet Switching 방식은 Virtual-circuit approach,Datagram approach 2개의 방식으로 나뉜다.
Message Switching 방식은 .... 설명을 안함
두 Stations 간에 하나 또는 이상의 Link로 만들어진 Path 이다.
Switch 들이 연결되어있다.
만약 A에서 B가 통신을 할려하고 그 사이에 각 Switch 들이 있다.
Switch 를 연결하는걸 Link 라고 하는데 Link 에는 FDM or TDM을 사용하는 여러개의 채널로 이뤄져있고, 각 Connection 은 각 Linkk 에서 하나의 Channel 만 사요한다.
A->B 를 통신하기 위해서 주파수든 시간이든 논리적으로 Channel 확보해야한다. 더이상 Channel 이 필요없으면 Channel Release 하면 된다.
이것이 circuit switching 이다.
만약 Switch 에 1,2,3,4 가 연결되어있는데 3개의 Channel 이 있으면 다 쓰고 있을떄 4번은 보낼수가 없다.
그래서 채널확보가 우선이 되어야한다.
자기 신호를 실을수 있다면 막 보내도 된다.
하지만 안보낼동안 4번이 보내는건 안된다.
Circuit establishment,Data Transmission,circuit disconnection 이 있다.
Circuit establishment 은 station 사이에 회선을 만드는것이고,
Data Transmission 은 데이터를 전송하고
Circuit disconnection 은 회선 연결을 끊는다.
단점으로는 Setup Delay 가 생기고, Link capacity 를 효울적으로 사용하지 못함.
둘다 회선을 부여받았는데 말안하고 있는것과 같음 이렇게 되면 회선이 낭비되는것
장점으로는 Transmission delay 가 없다.
만약 길이없다면 Packet Switching 은 순서에 맞지않게 도착할수있다.
하지만 길이 있으면 그 길을 따라가 순서에 맞게 도착할수 있다.
그리고 자기의 길이 있기에 다른 사람 간섭을 받지않는다.
Datagram 은 전송하고자 하는 Data 의 단위이다.
Packet 에는 Header 와 Payload로 나뉘어있는데 Header 에는 protocol 동작시키기위한 정보로 주소 정보가 들어간다.
Payload 에는 Protocol 로 data를 전달하는 실제 Data 가 들어가있다.
Ip Protocol 을 사용하기 위한 Connectionaless approach 라고 한다.
Connectionaless 는 연결을 안만든다는 말이다.
그리고 Resource 도 필요하면 Allocation 한다.
그림을 보자
보내고자 하는 Packet 이 여러개이다.
Switch 들은 Data를 수신하면 Buffering 한다.
근데 만약 Buffer Size 가 가득차면 Buffer Overflow 가 발생한다.
이러한 Buffer Overflow 로 인해 순서가 엉망진창일수도 있고, 심지어 Data 중간중간 비어있을수도 있다
이걸 Packet Loss 라고 한다.
결구 Circuit Network 의 장점은 Link를 효율적으로 사용한다는 것이다.
Datagram network 의 Delay 를 뜻한다.
Total Delay 는 3T(Transmission time) + 3ㅠ(Propagation delay time) + W1 + W2 ( Waiting time)
적혀있는거 다 더해보면 된다.
현재 Network 는 보장형 Network 가 아니다.
-> 최선형이다.
어떻게 하면 고속화 할수있을까? 하면서 생각해낸 방법이다.
Packet Switching Network 에서 가상저긍로 Circuit Switching 을 흉내내는것이다.
만약 A 에서 B가 연결되어있는데 그 사이 수많은 Switch 가 있다고 생각해보자.
Packet 에는 보내고 받는 주소가 있다.
그래서 이 Packet들은 Routing Table 을 보고 이동한다.
Link 계층을 따라 Link 보내야한다.
이렇게 Decapsulation 하고 데이터 찾고 하는게 절차가 너무 복잡하고 번거롭다.
이렇게 번거로운 과정없앨려고 도착주소에 대한 정보를 붙인다.
그래서 만약 3번이 붙어있으면 3번은 어디로가라는 정보만 따라가면 되는것이다.
그리고 번호는 바꿔준다.
이런 방식으로 SVC, PVC 가 있는데
SVC 는 필요할때 도착정보들을 만드는것이고 , PVC 는 아에 도착정보를 다 만들어 놓은것
이 그림을 보자
처음에는 Table 에는 아무 값도 적혀있지 않다.
그래서 Table 을 만들기 위한 Setup Message 가 날라간다.
그리고 Setup Message 는 Routing 에 의해서 만들어진다.
그 보내진 값들이 Return 해서 오면서 값이 채워진다.
처음에는 Table 생성을 위해 Setup delay 시간이 걸린다.
그리고 3T,3ㅠ 의 시간을 더하고 Teardown delay 라는 지우는 시간도 포함이 된다.
Circuit Switching 방식은 현재 2개의 기술을 쓸수있다.
하나는 Space Division 방식이고 하나는 Time Division 방식이다.
Space Division 방식은 공간을 나누는 방식으로 Crossbar Switch 라고도 한다.
Time Division 방식은 시간을 나누는 것이다.
그림은 3개의 Input,4개의 Output 을 가지고 있다.
Switch 안의 점들은 CrossPoint 로 Input 과 Output 의 교점이다.
근데 만약 Input,Output 이 늘어나면 crosspoint 도 늘어난다.
이러면 이 Crosspoint 를 어떻게 줄여야할지 생각해봐야한다.
hierarchical structure 이라고 한다.
Crosspoint 를 줄이는 방식이다.
Time Division 방식은 시간을 나누는 것이다.
그림 a 를 보면 중간에 Switch 가 없이 1:1로 매핑을 해줘서 A 자리는 A로 나오고 B 자리가 나오면 B 가 나온다.
그리고 Switching 을 하면 TSI (Time Slot Interchange) 를 두고 들어오는것에 따라 나오는게 달라진다.
시간과 공간을 모두 나누는 방법이다.
TST 는 time space time 이라는 뜻이고
STS 는 Space time Space 라는 뜻이다.
STS 는 잘 안쓰고 TST 로는 TDX-1,TDX-10,TDX-100 이 있따.
이런 방식은 Circuit Switching 에서 주로 사용한다.
Analog , Digital 둘다 사용가능한데, TIme Domain 이라면 Digital 을 사용하고 Frequency Domain 을 사용하면 Analog 를 사용한다,.
Router 가 수행한다.
Swithcing fabric 을 설게하여 목적지 주소를 보고 어디로 보내야할지 정해야한다.
시장에서 성공할려면 얼마나 빨리 Packet 을 내보낼수 있는가 이다.
이걸 PPS(Packet Per Second) 라고 한다.
Physical Layer Processor 는 1인지 0인지 판단한다.
Data Link Layer Processor 는 Link level 의 protocol 이다.
Queue 는 Packet Level 로 Data Buffer 이다.
내보내는 속도보다 들어오는 속도가 빨라서 Buffering 이 걸린다.
Router 의 핵심기능으로써 모양이 있어야한다.
목표는 고속을 ㅗ빨리 내보낼수 있어야한다.
pakcet 이 Memory 에 의해서 Packet을 송신 및 수신한다.
Input에서 보낸걸 Memory 에 저장하고 Output에서 가져가면된다.
이런 방식은 느리다.
Bus arbitration 으로 Bus에 누가 Access 할지 정해야한다.
여러개의 CrossPoint 를 이용해서 Packet을 송신 및 수신한다.
multistage switch 는 crosspoint 를 줄이는것이고
exploting paralleism 은 datagram 을 질정한 크기로 잘라서 병렬적으로 보내는 것이다.
왼쪽 그림을 보자
만약 두개의 빨간색이 같이 보내서 빨간부분으로 전송되고싶다.
둘은 같은 곳을 보내기에 경쟁을 하게 되는데 한쪽을 먼저 보내줘야한다.
같은거 말고 뒤에있는 애부터 보내면 된다.
이걸걸 Head of Line Blocking 이라고 한다.
Queue 가 가득차면 이떄 관리 어떻게 할지 가득차면 들어오는 애들 Drop 해줘야할지 결정해줘야함
Policy 가 있어야한다.
그리고 Buffer 되어 있는거 중에 누구를 먼저 보내야 하나.
등 Policy 가 있어야한다.
우선순위 큐로 priority 가 높은 애들은 우선적으로 내보낸다.
근데 우선순위가 낮은 애는 Service 를 받을수가 없다.
Round Robin 으로 돌릴수 있긴하다.
000 이면 1 로 가는것처럼
흘러가는거 자체를 자동화 할수있다.
근데 그림에서의 1번 7 번이 둘다 6으로 나갈려하면 경쟁을 하기에 이런 충돌을 막기위해 재배치 해야한다.
Batcher Switch , Trap Module 을 합쳐서 batcher banyan switch 라고 하는데 이런걸 두어서 충돌하지 않게 한다.