When there are multiple devices, how do you connect each device on a one-to-one basis?
-> Switching : Consists of a series of interlinked nodes, called switches.
Three Methods of Switching
- Circuit Switching : 회선으로 데이터를 교환하는 방식
- Packet Switching : 데이터를 일정한 단위로 교환하는 방식
-> Datagram approach : packet의 정보를 참조해 교환
-> Virtual-circuit approach : Circuit을 virtual로 만들면서 교환- Message Switching : 보내고자하는 데이터를 통채로 교환하는 방식
Circuit Switching
- Circuit Switched Network : 두 개 이상의 stations 간에 physical links로 연결되어 통신을 주고 받는 네트워크
- channel이 이미 모두 할당되어 사용 가능한 channel이 없다면, 통신이 불가능
- 통신 channel을 사용하지 않으면 통신 이후 release (사용하지 않는 time or frequency의 낭비 방지)
- Three Phases
-> Circuit establishment : Station 사이에 회선을 만든다.
-> Data transmission : 데이터 전송
-> Circuit Disconnection : 회선 연결을 끊는다.- 장점
-> Setup후에는 회선이 정해져있어 Transmission delay가 없음- 단점
-> Call setup delay
-> Inefficient use of link capacity : 회선을 다른 통신에 공유, 활용 못함
Packet Switching
- Datagram Approach : data를 일정한 단위의 Packet으로 나누어 전송하는 방식
-> Packet의 header정보 (DA, SA)를 확인하고 Data를 전송, 교환 해나아가는 방식
- 각각의 packet을 독립적으로 처리할 수 있음
-> link를 효율적으로 사용할 수 있음
-> 현대의 Internet에서 가장 많이 사용하는 방법- Header (통신에 필요한 주소 정보 등) & Payload (실제 데이터 내용)
- Packet Switching 장비들이 packet들을 버퍼링함
-> 버퍼 사이즈가 Overflow 되면 packet loss가 생김- packet의 순서가 변할 수 있음 (Out of Order Packet Delivery)
-> network 상황에 따라 Routing table path 정보가 갱신되기 때문
-> 각각의 Packet Switching 장비들은 Routing table을 관리, 활용해서 데이터 전송경로를 찾아나감- Delay of Datagram network : transmission time + propagation delay time + waiting time
- QoS can be degraded
-> 인터넷은 최선형 (보장형 X)
- Virtual Circuit Network : 패킷을 전송하기전에 setup message를 Routing table에 의존해서 보냄으로써 논리적 연결인 가상회선이 설정된다. 각 패킷에는 가상회선 식별 번호(VCI)가 포함되고 스위칭 장비는 VCI에 의존해서 데이터 전송이 된다.
모든 패킷이 전송되면 가상회선이 해제된다.
- 장점 : 데이터를 전송하기 위해서는 link를 이용해야한다. 각각의 packet switching 장비에 도착할 때마다 Link protocol을 사용하기 위해 Link layer로 이동, decapsulation 그리고 다시 Network layer로 전달해 라우팅 테이블을 확인하고 도착 주소를 확인해야한다.
-> 미리 도착 주소에 대한 정보를 packet에 저장
각각의 pacekt switching 장비에서는 VCI 정보를 가지고 있는 table을 가지고 있게 되어 Routing Table look up & Network layer로의 전달 및 주소 확인 과정이 간소화된다.- VCI 변경 이유?
- Virtual Circuit Approach
- SVC : 필요할 때마다 도착정보들을 생성
-> Different paths per connection setup- PVC : 도착정보에 대한 table이 이미 생성 되어있음
-> Use same path for each connection setup- Delay of virtual circuit network
Space-Division : 공간을 나누는 방법 (Crossbar Switch)
- Input, Output이 많아지면 cross point 수가 너무 많이 늘어난다.
-> Multistage switch
→ n X n의 input, output 처럼 보이지만 cross point수를 줄일 수 있다.
Time Division Switch : 시간을 나누는 방법
- TSI (Time Slot Interchange)를 통해 순서를 바꾸는 경우 / 바꾸지 않는 경우
Space-Time Division Switch : 시간, 공간을 모두 활용해 나누는 방법
- Time - Space - Time
-> TDX-1, TDX-10, TDX-100 등
Routers가 수행하며 목적지 주소를 보고 빠르게 packet을 내보낼 수 있도록 Switching fabric을 설계해야한다.
-> PPS : 1초에 몇 개의 packet을 내보낼 수 있는지
- Input port
- Physical-layer processor: 신호 level의 protocol
- Data-link-layer processor: Link level의 protocol
- Queue: Packet level의 data buffering
-> packet을 내보내는 속도에 비해 들어오는 속도가 더 빨라서 buffering!
- Output port
Switching fabrics
: router의 핵심 기능
Switching fabrics : Input link에서 적절한 Output link로 packet을 전송하는 길
- memory: packet이 memory에 의해서 packet을 송신 및 수신
-> memory의 특정번지가 input device, output device와 연결이 되어있는 형태이다.
-> 잦은 memory access로 인해서 속도가 느리다.
- bus: packet이 bus를 통해 송신 및 수신
-> bus access에 대한 but arbitration이 필요하다.
- Interconnection network: 여러개의 cross point를 이용해서 packet을 송신 및 수신
- multistage switch : cross point 갯수를 줄임
- exploiting paralleism : datagram을 일정한 크기의 cell로 자름 → 중간 과정에서 공간을 분리해서 병렬적으로 보냄 → 수신 입장에서 cell을 재조립해서 사용
- parallel하게 여러 planes로 사용하여 성능 개선 & 속도 향상
- Head Of Line blockinig problem
: blocked된 긴 data로 인해, 계속해서 뒤의 data들이 input port에서 switch fabric을 통해 output device 방향으로 이동하지 못하는 문제
Output port queuing
- Drop policy : Buffer가 가득 찬 경우에 어떤 data를 drop해야 하는지 결정해야 한다.
-> Priority, just drop- Scheduling Discipline : Buffering 되어있는 data들 중에서 어떤 data를 먼저 전송할 것인지 결정해야 한다.
-> Priority scheduling, RR, WRR
A banyan switch : 스위치제어 코드를 패킷 앞에 추가함으로써 자동으로 경로를 찾아가는 switch (self-routing)