본문 바로가기

ComputerScience/Network

[Network] Network edge, Network Core 개념 정리!! #2 | 컴퓨터 네트워킹

 

KOCW 컴퓨터 네트워크: 이화여자대학교 이미정 교수님의 강의를 수강하며 정리한 글 입니다. 
강의 원본 링크: http://www.kocw.net/home/cview.do?cid=e44bdd9b3a3f9bb5
+ 학교에서 배웠던 내용도 부가적으로 정리했습니다.

 

이번 강의를 듣기전에 간단하게 마인드맵으로 복습을 해보았습니다.

 

 

 

 

[ Network Edge(가장자리) ]


[ Host ]

네트워크에 연결되어 있는 컴퓨터입니다. 호스트는 여러개의 네트워크 applicatino program을 실행하고 네트워크를 통해 다른 애플리케이션들과 상호작용합니다. 상호작용을 위해 accessNetwork로 내보내는 역할을 담당해야 합니다. 클라이언트가 될 수도 있고, 서버가 될 수도 있습니다. End system로도 불립니다.

 

[ e.g. ]

  • 타 사용자에게 메시지 주거나 받기
  • 웹 페이지 요청 및 응답 처리 등
내보내기 전에, data를 packet이라 불리는 chunk(block, 정보 뭉치)로 변환합니다.
이후 accessNetwork에게 link로 전달합니다.

 

🤩 [ Summary ]
 Host는 application's message data를 여러 packet으로 잘라서 access network로 전달합니다.

 

[ QnA ] A packet 을 host -> access Network로 전송하기 까지 걸리는 시간은?

  • A packet's size: L bits
  • transmission rate(bps): R (bits/secinos)
    • ans: L/R sec

[ Link ]

Guided Media (유선 매체)

  • 물리적 와이어 사용
    • [ e.g. ]
      • Copper: 이더넷 케이블
      • Fiber: 회사 헤드엔드 간 고속 전송
      • Coax: 주택 연결
    • [ 특징 ]
      • HFC (Hybrid Fiber-Coaxial): 회사 헤드엔드에서 집집마다 연결. 헤드엔드끼리는 fiber 사용
      • Copper (Twisted Pair, TP): 다양한 대역폭 지원
      • Broadband: 주로 HFC 사용
      • Fiber Optic Cable: 빛의 펄스로 데이터 전달, 빠른 속도, 낮은 노이즈 영향

Unguided Media (무선 매체)

  • 물리적 와이어 없음
    • [ e.g.] 와이파이, 셀룰러 (3G, 4G)
    • [특징] 
      • 라디오 링크 사용
      • 문제점: 신호 반사, 장애물에 의한 차단, 간섭 발생. (벽이나 나무들 마주치면 시그널이 이상해짐 = 주변 노이즈에 민감)
      • 장점: 설치 비용 저렴
      • Wifi (Wireless LAN): 802.11b (11Mbps), 802.11g (54Mbps).
      • LAN vs. Wide-area: LAN은 30m 커버리지, Wide-area는 위성 사용해 수백 km 커버리지. 위성 높이 증가 시 커버리지 면적 증가

[ Network Core ]

  • Routers, switches, ISP ...
    • (사용자의 컴퓨터 등)Source -> Destination(예를들어 서버)으로 message 전달.
    • circuit switching, packet switching 

[ Circuit Switching ]

 

telephone network에서 사용됩니다. 사전 작업으로 사용자의 전화로 음성을 전달하기 전에 call을 하기 위한 call setup을 해야합니다. 이는 Source -> Destination으로 가기 위한 router와 경로를 지정, 거쳐가는데 필요로 한 network resources들을 선점해야합니다. 파이프가 연결되듯,, 위 사진의 진한 초록색처럼 말입니다.

 

두 host간 파이프를 구축하기 위해 자원을 분할해둬야 다른 host가 점유중인 네트워크 자원을 가로채지 않습니다.(+ 여러 사람이 사용할 수 있도록.. 이를 다중화(Multiplexing) 기술이라고 합니다.)

 

분할 방식은 크게 FDM, TDM이 있습니다.


[ FDM: Frequency Division Multiple Access ]

 

사용가능한 주파수 대역을 여러 체널로 나눠, 각 사용자에게 고유한 주파수 체널을 할당합니다.

 

cf. 이때 주파수도 국제 표준화가 되어있습니다. (파장별로 특정 파장은 우주 산업, 국제통신, 선박 조난 신호 통신, 기상청 선박 등등..)

 

  • [ Pros ]
    • 간섭이 적습니다(주파수는 노이즈에 약하지만 4명의 사용자들이 특정 대역을 사용할때의 간섭이 적습니다 각 사용자들은 고유한 주파수를 할당 받기 때문입니다)
  • [ Cons ]
    • 여러 사람이 이용하지 않는다면 주파수 지원 효율성이 낮습니다. 

 

cf. 왜 이런걸 만들었을까요...

[ TODO ]: 전송매체가 하나일 때 여러명이 사용할 수 있도록 하자!!

 


[ TDM : Time Division Multiple Access ]

 

시간 분할 방식은 크게 ATDM(비동기식), STDM(동기식) 두 가지 경우가 있습니다. 동기화를 한다는 것은 최악의 성능에 초점을 맞춰야 하기 때문에 각각의 기계 성능을 최대로 이용할 수 있는 ATDM이 좋습니다.

 

단일 주파수 체널에 대해 일정한 시간 간격으로 나눠 각 사용자에게 주기적으로 시간 슬롯을 할당합니다. 시간 지연이 걸릴 수 있습니다. 정해진 시간 슬롯에 데이터를 전해야하기 떄문입니다. 또한 정해진 시각에 데이터를 보내기 전까지 기다려야하기 때문입니다. 

 

중요한 것은. 전화 네트워크에서 사용되는 다중화 기술인 TDM, FDM 둘다 사용자가 자원을 점유할 때 겹치지 않아야 합니다. (대화중에 다른사람 음성이 들릴수도?!) 끊기 전까지 음성이 지속적으로 전달됩니다. 

🤩 [ Circuit Switching: Summary ]

Circuit Switching 특징: call setup을 해야함 (특정 시간대에 최소 두 사용자가 네트워크 자원을 점유)
- 이때 네트워크 효율적으로 사용하기 위한 방인이 FDM, TDM.

FDM, TDM은 다중화 기술
사용가능한 주파수 대역을 여러 사용자가 이용할수 있도록 하기 위함. 이들은 전화 네트워크에서 사용됨. 전화 특성상 최소 두 사용자간 통신할 때 지속적으로 네트워크 자원을 점유하기위해 FDM, TDM은 힘써야함.

FDM:  각 사용자는 고유한 주파수 대역을 할당 받아 독립적으로 사용
TDM: 각 사용자는 독립적인 time slot을 할당받아 해당 시간동안 독립적으로 데이터 전송함.

[ Packet Switching ]

Circuit switching이 전화 네트워크에서 사용됬지만, 두 사람이 실제로 통화중인데? 음성 전송을 안하는 경우에도 네트워크 자원을 점유해야하는 단점이 있습니다. 데이터 트래픽 급 상승되는 낮 시간대에도 더 효율적으로 네트워크 자원을 사용하고자 패킷 교환방식이 등장하게 됬습니다.

https://ko.wikipedia.org/wiki/%ED%8C%A8%ED%82%B7_%EA%B5%90%ED%99%98

 

위 그림에서, 3개의 packets는 router들을 경유하며 나아갑니다. 이때 시작 -> 도착지까지 목적지를 사전에 정해두지 않습니다.

Curciut switching에서 사용되던 call setup이 없습니다.

 

그 대신 각각의 패킷에는 Source-> Destination으로 도달하기 위한 주소가(mac addr, ip addr, port #)담겨져 있고, 이를 기반으로 각각의 둥그런 노드(router)에서는 목적지로 향하기 위한 라우팅 알고리즘을 통해 다음 노드(router) 탐색 ... -> 목적지까지 패킷(데이터)들을 전달하게 됩니다. 이때 두 원사이에 패킷이 특정 간선(link)를 이동하기 위해 그때그떄 자원이 할당됩니다.

 

 

[ e.g. ]

사용되지 않는 link(간선)이 생겨 데이터를 전달할 수 있게 됬는데, 아무도 전달을 안한다면, link 대역폭 전체를 사용해서 전달할 데이터(packet)을 전달합니다. 그러나? 특정 패킷이 이미 link를 통해 다음 노드로 이동하게 된다면 해당 링크가 끝날 때까지(노드에 도달할 때까지) 대기했다가 데이터를 전달합니다.

 

ISP1, ISP2에서 데이터가 들어와 ISP3으로 전달해야할 때 먼저온 packet이 ISP3으로 전달하게 됩니다. 나머지 ISP는 해당 운송이 전달될 때까지 기다려야 합니다.

 

[ e.g.. ]

한 사용자가 한방에 메시지 100MB를 전송해야한다면 메시지가 link를 오래 점유하게 됩니다. 

장점: 주소 하나만 있으면 목적지 까지 도달할 수 있습니다.

단점: 만일 데이터를 보내다가 특정 데이터가 손실되었다면? 다시 노드들을 거쳐서 100MB 전부 보내야합니다.

 

이걸 잘게 잘라서 목적지를 명시해준다면? 100개의 조각으로 잘라서 보낼 때 각각의 라우터 관점에선 스루픗도 증가하며, 에러가 발생된 그 특정 패킷만 다시 보내는 처리등을 수월하게 할 수 있게 됩니다.(100MB 다시 보내는것보다  1MB 다시보내는게: ) 물론 각각의 패킷별로 도착지 주소를 명시해야하는 지연이 있지만 이전 보다 훨씬 효율적입니다.

Note. 

Network Edge에 위치한 Host(End system)의 역할은?
User Application message data를 packets로 잘라 access network(for networking)로 전달해야만 라우터(노드)와 링크(간선)를 거쳐갈 때 특정 크기의 packet들이 서로 기다리지 않고 전달됩니다. 이떄 패킷의 크기가 일정하다면 라우터간 거쳐가는 링크의 점유시간 예측도 가능합니다.

 

🤩 [ Summary ]
Network Edge의 host 역할: 메시지 data를 packet화 한다. 이때 packet에는 OSI 에서 특정 layer의 header를 거쳐가며 도착지 주소를 명시(mac addr, ip addr, port #)

패킷화 된 데이터들은 최종 목적지로 가기위해 link를 통해 router로 나아감.
telephone network는 call setup이 필요하고, 사용자간 원활한 통신을 위해 TDM,  FDM을 사용하지만 통화중 서로가 정적이 흐를 때도 네트워크 자원은 점유중이고, 피크시간대에 트래픽이 높은 internet이 위와 같은 다중화 방식을 사용하기에는 한계가 있음. 
데이터를 잘게 자르자. Link를 최소한 점유함으로 다른 패킷들도 많이 이용할 수 있도록. 이때 데이터간 이동에 필요한 두 router, link만 네트워크 자원을 점유하도록 하자!

[ Network path for switching a Packet ]

  • Access Network: host를 통해 패킷화 된 데이터를 받아들이고 인터넷(network)로 전송
  • Router: Data packet을 목적지로 전달하는 역할 담당. 여러 라우터를 경유하며 패킷들이 전달. 이때 라우팅 알고리즘으로 최적의 다음 라우터를 찾아감
  • Link: 두 라우터간 패킷이 전달될 때 사용되는 물리 회선

[ Packet switching: Store and Forward ]

 

한 사용자는 packet당 L bits 3개를 만들었습니다. 이떄 link가 router(둥근 X표시)한테 전송하는 속도는 R bps입니다. 그렇다면 source -> router로 가는데 걸리는 시간은 L/R sec가 걸립니다.

 

[ cf. Let's think about a router's perspective: D ]

Access Network의 주 역할은 첫 router로 packet을 전달하는것입니다. 그 후에 router간 위의 packet이동 또한 위의 관점에서 L/R sec가 걸릴수 있습니다.

이때 router는 네트워크 자원을 효율적으로 사용하기 위해 최적의 다음 라우터를 찾아야 합니다. 그 라우터를 찾기위해 패킷안에 감싸져 있는 특정 헤더들을 OSI 특정 layer로 거슬러 올라가며 주소들을 확인도 해야합니다. 
해당 그 라우터로 가기위해서 특정 링크를 사용해야하는데, 지금 다른 패킷이 해당 링크를 사용중인지도 확인해야 합니다. 그러는 과정에서 또 다른 패킷이 router로 전송된다면? 패킷 손실 없게 저장해야 할 것입니다:)

여러모로.. 패킷 라우터에 도착하자마자 다음 라우터로 곧바로 전송될 수 없기 때문에, 우선! 저장되야 합니다. 그렇게 여러 조건을 통해서 목적지가 정해지고, link를 선점할 때 packet을 다음 라우터 forward합니다.


[ Packet switching: Queueing delay, loss ]

 

  • Queueing delay는 즉 packet을 store해야하는데, 그로인한 delay가 발생된다는 것입니다.
    • 이때 단점은 짧은 시간 내 queue에 packet들이 쌓이는 것입니다. 이 버퍼는 한계가 있으므로 오버플로우가 발생될 가능성도 있습니다. 이때 loss가 발생됩니다.

 

🤩 [ Summary ]: Packet switching

[ 장점 ]: 동시간 대에 circuit switching보다 많은 사람들의 메시지 전달 가능.
Bursty data(데이터 전송 일정x, 갑작스레 짧은 시간 동안 많은 양의 데이터 발생하는 경우)에 대해 call setup이 없기에 훨씬 간단.
[ 단점 ] : congestion이 문제. 특히 오디오, 비디오(streaming data)의 경우 bps(bandwidth) 보장이 필요. 최소한의 딜레기아 있어야 합니다. 이전 프레임과도 간격이 적어야 하는데, 이게 보장된다면 queueing delay가 발생됩니다. (이런걸 보장하기 위해 버퍼링 등의 기술들이 있긴 합니다) 

 

코어는 노란 영역! 이것은 network of networks. structure를 띄게되는데,,,


[ Internet structure ]

Source host -> access network으로 첫 router연결  -> Destination host 로 도착. 이렇게 모든 host마다 선을 깔게 될 경우 너무많은 회선을 깔아야하고, 더이상 사용하지 않는다면? .. 여러모로 확장성이 낮습니다.

 

그래서 core를 두게 됩니다. 여기에는 global ISP(Internet Service Provider)(돈많이버는 곳) 라는 인터넷 사업자들은 자신의 네트워크를 소유하고, ISP의 라우터들은 서로 연결되어 있습니다. 그래서 데이터를 보낼 때 access Network가 global ISP's specific router(둥근 X표시)에 연결되기만하면 어디든지 다른 host로 거쳐가게 되는 경로가 생기게 됩니다.

 

돈 몰리는데는 여러 사업자들이 모이기 마련!!

 

이렇게 ISP A, B, C가 생겨납니다. 빨간선이 없을때의 문제는 각각의 ISP들만 통신을 하게 됩 니다. 그래서 대규모 ISP간 perring link를 통해 패킷들이 경유할 수 있게 됩니다.

 

peering link말고도 IXP(Internet exchange point)를 통해 경유할 수도 있게되고, 로컬끼리도 경우하게 됩니다. 이것도 더 세분화 됩니다.

 

 

이때 상위 노드는 하위 노드들에게서 돈을 받아갑니다. (그래서 비싼건가..)

 

이때 ISP도 1ter가 있습니다. 우리나라에서는 3사(kt, skt, lg)를 떠올릴 수 있습니다)

 

위에서 언급된 peer는 위 그림에서, 같은 level에 있는 다른 ISP에 연결하는 link입니다. 

to/from backgone(네트워크 주요 중심 축!)은 상위 노드한테 연결

to/from customsers는 돈 주는 ISP한테 연결할 때 명칭입니다. 

 

하위로갈수록 돈을 너무 많이 내야하니까,, level이 같은 local ISP끼리는 서로 비용을 청구하지 않도록 하자!!  perring link를 같은 레벨에서도 연결할 수 있고 settlement-free(무정산 방식)입니다.

 

ISP는 자신위 윗 계층으로 최소 하나 연결 되야 Global ISP에 연결이 가능합니다. 이때 상위 ISP에게로 전송이 실패할 때를 대비해 상위 ISP의 다른 level의 ISP들에게도 여러개 연결될 수 있습니다. Multi-homing( 여러 ISP와 계약을 해서 동시에 여러 인터넷 연결을 유지! )

🤩 [ Summary ]: Internet structure
- 인터넷은 많은 hosts가 직접 연결되지 않고 코어 네트워크에 의존한다. 이는 전 세계 ISP들이 소유한다.
- ISP내부의 라우터들은 연결되어 있다 (패킷 교환 용이)
- Access Network입장에선 특정 ISP's a router에게 연결만 하면 어디로든 end system으로 네트워크 할 수 있게 됩니다
- ISP들 간 연결은 peering link나 IXP를 통해 이루어지는데, peer to peer가 같은 level에서 발생될 때 무정산 방식도 추구한다
- ISP노드는 상위 노드들에게 돈을 지불하고, 하위 노드에겐 돈을 받으며 네트워크 연결지원
- Multi-homing을 통해 여러 ISP들과 연결할 수 있다.

[ Content Provider Network ]

최근에 구글과 마이크로소프트와 같은 콘텐츠 제공자 네트워크(Content Provider Network)는 방대한 데이터를 보유하고 있습니다. 이들은 전 세계 여러 곳에 데이터 센터를 운영하고 있으며, 이 데이터 센터들을 연결하여 자신들만의 네트워크를 구축하고 있습니다. 이로 인해 일부 사용자는 직접 이 네트워크에 연결될 수 있습니다.

 

References:

KOCW 컴퓨터 네트워크: 이화여자대학교 이미정 교수님 강의 링크 바로가기
 
일부 그림들: Computer Networking powerpoint slides 링크 바로가기