주요 콘텐츠로 건너뛰기
동일한 서브넷에 모듈에 두 개의 인터페이스가 있으면 모듈 안팎에서 두 개의 인터페이스가 제공되지 않습니다. 모듈에 두 개의 인터페이스를 가져오지만 STCP는 모듈에서 패킷을 보낼 때 하나의 인터페이스만 사용합니다. 클라이언트가 연결된 인터페이스에 관계없이 이 작업을 수행합니다.

 

예를 들어 172.16.1.0/24 서브넷에서 이러한 두 인터페이스를 감안할 때
%phx_vos#sdlmux.m16.10.11-2 IP: 172.16.1.116 MAC: 00:00:a8:42:52:22
%phx_vos#sdlmux.m16.11.11-2 IP: 172.16.1.226 MAC: 00:00:a8:43:52:22

 

172.16.1.226으로 전송된 패킷이 00:00:a8:43:52:22의 대상 MAC 주소를 사용하지만 응답은 00:00:00:a8:42:52:22, 172.16.116에 대한 MAC 주소가 16.16에서 오는 16.16에서 16.16으로 나타났다.

 

11:04:57.117 Xmit Ether Dst 00:00:a8:43:52:22  Src 00:00:a8:42:3b:6e Type 0800
+(IP)
IP   Ver/HL 45, ToS  0, Len   2c, ID 2045, Flg/Frg    0, TTL 3c,  Prtl  6
Cksum  0363, Src ac100122, Dst ac1001e2
TCP from 172.16.1.34.49183 to 172.16.1.226.telnet
. . .
11:04:57.130 Rcvd Ether Dst 00:00:a8:42:3b:6e  Src 00:00:a8:42:52:22 Type 0800
+(IP)
IP   Ver/HL 45, ToS  0, Len   2c, ID  7c8, Flg/Frg    0, TTL 3c,  Prtl  6
Cksum  1be0, Src ac1001e2, Dst ac100122
TCP from 172.16.1.226.telnet to 172.16.1.34.49183
. . .
그림 1 – 모듈연결 요청(클라이언트에서 가져온 추적)
모듈이 하나를 수신하는 대신 연결을 시작하면 항상 첫 번째 (116) 인터페이스를 사용합니다.
13:01:36.479 Rcvd Ether Dst 00:00:a8:42:3b:6e  Src 00:00:a8:42:52:22 Type 0800
+(IP)
IP   Ver/HL 45, ToS  0, Len   2c, ID 4a33, Flg/Frg    0, TTL 3c,  Prtl  6
Cksum  d9e2, Src ac100174, Dst ac100122
TCP from 172.16.1.116.49320 to 172.16.1.34.4680
. . .
그림 2 – 모듈에서 다른 서버로의 연결 요청(서버에서 가져온 추적)
패킷을 보낼 때 두 번째 (226) IP 주소에 바인딩해도 첫 번째 (116) 인터페이스를 통해 남습니다.
13:02:55.349 Rcvd Ether Dst 00:00:a8:42:3b:6e  Src 00:00:a8:42:52:22 Type 0800
+(IP)
IP   Ver/HL 45, ToS  0, Len   2c, ID 4b7a, Flg/Frg    0, TTL 3c,  Prtl  6
Cksum  d82d, Src ac1001e2, Dst ac100122
TCP from 172.16.1.226.49321 to 172.16.1.34.4680
. . .
그림 3 – 모듈에서 다른 서버로의 연결 요청(다른 서버에서 가져온 추적)
172.16.1.226 IP 인터페이스에 바인딩된 클라이언트 응용 프로그램
첫 번째 (116) 인터페이스가 다운되면 모듈이 두 번째 (226) 인터페이스를 사용하는 것으로 이동합니다. 두 번째(226) 인터페이스에 대한 연결이 유지되지만 첫 번째(116) 인터페이스에 대한 연결이 실패합니다.
13:14:43.884 Xmit Ether Dst 00:00:a8:43:52:22  Src 00:00:a8:42:3b:6e Type 0800
+(IP)
IP   Ver/HL 45, ToS  0, Len   28, ID 5072, Flg/Frg    0, TTL 3c,  Prtl  6
Cksum  d339, Src ac100122, Dst ac1001e2
TCP from 172.16.1.34.49186 to 172.16.1.226.telnet
. . .
13:14:43.885 Rcvd Ether Dst 00:00:a8:42:3b:6e  Src 00:00:a8:42:52:22 Type 0800
+(IP)
IP   Ver/HL 45, ToS  0, Len   28, ID 53ef, Flg/Frg    0, TTL 3c,  Prtl  6
Cksum  cfbc, Src ac1001e2, Dst ac100122
TCP from 172.16.1.226.telnet to 172.16.1.34.49186
. . .
인터페이스 172.16.1.116 실패 - 소스 MAC 주소의 변경 사항에 주의
13:15:56.718 Xmit Ether Dst 00:00:a8:43:52:22  Src 00:00:a8:42:3b:6e Type 0800
+(IP)
IP   Ver/HL 45, ToS  0, Len   29, ID 50e7, Flg/Frg    0, TTL 3c,  Prtl  6
Cksum  d2c3, Src ac100122, Dst ac1001e2
TCP from 172.16.1.34.49186 to 172.16.1.226.telnet
. . .
13:15:56.719 Rcvd Ether Dst 00:00:a8:42:3b:6e  Src 00:00:a8:43:52:22 Type 0800
+(IP)
IP   Ver/HL 45, ToS  0, Len   29, ID 5552, Flg/Frg    0, TTL 3c,  Prtl  6
Cksum  ce58, Src ac1001e2, Dst ac100122
TCP from 172.16.1.226.telnet to 172.16.1.34.49186
. . .
그림 4 – 첫 번째 인터페이스가 실패할 때 MAC의 변경 사항(클라이언트에서 찍은 추적)
트래픽을 보내는 데 어떤 인터페이스를 사용할지 어떻게 알 수 있습니까?
여러 가지 방법이 있습니다.  첫 번째는 원격 호스트 또는 네트워크에서 packet_monitor 또는 다른 프로토콜 분석기를 사용하여 소스 Mac 주소를 평가하는 것입니다.
두 번째는 netstat를 사용하여 인터페이스를 보고, 일부 트래픽을 생성하고, netstat를 다시 실행하고 비교하는 것입니다. 하나의 인터페이스만 "전송된 프레임" 카운터를 증가시켜야 합니다.
netstat -interface #sdlmux.m16.10.11-2; netstat -interface #sdlmux.m16.11.11-2
. . .
MAC Statistics:
Received frames                          : 1598960
Received multicast and broadcast frames  : 1564503
Received octets                          : 258513766
Transmitted frames                       : 531
Transmitted octets                       : 50850
. . .
MAC Statistics:
Received frames                          : 1603838
Received multicast and broadcast frames  : 1569292
Received octets                          : 259291185
Transmitted frames                       : 15
Transmitted octets                       : 947
. . .
ready  13:29:48
ping 172.16.1.34
Pinging host 172.16.1.34 : 172.16.1.34
ICMP Echo Reply:TTL 60 time = 0 ms
ICMP Echo Reply:TTL 60 time = 0 ms
ICMP Echo Reply:TTL 60 time = 0 ms
ICMP Echo Reply:TTL 60 time = 0 ms
Host 172.16.1.34 replied to all 4 of the 4 pings
ready  13:29:55
netstat -interface #sdlmux.m16.10.11-2; netstat -interface #sdlmux.m16.11.11-2
. . .
MAC Statistics:
Received frames                          : 1603142
Received multicast and broadcast frames  : 1568591
Received octets                          : 259187870
Transmitted frames                       : 535
Transmitted octets                       : 51274
. . .
MAC Statistics:
Received frames                          : 1607492
Received multicast and broadcast frames  : 1572869
Received octets                          : 259880655
Transmitted frames                       : 15
Transmitted octets                       : 947
. . .
그림 5 – netstat를 사용하여 전송된 프레임 카운터를 비교합니다.
세 번째 방법은 다른 시스템의 서비스에 연결하고 사용되는 로컬 소스 주소를 확인하는 것입니다. 다른 주소에 명시적으로 바인딩하지 않는 한 소스 IP 주소는 활성 인터페이스에 해당합니다.
netstat -numeric
Active connections
Proto Recv-Q Send-Q  Local Address      Foreign Address    (state)
. . .
tcp        0      0  172.16.1.116:49369 172.16.1.34:23     ESTABLISHED
. . .
그림 6 – 나가는 연결에 사용되는 인터페이스
같은 서브넷에 여러 인터페이스를 갖는 것은 단지 일을 혼동하고 일반적으로 혼란 가치가 없다는 것을 내 의견입니다. 어떤 이유로 동일한 서브넷에서 IP 주소를 IP해야 하는 경우 첫 번째 인터페이스에 별칭을 추가합니다.
ifconfig #sdlmux.m16.10.11-2 172.16.1.226 -추가 -별칭
인터페이스 %phx_vos #sdlmux.m16.10.11-2에 IP 주소 172.16.1.226 추가
%phx_vos#sdlmux.m16.10.11-2: <UP, BROADCAST, RUNNING, NOFORWARDBROADCAST, KEEPAL
+IVE>
172.16.1.116 netmask 0xffffff00 broadcast 172.16.1.255
Number of additional address(es): 1
172.16.1.226
그림 7 – 인터페이스에 별칭 추가

© 2024 스트라투스 테크놀로지스.