>  기사  >  웹 프론트엔드  >  네트워크 프로토콜 및 라우팅 프로토콜에 대한 자세한 소개(예제 설명)

네트워크 프로토콜 및 라우팅 프로토콜에 대한 자세한 소개(예제 설명)

不言
不言앞으로
2018-11-21 11:43:092775검색

이 기사는 네트워크 프로토콜(예제)에 대한 자세한 소개입니다. 도움이 필요한 친구들이 참고할 수 있기를 바랍니다.

이전 예에서 우리는 모두 LAN 내에서 작업하고 있었습니다. 오늘은 범위를 확장하고 여러 근거리 통신망이나 광활한 인터넷 세계를 여행하면서 중간에 무슨 일이 일어나는지 살펴보겠습니다.

이 과정에서 가장 먼저 이해해야 할 것은 교차 게이트웨이 액세스입니다.

교차 게이트웨이 액세스

교차 게이트웨이 액세스를 이해하려면 MAC 주소와 IP 주소의 변경이 포함됩니다. 따라서 먼저 MAC 헤더와 IP 주소를 살펴보겠습니다. IP 헤드 세부정보.

MAC 헤더 및 IP 헤더 상세정보

네트워크 프로토콜 및 라우팅 프로토콜에 대한 자세한 소개(예제 설명)

그림과 같이, in MAC 헤더, ​​먼저 대상 MAC 주소, 소스 MAC 주소, 마지막으로 프로토콜 유형입니다.

IP 헤더에서 가장 중요한 것은 소스 IP 주소와 대상 IP 주소입니다. 또한 흔히 IPv4 및 IPv6라고 부르는 버전 번호, 서비스 유형 TOS(패킷 우선 순위 표시), TTL(패킷 수명 주기) 및 식별 프로토콜(TCP 및 UDP)이 있습니다.

When 블로그 파크를 방문하면 우리가 통과하는 첫 번째 게이트웨이는 우리가 구성한 기본 게이트웨이여야 합니다. 기기가 기본 게이트웨이에 액세스하는 경우에도 내부 LAN 액세스를 위한 단계를 따르세요.

  1. 소스 주소와 대상 IP 주소를 IP 헤더에 입력하세요.

    #🎜 🎜#
  2. ARP 프로토콜을 통해 게이트웨이의 MAC 주소를 얻습니다.

  3. 소스 MAC 주소와 MAC 주소를 입력합니다. 게이트웨이를 MAC 헤더에 넣어 게이트웨이로 전송합니다.

그리고 우리 게이트웨이는 일반적으로 3계층 전달 장치

의 라우터를 나타냅니다. MAC 헤더와 IP 헤더를 모두 제거한 다음 내용을 사용하여 다음에 데이터 패킷을 전달할 위치를 확인합니다.

많은 경우 사람들은 게이트웨이 라우터를 호출합니다. 사실 아직은 다음 비유가 더 적절할 것 같습니다.

라우터에는 5개의 손에 해당하는 5개의 네트워크 포트 또는 네트워크 카드가 있으며 각각 5개의 LAN에 연결되어 있습니다. . 각 손의 IP 주소는 LAN의 IP 주소와 동일한 네트워크 세그먼트에 있으며 각 손은 보유한 LAN의 게이트웨이입니다.

다른 LAN으로 보내고자 하는 패킷은 어느 한쪽 손에 도착해서 받아들여지고 MAC 헤더와 IP 헤더를 떼어낸 뒤 자기 뜻대로 사용하게 된다 #🎜🎜 #routing Algorithm#🎜🎜 #, 반대편을 선택하고 IP 헤더와 MAC 헤더를 추가하고 버립니다.

위 과정에서 라우팅 알고리즘

이 나타납니다. 다음으로 알아봅시다.

라우팅 알고리즘

라우팅 알고리즘이라고도 알려진 라우팅 알고리즘은 라우팅 프로토콜의 기능을 향상시키고 라우팅으로 인한 오버헤드를 최소화하는 알고리즘입니다.

라우팅 알고리즘은 다양한 특성을 기반으로 구별되어 목적지까지 최적의 경로를 찾을 수 있습니다.

라우팅 알고리즘에는

정적 및 동적
  • #을 포함하여 많은 차별화 포인트가 있습니다. 🎜 🎜# 단일 경로 및 다중 경로

  • 플랫 및 계층화

  • 호스트 인텔리전스 및 라우터 인텔리전스#🎜 🎜 #

  • 도메인 내 및 도메인 간

  • 링크 상태 및 거리 벡터

    # 🎜🎜 #
  •    여기에서는 주로
  • 정적 및 동적

    라우팅 알고리즘을 소개합니다.

  • static Routing

정적 라우팅 알고리즘은 기본적으로 게이트웨이에서 구성한 매핑 테이블입니다. 우리 집 라우터에 이런 라우팅 구성이 있을 수 있습니다

블로그 파크를 방문하여 2번 출구로 나가면 다음 홉은 IP2입니다.

바이두 방문; , 3번 출구로 나가면 다음 홉은 IP3입니다.

위와 같은 규칙은 특정 구문에 따라 라우터에 저장되는 정적 경로입니다.

어느 포트에서 버릴지 고르고 싶을 때마다 규칙을 하나씩 맞춰가며 맞는 룰을 찾았다면 그 규칙에 따라 지정된 포트에서 버리고 다음을 찾아보세요. 홉 IP.


게이트웨이를 통해 "변경" 및 "변경되지 않은 채로 유지"

앞서 MAC 주소는 LAN 내에서만 유효한 주소라는 것을 배웠습니다. 따라서 MAC 주소는 게이트웨이를 통과하는 한 반드시 변경됩니다. 게이트웨이를 통과한 후에는 IP 주소가 변경되지 않을 수 있습니다.

게이트웨이 A를 통과한 후 IP 주소가 변경되지 않으면 A는

전달 게이트웨이

이고, 그렇지 않으면

NAT 게이트웨이

입니다. .

포워딩 게이트웨이

위 그림과 같이 서버 A가 원하는 경우 서버 B에 액세스하려면 다음 프로세스를 거쳐야 합니다.

네트워크 프로토콜 및 라우팅 프로토콜에 대한 자세한 소개(예제 설명)1) 서버 A에서 게이트웨이 A로

확인 B의 네트워크 세그먼트를 찾아 동일한 네트워크 세그먼트 네트워크 세그먼트에 있지 않음을 확인하므로 게이트웨이로 보냅니다.

    게이트웨이의 IP 주소가 구성되었으므로 , ARP를 보내 게이트웨이의 MAC 주소를 얻습니다.
  1. send package

마지막으로 보낸 패킷의 내용은 주로 다음과 같습니다.

  • 소스 MAC: 서버 A의 MAC

  • 템플릿 MAC: 192.168.1.1 게이트웨이의 MAC

  • 소스 IP: 192.168.1.101

  • 목적지 IP: 192.168.4.101

데이터 패킷이 네트워크 포트 192.168.1.1에 도달한 후 네트워크 포트는 MAC 주소가 자신에게 속해 있음을 발견하여 패킷을 수신하고 이를 어디로 전달할지 "생각"하기 시작합니다.

이때 규칙 A1은 라우터 A에 구성됩니다.

192.168.4.0/24에 액세스하려면 192.168.56.1 네트워크 포트에서 나가고 다음 홉은 192.168.56.2

2) 게이트웨이 A에서 게이트웨이 B

따라서 라우터 A는 A1과 일치하며 포트 192.168.56.1에서 192.168.56.2로 데이터를 전송해야 합니다. 따라서 프로세스가 다시 시작되었습니다.

  1. B의 네트워크 세그먼트를 확인하고 동일한 네트워크 세그먼트에서 ARP가 MAC 주소를 획득함을 발견했습니다.

  2. 패킷 보내기

데이터 패킷의 내용은 다음과 같습니다.

  • 소스 MAC: MAC 192.168.56.1

  • 템플릿 MAC: MAC 192.168.56.2

  • 소스 IP: 192.168.1.101

  • D 목적지 IP: 192.168.4.101

데이터 패킷 2. 네트워크 포트. 네트워크 포트가 해당 MAC 주소에 속해 있음을 확인하면 패킷을 수신한 후 라우팅 규칙을 확인합니다.

라우터 B는 다음 규칙 B1을 구성합니다.

192.168.4.0/24에 액세스하려면 192.168.4.1

로 이동하세요. 라우터 B는 올바른 네트워크 포트가 대상 주소 네트워크 세그먼트임을 확인하므로 다음은 없습니다. 깡충깡충 뛰다. .

3) 게이트웨이 B에서 서버 B

라우터 B가 B1과 일치합니다. 192.168.4.1에서 192.168.4.101로 내보냅니다. 패킷 콘텐츠:

  • 소스 MAC: MAC of 192.168.4.1

  • 템플릿 MAC: MAC of 192.168.4.101 소스 IP: 192.168.1.101

  • :192.168.4.101

  • 서버 B가 데이터를 수신합니다. 패킷을 검색하고 MAC 주소가 해당 패킷에 속해 있음을 확인하여 패킷을 수신합니다.

  • 위의 과정에서 볼 수 있듯이 새로운 LAN에 도달할 때마다 MAC 주소는 변경되지만 IP 주소는 변경되지 않습니다. IP 헤더에는 게이트웨이 IP 주소가 저장되지 않습니다.

그리고 우리가 이야기하고 있는 다음 홉,

은 특정 IP가 이 IP 주소를 MAC로 변환하여 MAC 헤더

에 넣어야 한다는 것입니다.

NAT Gateway

네트워크 주소 변환인 NAT 게이트웨이입니다.

네트워크 프로토콜 및 라우팅 프로토콜에 대한 자세한 소개(예제 설명) 각 LAN에는 자체 네트워크 세그먼트가 있으므로 IP 충돌이 발생하기 쉽습니다. 위 그림에서 볼 수 있듯이 미국에 있는 서버 A의 IP 주소와 프랑스에 있는 서버 B의 IP 주소는 모두 192.168.1.101/24입니다. IP 입장에서는 스스로 접속하고 있는 것처럼 보이지만, 실제로 미국의 192.168.1.101은 프랑스의 192.168.1.101에 액세스합니다.

이 문제를 해결하는 방법은 무엇입니까? LAN 간에 IP 할당이 협상되지 않았고 모든 사람이 자신의 사업을 가지고 있기 때문에 국제적으로 갈 때, 즉 중간에 LAN에서는 해외에 갈 때와 마찬가지로 다른 주소를 사용해야 합니다. 여권.

먼저 대상 서버 B는 국제적으로

국제 ID

를 가져야 하며, 게이트웨이 B에서는 국제 ID 192.168.56.2가 국내 ID 192.168.1.101에 해당한다는 점에 유의하세요. 192.168.56.2의 경우 게이트웨이를 192.168.1.101로 변환해야 합니다.

따라서 원본 서버 A가 대상 서버 B에 접속하려고 하면 대상 주소는 국제 IP 주소 192.168.56.2가 됩니다. 과정은 다음과 같습니다.

1) 원본 서버 A가 게이트웨이 A에 데이터 패킷을 보냅니다

서버 B IP를 확인하세요. 동일한 네트워크 세그먼트에 있지 않습니다.
  1. ARP가 게이트웨이 MAC 주소를 얻습니다
  2. PACKET inder 데이터 패킷의 내용은 다음과 같습니다. IP: 192.168.1.101
  3. Destination IP : 192.168.56.2
  4. Router A의 네트워크 포트 192.168.1.1에서 데이터 패킷을 수신한 후 MAC 주소가 일치하는지 확인하고 패킷을 수신합니다.

규칙은 라우터 A에 구성됩니다.

    192.168.56.2/24에 액세스하려면 192.168.56.1 네트워크 포트에서 보내고 192.168.56.2로 보냅니다.
  • 라우터의 오른쪽 네트워크 포트(192.168.56.1)의 IP 주소와 대상 IP 주소가 동일한 네트워크 세그먼트에 있으므로 다음 홉이 없습니다.

  • 2) 게이트웨이 A에서 게이트웨이 B로

    네트워크 패킷이 중간 LAN으로 전송될 때 서버 A도 국제 ID를 가져야 합니다. 따라서 소스 IP 주소 192.168.1.101을 192.168.56.1로 변경해야 하므로 데이터 패킷의 내용은 다음과 같습니다.
  • 소스 MAC: MAC of 192.168.56.1
  • Destination MAC: MAC of 192.168. 56.2

소스 IP: 192.168.56.1

  • 대상 IP: 192.168.56.2

  • 패키지가 네트워크 포트 192.168.56.2에 도달한 후 MAC이 다음임을 확인합니다. 일관되게, 그것은 그것을 포장할 것입니다.

    라우터 B는 NAT 게이트웨이이므로 국내 192.168.1.101에 해당하는 국제 ID 192.168.56.2로 구성되므로 대상 주소가 192.168.1.101로 변경됩니다.

    마찬가지로 규칙은 라우터 B에서 구성됩니다.

    192.168.1.101에 액세스하려면 192.168.1.1 네트워크 포트에서 나가면 다음 홉이 없습니다. .

    따라서 데이터 패킷은 네트워크 포트 192.168.1.1에서 192.168.1.101로 전송됩니다.

    3) 게이트웨이 B에서 서버 B로
    192.168.1.1 네트워크 포트에서 데이터 패킷이 전송된 후 다음 단계도 수행합니다. #🎜🎜 #

    1. 동일한 네트워크 세그먼트에 있는 서버 B의 IP 확인

    2. ARP 서버 B의 MAC 주소 가져오기#🎜 🎜#

      # 🎜🎜#

      패키지 보내기
    3. 이 시점의 데이터 패킷은 다음과 같습니다.
    #🎜 🎜##🎜🎜 #소스 MAC: MAC 192.168.1.1

    • 대상 MAC: MAC 192.168.1.101

      #🎜🎜 #
    • 출처 IP: 192.168.56.1
    • 대상 IP: 192.168.1.101
    • 이후 서버가 패키지를 수신하면 MAC 주소가 일치하는지 확인하고 데이터 패킷을 수신합니다.
    • 서버 B가 수신한 데이터 패킷을 보면 원본 IP가 서버 A의 국제 ID임을 알 수 있습니다. 따라서 반환 패킷을 보낼 때도 이 국제 ID로 전송됩니다. A는 NAT를 수행하고 이를 국내 ID로 변환합니다.

    • 동적 라우팅

    동적 라우팅 알고리즘

    거리 벡터 라우팅 알고리즘

    1) 기본 아이디어# 🎜🎜#
    Bellman-Ford 알고리즘을 기반으로 합니다. 각 라우터는 여러 행을 포함하는 라우팅 테이블을 저장합니다. 각 행은 두 가지 정보를 포함합니다. 하나는 대상 라우터로 가는 라인이고 다른 하나는 대상까지의 거리입니다.

    2) 문제가 있습니다

    a

    좋은 소식은 빨리 전해지지만, 나쁜 소식은 느리게 전해집니다#🎜 🎜#.

    새롭게 추가된 라우터는 새로운 라우터 정보를 빠르게 방송할 수 있습니다. 그러나 라우터가 끊기면 끊기 메시지가 브로드캐스트되지 않습니다. 이 다운된 노드를 통과하는 각 라우터는 해당 노드가 다운되었음을 알 수 없지만 다른 경로를 통해 해당 노드에 액세스하려고 시도합니다. 모든 경로를 시도해야 라우터가 다운된 것으로 확인됩니다. 예:

    b 메시지가 전송될 때마다 전체 글로벌 라우팅 테이블이 전송됩니다.

    위의 두 가지 문제는

    거리 벡터 라우팅

    의 네트워크 규모를 제한하며 소규모 네트워크(홉 15개 미만)에만 적합합니다. 링크 상태 라우팅 알고리즘

    1) 기본 아이디어 Dijkstra 알고리즘 기반. 라우터가 네트워크에 합류하면 먼저 이웃을 발견하고 이웃에게 인사를 하고 이웃이 응답합니다. 그런 다음 이웃과의 거리를 계산하고 에코를 보내고 즉시 반환을 요청하여 거리를 얻습니다. 그런 다음 자신과 이웃 사이의 링크 상태 패킷을 브로드캐스트하여 전체 네트워크의 모든 라우터로 보냅니다.

    이 알고리즘에서 각 라우터는 로컬에서 완전한 그래프를 구축한 다음 이 그래프에서 Dijkstra의 알고리즘을 사용하여 두 지점 사이의 최단 경로를 찾을 수 있습니다.

    거리 벡터 라우팅 프로토콜과 달리 업데이트 시 전체 라우팅 테이블이 전송됩니다. 링크 상태 라우팅 프로토콜은 업데이트되거나 변경된 네트워크 토폴로지만 브로드캐스트하므로 업데이트 메시지가 작아지고 대역폭과 CPU 사용률이 절약됩니다. 그리고 라우터의 연결이 끊어지면 이웃이 뉴스를 방송하므로 나쁜 소식이 빠르게 수렴될 수 있습니다. 동적 라우팅 프로토콜

    링크 상태 라우팅 알고리즘 기반 OSPF

    OSPF(최단 오픈 Path First, Open Shortest Path First) 프로토콜은 데이터 센터에서 널리 사용되는 프로토콜입니다. 라우팅 결정을 위해 데이터센터 내부에서 주로 사용되기 때문에 IGP(Interior Gateway Protocol)라고 합니다.
    내부 게이트웨이 프로토콜의 초점은 # 🎜🎜# 최단 경로를 찾아보세요
    . 최단 경로가 여러 개인 경우 이러한 여러 경로 간에 로드 밸런싱을 수행할 수 있으며, 이를 종종 동일 비용 라우팅이라고 합니다.

    동일 비용 라우팅은 트래픽을 공유하는 데 사용할 수 있을 뿐만 아니라 내결함성도 향상할 수 있습니다. 한 경로를 사용할 수 없으면 다른 경로를 통해 대상에 도달할 수 있습니다.

    거리 벡터 라우팅 알고리즘 기반의 BGP네트워크 간의 라우팅 프로토콜을 목표로 하는 것을 외부 네트워크 라우팅이라고 합니다. 프로토콜(Border Gateway Protocol(줄여서 BGP)

    각 데이터 센터에는 고유한 라우팅 구성이 있습니다. 예를 들어, 어떤 외부 IP가 내부적으로 알려져 있는지, 어떤 내부 IP가 외부에 알려져 있는지, 어떤 IP가 통과될 수 있는지, 어떤 IP가 통과될 수 없는지 등이 있습니다.

    따라서 다양한 데이터 센터와 상호 작용할 때 데이터 센터 간 최적의 경로를 찾기 위해서는 인접한 데이터 센터의 라우팅 구성을 알 수 있는 프로토콜이 필요합니다.

    BGP 프로토콜이 바로 그런 프로토콜입니다. 경로를 발견하고 계산하는 데 중점을 두는 것이 아니라 경로 전파를 제어하고 최적의 경로를 선택하는 데 중점을 둡니다.

    요약

    • 이 LAN을 떠나려면 데이터 패킷이 라우터의 네트워크 포트인 게이트웨이를 통과해야 합니다. #🎜 🎜## 🎜🎜#

    • 라우터는 3계층 장치입니다. 그 이유는 다음 홉 규칙을 찾는 방법입니다.
    • 라우터를 통과한 후 MAC 헤더는 확실히 변경됩니다. IP가 변경되지 않으면
    • forwarding Gateway

      이 되고, 그렇지 않으면 NAT Gateway

      #🎜🎜입니다. # 라우팅은 정적 경로로 구분되며 동적 라우팅, 동적 라우팅은 복잡한 정책 라우팅을 구성하고 전달 전략을 제어할 수 있습니다.
    • 동적 라우팅에는 거리 벡터라는 두 가지 주요 알고리즘이 있습니다. 알고리즘과 링크 상태 알고리즘. BGP 프로토콜과 OSPF 프로토콜이라는 두 가지 알고리즘을 기반으로 두 가지 프로토콜이 생성됩니다.

    위 내용은 네트워크 프로토콜 및 라우팅 프로토콜에 대한 자세한 소개(예제 설명)의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

    성명:
    이 기사는 segmentfault.com에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제