라우터가 패킷에 적합한 대상을 선택할 수 있도록 IP 서브넷이 있습니다. IP 서브넷을 사용하여 논리적 이유로 (방화벽 등) 물리적 필요 (소규모 브로드 캐스트 도메인 등)로 더 큰 네트워크를 분리 할 수 있습니다.
간단히 말해 IP 라우터는 IP 서브넷을 사용하여 라우팅 결정을 내립니다. 이러한 결정이 어떻게 작동하는지 이해하고 IP 서브넷을 계획하는 방법을 이해할 수 있습니다.
1까지 세기
이진법 (기본 2)에 이미 능숙하다면이 섹션을 건너 뛸 수 있습니다.
남겨진 당신을 위해 : 이진 표기법에 유창하지 않은 당신에게 부끄러운!
그래-조금 가혹할 수도 있습니다. 이진법으로 계산하는 법과 이진법을 십진법으로 바꾸는 법을 배우는 것은 정말 쉽습니다. 실제로 어떻게해야하는지 알아야합니다.
이진수로 계산하는 것은 매우 간단합니다. 1로 계산하는 방법 만 알아야하기 때문입니다!
기존의 주행 거리계와 달리 각 숫자는 0에서 1까지만 계산할 수 있다는 점을 제외하고는 자동차의 "주행 거리계"를 생각해보십시오.
첫 마일을 주행하면 주행 거리계에 "00000001"이 표시됩니다. 여태까지는 그런대로 잘됐다.
2 마일을 주행하면 주행 거리계의 첫 번째 숫자가 "0"으로 롤오버되고 (최대 값이 "1"이므로 주행 거리계의 두 번째 숫자가 "1"로 롤오버되어 주행 거리계가 " 00000010 "입니다. 이것은 십진수 표기법으로 숫자 10처럼 보이지만 실제로는 이진 표기법으로 2 (지금까지 자동차를 운전 한 마일 수)입니다.
3 마일을 주행하면 주행 거리계의 첫 번째 숫자가 다시 바뀌기 때문에 주행 거리계에 "00000011"이 표시됩니다. 이진수 표기법에서 숫자 "11"은 10 진수 3과 같습니다.
마지막으로, 네 번째 마일을 운전했을 때 두 번째 숫자 (세 번째 마일 끝에서 "1"을 읽음)가 0 위치로 롤백되고 세 번째 숫자가 "1"위치로 롤업되어 " 00000100 ". 이것이 십진수 4의 이진 표현입니다.
원한다면이 모든 것을 기억할 수 있지만 , 작은 주행 거리계가 계산하는 숫자가 커짐에 따라 작은 주행 거리계가 어떻게 롤오버 되는지 이해 하면됩니다. 가상의 "이진 주행 거리계"에서 각 숫자가 "0"또는 "1"만 될 수 있다는 점을 제외하면 기존 십진 주행 거리계의 동작과 정확히 동일합니다.
십진수를 이진수로 변환하려면 주행 거리계를 앞으로 굴리고 틱으로 틱하고 이진수로 변환하려는 십진수와 같은 횟수만큼 롤백 할 때까지 큰 소리로 계산합니다. 모든 couting 및 rolling 후 주행 거리계에 표시되는 것은 계산 한 십진수의 이진 표현입니다.
주행 거리계가 어떻게 롤 포워드되는지 이해하기 때문에 또한 주행 거리가 어떻게 롤백되는지 이해합니다. 주행 거리계에 표시된 이진수를 십진수로 다시 변환하려면 주행 거리계가 "00000000"을 읽을 때까지 소리내어 세어 한 번에 한 눈금 씩 롤백 할 수 있습니다. 모든 계산 및 롤링이 완료되면 마지막으로 큰 소리로 말하면 주행 거리계가 시작한 이진수의 십진수 표현입니다.
이 방법으로 이진수와 십진수 사이의 값을 변환하는 것은 매우 지루합니다. 당신은 그것을 할 수는 있지만 그렇게 효율적이지 않을 것입니다. 더 빠른 알고리즘을 배우는 것이 더 쉽습니다.
요약 : 이진수의 각 숫자를 "비트"라고합니다. "이진"의 "b"와 "숫자"의 "it"입니다. 비트는 이진수입니다.
"1101011"과 같은 이진수를 10 진수로 변환하는 것은 편리한 작은 알고리즘으로 간단한 프로세스입니다.
이진수의 비트 수를 세면서 시작하십시오. 이 경우에는 7 가지가 있습니다. 종이에 (마음으로, 텍스트 파일 등으로) 7 개의 구분을 만들고 오른쪽에서 왼쪽으로 채 웁니다. 가장 오른쪽 슬롯에는 항상 "1"로 시작하므로 숫자 "1"을 입력하십시오. 왼쪽의 다음 슬롯에서 오른쪽의 슬롯 값을 두 배로 입력하고 (다음 슬롯의 "2", 다음 슬롯의 "4") 모든 슬롯이 가득 찰 때까지 계속하십시오. (당신은 이것을 점점 더 많이할수록 2의 거듭 제곱 인이 숫자를 암기하게됩니다. 나는 머리에 131,072까지 괜찮지 만 보통 그 후에 계산기 나 종이가 필요합니다).
따라서 작은 슬롯에 종이에 다음 내용이 있어야합니다.
64 | 32 | 16 | 8 | 4 | 2 | 1 |
슬롯 아래의 이진수에서 비트를 다음과 같이 기록하십시오.
64 | 32 | 16 | 8 | 4 | 2 | 1 |
1 1 0 1 0 1 1
이제 몇 가지 기호를 추가하고 문제에 대한 답을 계산하십시오.
64 | 32 | 16 | 8 | 4 | 2 | 1 |
x 1 x 1 x 0 x 1 x 0 x 1 x 1
--- --- --- --- --- --- ---
+ + + + + + =
모든 수학을 수행하면 다음을 수행해야합니다.
64 | 32 | 16 | 8 | 4 | 2 | 1 |
x 1 x 1 x 0 x 1 x 0 x 1 x 1
--- --- --- --- --- --- ---
64 + 32 + 0 + 8 + 0 + 2 + 1 = 107
알았습니다. 십진수 "1101011"은 107입니다. 간단한 단계와 쉬운 수학입니다.
십진수를 이진수로 변환하는 것은 간단하고 같은 기본 알고리즘이며 반대로 실행됩니다.
숫자 218을 이진수로 변환한다고 가정 해보십시오. 용지 오른쪽에서 시작하여 숫자 "1"을 쓰십시오. 왼쪽으로 해당 값을 두 배로 늘리면 ( "2") 마지막 값을 두 배로 늘리는 용지 왼쪽으로 계속 이동합니다. 쓰려는 숫자가 변환중인 숫자보다 큰 경우 쓰기를 중지하십시오. 그렇지 않으면 이전 숫자를 계속 두 배로 쓰고 쓰십시오. (이 알고리즘을 사용하여 34,157,216,092와 같은 큰 숫자를 이진수로 변환하는 것은 약간 지루할 수 있지만 확실히 가능합니다.)
그래서, 당신은 당신의 종이에 있어야합니다 :
128 | 64 | 32 | 16 | 8 | 4 | 2 | 1 |
256을 제공하는 128을 두 배로 늘리면 변환되는 숫자 (218)보다 크기 때문에 128에서 숫자 쓰기를 중지했습니다.
가장 왼쪽 숫자부터 시작하여 그 위에 "218"을 쓰고 (128) "218이 128보다 크거나 같습니까?" 대답이 예이면 "128"아래의 "1"을 긁으십시오. "64"위에 218에서 128 (90)을 뺀 결과를 씁니다.
"64"를 보면서 "90이 64보다 크거나 같은가요?" 따라서 "64"아래에 "1"을 쓴 다음 90에서 64를 빼고 "32"(26)보다 위에 씁니다.
그러나 "32"에 도달하면 32가 26보다 크거나 같지 않다는 것을 알 수 있습니다.이 경우 "32"아래에 "0"을 쓰고 숫자 (26)를 32보다 위에 "" 16 "다음에 나머지 숫자들과 동일한 질문을 계속하십시오.
모두 완료되면 다음을 수행해야합니다.
218 90 26 26 10 2 2 0
128 | 64 | 32 | 16 | 8 | 4 | 2 | 1 |
1 1 0 1 1 0 1 0
맨 위에있는 숫자는 계산에 사용 된 메모 일 뿐이며 우리에게 큰 의미는 없습니다. 그러나 맨 아래에는 이진수 "11011010"이 표시됩니다. 물론, 이진수로 변환 된 218은 "11011010"입니다.
이 매우 간단한 절차에 따라 이진수를 10 진수로 변환하고 다시 계산기없이 다시 변환 할 수 있습니다. 수학은 매우 간단하며 약간의 연습만으로 규칙을 기억할 수 있습니다.
주소 분할
피자 배달과 같은 IP 라우팅을 생각하십시오.
피자를 "123 Main Street"에 배달하라는 요청을 받으면 "Main Street"라는 거리에있는 "123"번 빌딩으로 가고 싶다는 것은 인간에게 매우 분명합니다. 건물 수는 100에서 199 사이이고 대부분의 도시 블록은 수백 개이기 때문에 Main Street의 100 블록으로 가야한다는 것을 쉽게 알 수 있습니다. 주소를 나누는 방법을 "그냥 알고"있습니다.
라우터는 피자가 아닌 패킷을 전달합니다. 그들의 임무는 피자 운전사와 동일합니다 :화물 (포장)을 목적지에 최대한 가깝게하는 것. 라우터가 둘 이상의 IP 서브넷에 연결되어 있습니다 (모두 유용함). 라우터는 패킷의 대상 IP 주소를 검사하고 배달 대상을 결정하기 위해 피자 드라이버와 마찬가지로 대상 주소를 "거리 이름"및 "건물 번호"구성 요소로 분리해야합니다.
IP 네트워크의 각 컴퓨터 (또는 "호스트")는 고유 한 IP 주소와 서브넷 마스크로 구성됩니다. 이 IP 주소는 "호스트 ID"라는 "빌딩 번호"구성 요소 (위의 예에서는 "123")와 "호스트 ID"라는 "거리 이름"구성 요소 (위의 예에서는 "메인 스트리트")로 나눌 수 있습니다. "네트워크 ID". 사람의 눈으로는 건물 번호와 거리 이름이 "123 Main Street"에있는 위치를 쉽게 확인할 수 있지만 서브넷 마스크가 255.255.192.0 인 "10.13.216.41"로 구분하기가 더 어렵습니다.
IP 라우터는 라우팅 구성을 결정하기 위해 IP 주소를 이러한 구성 요소로 분리하는 방법을 "알고 있습니다". IP 패킷이 라우팅되는 방법을 이해하면이 프로세스를 이해하는 데 달려 있으므로 IP 주소를 분리하는 방법도 알아야합니다. 다행히 IP 주소와 서브넷 마스크에서 호스트 ID와 네트워크 ID를 추출하는 것은 실제로 매우 쉽습니다.
IP 주소를 이진수로 작성하여 시작하십시오 (아직 머리 에이 작업을 배우지 않은 경우 계산기를 사용하십시오).하지만 그것을 수행하는 방법을 배우십시오 메모는 실제로 쉽고 쉽습니다. 당사자) :
10. 13. 216. 41
00001010.00001101.11011000.00101001
서브넷 마스크도 바이너리로 작성하십시오.
255. 255. 192. 0
11111111.11111111.11000000.00000000
나란히 작성하면 서브넷 마스크에서 "1"이 중지 된 지점이 IP 주소의 지점에 "일렬로"있는 것을 볼 수 있습니다. 이것이 네트워크 ID와 호스트 ID가 분리되는 지점입니다. 따라서이 경우
10. 13. 216. 41
00001010.00001101.11011000.00101001 - IP address
11111111.11111111.11000000.00000000 - subnet mask
00001010.00001101.11000000.00000000 - Portion of IP address covered by 1's in subnet mask, remaining bits set to 0
00000000.00000000.00011000.00101001 - Portion of IP address covered by 0's in subnet mask, remaining bits set to 0
라우터는 서브넷 마스크를 사용하여 IP 주소에서 1로 덮여있는 비트를 "마스크 아웃"하여 ( "마스크 아웃되지 않은 비트를 0으로 대체") 네트워크 ID를 추출합니다.
10. 13. 192. 0
00001010.00001101.11000000.00000000 - Network ID
마찬가지로, 서브넷 마스크를 사용하여 IP 주소에서 0으로 덮여있는 비트를 "마스크 아웃"하여 (마스크되지 않은 비트를 다시 0으로 대체) 라우터는 호스트 ID를 추출 할 수 있습니다.
0. 0. 24. 41
00000000.00000000.00011000.00101001 - Portion of IP address covered by 0's in subnet mask, remaining bits set to 0
피자 배달 중에 실제 주소의 "건물 번호"와 "거리 이름"사이의 네트워크 ID와 호스트 ID 사이의 "중단"을 사람의 눈으로 보는 것은 쉽지 않지만 궁극적 인 효과는 같은.
이제 IP 주소와 서브넷 마스크를 호스트 ID와 네트워크 ID로 분할 할 수 있으므로 라우터처럼 IP를 라우팅 할 수 있습니다.
더 많은 용어
인터넷 전체와이 답변의 나머지 부분에서 (IP / 번호)로 작성된 서브넷 마스크가 표시됩니다. 이 표기법을 "클래스리스 도메인 간 라우팅"(CIDR) 표기법이라고합니다. "255.255.255.0"은 처음에 24 비트 1로 구성되며 "255.255.255.0"보다 "/ 24"로 쓰는 것이 더 빠릅니다. CIDR 번호 (예 : "/ 16")를 점으로 구분 된 10 진수 서브넷 마스크로 변환하려면 해당 번호를 1로 쓰고 8 비트 그룹으로 나누고 10 진수로 변환하면됩니다. 예를 들어 "/ 16"은 "255.255.0.0"입니다.
"이전 시대"로 돌아가서 서브넷 마스크는 지정되지 않았지만 IP 주소의 특정 비트를보고 파생되었습니다. 예를 들어, 0-127로 시작하는 IP 주소는 255.0.0.0 ( "클래스 A"IP 주소)의 암시 적 서브넷 마스크를가집니다.
이러한 암시 적 서브넷 마스크는 오늘날 사용되지 않으며 클래스리스 IP 주소 지정을 지원하지 않는 매우 오래된 장비 또는 RIPv1과 같은 오래된 프로토콜을 처리하는 데 불편을 겪지 않는 한 더 이상 배우지 않는 것이 좋습니다. 이 주소의 "클래스"에 대해서는 더 이상 언급하지 않겠습니다. 오늘날 적용 할 수없고 혼동 될 수 있기 때문입니다.
일부 장치는 "와일드 카드 마스크"라는 표기법을 사용합니다. "와일드 카드 마스크"는 1이있는 곳에 0이 있고 0이있는 곳에 1이있는 서브넷 마스크에 지나지 않습니다. / 26의 "와일드 카드 마스크"는 다음과 같습니다.
11111111.11111111.11111111.11000000 - /26 subnet mask
00000000.00000000.00000000.00111111 - /26 "wildcard mask"
일반적으로 액세스 제어 목록 또는 방화벽 규칙에서 호스트 ID를 일치시키는 데 사용되는 "와일드 카드 마스크"가 표시됩니다. 더 이상 여기서 논의하지 않을 것입니다.
라우터 작동 방식
앞에서 말했듯이 IP 라우터는 피자 배달원과 비슷한 직무를 수행하여화물 (패킷)을 목적지로 가져와야합니다. 주소 192.168.10.2에 대해 바인딩 된 패킷이 표시되면 IP 라우터는 해당 네트워크 인터페이스 중 어떤 패킷이 목적지에 가장 근접한지를 결정해야합니다.
IP 라우터이고 인터페이스가 연결되어 있다고 가정 해 보겠습니다.
- 이더넷 0-192.168.20.1, 서브넷 마스크 / 24
- 이더넷 1-192.168.10.1, 서브넷 마스크 / 24
대상 주소가 "192.168.10.2"로 전달할 패킷을 수신하면 Ethernet1 인터페이스 주소가 패킷의 대상과 일치하기 때문에 사람의 눈으로 패킷을 Ethernet1 인터페이스로 보내야한다는 것을 쉽게 알 수 있습니다. 주소. Ethernet1 인터페이스에 연결된 모든 컴퓨터의 IP 주소는 "192.168.10"으로 시작합니다. Ethernet1 인터페이스에 할당 된 IP 주소의 네트워크 ID는 "192.168.10.0"이기 때문입니다.
라우터의 경우이 라우팅 선택 프로세스는 라우팅 테이블을 작성하고 패킷이 전달 될 때마다 테이블을 참조하여 수행됩니다. 라우팅 테이블에는 네트워크 ID 및 대상 인터페이스 이름이 포함됩니다. 이미 IP 주소와 서브넷 마스크에서 네트워크 ID를 얻는 방법을 알고 있으므로 라우팅 테이블을 작성하는 중입니다. 이 라우터의 라우팅 테이블은 다음과 같습니다.
- 네트워크 ID : 192.168.20.0 (11000000.10101000.00010100.00000000)-24 비트 서브넷 마스크-인터페이스 Ethernet0
- 네트워크 ID : 192.168.10.0 (11000000.10101000.00001010.00000000)-24 비트 서브넷 마스크-인터페이스 이더넷 1
"192.168.10.2"에 대한 수신 패킷 바운드의 경우 해당 패킷의 주소를 이진으로 변환하기 만하면됩니다 (사람은 라우터가 처음부터 이진으로 가져옵니다). 라우팅의 각 주소와 일치 시키려고합니다. 항목과 일치 할 때까지 표 (서브넷 마스크의 비트 수까지).
- 수신 패킷 대상 : 11000000.10101000.00001010.00000010
라우팅 테이블의 항목과 비교 :
11000000.10101000.00001010.00000010 - Destination address for packet
11000000.10101000.00010100.00000000 - Interface Ethernet0
!!!!!!!!.!!!!!!!!.!!!????!.xxxxxxxx - ! indicates matched digits, ? indicates no match, x indicates not checked (beyond subnet mask)
11000000.10101000.00001010.00000010 - Destination address for packet
11000000.10101000.00001010.00000000 - Interface Ethernet1, 24 bit subnet mask
!!!!!!!!.!!!!!!!!.!!!!!!!!.xxxxxxxx - ! indicates matched digits, ? indicates no match, x indicates not checked (beyond subnet mask)
Ethernet0에 대한 항목은 처음 19 비트와 잘 일치하지만 일치를 중지합니다. 이는 올바른 대상 인터페이스가 아님을 의미합니다. Ethernet1 인터페이스가 대상 주소의 24 비트와 일치 함을 알 수 있습니다. 아하! 패킷은 Ethernet1 인터페이스에 바인딩됩니다.
실제 라우터에서 라우팅 테이블은 가장 긴 서브넷 마스크가 먼저 일치하는지 (즉, 가장 구체적인 경로) 확인되고, 일치하는 것이 발견되는 즉시 패킷이 라우팅 될 수 있도록 수치 적으로 정렬됩니다. 더 이상 일치하는 시도가 필요하지 않습니다 (192.168.10.0이 먼저 나열되고 192.168.20.0이 확인되지 않았 음을 의미). 여기, 우리는 그것을 조금 단순화하고 있습니다. 멋진 데이터 구조와 알고리즘은 더 빠른 IP 라우터를 만들지 만 간단한 알고리즘은 동일한 결과를 생성합니다.
정적 경로
지금까지는 가상 라우터가 네트워크에 직접 연결되어 있다고 가정했습니다. 그것은 분명히 세상이 실제로 작동하는 방식이 아닙니다. 피자 운전 비유에서 때로는 운전자가 프론트 데스크보다 건물에 더 이상 출입 할 수 없으며 최종 수령인에게 배달하기 위해 다른 사람에게 피자를 넘겨 줘야합니다 (불신을 중단하고 나에게 견디십시오. 비유를 늘려주세요).
이전 예제 "라우터 A"에서 라우터를 호출하여 시작하겠습니다. 이미 RouterA의 라우팅 테이블을 다음과 같이 알고 있습니다.
- 네트워크 ID : 192.168.20.0 (11000000.10101000.00010100.00000000)-서브넷 마스크 / 24-인터페이스 라우터 A-Ethernet0
- 네트워크 ID : 192.168.10.0 (11000000.10101000.00001010.00000000)-서브넷 마스크 / 24-인터페이스 라우터 A-Ethernet1
IP 주소 192.168.10.254/24 및 192.168.30.1/24가 Ethernet0 및 Ethernet1 인터페이스에 할당 된 다른 라우터 "라우터 B"가 있다고 가정하십시오. 다음과 같은 라우팅 테이블이 있습니다.
- 네트워크 ID : 192.168.10.0 (11000000.10101000.00001010.00000000)-서브넷 마스크 / 24-인터페이스 라우터 B-Ethernet0
- 네트워크 ID : 192.168.30.0 (11000000.10101000.00011110.00000000)-서브넷 마스크 / 24-인터페이스 라우터 B-Ethernet1
예쁜 ASCII 기술에서 네트워크는 다음과 같습니다.
Interface Interface
Ethernet1 Ethernet1
192.168.10.1/24 192.168.30.254/24
__________ V __________ V
| | V | | V
----| ROUTER A |------- /// -------| ROUTER B |----
^ |__________| ^ |__________|
^ ^
Interface Interface
Ethernet0 Ethernet0
192.168.20.1/24 192.168.10.254/24
라우터 B는 라우터 A가 알지 못하는 192.168.30.0/24 네트워크를 얻는 방법을 알고 있음을 알 수 있습니다.
라우터 A의 Ethernet0 인터페이스에 연결된 네트워크에 연결된 IP 주소가 192.168.20.13 인 PC가 라우터 A로 패킷을 전송하여 전송한다고 가정합니다. 우리의 가상 패킷은 라우터 B의 Ethernet1 인터페이스에 연결된 네트워크에 연결된 장치 인 IP 주소 192.168.30.46을 대상으로합니다.
위에 표시된 라우팅 테이블을 사용하면 라우터 A의 라우팅 테이블에있는 어느 항목도 대상 192.168.30.46과 일치하지 않으므로 라우터 A는 "목적지 네트워크에 연결할 수 없음"이라는 메시지와 함께 패킷을 전송 PC로 반환합니다.
라우터 A가 192.168.30.0/24 네트워크의 존재를 "인식"하게하기 위해 라우터 A의 라우팅 테이블에 다음 항목을 추가합니다.
- 네트워크 ID : 192.168.30.0 (11000000.10101000.00011110.00000000)-서브넷 마스크 / 24-192.168.10.254를 통해 액세스 가능
이런 식으로 라우터 A에는 예제 패킷의 192.168.30.46 대상과 일치하는 라우팅 테이블 항목이 있습니다. 이 라우팅 테이블 항목에는 "192.168.30.0/24에 대한 패킷 바인딩이 있으면이를 처리하는 방법을 알고 있기 때문에 192.168.10.254로 보내십시오."라고 효과적으로 말합니다. 이것은 앞에서 언급 한 유사한 "프론트 데스크에서 피자를 나눠주는"행동입니다. 목적지에 가까워지는 방법을 알고있는 다른 사람에게 패킷을 전달합니다.
라우팅 테이블에 "손으로"항목을 추가하는 것을 "정적 경로"추가라고합니다.
라우터 B가 192.168.20.0 서브넷 마스크 255.255.255.0 네트워크에 패킷을 전달하려면 라우팅 테이블에도 항목이 필요합니다.
- 네트워크 ID : 192.168.20.0 (11000000.10101000.00010100.00000000)-서브넷 마스크 / 24-다음을 통해 액세스 가능 : 192.168.10.1 (192.168.10.0 네트워크에서 라우터 A의 IP 주소)
이 라우터 사이의 192.168.10.0/24 네트워크를 통해 192.168.30.0/24 네트워크와 192.168.20.0/24 네트워크 사이에 전달할 경로가 작성됩니다.
이러한 "삽입 네트워크"의 양쪽에있는 라우터에 "파 엔드"네트워크에 대한 라우팅 테이블 항목이 있는지 항상 확인하려고합니다. 이 예에서 라우터 B는 192.168.20.13에있는 PC에서 가상의 패킷을 라우터에 부착 된 "맨 끝에"네트워크 192.168.20.0/24에 대한 라우팅 테이블 항목이하지 않은 경우 것 192.168.30.46에서 대상 장치에 도착를, 그러나 192.168.30.46이 다시 보내려고 한 회신은 라우터 B에서 "대상 네트워크에 연결할 수 없음"으로 반환됩니다. 단방향 통신은 일반적으로 바람직하지 않습니다. 컴퓨터 네트워크의 통신에 대해 생각할 때는 항상 양방향 으로 흐르는 트래픽에 대해 생각하십시오 .
정적 경로에서 많은 마일리지를 얻을 수 있습니다. EIGRP, RIP 등과 같은 동적 라우팅 프로토콜은 실제로 라우터가 라우팅 정보를 서로 교환하여 실제로 고정 경로로 구성 할 수있는 방법 일뿐입니다. 정적 경로보다 동적 라우팅 프로토콜을 사용 하는 것의 한 가지 큰 장점은 동적 라우팅 프로토콜이 네트워크 조건 (대역폭 사용률, 인터페이스 "내림"등)에 따라 동적으로 라우팅 테이블을 동적으로 변경할 수 있다는 것입니다. 라우팅 프로토콜로 인해 네트워크 인프라에서 "라우팅"오류 또는 병목 현상이 발생할 수 있습니다. (동적 라우팅 프로토콜은 WAY 하지만,이 답변의 범위를 벗어난다.)
여기서 갈 수 없어
예제 라우터 A의 경우 "172.16.31.92"에 대해 바인딩 된 패킷이 들어 오면 어떻게됩니까?
라우터 라우팅 테이블을 보면 대상 인터페이스 나 고정 경로가 172.18.31.92의 첫 24 비트 (10101100.00010000.00011111.01011100, BTW)와 일치하지 않습니다.
우리가 이미 알고 있듯이 라우터 A는 "대상 네트워크에 연결할 수 없음"메시지를 통해 패킷을 보낸 사람에게 반환합니다.
주소 "192.168.20.254"에 다른 라우터 (라우터 C)가 있다고 가정하십시오. 라우터 C는 인터넷에 연결되어 있습니다!
Interface Interface Interface
Ethernet1 Ethernet1 Ethernet1
192.168.20.254/24 192.168.10.1/24 192.168.30.254/24
__________ V __________ V __________ V
(( heap o )) | | V | | V | | V
(( internet )) ----| ROUTER C |------- /// -------| ROUTER A |------- /// -------| ROUTER B |----
(( w00t! )) ^ |__________| ^ |__________| ^ |__________|
^ ^ ^
Interface Interface Interface
Ethernet0 Ethernet0 Ethernet0
10.35.1.1/30 192.168.20.1/24 192.168.10.254/24
라우터 A가 라우터 C가 로컬 인터페이스와 일치하지 않는 패킷을 라우터 C까지 라우팅하여 라우터 C가 인터넷으로 전송할 수 있다면 좋을 것입니다. "기본 게이트웨이"경로를 입력하십시오.
라우팅 테이블 끝에 다음과 같이 항목을 추가하십시오.
- 네트워크 ID : 0.0.0.0 (00000000.00000000.00000000.00000000)-서브넷 마스크 / 0-대상 라우터 : 192.168.20.254
라우팅 테이블의 각 항목에 "172.16.31.92"를 일치 시키려고하면이 새 항목에 도달합니다. 처음에는 조금 당황 스럽습니다. 우리는 목적지 주소의 0 비트를 ... 대기 ... 무엇과 일치 시키려고합니다. 제로 비트 매칭? 따라서 우리는 전혀 일치하는 것을 찾지 않습니다. 이 라우팅 테이블 항목은 기본적으로 "배달을 포기하지 않고 도착하면 패킷을 라우터로 192.168.20.254로 보내서 처리하게하십시오"라고 말합니다.
192.168.20.254 우리가 목적지 DO 로 패킷을 전달하는 방법을 알고있다. 특정 라우팅 테이블 항목이없는 대상에 대해 바인딩 된 패킷에 직면 할 때이 "기본 게이트웨이"항목은 항상 일치합니다 (대상 주소의 0 비트와 일치하기 때문에) "마지막 수단"위치를 제공합니다. 배달을 위해 패킷을 보냅니다. 때때로 "마지막 게이트웨이"라는 기본 게이트웨이가 들립니다.
기본 게이트웨이 라우트를 적용하려면 라우팅 테이블의 다른 항목을 사용하여 도달 할 수있는 라우터를 참조해야합니다. 예를 들어 라우터 A에서 기본 게이트웨이 192.168.50.254를 지정하려고하면 이러한 기본 게이트웨이로의 배달이 실패합니다. 192.168.50.254는 라우터 A가 라우팅 테이블의 다른 경로를 사용하여 패킷을 전달하는 방법을 알고있는 주소가 아니므로 이러한 주소는 기본 게이트웨이로 비효율적입니다. 이것은 간결하게 설명 할 수 있습니다. 기본 게이트웨이는 라우팅 테이블의 다른 경로를 사용하여 이미 도달 가능한 주소로 설정해야합니다.
실제 라우터는 일반적으로 기본 게이트웨이를 라우팅 테이블에 마지막 경로로 저장하여 테이블의 다른 모든 항목과 일치하지 않은 패킷과 일치하도록합니다.
도시 계획 및 IP 라우팅
IP 서브넷을 더 작은 IP 서브넷으로 나누는 것은 도시 계획과 같습니다. 도시 계획에서 구역 설정은 조경의 자연적인 특징 (강, 호수 등)에 적응하고 도시의 다른 부분들 사이의 교통 흐름에 영향을 미치며 다른 유형의 토지 이용 (산업, 주거 등)을 분리하는 데 사용됩니다. . IP 서브넷은 거의 동일합니다.
네트워크를 서브넷으로 만드는 데는 세 가지 주요 이유가 있습니다.
다른 통신 매체와 다른 통신을 원할 수 있습니다. 두 건물 사이에 T1 WAN 연결이있는 경우이 연결의 끝에 IP 라우터를 배치하여 T1을 통한 통신을 용이하게 할 수 있습니다. 각 끝의 네트워크 (및 T1 자체의 "삽입"네트워크)는 고유 한 IP 서브넷에 할당되므로 라우터는 T1 회선을 통해 어떤 트래픽을 전송해야하는지 결정할 수 있습니다.
이더넷 네트워크에서 서브넷을 사용하여 특정 네트워크 부분의 브로드 캐스트 트래픽 양을 제한 할 수 있습니다. 응용 프로그램 계층 프로토콜은 매우 유용한 목적으로 이더넷의 브로드 캐스트 기능을 사용합니다. 그러나 점점 더 많은 호스트를 동일한 이더넷 네트워크에 패키징하면 유선 (또는 무선 이더넷에서 무선)의 브로드 캐스트 트래픽 비율이 비 브로드 캐스트 트래픽 전달 문제를 야기 할 정도로 증가 할 수 있습니다. 예전에는 브로드 캐스트 트래픽이 각 브로드 캐스트 패킷을 검사하도록하여 호스트의 CPU를 압도 할 수있었습니다. 오늘날에는 그 가능성이 적습니다. 스위치 이더넷의 과도한 트래픽도 "알 수없는 대상에 프레임을 플로팅"하는 형태로 나타날 수 있습니다. 이 상태는 이더넷 스위치가 네트워크의 모든 대상을 추적 할 수 없기 때문에 발생하며 스위치 된 이더넷 네트워크가 무한대의 호스트로 확장 될 수없는 이유입니다. 알 수없는 대상으로 프레임을 넘치게하는 효과는 서브넷을 목적으로 과도한 브로드 캐스트 트래픽의 효과와 유사합니다.
서로 다른 호스트 그룹간에 흐르는 트래픽 유형을 "경고"할 수 있습니다. 인쇄 서버 장치가 있고 인증 된 인쇄 큐 서버 컴퓨터 만 작업을 보내려고 할 수 있습니다. 프린트 서버 장치 서브넷으로 흐르는 트래픽을 제한함으로써 사용자는 자신의 PC가 프린트 계정을 우회하도록 프린트 서버 장치와 직접 통신하도록 구성 할 수 없습니다. 프린트 서버 장치를 모두 서브넷에 넣고 해당 서브넷에 연결된 라우터 나 방화벽에 규칙을 생성하여 프린트 서버 장치로 트래픽을 전송하도록 허용 된 호스트 목록을 제어 할 수 있습니다. 라우터와 방화벽 모두 일반적으로 패킷의 소스 및 대상 주소를 기반으로 패킷을 전달할지 여부를 결정할 수 있습니다. 방화벽은 일반적으로 강박적인 성격을 가진 라우터의 하위 종입니다. 라우터는 일반적으로 페이로드를 무시하고 패킷을 전달하는 반면 패킷의 페이로드에 대해 매우 우려 할 수 있습니다.)
도시를 계획 할 때 거리가 서로 교차하는 방식을 계획하고 회전 전용, 일방 통행 및 막 다른 길을 사용하여 교통 흐름에 영향을 줄 수 있습니다. 메인 스트리트의 길이는 30 블록, 각 블록에는 최대 99 개의 건물이 있어야합니다. 메인 스트리트의 각 블록이 각 블록에 대해 100 씩 증가하는 거리 번호를 갖도록 거리 번호 매기기를 계획하는 것은 매우 쉽습니다. 각 후속 블록의 "시작 번호"가 무엇인지 알기가 매우 쉽습니다.
IP 서브넷을 계획 할 때는 사용 가능한 호스트 ID 수 (빌드 번호)가 올바른 서브넷 수 (거리)를 구축하고 라우터를 사용하여 서브넷을 서로 연결 (교차로)해야합니다. 라우터에 지정된 허용 된 소스 및 대상 주소에 대한 규칙은 트래픽 흐름을 추가로 제어 할 수 있습니다. 방화벽은 강박 관념처럼 행동 할 수 있습니다.
이 답변의 목적으로 서브넷을 구축하는 것이 유일한 주요 관심사입니다. 도시 계획에서와 같이 십진수로 작업하는 대신 각 서브넷의 경계를 설명하기 위해 이진법으로 작업합니다.
계속 : IPv4 서브네팅은 어떻게 작동합니까?
(예 ... 최대 답변 크기 (30000 자)에 도달했습니다.)