/ computer network

컴퓨터 네트워크 - 1. 개요

computer network computer science network isp delay 컴퓨터 네트워크 컴퓨터 공학
https://4am.kr/cs-computer-network-1-summary/

네트워크의 네트워크, ISP, 호스트 간 통신, 회선 교환과 패킷 교환, 지연, 컴퓨터 네트워크 구조 등을 다룹니다.

아래 포스팅은 https://github.com/CyC2018/CS-Notes/ 저장소를 번역하였으며, 원문의 CC BY-NC-SA 4.0 라이선스를 따릅니다.

네트워크의 네트워크

네트워크는 호스트들을 연결하고, 인터넷은 서로 다른 종류의 네트워크들을 연결하므로, 인터넷은 네트워크의 네트워크라 할 수 있습니다.

ISP

인터넷 서비스 제공자(ISP)들은 인터넷 기관들로부터 많은 IP주소를 얻을 수 있고, 통신 회선과 라우터를 비롯한 네트워크로 연결된 장비들을 가지고 있습니다. 개인이나 기관은 ISP에 요금을 지불하고 인터넷에 액세스 할 수 있습니다.

현재의 인터넷은 다중-계층 ISP 구조입니다. ISP는 커버리지 영역의 크기에 따라 최상위 ISP, 지역 ISP, 액세스 ISP로 나뉩니다. 인터넷 익스체인지 포인트 IXP(IX)는 3번째 ISP를 거치지 않고도 2개의 ISP를 연결할 수 있도록 합니다.

호스트 간 통신

  • 클라이언트-서버(C/S): 클라이언트는 서비스의 요청자이고, 서버는 서비스의 제공자입니다.
  • Peer-To-Peer(P2P): 클라이언트와 서버를 구분하지 않습니다.

회선 교환과 패킷 교환

1. 회선 교환(스위칭)

회선 교환은 2명의 사용자가 통신하기 전에 물리적인 전용 링크를 설정하여야 하는 전화 통신 시스템에서 사용됩니다. 또한, 통신을 하는 동안 항상 링크를 점유해야 합니다. 전송 라인이 통신 과정에서 항상 사용될 수는 없으므로 회선의 활용도는 매우 낮아 대체로 10% 미만입니다.

2. 패킷 교환(스위칭)

각 패킷은 헤더(머리)와 꼬리를 가지며, 소스 주소와 목적지 주소와 같은 제어 정보를 포함하고 있습니다. 동일한 전송 회선에서의 다수 패킷의 동시 전송은 서로 영향을 미치지 않으므로, 동일한 전송 회선에서 동시에 다수의 패킷을 전송할 수 있습니다. 즉, 패킷 교환 방식은 전송 회선을 점유 할 필요가 없습니다.

우체국에서는 우체국이 먼저 편지를 받고, 우체국에 편지를 보관한 다음에 같은 목적지의 편지를 다음 목적지로 전달합니다. 이러한 프로세스를 저장 및 전달(store-and-forward) 프로세스라 합니다.
패킷 교환은 다음 링크로 전송하기 전에 저장을 한 뒤 전달하는 이러한 store-and-forward 방식을 따릅니다.

지연

총 지연 = 전송 지연 + 전파(전달) 지연 + 처리 지연 + 큐잉(대기) 지연

1. 전송 지연

호스트 또는 라우터가 데이터 프레임을 전송하는 데 걸리는 시간

(l: 데이터 프레임의 길이, v: 전송률)

2. 전달 지연

전자기파가 매체를 통해 전파되는 데 걸리는 시간으로 전자기파가 이동하는 속도는 빛의 속도에 가깝습니다.


(l: 채널의 길이, v: 전자기파가 매체를 이동하는 속도)

3. 처리 지연

패킷을 수신 할 때 호스트 또는 라우터가 헤더 분석, 패킷에서 데이터 추출, 오류 검사 수행 또는 적절한 경로 찾기와 같이 처리하는 데 필요한 시간

4. 큐잉(대기) 지연

네트워크의 현재 트래픽에 따라 패킷이 라우터의 입력 및 출력 대기열에서 대기하는 시간

컴퓨터 네트워크 구조

1. 5-계층 프로토콜

  • 응용 프로그램 계층: HTTP, DNS와 같은 특정 응용 프로그램에 대한 데이터 전송 서비스를 제공합니다. 데이터 단위는 메시지입니다.
  • 전송 계층 : 프로세스에 대한 범용 데이터 전송 서비스를 제공합니다. 많은 응용 프로그램 계층 프로토콜로 인해 공통 전송 계층 프로토콜을 정의하면 점점 더 많은 응용 프로그램 계층 프로토콜을 지원할 수 있습니다. 전송 계층은 TCP와 UDP라는 2가지의 프로토콜로 구성되어 있습니다: TCP(Transmission Control Protocol)는 연결 지향적이고, 신뢰성 있는 데이터 전송 서비스라는 특성을 가지며, 데이터 단위는 메시지 세그먼트입니다. UDP(User Diagram Protocol)는 비연결을 제공하고, 최선 노력 서비스(Best-Effort Service)라는 특성을 가지며, 데이터 단위는 유저 데이터그램입니다. TCP는 주로 무결성 서비스를 제공하며 UDP는 주로 적시에 서비스를 제공합니다.
  • 네트워크 계층 : 호스트에 데이터 전송 서비스를 제공합니다. 전송 계층 프로토콜은 호스트에 있는 프로세스들에 데이터 전송 서비스를 제공합니다. 네트워크 계층은 전송 계층에 의해 전달된 세그먼트 또는 사용자 데이터그램을 그룹으로 캡슐화합니다.

  • 데이터 링크 계층 : 네트워크 계층은 호스트간 데이터 전송 서비스를 위한 것이며, 호스트 간에는 많은 링크가 있을 수 있습니다. 데이터 링크 계층 프로토콜은 동일한 링크의 호스트에 대해 데이터 전송 서비스를 제공합니다. 데이터 링크 계층은 네트워크 계층에서 프레임으로 전송된 패킷을 캡슐화합니다.

  • 물리 계층 : 물리 계층에서는 특정 전송 매체보다는 데이터 비트 스트림이 전송 매체를 통해 전송되는 방법을 고려하여야 합니다. 물리 계층의 역할은 전송 매체와 통신 수단 간의 차이를 가능한 한 많이 차폐하여 데이터 링크 계층이 이러한 차이를 느끼지 않도록 하는 것입니다.

2. OSI

표현 계층과 세션 계층은 다음을 담당합니다:

  • 표현(프리젠테이션) 계층: 데이터 압축, 암호화 및 데이터 설명을 담당합니다. 응용 프로그램이 각 호스트의 다양한 내부 형식 데이터를 고려할 필요가 없습니다.

  • 세션 계층: 세션을 설정하고 관리합니다.

5-계층 프로토콜은 표현(프리젠테이션) 계층이나 세션 계층을 갖지 않지만 처리를 위해 응용 프로그램 개발자에게 이러한 기능을 제공합니다.

3. TCP/IP

5-계층 프로토콜의 데이터 링크 계층과 물리 계층이 합쳐진 네트워크 인터페이스 계층으로 인해 4개의 계층을 가지고 있습니다.

TCP/IP 구조는 OSI 계층화 개념을 엄격하게 따르지 않으며, 응용 프로그램 계층은 인터넷 계층이나 네트워크 인터페이스 계층을 직접 사용할 수 있습니다.

TCP/IP 프로토콜 군은 중간에 크고 작은 면이 있는 모래시계 모양이며, IP 프로토콜이 중요한 역할을 합니다.

4. 계층 간 데이터 전송

아래 계층으로 갈 때에는 기본 프로토콜에 필요한 헤더와 꼬리부분을 추가하고, 반대로 윗 계층으로 갈 때는 헤더와 꼬리부분을 떼어내야 합니다.

라우터는 네트워크의 핵심에 위치하며, 프로세스 또는 응용 프로그램에 서비스를 제공할 필요가 없으므로 전송과 응용 프로그램 계층을 제외한 3가지 프로토콜 계층만을 포함합니다.