컴퓨터 네트워크 검토 개요

기사 디렉토리

https://img-blog.csdnimg.cn/direct/5fdd814ea00940a9ab09b16c60072941.png

1. 인터넷 개요

1. 네트워크, 인터넷 및 인터넷 개념:

  • 컴퓨터 네트워크(네트워크)는 다수의 노드와 이들 노드를 연결하는 링크로 구성됩니다.
  • 인터넷은 여러 네트워크가 일부 라우터를 통해 서로 연결되어 더 넓은 범위의 네트워크를 형성하는 네트워크입니다.
  • 인터넷은 수많은 다양한 컴퓨터 네트워크로 연결되어 있습니다.

2. 인터넷의 구성

작업 방법에서:

  • Edge 부분: 인터넷에 연결된 모든 호스트로 구성됩니다. 사용자가 직접 통신 및 자원 공유를 위해 사용하는 부분입니다.
  • 핵심 부분: 수많은 네트워크와 이러한 네트워크를 연결하는 라우터로 구성됩니다. 이 부분은 Edge 부분(연결 및 스위칭 제공) 역할을 합니다.

qq_pic_merged_1701862396749.jpg
"호스트 A와 호스트 B가 통신한다"는 것은 실제로 "호스트 A에서 실행되는 프로그램이 호스트 B에서 실행되는 다른 프로그램과 통신한다"는 의미이므로, "호스트 A의 프로세스가 호스트 B의 다른 프로그램과 통신한다"는 프로세스가 통신한다"는 의미이다. 컴퓨터

2.1 엣지에서의 통신 방법

(1) 클라이언트-서버 방식(C/S)

개념: 서비스 간의 관계와 프로세스 간
서비스를 설명합니다 . 클라이언트와 서버 간의 통신 관계가 설정된 후 ** 통신은 양방향이 가능합니다
IMG_20231206_200027.jpg
. ** 클라이언트와 서버 모두 클라이언트 프로그램 기능을 보내고 받을 수 있습니다 .

  • 사용자가 호출한 후 실행되며, 통신 중에 원격 서버와 적극적으로 통신을 시작하므로 클라이언트 프로그램은 서버 프로그램의 주소를 알고 있어야 합니다.
  • 특별한 하드웨어나 복잡한 운영 체제가 필요하지 않습니다.

서비스 프로그램 특징:

  • 특정 서비스를 제공하기 위해 특별히 설계된 프로그램으로, 동시에 여러 원격 또는 로컬 서비스 요청을 처리할 수 있습니다.
  • 시스템이 시작된 후에도 지속적으로 실행되어 전 세계 고객의 통신 요청을 수동적으로 기다리고 수락했습니다. 따라서 클라이언트 프로그램의 주소를 알 필요가 없습니다.
  • 일반적으로 강력한 하드웨어와 고급 운영 체제 지원이 필요합니다.
(2) 피어 투 피어(P2P)

개념: 두 호스트가 통신할 때 어느 쪽이 서버 요청자인지, 어느 쪽이 서비스 제공자인지 구분하지 않고
기본적으로 여전히 클라이언트-서버 방식을 사용한다는 의미입니다.
IMG_20231206_200014.jpg

2.2 인터넷의 핵심 부분

라우터는 특별한 역할을 합니다. 라우터는 패킷 교환의 핵심 구성을 구현합니다. 그 임무는 수신된 패킷을 전달하는 것입니다.
작동 방법: 라우터는 패킷을 전달하고 경로 간 지속적인 정보 교환을 수행합니다

. 예: A와 B가 메일을 보냅니다. A 특정 지방에서 발송된 우편물은 A 지방을 거쳐 A 국가로------> A 국가에서 B 국가로------> B 국가에서 B 국가로, B 국가로 이동해야 합니다. 국가로부터 우편물을 받아 통신을 구현하며, 우편물이 통과하는 곳이 핵심이다.

(1) 회선전환

통신 중에는 물리적인 연결이 안정적으로 할당되며, 통신이 이루어진 후에는 항상 점유되며, 통신이 종료될 때까지 자원이 해제되지 않습니다. 회선 교환은 실시간, 안정적, 신뢰성 있는 통신이 특징이지만, 많은 자원을 차지하며 회선의 부하가 높을수록 통신 품질이 저하됩니다.

(2) 메시지 교환

먼저 전체 메시지를 조합하고 전체 메시지의 무결성을 확인한 후 전체 메시지를 한 번에 전송합니다. 메시지 교환은 전송 효율이 높은 것이 특징이지만, 적시 응답이 필요한 실시간 데이터 통신의 경우 메시지 조립을 위한 대기 시간이 길어 실시간 성능을 만족할 수 없습니다.

(3) 패킷 스위칭

디지털 정보를 동일한 길이의 데이터 블록으로 나누고 제어 정보를 추가하여 데이터 패킷을 형성합니다. 고정된 통신 경로를 미리 결정할 필요가 없습니다. 라우터는 네트워크에서 가장 좋은 전송 경로를 선택한 다음 이를 대상 주소로 보냅니다. 주문하다. 패킷 교환은 높은 신뢰성, 우수한 유연성, 자원 공유 및 높은 전송 효율성을 특징으로 하지만 많은 양의 제어 정보가 필요합니다. 또한 패킷 교환의 전송 지연은 회선 교환이나 메시지 교환의 전송 지연보다 높습니다.
IMG_20231206_203301.jpg

3. 컴퓨터 네트워크의 종류

3.1 네트워크 범위에 따른 분류

  1. 광역 네트워크(WAN): 범위는 일반적으로 수만 킬로미터이며 원격 네트워크라고도 합니다.
  2. MAN(Metropolitan Area Network): 범위는 일반적으로 도시이며 여러 구역 또는 도시 전체(5-50km)에 걸쳐 있을 수 있습니다.
  3. 근거리 통신망(LAN): 일반적으로 고속 통신 회선을 통해 마이크로컴퓨터나 워크스테이션으로 연결됩니다. (약 1km)
  4. 개인 영역 네트워크(PAN): 개인 영역 네트워크는 개인의 직장에서 무선 기술을 사용하여 개인적인 용도로 전자 장치를 연결하는 네트워크(약 10m)입니다.

3.2 네트워크 사용자별 분류

  1. 공용망 : 통신회사가 구축하고 자금을 지원하는 대규모 네트워크를 말합니다.
  2. 사설 네트워크: 부서에서 해당 단위의 특별한 비즈니스 업무 요구를 충족하기 위해 구축한 네트워크입니다.

4.컴퓨터 네트워크의 성능(핵심)

4.1 성과 지표

  1. 속도: 데이터 전송 속도(단위 비트/초)를 나타냅니다.
  2. 광대역: 네트워크의 특정 채널이 데이터를 전송하는 능력(단위 비트/초)을 나타냅니다.
  3. 처리량: 단위 시간(단위 비트/초)당 특정 네트워크를 통과하는 실제 데이터 양을 나타냅니다.
  4. 대기 시간: 데이터가 네트워크의 한쪽 끝에서 다른 쪽 끝으로 이동하는 데 걸리는 시간을 나타냅니다(중요).

(1) 전송 지연: 호스트나 라우터가 데이터 프레임을 보내는 데 걸리는 시간은
전송된 데이터의 첫 번째 비트부터 전송되는 프레임의 마지막 비트까지 걸리는 시간을 나타냅니다.
공식: 전송 지연 = 데이터 프레임 길이 비트 ) / 전송 속도(bit/s)

(2) 전파 지연: 전파 지연은 전자파가 채널 내에서 일정 거리를 전파하는 데 걸리는 시간
공식: 전파 지연 = 채널 길이(m) / 채널 전파 중 전자파 속도(m/s)

전파 지연과 전송 지연에는 차이가 있습니다: 1) 전송 지연은 기계 외부의 전송입니다. 2) 전송 지연은 기계 내부의 전송입니다.
예: 전송 지연은 버스가 도착하는 시간입니다. 승강장에서 모든 승객이 버스에 탑승하는 데 걸리는 시간, 전파지연은 버스가 한 정류장에서 다음 정류장까지 이동하는 데 걸리는 시간입니다.

(3) 처리 지연: 호스트나 라우터가 패킷을 수신하면 이를 처리하는 데 일정 시간이 걸립니다.

총 지연: 전송 지연 + 전파 지연 + 처리 지연 + 대기열 지연

(4) 대기열 지연: 라우터에 들어간 후 패킷은 먼저 입력 대기열에 대기하고 처리를 기다려야 합니다. 같은 방식으로 출력 큐도

(5) 지연 대역폭 곱:
**수식: 지연 대역폭 곱(비트) = 전파 지연 * 광대역**
IMG_20231209_155854.jpg
(6) 왕복 시간 RTT

(7) 활용도: 있음 채널 활용도와 네트워크 활용도입니다.
채널 사용률은 채널이 사용되는 시간(데이터가 통과하는 시간)의 몇 퍼센트를 나타냅니다
네트워크 사용률: 전체 네트워크의 채널 사용률을 가중 평균한 공식입니다
: D= D0/1-U
D0: 채널 사용 시 지연을 나타냅니다. 네트워크가 유휴 상태입니다. D: 현재 네트워크 지연 U: 네트워크 활용도

4.2 비성적 지표

  1. 비용
  2. 품질
  3. 표준화
  4. 신뢰할 수 있음
  5. 확장성 및 업그레이드 가능성
  6. 유지관리가 용이함

5. 컴퓨터 네트워크 아키텍처(중요)

네트워크 아키텍처는 컴퓨터 네트워크의 계층과 프로토콜의 모음입니다.

5.1 프로토콜과 계층

5.1.1 네트워크 프로토콜

네트워크에서 데이터 교환을 위해 설정된 규칙, 표준 또는 규칙(프로토콜이라고도 함)
네트워크 프로토콜의 세 가지 기본 요소는 다음과 같습니다.

  • 구문: 데이터 및 제어 정보의 구조 또는 형식
  • 의미론: 어떤 제어 정보를 보내야 하는지, 어떤 작업을 완료해야 하는지, 어떤 응답을 해야 하는지
  • 동기화: 이벤트 순서에 대한 자세한 설명

5.1.2
IMG_20231209_122629.jpg
분할 및 계층화의 역할:

  1. 각 레이어는 독립적입니다.
  2. 더 나은 유연성
  3. 구조적으로 분리 가능
  4. 구현 및 유지 관리가 용이함
  5. 표준화 작업을 촉진할 수 있음

5.2 5계층 프로토콜을 갖춘 아키텍처

IMG_20231209_123154.jpg
위에서 아래로 설명:

5.2.1 애플리케이션 계층

애플리케이션 계층의 임무는 애플리케이션 프로세스 간의 상호 작용을 통해 특정 네트워크 애플리케이션을 완성하는 것입니다.
애플리케이션 계층 프로토콜은 애플리케이션 프로세스 (HTTP, SMTP 등과 같은 프로토콜) 간의 통신 및 상호 작용에 대한 규칙을 정의합니다. (데이터 단위는 메시지입니다.)

5.2.2 전송 계층

전송 계층의 임무는
주로 TCP(데이터 단위는 메시지 세그먼트)와 UDP(데이터 단위는 사용자 데이터그램)를 사용하여 두 호스트의 프로세스 간 통신을 위한 일반적인 데이터 전송 서비스를 제공하는 것입니다.

5.2.3 네트워크 계층

네트워크 계층은 패킷 교환 네트워크의 여러 호스트에 통신 서비스를 제공하는 역할을 담당합니다(데이터 단위는 패킷임).

5.2.4 데이터링크 계층

데이터 링크 계층은 물리 계층에서 전송되는 비트 스트림을 프레임으로 구성하고 오류 감지 및 정정을 제공하여 안정적인 데이터 전송을 보장하는 역할을 주로 담당합니다(데이터 단위는 프레임임).

5.2.5 물리층

물리 계층의 주요 임무는 송신자로부터 수신자에게 데이터를 전송하는 것, 물리 매체를 통해 비트 스트림(데이터 단위는 비트)을 전송하는 것입니다.

IMG_20231209_132614.jpg

5.3 엔터티, 프로토콜, 서비스 및 서비스 액세스 포인트(중요)

엔터티: 정보를 보내거나 받을 수 있는 하드웨어 또는 소프트웨어 프로세스를 나타냅니다. 대부분의 경우 엔터티는 특정 소프트웨어 모듈입니다.

프로토콜: 두 피어 엔터티(또는 여러 엔터티) 간의 통신을 제어하는 ​​규칙 집합입니다.

서비스: 하위 계층에서 상위 계층을 통해 제공되는 서비스입니다. 계층 간 인터페이스

기본: 상위 계층 제공된 서비스는 일부 명령을 교환하여 하위 계층과 교환되어야 합니다(OSI)

서비스 액세스 포인트(SAP): 동일한 시스템에서 인접한 두 계층의 엔터티가 상호 작용하는 장소.

SDU(서비스 데이터 단위): 계층 간 OSI 교환 데이터 단위

PDU(프로토콜 데이터 단위): OSI는 피어 계층 간에 데이터 단위(제어 정보 및 사용자 정보)를 전송합니다.

프로토콜과 서비스의 차이점: 프로토콜은 두 피어 엔터티 간의 통신 규칙 집합이며, 서비스는 시스템의 하위 계층이 상위 계층에 제공하는 기능을 의미합니다
. 프로토콜은 상위 계층에 서비스를 제공할 수 있도록 보장하며, 이 계층 프로토콜을 구현하려면 하위 계층에서 제공하는 서비스도 필요합니다.
IMG_20231209_132739.jpg

2. 운동

1. 패킷 스위칭의 핵심을 간략하게 설명해주세요

  1. 저장 및 전달
  2. 세분화 재구성
  3. 독립적인 라우팅


패킷 교환의 가장 중요한 특징은 저장 및 전달 기술을 사용한다는 것입니다. 전송할 데이터의 전체 블록을 메시지라고 합니다. 메시지를 보내기 전에 먼저 긴 메시지를 더 작은 동일한 길이의 데이터 세그먼트로 나누고 각 데이터 세그먼트 앞에 필요한 제어 정보를 추가하여 패킷을 형성합니다. "패킷"이라고도 하는 패킷은 인터넷을 통해 전송되는 데이터 단위입니다. 인터넷에서 각 패킷이 독립적으로 전송 경로를 선택할 수 있는 것은 패킷의 헤더에 목적지 주소, 소스 주소 등 중요한 제어 정보가 포함되어 있기 때문이며, 라우터는 패킷을 전달하는 데 사용됩니다. 그런 다음 헤더를 확인하고 전달 테이블을 검색하여 헤더의 대상 주소에 따라 전달할 적절한 인터페이스를 찾은 후 패킷을 다음 라우터로 전송합니다. 이렇게 여러 개의 서로 다른 라우터를 단계별로 거쳐 저장 후 전달(store-and-forward) 방식으로 최종 목적지 호스트까지 패킷을 전달하고, 마지막으로 목적지 호스트에서 패킷을 재조립하여 원래의 상태로 복원한다. 메시지.

2. 길이 20,000km의 지점 간 링크가 있습니다. 데이터 전송 속도는 1kbit/s이고, 전송되는 데이터는 100bit입니다. 이 링크의 데이터 전파 속도는 2×10^8m/s입니다. 우리가 라인에 전송된 비트를 볼 수 있다고 가정하고 우리가 보는 라인에 비트를 그려 보십시오(두 개의 그림을 그립니다. 하나는 100비트가 방금 전송되었을 때 하나는, 다른 하나는 0.05초 후에 그려집니다).

테스트: 지연
(1) 재방송 지연의 단위는 m/(m/s) 전송 지연은 비트/(bit/s)
전파 지연: 20000 10^3m / 2 10^8 m/s = 0.1s
전송 지연 : 100bit / 1 10^3 bit/s =0.1s
( 2) 전송 지연은 전송될 데이터의 첫 번째 비트부터 프레임의 마지막 비트까지 걸리는
시간을 나타내며 전파 지연 비율에 대한 시간은 1이고, 20000
10^3(km) * 1=20000*10^3(km)

3. 길이 20,000km의 지점 간 링크가 있습니다. 데이터 전송 속도는 1Mbit/s이고 전송되는 데이터는 100bit입니다. 이 링크의 데이터 전파 속도는 2×10^8m/s입니다. 우리가 라인에 전송된 비트를 볼 수 있다고 가정하고 우리가 보는 라인에 비트를 그려 보십시오(두 개의 그림을 그립니다. 하나는 100비트가 방금 전송되었을 때 하나는, 다른 하나는 0.05초 후에 그려집니다).

이 질문과 위 질문의 차이점은
재전송 지연은 변하지 않고 전송 지연은 100bit /1Mbit/s =10^(-4)s가 된다는 것입니다. **

재전송 지연과 전송 지연의 비율은 0.0001/입니다. 0.1= 0.001 20000*10^3(km) * 0.001 =20km
0.05/0.0001=500 20km * 500 =10000km

4. 길이 50km의 지점 간 링크가 있습니다. 이 링크의 데이터 전파 속도가 2×10^8m/s라면 전파 지연이 100바이트 패킷 전송의 전송 지연만큼 커지는 링크의 대역폭은 얼마입니까? 512바이트 패킷이 전송되면 결과는 어떻게 되나요?

공식:
1) 지연 대역폭 곱(비트) = 전파 지연 * 광대역
3) 전파 지연 = 채널 길이(m) / 채널 내 전자파 전파 속도(m/s)

전파 지연 = 50km / 2*10^8 m/s =25 * 10^(-4) s
100바이트 대역폭 = 100bit / 25 * 10^(-4)s, 이는 대략 3.2Mbit/s와 같습니다.
512 바이트 대역폭 = 512bit / 25 * 10^(-4) s는 대략 16.4Mbit/s와 같습니다.

5. 질문

네트워크를 통해 1.5MB 파일을 전송한다고 가정해 보겠습니다. 패킷 길이가 1KB이고 왕복 시간 RTT=80ms라고 가정합니다. 데이터를 전송하기 전 TCP 연결을 맺는 시간도 있는데, 이 시간은 2×RTT=160ms이다. 다음 상황에서 수신자가 파일의 마지막 비트를 수신하는 데 걸리는 시간을 계산해 보십시오.

(1) 데이터 전송 속도는 10Mb/s이며, 데이터 패킷을 연속적으로 전송할 수 있습니다.

(2) 데이터 전송 속도는 10Mb/s이지만, 각 패킷이 전송된 후 다른 패킷을 전송하기 전에 RTT 시간을 기다려야 합니다.

(3) 데이터 전송 속도가 매우 빠르며, 데이터 전송에 소요되는 시간을 고려할 필요가 없습니다. 그러나 각 RTT 왕복 시간 내에 20개의 패킷만 보낼 수 있다고 규정되어 있습니다.

(4) 데이터 전송 속도가 매우 빠르며, 데이터 전송에 소요되는 시간을 고려할 필요가 없습니다. 그러나 첫 번째 RTT 왕복 시간에는 1개의 패킷만 보낼 수 있고, 두 번째 RTT에는 2개의 패킷, 세 번째 RTT에는 4개의 패킷을 보낼 수 있습니다(즉, 2 (3-1)=2 2= 4) 여러 떼).
분석:
전송해야 하는 데이터의 양은 1.5MB, 즉 1.5 * 2^20=1048576이라고 계산할 수 있습니다. TCP 연결을 설정하는 데 걸리는 시간은 2×RTT=160ms, 즉 0.16초입니다.
총 전송 시간은 전송 시간 + TCP 연결을 설정하는 시간 + 마지막 패킷의 전파 시간입니다.
마지막 패킷의 전파 시간에 관하여: 확인 정보를 수신하려면 RTT 시간을 기다려야 합니다.

(1) 데이터 전송 속도는 10Mb/s이며 데이터 패킷을 연속적으로 보낼 수 있습니다. 전송 시간은 1.5*2^20 *8bit/ 10 *10^6 b/s)=1.258s입니다. 마지막 패킷의 전파 시간은 0.5×RTT=40ms, 즉 0.04s이다. 따라서 총 시간은 1.258s+0.16s+0.04s=1.458s입니다.

(2) 데이터 전송 속도는 10Mb/s이지만, 각 패킷이 전송된 후 다른 패킷을 전송하기 전에 RTT 시간을 기다려야 합니다. 분할해야 하는 그룹 수는 1.5MB/1KB=1536개입니다. 따라서 대기시간은 1535×RTT=122.8s이다. 마지막 패킷의 전파 시간은 0.5×RTT=40ms, 즉 0.04s이다. 따라서 총 시간은 122.8s+1.258s+0.16s+0.04s=124.258s입니다.

(3) 데이터 전송 속도가 매우 빠르며, 데이터 전송에 소요되는 시간을 고려할 필요가 없습니다. 그러나 각 RTT 왕복 시간 내에 20개의 패킷만 보낼 수 있다고 규정되어 있습니다. 분할해야 하는 그룹 수는 1.5MB/1KB=1536개입니다. 따라서 모든 패킷을 전송하려면 76개의 RTT가 필요합니다. 마지막 패킷의 전파 시간은 0.5×RTT=40ms, 즉 0.04s이다. 따라서 총 시간은 76×RTT+1.258s+0.16s+0.04s=6.28s입니다.

(4) 두 RTT 후에 데이터 전송을 시작합니다.
n RTT 후에 1+2+4+…+2n=2^n-1 패킷이 전송됩니다.
n=10이면 2^10-1=1023개의 패킷만 전송됩니다. 10개의 RTT로는 충분하지 않다는 것을 알 수 있습니다.
n=11이면 2^11-1=2047개의 패킷만 전송됩니다. 11개의 RTT이면 충분하다는 것을 알 수 있습니다.
마지막 패킷의 전파 시간은 0.5×RTT=40ms 이며,
이와 같이 TCP 연결을 설정하는 데 걸리는 시간과 마지막 패킷을 엔드 포인트까지 전송하는 데 걸리는 시간을 고려하면 현재 필요한 총 시간
=(2 +10+0.5)×RTT=12.5× 0.08=1초.

#####개인적인 의견이니 정정 부탁드립니다

추천

출처blog.csdn.net/m0_63084496/article/details/134902089