It is just my opinion, so don't you attack me. please!
But if this posting has some incorrect informations, you comment about that
Please!!
packet switching and circuit switching
- Packet Switching vs. Circuit Switching
· Packet Switching
패킷 스위칭은 Link를 공유하는 전송 방법으로 capacity 전체를 사용할 수 있다.
L-bit의 패킷을 h개의 홉을 거처 end-host까지 R bps의 속도로 간다면 L-bit가 end-host에 도착하는데 걸리는 시간은 (h + 1) * L / R 이다.
· Circuit Switching
서킷 스위칭은 source-destination 사이의 정해진 Link가 존재한다. 즉, 사용할 수 있는 Link가 정해져 있다는 이야기이다. 나누는 방식은 보통 FDM, TDM이 있으며, 사용자기 넘치는 경우에는 call block을 시킨다.
· 각 스위칭 기법은 언제 사용하면 좋은가?
✔︎ 패킷 스위칭의 경우, slam dunk(패킷이 몰리는)인 상황에서 서킷 스위칭보다 효율적이다. 그 이유는 쉬고 있는 Link가 없기 때문이고, 이는 서킷 스위칭보다 데이터를 더 빠르게 전송할 수 있다.
✔︎ 서킷 스위칭의 경우, end-host로부터 발생되는 데이터가 일정하고, 데이터 속도의 합이 각 Link의 capacity를 넘지 않는 다면 congestion이 발생하지 않는다. 또한 end-host의 수가 n이하로 유지된다면 패킷 스위칭보다 안정적이고 빠른 서비스를 전송할 수 있다. (빠른 이유는 parallel 전송이 가능하기 때문이다.)
☞ 크기가 L- bit인 packet이 P개 존재한다. link-capacity는 R이라면 n-1개의 라우터를 지나 도착지점에 도착할 때까지 걸리는 시간은?
· (N + P - 1) * (L / R)
첫 번째 패킷을 생각하자. 첫 번째 패킷이 n개의 홉을 지나며 end-host에 도착하는 시간은 N * (L / R)이다. 그렇다면 두 번째 패킷은? 두 번째 패킷은 end-host 이전에 있는 hop에 도착해있을 것이다. 그 이유는 첫 번째 패킷이 이동하는 동안 두 번째 패킷도 이동을 했을 것이니까. 두 번째 패킷은 N * (L / R) + (L / R)시간에 도착할 것이다. 마지막 패킷은? N * (L / R) + (P - 1) * (L / R) 시간에 도착하므로 정답은 (N + P - 1) * (L / R)이 된다.
☞ 사용자들이 1Mbps의 Link를 공유한다고 생각하자. 또한 사용자는 데이터를 전송할 때, 10Kbps를 사용한다. 하지만 사용자들 각각이 데이터를 전송하는 시간은 전체 시간에 10%이다.
a) 서킷 스위칭이 사용된다면, 얼마나 많은 사용자들을 지원할 수 있는가? 10 users
b) 패킷 스위칭이 사용된다면, 사용자가 데이터를 전송할 확률은 얼마인가? p = 0.1
c) 40명의 사용자가 있다고 할 때, n명의 사용자가 동시에 데이터를 전송할 확률은? combiantion(40, n) * p^n * p^(40 - n)
d) 11명 이상의 사용자가 동시에 데이터를 전송할 확률은? 1 - (sigma i = 0~10 (combination(40, i) * p^i * p^(40 - i)))
· store and forward problem
→ propagation delay가 존재 한다면, 다음 홉으로 이동하는 패킷이 다음 홉에서 완성되는데 시간이 걸릴 것이다. 패킷은 홉에서 완전한 패킷이 될 때까지 절대로 다음 홉으로 이동하지 않는다.
이렇게 설계된 이유는 buffer의 기능과 비슷하다. 패킷이 들어오는 속도와 나가는 속도를 맞출 필요가 없어지고, 각 홉에서 속도조절이 가능해진다. 이는 전송 지연을 감소시키고, 통신의 안정화를 가져온다.
Queueing and routing&forwarding
Q. queueing은 언제 일어나는가?
A.처리 속도보다 데이터가 많을 때
Q. queueing delay란?
A. transmission을 시작할 때까지 걸리는 시간.
Q. Queue의 메모리는 어떻게 하는 것이 좋은가?
A. 너무 크다면 거대한 패킷이 전송될 때, 패킷이 완성되는 데 걸리는 시간이 길어질 수 있음, 너무 작으면 Loss가 발생
Q. Loss는 언제 발생하는가?
A. Queue가 다 찼을 때
Q. routing과 forwarding의 차이는?
A. 라우팅은 경로를 설정하는 것으로 시작점에서 끝점까지의 경로를 찾는 것 (다익스트라 or 벨만 포드 알고리즘)
포워딩은 각 지점에서 어디로 가야하는지 결정하는 것.ISO 7 Layer
Level | Layer | function |
---|---|---|
7 Application Data | protocol: DHCP, DNS, FTP, HTTP | 사용자가 네트워크에 접속할 수 있도록 서비스를 제공. ex) telnet, HTTP, SSH, SMTP, FTP etc ... |
6 Presentation Data | protocol: JPGE, MPEG | 운영체제의 한 부분으로 I/O를 통한 데이터를 표현할 수 있도록 포맷을 변환 시켜준다. 번역을 해주는 역할이라고 할 수 있다. |
5 Session Data | protocol: SSH, TLS | end-host간의 port 연결을 확인하고 유효성 확인 및 동기화를 수행한다. |
4 Transport Segments | protocol: TCP, UDP, ARP equipment: gateway | end-host 간의 데이터 전송 에러를 검출하거나 제어한다. ex) TCP(relivable data transfer) |
3 Network Packets | protocol: ICMP, IP, IGMP equipment: router | end-host 간의 데이터를 전달하는 책임을 갖는다. |
2 Data link Frame | protocol: MAC, PPP equipment: switch, bridge | 에러 없이 hop과 hop사이의 데이터를 전달하는 책임을 갖는다. 주로 MAC을 이용한 정확한 전달을 한다. |
1 Physical Bits | protocol: ethernet, RS-232C equipment: hub, repeater | 물리적인 매체를 통해 데이터를 전송하기 위해 요구되는 기능들을 관리. hop간의 연결 신호 방식을 다룸 |