클라이언트 서버간 네트워크 통신
글쓴이: wlstn8224 / 작성시간: 월, 2021/07/26 - 4:46오후
안녕하십니까. 클라이언트 서버간 통신을 하여 데이터를 전송하고 싶어하는 사람입니다. 잘 설명할지 모르겠지만 현 상황은 이렇습니다.
총 3곳(물리적 장소가 다름, 동일한 서버에 데이터 전송 예정)
클라이언트 IoT기기(데이터 생성됨) --- KT egg(포트포워딩 기능 없음) ---- 동일한 서버(이미 구축되어있음)
이러한 상황에서 클라이언트 IoT기기 부분에서 데이터가 생성되면 서버로 초당 데이터를 쏴주면 됩니다.(송신만 하면 됨)
1. 이미 구축되어있는 서버에서 통신을 하려면 체크해야 되는 부분이 어떠한 것이 있나요?
잘 모르겠으나 직감적으로 IP?, 방화벽해제 방법?, 서버에 물려있는 공유기?, 포트포워딩? 등이 있을 것 같은데 조언좀 해주시면 감사하겠습니다.
2. 위의 네트워크 환경에서 TCP 소켓 프로그래밍으로 송신 가능한가요?
KT egg가 포트포워딩 기능이 없기 때문에 클라이언트가 수신은 안될 것 같은데, 송신은 될 것 같아서요.
아니면 초당 데이터를 보내는 다른 방법 있다면 추천좀 해주세요.
3. 만약 해당 상황에서 송수신이 안된다면 어떠한 기계를 바꾸거나 추가해야 할까요?
Forums:
egg가 있는 클라이언트쪽은 별 문제 없을 것 같고,
egg가 있는 클라이언트쪽은 별 문제 없을 것 같고,
서버가 공유기 아래에 있다면 외부에서는 공유기만 보일 뿐 서버는 보이지 않으므로 공유기에서 특정포트에 대해 서버에서 리스닝하는 포트로 연결되도록 포트포워딩을 해야 합니다. 그리고, 서버쪽에 방화벽(서버내부 방화벽이든 외부방화벽이든)이 있다면 서버에서 리스닝하는 포트를 방화벽에서 열어야 할 것이고요.
그런데, 매초마다 IoT 기기들로부터 데이터가 발생하는 상황이면 중간에 공유기는 두지 않는 것이 낫지 않을까요? 공유기에 문제 생기면 모든 데이터 수집이 두절될텐데, 보통 공유기는 24시간 상시 의존할만한 장비는 아니니까요. 물론 개발/테스트 과정에는 별 문제 안 되겠지만요.
어쨌든 IoT 기기들이 TCP로 서버로 접속하여 데이터 전송 가능한 상황같고, 서버 관리자, 망 관리자가 있을테니 의논해보시면 설정 문제는 금방 답 나오겠네요.
감사합니다. 혹시 지금 현재 테스트 단계여서
감사합니다. 혹시 지금 현재 테스트 단계여서 egg공유기를 사용하는 건데, 나중에는 유선 LAN으로 연결하는 것이 좋다는 말씀이신가요?
공유기는 egg를 뜻한 것은 아니고, 글쓴님께서
공유기는 egg를 뜻한 것은 아니고, 글쓴님께서 '서버에 물려있는 공유기?'를 언급하셨기에, 아마 아래와 같이 서로 다른 세 장소에서 IoT 기기들이 egg를 통해 공유기 뒤에 있는 서버에 접속해오는 구성이라 생각하고 말씀드린 것입니다. 클라이언트쪽의 오류는 한 기기로부터의 데이터수집이 멈추는 것으로 끝나지만 서버쪽의 오류는 전체 데이터수집 두절로 이어지므로, 서버가 24시간 접속가능해야 한다면 공유기 뒤에 두지 않는 것이 좋겠다는 의미였습니다.
1.egg 하단에 PC를 물려 서버IP 으로
1.egg 하단에 PC를 물려 서버IP 으로 Listen Port 접근이 가능한지 확인
2.tcp 송수신 가능합니다. 단, IOT기기에서 서버로 먼저 접근하여 ESTABLISHED 상태에서 송수신 가능합니다.
( ftp의 active와 passive 모드와 같은 개념입니다.)
3. 송수신이 안된다면, 위 1,2번 둘중 어떤게 문제인지만 확인 하면 될꺼 같네요
댓글 달기