728x90
반응형
- 멀티호밍(
Multi-homing
) 은 두 개 이상의 랜카드(NIC)와 서로 다른 대역의 IP 주소를 통해 데이터 통신을 구현하는 기술입니다. SCTP(Steam Control Transmission Protocol)
는 이러한 멀티호밍을 지원하며, 하나의 연결에 여러 IP 주소를 바인딩할 수 있습니다.
python
import socket
import sctp
NIC1_IP = "192.168.0.1" # 첫 번째 랜카드의 IP
NIC2_IP = "10.0.0.1" # 두 번째 랜카드의 IP
PORT = 5000
server_socket = sctp.sctpsocket_tcp(socket.AF_INET)
server_socket.bindx([(NIC1_IP, PORT), (NIC2_IP, PORT)])
server_socket.listen(5)
print(f"SCTP 멀티호밍 서버가 {NIC1_IP}:{PORT} 및 {NIC2_IP}:{PORT}에서 대기 중입니다...")
conn, addr = server_socket.accept()
print(f"클라이언트 연결됨: {addr}")
data = conn.recv(1024)
print(f"클라이언트로부터 받은 데이터: {data.decode()}")
conn.sendall(b"Hello from Multi-Homed SCTP server!")
conn.close()
server_socket.close()
python
import socket
import sctp
SERVER_PRIMARY_IP = "192.168.0.1"
SERVER_SECONDARY_IP = "10.0.0.1"
PORT = 5000
client_socket = sctp.sctpsocket_tcp(socket.AF_INET)
client_socket.connect((SERVER_PRIMARY_IP, PORT))
print(f"서버 {SERVER_PRIMARY_IP}:{PORT}에 연결됨")
client_socket.sendall(b"Hello from Multi-Homed SCTP client!")
data = client_socket.recv(1024)
print(f"서버로부터 받은 데이터: {data.decode()}")
client_socket.close()
-
멀티호밍 전환 조건:
-
- 타임아웃(Timeout): Heartbeat 메시지 응답 실패 시 보조 경로로 전환.
-
- 패킷 재전송 실패: 재전송 시도 후 응답이 없으면 경로 전환.
-
- Heartbeat 실패: 일정 횟수 Heartbeat ACK 실패 시 경로 비활성화.
-
- 명시적 장애 보고: OS 또는 네트워크 장비에서 장애 보고 시 전환.
-
-
전환 관련 주요 파라미터:
RTO
,Path.Max.Retrans
,Heartbeat Interval
,SACK
등.
- 장점:
- 장애 발생 시 데이터 전송 경로를 자동으로 전환.
- 네트워크의 가용성과 안정성을 증가시킴.
- 활용 사례:
- 고가용성이 필요한 서버 환경.
- 다중 경로를 이용한 효율적인 데이터 전송.
728x90
반응형
'Network' 카테고리의 다른 글
쉘/터미널 환경 파일 다운로드 프로그램 (0) | 2025.02.25 |
---|---|
DAI (Dynamic ARP Inspection) : 동적 ARP 검사 (0) | 2025.01.29 |
wget2 : 파일 다운로더 GNU wget의 후속 (0) | 2024.11.28 |
ARP 스푸핑 (ARP Spoofing) (0) | 2024.11.21 |
네트워크 최적화와 테스트를 위한 Microsoft 도구: NetMon과 NEWT 소개 (0) | 2012.10.04 |