Packet-switching
Packet-switching이란?
switching이란 어디로 갈 지 길을 바꿔주는(정해주는) 역할을 하는 것.
Packet-switching은 패킷단위로 switching하는 것이다. 패킷단위로 어디로 갈 지 길을 정해주는 것이다.
여기에서 중요한 원칙은 Store and forward이다.
라우터가 패킷 하나를 받아서 잠깐 저장(store) 후, 어디로 보낼 지 판단하고 보내는 것(forward)이다. 이 과정에서 시간이 걸리는데 이것을 지연시간(delay time)이라고 한다.
그렇다면 한가지 상황을 보자.
위와 같이 여러 사용자가 link를 공유하고 있는 상황에서, 들어가는 길은 100Mb/s로 넓은데 나가는 길이 1.5Mb/s로 좁다면, 전송이 느려지게 된다.
단위시간 동안 나갈 수 있는 데이터보다 들어오는 데이터가 많게 되어, 결과적으로 queue에서 대기상태로 기다리게 된다. 여기서 실제 라우터의 메모리는 유한대이므로 메모리가 다 차면 패킷이 버려지게 된다.
즉, 메모리에 자리가 있으면 보내지고~ 없으면 버려진다~
Forwarding과 Routing
Forwarding
라우터는 데이터의 목적지 주소를 보고 어디로 보내야할 지 판단해야 한다. 판단해서 보내는 기능을 Forwarding이라고 한다. 그렇다면 무얼 보고 판단할까?? 바로 local forwarding table을 보고 판단한다.
Routing
local forwarding table은 라우터들끼리 만들어야한다. 데이터가 발생하기 전에 라우터들끼리 미리 정보를 주고받는다. 그래서 라우터들끼리 누가 존재하고 누가 연결되어 있고 어디로 보낸게 가장 합리적인지 미리 결정(routing algorithm)한다. 그리고 이것을 forwarding table로 만든다. 이후 패킷이 오면 forwarding table에 근거하여 내보내는 일을 진행할 수 있다.
정리하자면
1. 라우터에 들어오는 패킷의 header에는 목적지 주소가 있다.
2. 이 주소에 대한 경로 정보를 미리 정하는 routing algorithm에 의해 각 라우터에 local forwarding table이 만들어진다.
3. 이후 라우터에 패킷이 왔을 때, 패킷의 목적지 주소와 table의 header value를 보고 해당하는 output link로 보낸다.
- Forwarding : 패킷이 왔을 때 실제 전달하는 기능
- Routing : 경로를 만들기 위해서 라우터들끼리 협력하는 것
(Forwarding과 Routing을 잘 구별할 수 있어야 한다.)
[참고]
Computer Networking A Top-Down Approach 7-th Edition / Kurose, Ross / Pearson
'IT > 네트워크' 카테고리의 다른 글
[ 네트워크 ] Packet-switching vs Circuit-switching (0) | 2020.05.02 |
---|---|
[ 네트워크 ] Circuit-switching (1) | 2020.05.01 |
[ 네트워크 ] Packet (0) | 2020.04.29 |
[ 네트워크 ] Access network (1) | 2020.04.28 |
[ 네트워크 ] network core와 network edge (0) | 2020.04.27 |
댓글