인터넷의 end system 들을 연결하는 패킷 스위치들과 링크들의 연결망
-> end system 들을 연결 시켜주는 중간역할을 하는 부분
-> 망 사업자들이 깔아 놓은 router 들의 집합.
-> 가입자 망 끼리 연결시켜 주는 router 들의 집합.
-> 많은 양의 데이터를 빠른 속도로, 원하는 목적지로 잘 배달해 주는 것이 목적.
-> packet switching 을 통해 전송
packet switching
패킷이 어디로 보내질 지 결정하는 것이다.
보내야 할 메세지를 패킷이라는 단위로 나누고 라우터들을 거쳐서 패킷을 전송한다.
한 라우터로 부터 다음 라우터까지 연결된 회선이 속도가 있어서 속도에 따라 패킷을 전달하게 된다.
-> 각각의 패킷은 최대 link capacity로 전송된다.
패킷은 store-and-forward 방법을 통해 전달된다.
패킷을 보내면 일단 라우터에서 받고 어디로 보낼지 판단한 후 그쪽으로 패킷을 전달한다.
-> 저장 후 전달 방식.
-> 해당 패킷의 모든 데이터를 다 받아야 출력 링크를 통해 목적지로 패킷을 전송한다.
-> 출발지 부터 목적지 사이에 라우터가 존재하는데, 한 패킷을 라우터로 보낸 후 다 받은 다음 다시 전송한다.
-> 중간 라우터가 전체 패킷을 받아서(store) 처리 후 전송(forward)
예시
L(패킷 비트수) = 7.5M, R(전송률) = 1.5Mbps -> L/R = 5
-> 총 패킷이 세개라 하면 1번이 라우터에 가는 시간 L/R
-> 2번이 라우터에 가는시간, 1번이 라우터에서 목적지로 가는 시간 L/R
-> 3번 올라오고 2번 가는 시간 L/R
-> 3번 목적지로 가는 시간 L/R
-> 총 4 x L/R 시간이 걸림
-> 만약 store and forward 아니었으면 L/R 만에 다감.
queueing
라우터가 처리를 해서 다음 라우터로 전달하는 속도 보다 들어오는 속도가 더 빠르면 넘치는 데이터들을 라우터의 버퍼에 쌓는다.
-> 데이터가 들어오는 속도보다 회선의 속도(나가는 속도)가 느리면 라우터의 메모리(큐)에 패킷이 쌓여서 딜레이가 발생한다.
-> 네트워크의 혼잡 정도에 따라 달라질 수 있다.
loss
큐 역시 메모리이기 때문에 한계가 있다. 즉, 저장할 수 있는 패킷의 수가 정해져 있기 때문에 큐가 꽉 차면 패킷을 더이상 받지 않고 drop(loss)한다.
-> 데이터 처리가 느려지고 손실 발생이 가능하다.
예시
A와 B가 100Mb/s의 속도로 패킷을 보내고 있고 라우터에서 나가는 링크의 속도가 1.5Mb/s 일 때 queueing delay가 발생하고, 전송이 느려지게 될 것이다.
(참고 mbps : 초당 비트수, Mb/s : 초당 바이트수)
네트워크 코어의 주요 function 두개
Routing
받은 패킷을 목적지 까지 빠르게 전달하기 위해 어디로 보낼지 판단하는 것이다.
-> 목적지에 따라 경로를 정함
Forwarding
아웃풋 인터페이스가 여러 개 있는데 어디로 보낼지 결정하는 것이다.
-> 포워딩 테이블을 보고 결정함
-> 데이터의 Destination address(header value랑 관련)를 보고 어떤 아웃풋 인터페이스로 보낼지 정하는데, 이 때 포워딩 테이블을 보고 판단한다.
-> 이 테이블을 만들고 관리하는 방법이 라우팅 알고리즘(어떤 라우터 끼리 연결되어 있고, 어디로 보내는 것이 가장 합리적일 지 결정)
즉, 패킷의 헤더에 목적지의 주소가 있고, routing algorithm을 통해 forwarding table을 만든 후 라우터에 패킷이 오면 패킷의 목적지 주소와 table의 header value를 보고 output link를 결정하여 내보낸다.
-> 라우팅 : 경로 생성을 위해 라우터끼리 협력 / 포워딩 : 패킷이 왔을 때 실제 전달하는 기능
circuit switching
출발지와 목적지 사이의 경로가 정해지면 필요한 자원들(버퍼, 링크 전송률 등)이 예약된다.
-> 여러 circuit이 있을 때 라우터들 사이에 어떤 circuit을 사용할지 정하면 다른 애들은 이 circuit을 사용하지 못한다.
-> dedicated resource : no sharing -> 간섭이 없다. 보장되어 있다.
-> 회선에서 아무런 정보의 이동이 없더라도 공유가 안되기 때문에 idle 한 상태로 남아있게 된다.(예를 들어 전화 중 아무 이야기도 안할 때 데이터의 전송이 없지만 그 회선을 다른사람이 사용 못함(자원 낭비))
-> 주로 전화망에서 사용된다.
-> 그림에서 만약 라우터들 사이의 전송속도가 1Mbps라면 회선이 4개 이므로 각 연결당 250Kbps의 전송속도를 갖는다.
특징
1. 경로를 미리 정한다.
2. 자원을 공유 안한다.(독립적)
3. delay와 loss가 완화된다.(자기만의 경로가 정해져 있기 때문에)
Circuit switching : FDM and TDM
FDM : frequency division multiplexing
-> 회선에 신호가 전달이 될 때 주파수를 분리해 놔서 동시 전송 가능(섞이지 않게)
-> 미리 정한 주파수만을 사용한다.
-> 그림에서 유저가 5명이라면 한명은 못사용한다.
TDM : time division multiplexting
-> 모든 대역을 사용하지만 시간으로 나누는거
-> 마찬가지로 4명의 유저에게 다 할당했으므로 5명이면 한명은 사용 못한다.
패킷 스위칭이 공유하기 때문에 많은 사용자가 네트워크를 사용 가능하다.
예시
-> 데이터를 전송할 트래픽이 있을 때 active라 하는데, active 시간이 전체 시간의 10%이다
-> 전체 시간 중 10%는 보낼 데이터가 있고, 나머지 90%는 보낼 데이터가 없음.
circuit switching
1Mbps 의 link를 사람 당 100Kpbs를 사용하므로 총 10명이 사용할 수 있다.(1M / 1K = 10)
packet switching
-> 여러 사용자가 동시에 사용하게 되면 큐잉 딜레이 때문에 늦게 도달할 수 있다.
-> 하지만 사용자가 35명이라 해도 11명 이상의 인원이 동시에 active할 확률은 0.0004(0.04%)보다 작다.
-> 많은 사용자가 사용이 가능해져서 효율성이 높아진다.
packet switching vs circuit switching
무조건 패킷이 좋은가?
패킷의 장점
패킷의 단점
인터넷 구조 : 네트워크의 네트워크
end system 들은 access ISP(Internet Service Provider, 가입자망)를 통해 인터넷과 연결되어 있다.
Access ISP 끼리 서로 연결 되어있어야 한다.
-> 연결 되어 있어야 임의의 두 호스트가 서로 패킷을 보낼 수 있다.
네트워크의 네트워크는 매우 복잡하다
-> 경제적, 국가적 정책에 따라 연결 되었다.
네트워크 구성 방법
수백만개의 access ISP 들이 존재한다. 어떻게 연결할 까?
모든 access ISP 들을 서로 연결해 준다. -> 연결이 너무 많아져서 불가능하다.
중간에 하나의 global ISP가 존재한다. -> 모든 망들이 global ISP를 통해 다른 망으로 가도록 한다(돈을 내고 사용) -> 전세계를 하나의 global ISP로 관리하는것은 힘들다
여러 ISP들이 존재한다. -> 어느 하나에 몰리면 그 ISP가 힘들다.
IXP(ISP 끼리 연결시켜 주는 라우터)를 통해 ISP 끼리 서로 연결해 주자(peering)(자기들 끼리는 무료)
access net을 ISP와 연결해 주는 regional net을 만드는 경우도 있다.
-> 특정 지역에서 여러 가입자 망들한테 자기네 망을 이용하여 ISP를 지원해 주는거 -> 가입자가 regional net한테 돈 내고, regional net이 ISP로 돈 내는거(망 사용료)
Content provider network -> 자체적으로 유뷰트 같은 서비스 제공해 주는 네트워크
현재 인터넷 구조(계층적 구조 - 완전한 계층은 아님, 제공자 소비자 구조)
출처 및 참고
https://wonder-j.tistory.com/34?category=819863
https://inyongs.tistory.com/48?category=761968
https://wogh8732.tistory.com/14
Computer Networking A Top-Down Approach 7-th Edition / Kurose, Ross / Pearson
서강대학교 기초컴퓨터네트워크 강의자료