Skip to content

네트워크 총 정리 1편 #139

Closed
Closed
@Youngminah

Description

image

  • 지금까지 학교다니며 정리충처럼 정리하고 외웠던 네트워크 .... 금붕어인지 맨날 까먹음;
  • 아는데 맨날 머리에 얽혀있어 이제는 한마디 말 못하던.. 네트워크 ...!! 정리 시작합니다
  • 이번 정리는 꽤 길 수 이씀!


인터넷

  • 두가지 관점으로 정의 가능
  • Nuts and Bolts 너츠앤볼츠 관점
    • 하드웨어에 관한 정의
    • 너츠앤볼츠 관점에서 인터넷은 호스트 = 종단 시스템 (가장 자리에 있는 애들) , 링크, 패킷스위치 (라우터, 스위치) 3가지로 이루어짐
  • 서비스 관점
    • 어플리케이션에게 서비스를 제공하는 구조에 관한 정의임.
    • 어플리케이션에 서비스를 제공할 때, 프로그래밍을 통해 소켓이나 아이피를 연결하여 서비스를 제공함.
    • 이 때, 패킷이란 단위로 나누어 제공하는 데 효율성이 높아짐.


프로토콜

  • 네트워크에서 프로토콜이란, 네트워크 통신 규약으로 메세지를 보내고 받는 것의 순서나 형식을 정하는 것을 말함
  • 예) TCP, IP, HTTP, Wifi ( 802.11 )


네트워크의 구조 ⭐️

image

  • 너 혹시 네트워크 구조는 혹씨 알고 코딩하는거닝..?
  • 네트워크 엣지, 엑세스 네트워크, 네트워크 코어로 구성됨
  • 네트워크 엣지
    • 호스트, 종단시스템 다 같은말
    • 네트워크에 가장자리에 있는 시스템을 의미함.
    • 예 ) 데스크탑, 서버, 모바일 기기 등이 될 수 있음
  • 엑세스 네트워크
    • 종단 시스템이 네트워크 코어와 연결하는 커뮤니케이션 링크 부분을 말함.
    • 엑세스 네트워크는 대역폭(bandwidth)은 얼마나 할 지, 공유로 할지, 독단으로 사용할지가 중요하다.
    • 유선 엑세스 네트워크
      • 집에서 네트워크 연결 할 때 사용하는 엑세스 네트워크 종류
      • DSL (digital subscriber line)
        • 선을 이용한 엑세스 네트워크 연결 방법으로
        • 한 집이 링크를 독단적( 혼자만이용) 하는 것이 특징
      • Cable
        • 여러 집이 엑세스 네트워크 링크를 공유하여 보냄
        • 공유가 가능한 이유는 주파수를 다르게 하여 보내기 때문에 섞이지 않고 보낼 수 있음. ( Frequency division multiplexing )
        • 기업에서 네트워크 연결 할 때 사용하는 엑세스 네트워크 종류
      • 이더넷
        • 주로 학교, 회사에서 이용한다. 이더넷 스위치를 이용하여 연결.
    • 무선 엑세스 네트워크
      • LAN (근거리 통신망) : Wifi 이용
      • WAN (장거리 통신망) : 4G, LTE, 5G
  • 네트워크 코어
    • 복잡하게 얽혀진 라우터들을 말한다.
    • 네트워크의 핵심 기능 2가지
    • 라우팅 (routing) : 출발지에서 목적지 까지 경로를 정하는 것. 포워딩 테이블을 만드는 것
    • 포워딩 (forwarding) : 라우터에서 다음 라우터로 패킷을 보내는 것. 포워딩 테이블에서 읽고 다음 라우터로 보내는것
    • 두 가지의 차이점 전공자라면 이정돈 알아야쥐..?❗️
    • 라우팅 알고리즘(다익스트라 등등)을 이용하여 포워딩 테이블을 만듦.
    • 데이터를 엑세스 링크로 보내는 2가지 방식
      • 패킷 스위칭 : 패킷을 쪼개서 보내는 방법
      • 서킷 스위칭 : 패킷을 쪼개지 않고 한번에 보냄


패킷 스위칭의 핵심 원리 (그만좀 까먹자구..)

  • 패킷 스위칭의 가장 핵심 원리는 뭐다? Store-and-forward 방식 (대체 이건 봐도봐도 까먹는거지ㅡㅡ)
  • Store-and-forward : 저장한 뒤 보낸다는 원리
    • 즉, 총 패킷의 길이가 라우터에 도착해야만 다음 라우더로 보낼 수 있다는 뜻
    • 그렇기 때문에 propagation delay 말고도 transmission delay도 생겨남.


패킷 스위칭에서 Delay

image

  • 총 Delay = Process Delay + Queuing Delay + Transmission Delay + Propagation Delay 총 4가지로 나뉜다.
  • 일반적으로 process delay 와 queuing delay는 매우 짧고, propagation delay가 가장 길다.
  • Process delay : 어느 링크로 갈지 정하는데 걸리는 시간
  • Queuing delay : 큐에서 대기 시간
  • Transmission delay : 총 패킷의 길이가 올라오는데 걸리는 시간
  • Propagation delay : 링크를 타고 다음 라우터까지 가는데 걸리는 시간


전송지연(Transmission Delay)와 전파지연(Propagation Delay)는 다른것 ⭐️

  • 이것의 차이는 미묘하지만 매우 중요함
  • Transmission Delay : 패킷이 모든 비트로 링크로 올리는데 걸리는 시간으로 패킷의 길이와 관련되어있고,
  • Propagation Delay: 다음 라우터까지 전파되는데 걸리는 시간으로 링크 처음부터 다음 라우터까리의 거리와 관련이 있다.


큐잉 딜레이(queuing delay)의 발생 이유

  • 도착 비율이 전송 비율보다 클 경우 라우터에 있는 버퍼 (큐)에서 대기하게 된다.
  • 그렇지 않으면 발생하지 않음.
  • 네트워크의 혼잡도에 따라 다르다.
  • 일반적으로는 전파 딜레이가 가장 길지만, 네트워크 혼잡도하면 큐잉딜레이가 더 길 수도 있음.


네트워크 통신시 패킷 손실 (Packet loss)가 발생하는 이유

  • 라우터 안의 버퍼(Queue)가 꽉 찬 경우 더이상 패킷을 저장하지 못하고 유실이 일어난다.


네트워크에서 데이터를 보내는 방식중 Packet switching을 쓰는 이유 ? 장점! ⭐️

  • 공유 방식 링크 (shared)를 사용 할 때에 는 여러 호스트가 access link를 함께 이용하게 된다.
  • 이 때, 만약 패킷스위칭을 쓰지 않을 경우 어떠한 호스트의 메세지가 너무 길면 link를 독점하게 되므로,
  • 다른 호스트는 사용할 수 없어 비효율적이게 된다.
  • 스케줄링 같은 느낌쓰


서킷 스위칭 Circuit Switching

  • 대표적 예. 유선전화
  • 독점적으로 자원을 보내는것이 가능하다. (no sharing)
  • 장점 : 어느정도의 성능이 보장된다.
  • 서킷 스위칭의 방법 : FDM 방식 ( 주파수 분할 방식 ) , TDM 방식 ( 시간분할 방식 )
    image


패킷 스위칭 vs 서킷 스위칭 ⭐️ 이거핵심

  • 패킷 스위칭
    • 네트워크를 보다 더 많은 사람이 이용 가능하게 만든다.
    • 간단하고 셋업 과정이 필요 없음. 하지만 패킷을 보낼 때 항상 헤더를 붙여서 보내야함.
    • 또한 공유하기 때문에 혼잡도에 따라 딜레이 발생 가능.
  • 서킷 스위칭
    • 성능(속도)이 보장된다.
    • 무조건 대역폭 일정하게 보장됨. (단점이 될때도 있음)
    • 선을 뚫기 까지 셋업 과정이 필요하다.
    • 비활용 (idle) 기간에 회선 자원이 낭비 될 수 있다.
  • 만약 패킷스위칭이 서킷 스위칭 처럼 성능을 보장받으려면 어떻게 해야할까? ❗️❗️
    • 만약 패킷스위칭도 데이터가 꼭 전송되어야 하는 경우 회선 스위칭 처럼 먼저 어느 정도 Path(길)을 정해서 패킷을 보내는 방법을 사용하기도 함.
    • 대역폭을 충분히 보장 받으면 된다. ( 하지만 아직까지 완벽히 해결 되진 않은 문제 )
    • 대역폭이란?
      • 초당 처리할 수 있는 데이터의 양
      • 대역폭이 낮으면 병목현상을 일으킬 수 있다.
  • ❗️결론
    • 패킷스위칭은 한사용자가 큰 bursty한 데이터를 가지고 있다면
    • 혼자. 전체 대역폭을 사용할 수 있기 때문에,
    • 대역폭을 나눠서 일정 대역폭을 보장받는 회선 스위칭 방식보다 성능이 더 좋다.
    • 하지만, 단점도 따르는 법!
    • Congestion(혼잡) 발생시 패킷 전송지연과 손실을 야기할 수 있다.
    • 따라서 안정적인 데이터 전송과 혼잡제어가 가능한 프로토콜이 필요함


네트워크의 네트워크 구조

  • 앞에서 언급했듯이 인터넷은 단말과 접속 (access) ,
  • 네트워크 가장자리(edges) ,
  • 가장자리를 연결하는 인터넷 서비스 제공자들(ISPs)의 라우터를 포함하는 네트워크 코어(core)로 이루어짐.


ISPs (Internet Service Provider)

  • 우리가 흔히 '인터넷 회사'라고 부르는 업체들, 인터넷 서비스 제공자 라고 칭함
  • 단말 시스템들은 접속 ISPs들을 통해 인터넷과 연결 됨
  • 접속 ISP는 DSL, 케이블, FTTH, 와이파이, 셀룰러을 포함하는 다양한 접속 기술을 이용하여 유선 또는 무선 연결을 제공함.
  • ISP는 반드시 KT, SKT, LG 등의 케이블 회사일 필요는 없음.
  • 이러한 케이블 회사는 주거 or 지역 (residential) ISP임.
  • 가정이라면 지역 ISP를 통해서 인터넷에 접속함.
  • 대학교, 회사도 ISP가 될 수 있다.
  • 이를 위해 네트워크의 네트워크가 탄생하게 되는것
  • 이러한 네트워크의 네트워크 구조의 진화는 성능적인 고려보다는 경제적, 국가적 정책에 의해 이루어짐.
  • 그럼 이제부터 네트워크의 네트워크 구조를 알아보자 !
  • 네트워크의 네트워크 구조는 크게 5가지가 있음.


네트워크의 구조를 보기 전에 생각해 보아야 할점

image

  • 위와같이 총 N개의 접속 ISP들이 있다고 가정
  • 만약 ISP들끼리 서로 다른 접속 ISP들과 직접 연결된다고 생각해보면,
  • 연결의 수는 결국 N(N-1)가 된다.
  • 방향이 없다고 쳐서 나누기 2를 해도 복잡도 개념으로 본다면 O(N^2)를 따르게 됨..
  • 이와 같은 연결은 확장성(Scalability)가 떨어지게 된다.


네트워크 구조 1

image

  • 각각의 접속 ISP들이 하나의 글로벌 ISP와 연결된 구조.
  • 글로벌 ISP가 1개 존재하는 구조 !
  • 글로벌 ISP는 전 세계적으로도 적어도 수십만개에 이르는 접속 ISP와 가까운 곳에 있는 라우터를 갖는 통신 링크의 네트워크 임
  • 물론, 글로번 ISP가 이러한 확장된 네트워크를 구축하는것은 매우 비용이 많이 든다.
  • 이익을 얻기 위해 각각 접속 ISP에 연결을 위한 과금을 요청하는 것은 자연스러움
  • 따라서 여기서 Customer(고객) , Provider(제공자)의 개념이 나옴.
  • 접속 ISP가 글로벌 ISP에게 요금을 지불하고 서비스를 받기 때문에, 접속 ISP는 Customer(고객)이고,
  • 글로벌 ISP는 제공자(provider)임.


네트워크 구조 2

image

  • 글로벌 ISP가 다수개 존재하는 구조
  • 당연히 네트워크는 네트워크구조1 보다 네트워크구조2를 선호하게된다.
  • 경쟁을 하면서 더나은 서비스를 제공하려 하기 때문이다.
  • 글로벌 ISP도 서로 연결 해야함.
  • 하지만 글로벌과 글로벌끼리의 연결은 과금을 요청하는 고객과 제공자의 관계로 연결되진 않는다.
  • IXP를 통해 연결되거나 직접 라우터와 라우터로 연결될 수 있음.
  • IXP( Internet eXchange Point) : 2016-7년까지 약 400개 이상의 IXP가 존재함
  • 직접 글로벌 글로벌이 라우터 끼리 연결되는 것을 Peering Link라고 부름.
  • Peering Link에선 서로 요금을 지불하지 않음.


네트워크 구조 3

image

  • 현실적으로 어떤 글로벌 ISP는 훌륭하지만, 전세계 모든 도시들에 ISP가 존재할 수는 없음.
  • 대신 지역 ISP가 있음.
  • 이러한 지역 ISP에도 경쟁적인 지역ISP가 있을 수 있음
  • 그리고 큰 지역ISP 작은 지역 ISP가 있을 수 있다.
  • 이 말 뜻은 지역 ISP간에도 고객 - 제공자 관계가 성립될 수 있다.
  • 이러한 다중 구조 계층을 네트워크 구조 3이라고 한다.


네트워크 구조 4

  • 오늘날의 인터넷과 더 유사한 네트워크를 구축하기 위해서 PoP(Points of Presence), 멀티-홈(Multi-Home), 피어링, IXP가 포함됨
  • 네트워크 구조 3에 이 4가지가 포함된 것이 네트워크 구조 4
  • PoP는 제공자의 네트워크 내에 있는 하나 혹은 그 이상의 라우터 그룹임
  • MultiHome: 여러 제공 ISP와 연결하는 것. 서비스 제공자 중 하나가 연결되지 않더라도 패킷을 송수신 가능. Fault-tolerant


네트워크 구조 5

image

  • 콘텐트 - 제공자 네트워크를 추가로 구축함.
  • 예를들면 구글이 될 수 있는데 이러한 콘텐트 제공자 네트워크는 자신의 네트워크를 구축함으로써
  • 상위 계층 ISP들에게 지불하는 요금을 줄일 뿐만 아니라
  • 최종 사용자들에게 자신들의 서비스가 궁극적으로 어떻게 전달되는지에 대한 더 많은 통제권을 가질 수 있다.
  • 즉, 사용자의 요구에 맞는 컨텐츠 및 서비스를 제공할 수 있게 된다.


Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Assignees

No one assigned

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions