Linux 기사 [17]: 네트워크 IP 계층 프로토콜

목차

네트워크 계층 소개

1. 프로토콜 헤더 형식

1. 속성 소개

2. 두 번째 줄에 16비트 플래그, 3비트 플래그 및 13비트 칩 오프셋 도입

 (1) 네트워크 계층 조각화

① 네트워크 계층의 조각화는 주류가 아닙니다!

② 프래그먼트화를 줄이는 방법은? 네트워크 계층의 프래그먼트화 여부는 네트워크 계층에서 결정한다? ?

(2) 단편화 조립

(3) 조각화가 UDP와 TCP에 영향을 미칩니까?

2. 네트워크 세그먼트 구분(중요)

1. IP 주소 구성

2. 네트워크 부문 구분

(1. 소개

(2) 네트워크 세그먼트가 분할된 이유는 무엇입니까?

3. 사설 IP 주소와 공인 IP 주소

(1. 소개

(2) NAT 기술 - IP 부족을 크게 완화한 선구적인 작업

4. 라우팅


네트워크 계층 소개

애플리케이션 계층: 전체 메시지 읽기 && 직렬화 && 프로토콜 처리 문제. (데이터 추출 - 데이터 처리)

전송 계층(tcp/udp): 안정성을 해결합니다. 흐름 제어, 타임아웃 재전송 및 기타 전략을 제공합니다.

인터넷 계층(IP)이 제공하는 것은 네트워크를 통해 A 호스트에서 B 호스트로 데이터를 보내는 기능입니다. 전송 계층(TCP): 안정성을 보장합니다.
TCP/IP --> 네트워크를 통해 호스트 A에서 호스트 B로 안정적으로 데이터 전송

네트워크 계층
복잡한 네트워크 환경에서 적절한 경로를 결정합니다 .

IP 프로토콜
기본 사상
호스트 : 라우팅 및 제어할 수 있는 IP 주소 있는 장치 .
라우터 : IP 주소를 갖추고 있으며 라우팅 제어가 가능합니다 .
노드 : 호스트와 라우터의 총칭.

1. 프로토콜 헤더 형식

1. 속성 소개

4 자리 버전 번호 ( version): IP 프로토콜 의 버전을 지정합니다 . IPv4 경우 4 입니다 .
4 비트 헤더 길이 (header length): 32비트 IP 헤더의 길이, 길이 * 4 의 바이트 수 이다. 4비트 는 최대 개수가 15라는 것을 의미하므로 IP 헤더 의 최대 길이는 60 바이트 입니다 .
8 비트 서비스 유형 (Type Of Service): 3 비트 우선 순위 필드 ( 더 이상 사용되지 않음 ), 4 비트 TOS 필드 1 비트 예약 필드 ( 0 으로 설정해야 함 ) 4 비트 TOS는 각각 다음을 나타냅니다 . 최소 지연 , 최대 처리량 수량 , 최고 신뢰성 , 최소 비용 이 네 가지 가 서로 충돌 하여 하나만 선택할 있습니다 .
ssh/telnet 과 같은 애플리케이션의 경우 최소 지연이 더 중요 하고 ftp 같은 프로그램 의 경우 최대 처리량이 더 중요 합니다 .
16 비트 총 길이 (total length): IP 데이터그램이 전체적으로 차지하는 바이트 수 .
16 비트 식별자 (id): 호스트에서 보낸 패킷을 고유하게 식별합니다 .IP 패킷 이 데이터 링크 계층에서 조각난 경우 각 조각의 ID는 동일 합니다 .
3 비트 플래그 필드 : 첫 번째 비트는 예약됨 ( reserved는 현재 사용하지 않음을 의미 하지만 생각하지 않은 경우 미래에 사용할 수 있음 ) 두 번째 비트는 1로 단편화 금지를 의미 . 이때 패킷 길이가 MTU를 초과하면 IP 모듈 메시지는 폐기됩니다 . 세 번째 비트는 " 더 많은 조각 "을 의미합니다. 조각난 경우 마지막 조각은 0으로 나머지 조각은 1로 설정됩니다. 종료 표시와 비슷합니다 .
13 비트 프래그먼트 오프셋 (framegament offset): 원래 IP 메시지 의 시작 부분 에 상대적인 프래그먼트의 오프셋입니다 . 사실 현재 프래그먼트가 원래 메시지에서 어디에 있는지를 나타냅니다. 실제 바이트 오프셋 수는 다음과 같습니다. value * 8 이 얻어 지므로 마지막 메시지를 제외하고 다른 메시지의 길이는 8 의 정수배 여야 합니다 ( 그렇지 않으면 메시지가 연속적이지 않습니다 ) .
8 비트 TTL (Time To Live, TTL): 네트워크 버그 또는 연결할 수 없는 피어 호스트와 같은 제어할 수 없는 요인으로 인해 IP 패킷이 사라지지 않고 오랫동안 네트워크에서 방황하여 리소스를 차지하게 됩니다. 그런 다음 IP 메시지의 8 비트 생존 시간 ( 데이터그램이 목적지에 도달하기 위한 최대 메시지 홉(카운터) 수)을 설정합니다. 일반적으로 64입니다. 경로를 통과할 때마다 TTL -= 1, 0 으로 줄었고 아직 도착하지 않았습니다 . 그런 다음 폐기합니다 . 이 필드는 주로 라우팅 루프를 방지하는 데 사용됩니다.
8 비트 프로토콜 : 상위 계층 프로토콜의 종류를 나타냄
16 비트 헤더 체크섬 : CRC를 사용하여 헤더가 손상 되었는지 확인 합니다 .
32 비트 소스 주소 및 32 비트 대상 주소 : 발신자와 수신자를 나타냅니다 .
옵션 필드 ( 가변 길이 , 최대 40 바이트 ): 약간
네트워크 세그먼트 구분 ( 중요 )

2. 두 번째 줄에 16비트 플래그, 3비트 플래그 및 13비트 칩 오프셋 도입

 (1) 네트워크 계층 조각화

링크는 단일 데이터 프레임을 보내는 데 최대 제한이 있으므로 너무 큰 IP 패킷을 보낼 수 없으며 보낼 IP 패킷이 크면 네트워크 계층에서 이를 분할하여 데이터 링크 계층으로 전달해야 합니다.

IP 조각화, 누가 할 것인가 ——발신자의 네트워크 계층에서 조각화를 수행합니다(예를 들어 SF Express에서 10kg 컴퓨터를 보내려면 SF Express에서 패키지를 분해하는 것이 불가능합니다. 그리고 조립 안일어나면 책임져야지 컴퓨터 직접 분해해서 SF익스프레스에서 5개로 나눠서 보내야함) 다 받고 누가 조립해
? ——상대방의 네트워크 계층은
그것이 발신자인지 수신자인지를 어셈블합니다 , 조각화 및 조립 동작, 양쪽의 전송 계층, 알고 있습니까? ——알 필요가 없으며 신경 쓰지 않습니다. 네트워크 계층과 전송 계층의 기능이 분리되었습니다!

① 네트워크 계층의 조각화는 주류가 아닙니다!

설명: 네트워크 계층에서의 Fragmentation은 안정적인 네트워크 전송에 도움이 되지 않음 Fragmentation은 네트워크 계층에서 수행 3000바이트 데이터 조각을 3개로 나눈다고 가정 전송 계층으로 전달할 때 한 부분만 손실되면 전체 데이터 패키지가 손실 됩니다 . 즉, 1패킷 손실과 3패킷 손실은 후자의 확률이 더 높다. 따라서 네트워크 계층이 조각화되는 한 패킷 손실률은 증가합니다. (샤딩은 권장하지 않습니다!!)

② 프래그먼트화를 줄이는 방법은? 네트워크 계층의 프래그먼트화 여부는 네트워크 계층에서 결정한다? ?

네트워크 계층의 조각화 여부는 네트워크 계층 이 아니라 전송 계층이 결정합니다 ! 단편화 감소 - 전송 계층은 너무 큰 패킷을 전송하지 않도록 고려해야 합니다. 샤딩 후. 각 프래그먼트도 독립적인 IP 패킷이며 헤더도 있습니다. 일반적으로 3방향 핸드셰이크 중에 단일 데이터 전송의 패킷 크기가 협상됩니다 .

(2) 단편화 조립

16 비트 식별자 (id): 호스트에서 보낸 패킷을 고유하게 식별합니다 .IP 패킷 데이터 링크 계층에서 조각난 경우 각 조각의 ID는 동일합니다 .

3 비트 플래그 필드 : 첫 번째 비트는 예약됨 ( reserved는 현재 사용하지 않음을 의미 하지만 생각하지 않은 경우 미래에 사용할 수 있음 ) 두 번째 비트는 1로 단편화 금지를 의미 (Fragmentation 기능을 끕니다.) 이 때, 메시지 길이가 MTU를 초과하면 IP 모듈은 패킷을 폐기합니다 . 세 번째 비트는 " 더 많은 조각 " 을 의미합니다 . 조각이 있으면 마지막 조각이 로 설정됩니다. 0 이고 나머지는 1입니다. "\0으로 끝나는 문자열" 종료 태그와 유사합니다. ( 마지막 추가 조각은 0이지만 조각난 경우 13비트 슬라이스 오프셋이 0이 아니어야 합니다! )

13비트 프레임 오프셋(framegament offset): 원본 IP 메시지 의 시작 부분에 상대적인 조각 의 오프셋 입니다 . 사실 원본 메시지에서 현재 조각의 위치를 ​​나타냅니다. 실제 바이트 오프셋 수는 다음과 같습니다. 값 * 8. 따라서 마지막 메시지를 제외하고 다른 메시지의 길이는 8 의 정수배 여야 합니다 ( 그렇지 않으면 메시지가 연속적이지 않음 ) .


조립:
1. 먼저 메시지가 조각난 것인지 식별합니다! - 3비트 플래그 필드 + 13비트 슬라이스 오프셋 . 가장 중요한 속성은 "more fragments"이며, 메시지가 조각화되었는지 여부를 식별하기 위해 "more fragments"가 1인지 확인하고 조각난 것입니다. "more fragments"가 0이면 "13비트 조각" Offset"을 참조합니다. "13비트 슬라이스 오프셋"이 0이 아니면 조각이고, 0이면 조각이 아닙니다. 즉, (더 많은 조각==1)||(더 많은 조각==0&& 오프셋!=0)
2. 동일한 일련 번호를 가진 패킷을 먼저 수집합니다. —— 16 비트 아이디 (id)가 같을 경우 수집
3. 올바른 조립 방법. ——13 비트 슬라이스 오프셋 에 따라  작은 것부터 큰 것까지 정렬하고 어셈블합니다.

마지막 조각을 수집했는지 어떻게 확인합니까? —— "더 많은 조각"은 1이고 "더 많은 조각"이 0이 될 때까지 하나씩 조립하면 수집이 완료되었음을 의미합니다.
패킷이 유실된 경우 다 수신했는지 어떻게 확인하나요? —— 13비트 조각 오프셋을 작은 . 패킷이 중간에 손실된 경우: 각 패킷의 오프셋 + 해당 패킷의 오프셋 자체 길이 = 다음 패킷 오프셋 Migration, 대기 중이 아니면 패킷 손실이 적다는 의미입니다. 패킷이 처음에 손실된 경우: 첫 번째 패킷의 오프셋이 0이 아니므로 시작이 손실되었음을 의미합니다. 마지막에 패킷 손실 시: . 마지막 메시지의 "더 많은 조각"이 0이 아닌 경우 끝이 손실되었음을 의미합니다.

(3) 조각화가 UDP와 TCP에 영향을 미칩니까?

물론 영향이 있어 패킷 손실 가능성이 높아지지만 tcp의 신뢰성은 영향이 적고 udp의 영향이 크므로 IP 조각화는 UDP에 직접 영향을 미칩니다.

2. 네트워크 세그먼트 구분 ( 중요 )

1. IP 주소 구성

IP 주소는 네트워크 번호와 호스트 번호의 두 부분으로 나뉩니다( IP 구성은 ip=목적지 네트워크+목적지 호스트 )
        네트워크 번호: 서로 연결된 두 네트워크 세그먼트의 식별자가 서로 다른지 확인합니다 .
호스트         번호: 동일한 네트워크 세그먼트에서 호스트 는 동일한 네트워크 번호를 갖지만 다른 호스트 번호를 가져야 합니다 .
예:

FF:FF:FF : FF        는 학번과 유사합니다:  2020190401 08
목적지 네트워크  목적지 호스트                        학과 수업 학생 일련번호

IP가 라우팅 중일 때, 이동 중일 때 먼저 대상 네트워크에 따라 라우팅을 수행하고 대상 네트워크를 찾은 다음 대상 호스트의 호스트 번호에 따라 데이터 전달이 수행됩니다!

         서로 다른 서브넷은 실제로 동일한 네트워크 번호를 가진 호스트입니다.
         서브넷에 새로운 호스트가 추가되면 이 호스트의 네트워크 번호는 서브넷의 네트워크 번호와 동일하지만 호스트 번호는 서브넷에 있는 다른 호스트의 번호와 달라야 합니다.
호스트 번호와 네트워크 번호를 합리적으로 설정하면 상호 연결된 네트워크에서 각 호스트의 IP 주소가 서로 다른지 확인할 수 있습니다 .
그러면 문제가 발생합니다 . 서브넷에서 IP를 수동으로 관리하는 것은 매우 번거로운 일입니다 .
         ● 수동 IP 관리 의 불편함을 하면서 서브넷의 새로운 호스트 노드에 자동으로 IP 주소를 할당할 수 있는 DHCP라는 기술이 있습니다 .
         일반 공유기는 DHCP 기능이 있으므로 공유기 DHCP 서버 로 간주할 수 있습니다 .

2. 네트워크 부문 구분

(1. 소개

글로벌 IP 주소를 나누는 역할이 있었을 것입니다.

과거 제품: 과거에는 네트워크 번호와 호스트 번호를 구분하는 방식이 제안되었으며 모든 IP 주소는 아래 그림과 같이 5개의 범주로 구분되었습니다 ( 이 그림은 [TCPIP]에서 가져옴) .

         클래스 A 0.0.0.0 ~ 127.255.255.255
         클래스 B 128.0.0.0 ~ 191.255.255.255
         클래스 C 192.0.0.0 ~ 223.255.255.255
         클래스 D 224.0.0.0 ~ 239.255.255.255
         클래스 E 240.0.0.0 ~ 247.255.255.255
인터넷 의 급속한 발전 함께 이러한 분할 체계의 한계가 빠르게 드러났고 대부분의 조직이 클래스 B 네트워크 주소를 신청하여 클래스 B 주소가 급속히 손실되었습니다 .
할당은 끝났지 만 Class A는 많은 주소를 낭비합니다 .
         예를 들어 클래스 B 주소를 신청하면 이론상 65,000 개 이상의 호스트(2^16)가 서브넷에 허용될 수 있으며 클래스 A 주소 서브넷의 호스트 수는 더 많습니다 .
         그러나 실제 네트워크 구축에서는 서브넷에 해당하는 경우가 그리 많지 않기 때문에 많은 IP 주소가 낭비됩니다 .
최신 체계: CIDR(Classless Interdomain Routing) 이라고 하는 이 상황에 대한 새로운 분할 체계가 제안됩니다 .
         네트워크 번호와 호스트 번호를 구분하기 위해 추가 서브넷 마스크(서브넷 마스크)를 도입합니다 .
         서브넷 마스크도 32 비트 양의 정수 이며 일반적 으로 문자열 "0" 으로 끝납니다 .
         IP 주소와 서브넷 마스크 에 대해 " 비트별 AND " 연산을 수행하면 결과 네트워크 번호입니다( 예: 1111100 앞의 1은 네트워크 번호를 가져오고 다음 0은 호스트 번호를 지웁니다 ) .
         ● 네트워크 번호와 호스트 번호의 구분은 IP 주소가 클래스 A , 클래스 B 또는 클래스 C 인지 여부와 관계가 없습니다.

예: 

네트워크 번호는 IP 주소와 서브넷 마스크를 ANDing하여 얻을 수 있으며 모두 0 에서 모두 1 인 호스트 번호가 서브넷의 주소 범위임을 알 수 있습니다 .
IP 주소 서브넷 마스크 를 표현 하는 간결한 방법 있습니다 . 255.0

(2) 네트워크 세그먼트가 분할된 이유는 무엇입니까?

학교를 예로 들면 학번을 통해 경제경영학부에 있는 사람을 찾는 것은 매우 간단합니다. 는, 다른 전공을 제외하고, 마지막 4자리를 보고 학번과 개인 일련번호를 찾습니다.

데이터 전송의 본질: 먼저 대상 컴퓨터(대상 네트워크 + 대상 호스트) 찾기
--> 찾기의 본질은 제외 프로세스입니다! !
——>서브넷 분할, 한 번에 많은 수의 서브넷 제외—
> 왜 네트워크 세그먼트를 분할해야 합니까? 찾기 쉬움 - 대상 호스트 찾기의 효율성이 향상됩니다!

특수 IP 주소
IP 주소 의 모든 호스트 주소를 0 으로 설정하면 이 LAN을 나타내는 네트워크 번호가 됩니다 .
IP 주소 의 모든 호스트 주소를 1 설정하면 동일한 링크에서 서로 연결된 모든 호스트에 데이터 패킷을 보내는 데 사용되는 브로드캐스트 주소가 됩니다 .
127.* IP 주소는 로컬 루프백 (loop back) 테스트 에 사용되며 일반적 으로 127.0.0.1

IP 주소 수 제한
우리는 IP 주소 (IPv4) 4 바이트 32 비트 양의 정수라는 것을 알고 있습니다 . 그러면 IP 주소 2 32 제곱 인 약 43 억 개가 있습니다 . 그리고 TCP/IP
프로토콜은 각 호스트가 IP 주소를 가져야 한다고 규정 합니다 .
이것은 43 억 개의 호스트 네트워크에 액세스할 수 있다는 것을 의미합니까 ?
실제로 일부 특별한 IP 주소가 존재하기 때문에 그 수 43 억개 에 훨씬 못 미치며 , 또한 IP 주소는 호스트 수에 따라 구성되는 것이 아니라 각각 의 네트워크 카드
모두 하나 이상의 IP 주소를 구성해야 합니다 .
CIDR은 IP 주소 부족 문제를 어느 정도 완화 ( 활용도 향상 낭비 감소 , 그러나 IP 주소의 절대 상한은 증가하지 않음 ) 하지만 여전히
충분하지 않습니다 . 현재 이를 해결하는 세 가지 방법이 있습니다 .
IP 주소 의 동적 할당 : 네트워크에 연결된 장치 에만 IP 주소를 할당합니다 . 따라서 동일한 MAC 주소를 가진 장치는 인터넷에 연결할 때 마다 반드시 동일한 IP 주소를 얻지는 않습니다 .
NAT 기술 ( 추후 소개 예정 )
IPv6: IPv6는 IPv4 의 단순한 업그레이드 버전이 아닙니다 . 이 두 프로토콜은 서로 관련이 없으며 서로 호환되지 않습니다 .IPv6은 IP 주소를 나타내는 16 바이트와 128 비트를 사용 하지만 IPv6 는 아직 대중적이지 않습니다 .

3. 사설 IP 주소와 공인 IP 주소

(1. 소개

조직 내에서 근거리 통신망이 구축된 경우 해당 IP 주소는 근거리 통신망 내 통신에만 사용되며 인터넷 에 직접 연결되지는 않습니다 . 이론적으로는 모든 IP 주소를 사용할 수 있지만 RFC 1918 에서는 사설 IP를 규정 하고 있습니다. 근거리 통신망을 구축하는 데 사용되는 주소
10.*, 처음 8 자리는 네트워크 번호 , 16,777,216 개의 주소
172.16. ~ 172.31. , 처음 12 자리는 네트워크 번호 , 1,048,576 개의 주소
192.168.*, 처음 16 자리는 네트워크 번호 , 65,536 개의 주소
이 범위에 포함되면 모두 사설 IP(사설 IP는 공용망에 나타날 수 없고, 사설망에서만 LAN을 형성할 수 있음)가 되고, 나머지를 글로벌 IP(또는 공용망 IP)라고 한다 .
홈 라우터: IP 패킷 포워딩 외에도 서브넷 구축!!
호스트가 온라인으로 전환하려는 경우 라우터에 연결한 후 공중망(WAN)과 직접 통신하지 않고 교환원에게 메시지를 보냅니다. 휴대전화 요금을 내야 하는 교환원이 인터넷 접속을 허용하지 않지만 그래도 10086을 통과할 수 있습니다. 연체 시 교환원은 귀하가 보낸 데이터 패킷을 버리지만 여전히 교환원에게 메시지를 보낼 수 있습니다 .

(2) NAT 기술 - IP 부족을 크게 완화한 선구적인 작업

근거리 통신망의 데이터는 공용 네트워크로 전송되며, 소스 IP를 지속적으로 교체하여 완료해야 합니다.
예제 프로세스: 운영자가 LAN 전용 네트워크를 구축합니다.비디오를 보고 싶다면 호스트의 192.168.1.201과 홈 라우터의 LAN 포트 IP 192.168.1.1이 동일한 LAN에 있으면 요청을 보낼 수 있습니다. 보낸 후 홈 라우터는 호스트의 src 소스 IP "201"을 WAN 포트 IP "10.1.1.2"로 교체하고 홈 라우터는 이 요청을 운영자 라우터로 보내고 운영자 라우터는 홈 라우터의 src 소스 IP "10.1.1.2"를 WAN 포트 IP "122.77.241.4"로 교체하고 마지막으로 특정 오디오 서버로 보내어 요청을 처리하도록 합니다. 이것은 지속적인 NAT 변환입니다.

라우터는 두 개의 IP 주소로 구성할 수 있습니다. 하나는 WAN 포트 IP이고 다른 하나는 LAN 포트 IP(서브넷 IP)입니다.
라우터의 LAN 포트에 연결된 호스트는 모두 현재 라우터의 서브넷에 종속됩니다.
서로 다른 라우터는 동일한 서브넷 IP(일반적으로 192.168.1.1)를 가지며 서브넷에 있는 호스트의 IP 주소는 반복될 수 없지만 서브넷 사이의 IP 주소는 반복될 수 있습니다 .
각 홈 라우터는 실제로 캐리어 라우터의 서브넷에 있는 노드이며 이러한 캐리어 라우터는 여러 수준을 가질 수 있으며 가장 바깥쪽 캐리어 라우터인 WAN 포트 IP는 공용 네트워크 IP입니다.
서브넷의 호스트가 외부 네트워크와 통신해야 할 때 라우터는 IP 헤더의 IP 주소를 (WAN 포트 IP로) 교체하고 단계적으로 교체하며 최종적으로 데이터 패킷의 IP 주소는 공용 네트워크 IP 이 기술을 NAT(Network Address Translation, Network Address Translation)라고 합니다.        
공용 네트워크에서 자체 서버 프로그램에 액세스하려면 외부 IP가 있는 서버에 프로그램을 배포해야 하며 이러한 서버는 Alibaba Cloud/Tencent Cloud에서 구입할 수 있습니다.

4. 라우팅

복잡한 네트워크 구조에서 목적지 까지의 경로를 찾으십시오 .
라우팅 과정은 홉 바이 홉 (Hop by Hop) 으로 " 길을 묻는 " 과정 이다 . 각 홉의 인접 라우터는 동일한 LAN에 있어야 하며 동일한 LAN 내에서만 통신할 수 있다.
소위 " 한 홉 " 은 데이터 링크 계층의 간격이며 특히 이더넷에서는 소스 MAC 주소에서 대상 MAC 주소 까지 의 프레임 전송 간격을 나타냅니다 .
IP 패킷의 전송 과정도 방향을 묻는 것과 같습니다 .
         IP 패킷이 라우터 에 도착 하면 라우터는 먼저 대상 IP를 확인합니다 .
         라우터 는 데이터 패킷을 대상 호스트로 직접 보낼 수 있는지 또는 다음 라우터로 보낼 필요가 있는지 결정합니다 .
         대상 IP 주소 에 도달할 때까지 순서대로 반복합니다 .
그렇다면 현재 데이터 패킷을 어디로 보내야 하는지 결정하는 방법은 각 노드 내부에 라우팅 테이블을 유지하는 것에 달려 있습니다 .
[ 당승이 길을 묻는 예 2 ]
         라우팅 테이블은 route 명령 으로 볼 수 있습니다.
         대상 IP가 라우팅 테이블에 도달 하면 바로 전달합니다 .
         라우팅 테이블의 마지막 라인은 주로 다음 홉 주소와 송신 인터페이스로 구성되며 , 목적지 주소가 라우팅 테이블의 다른 라인과 일치하지 않을 경우 지정된 인터페이스에 따라 다음 홉 주소로 전송됩니다. 기본 라우팅 항목. .
호스트의 네트워크 인터페이스 구성 및 라우팅 테이블이 다음과 같다고 가정합니다 .

대상: 서브넷 네트워크 번호, 직접 연결된 네트워크의 IP 주소(172.28.64.0). 게이트웨이: 게이트웨이 - 기본 기본 라우터입니다. 

Genmask: 서브넷 마스크 플래그: U- 항목은 유효하고 G-는 라우터입니다. Iface: 네트워크 인터페이스. (데이터 수신 및 전송)

         호스트에는 두 개의 네트워크 인터페이스가 있습니다. 하나의 네트워크 인터페이스는 192.168.10.0/24 네트워크 에 연결되고 다른 네트워크 인터페이스는 에 연결됩니다.
192.168.56.0/24 네트워크 ;
         라우팅 테이블의 대상은 대상 네트워크 주소 , Genmask 는 서브넷 마스크 , 게이트웨이 는 다음 홉 주소 , Iface 가 송신 인터페이스인 경우 U 로그인 플래그 는 이 항목이 유효함을 나타냅니다 ( 일부 항목은 비활성화될 수 있음 ). 항목의 다음 홉 주소는 특정 라우터의 주소이며 G 플래그 가 없는 항목 은 대상 네트워크 주소가 로컬 인터페이스에 직접 연결된 네트워크임을 나타내며 , 그럴 필요가 없습니다. 라우터에 의해 전달됩니다 .
포워딩 과정 예 1: 보낼 데이터 패킷의 목적지 주소가 192.168.56.3 인 경우
         ● 첫 번째 줄의 서브넷 마스크와 AND 연산을 수행하여 첫 번째 줄의 대상 네트워크 주소와 일치하지 않는 192.168.56.0을 얻습니다.
         ● 두 번째 줄의 서브넷 마스크와 AND 연산을 수행하여 두 번째 줄의 대상 네트워크 주소인 192.168.56.0을 가져오므 eth1 인터페이스 에서 전송됩니다 .
         ● 192.168.56.0/24는 eth1 인터페이스에 직접 연결된 네트워크 이기 때문에 라우터를 통하지 않고 목적지 호스트로 바로 보낼 수 있다.
머리카락 ;
포워딩 과정 예 2: 보낼 데이터 패킷의 목적지 주소가 202.10.1.2 인 경우
         라우팅 테이블의 처음 몇 개 항목과 차례로 비교하여 일치하지 않는지 확인합니다 .
         ● 기본 라우팅 항목 따라 eth0 인터페이스 에서 192.168.10.1 라우터 전송됩니다 .
         192.168.10.1 라우터는 라우팅 테이블에 따라 다음 홉 주소를 결정합니다 .
라우팅 테이블 생성 알고리즘 ( 선택사항 )
라우팅 테이블은 네트워크 관리자가 수동으로 유지 관리하거나 ( 정적 라우팅 ) 일부 알고리즘에 의해 자동으로 생성될 수 있습니다 ( 동적 라우팅 ).
학생들은 수업 후에 거리 벡터 알고리즘 , LS 알고리즘 , Dijkstra 알고리즘 등과 같은 몇 가지 관련 생성 알고리즘을 조사하도록 초대됩니다.

추천

출처blog.csdn.net/zhang_si_hang/article/details/129363566