본문 바로가기

네트워크40

728x90
반응형
스프링 부트 IPv4 주소 우선 사용 설정 스프링 부트(Spring Boot)에서 IPv4 주소를 우선적으로 사용하도록 설정하려면 아래의 자바 실행 옵션을 추가해야 한다. 바인딩 주소를 IPv4로 설정하는 것으로 IPv4로 통신하도록 설정할 수 있지만 바인딩 주소에 제한이 발생하는 단점이 있기에 아래의 설정을 추가하는 방법을 권장한다.-Djava.net.preferIPv4Stack=true스프링 부트 프로젝트에서 'Run As' → 'Run Configurations'로 이동한다.  'Spring Boot App' → 'VM arguments:' 화면으로 이동하여 아래의 사진처럼 IPv4를 우선적으로 사용하여 통신하도록 설정한다.스프링 부트를 재실행하면 IPv4를 사용하여 통신하는 것을 확인할 수 있다. 자바는 IPv6와 IPv4 둘 다 통신이 .. 2024. 8. 30.
[IT 용어] Telnet, 텔넷 정의 텔넷(Telnet)은 서버-클라이언트 구조의 응용 프로토콜 중 하나이다. 텔넷은 시스템을 원격 제어하기 위해 터미널을 제공하는 용도로 사용한다. 참고문서 "텔넷, telnet, telnet", 정보통신용어사전, 한국정보통신기술협회. @원문보기 "telnet", 윈도우 서버, 마이크로소프트, 2023년 10월 5일. @원문보기 "TELNET PROTOCOL SPECIFICATION", RFC854, IETF, 1983년 5월. @원문보기 "A User TELNET Description of an Initial Implementation", RFC206, IETF, 1971년 8월. @원문보기 "Telnet", 위키피디아, 2024년 3월 8일. @원문보기 2024. 4. 8.
소켓 프로그래밍 관련 서적 조사 조사 이유 소켓 프로그래밍 강의에 활용할 수 있는 서적을 찾기 위해 정리하였다. 국문 이토록 쉬운 리액트로 배우는 소켓 프로그래밍, hee, 루비페이퍼, 2023년 8월 29일. 파이썬 네트워크 프로그래밍, 서열규, 복두출판사, 2022년 9월 30일. 라즈베리파이 네트워크 프로그래밍, 이용진, 복두출판사, 2022년 9월 15일. TCP/IP 소켓 프로그래밍, 김선우, 한빛아카데미, 2022년 6월 30일. 사물인터넷을 위한 파이썬 네트워크 프로그래밍, 서열규, 2022년 2월 25일. Go 언어를 활용한 네트워크 프로그래밍, 애덤 우드벡, 제이펍, 2022년 1월 14일. POD 데이터 통신과 네트워크 프로그래밍, 김유원, 부크크, 2021년 4월 16일. 라즈베리파이3 : 네트워크 프로그래밍, 이용.. 2024. 3. 19.
[RHEL] SELinux 허용 포트 확인 및 추가 허용 포트 확인 SELinux가 허용한 포트 목록을 확인하는 명령어는 아래와 같다. semanage port -l 허용 포트 추가 아래의 명령어를 입력하면 허용할 포트를 추가할 수 있다. semanage port -a -p tcp -t http_port_t {포트번호} 참고문서 "Apache + Tomcat 여러대 운영시 SELinux 문제 해결(403 Permission, Port)", MyData, 2021년 11월 5일. @원문보기 2023. 8. 9.
[윈도우] 원격 액세스 오류 756 해결 방법 '원격 액세스 오류 756 - 이 연결은 이미 전화 거는 중입니다.'가 발생하는 원인은 다양할 것이다. 나의 경우 L2TP VPN의 연결 도중 이상이 발생하면 생성한 연결이 해제되지 않아서 이 메시지가 계속 나타났다. 이 경우 아래의 명령어를 입력하여 연결을 해제하고 다시 VPN 실행을 하면 해결되었다. rasdial /disconnect 2023. 7. 6.
[IT 용어] 유니캐스트(Unicast) 정의 유니캐스트(Unicast)는 데이터의 수신국이 1개만 있는 통신 방식을 말한다. 참고문서 "유니캐스트, unicast", 정보통신용어사전, 한국정보통신기술협회(TTA). @원문보기 "Unicast, Unicasting, 유니캐스트, 유니케스트, 유니캐스팅", 정보통신기술용어해설, 2022년 8월 10일. @원문보기 2023. 6. 4.
[IT 용어] OSI 7 계층(OSI 7 Layer) 정의 OSI 7 계층(OSI 7 Layer)은 ISO(International Organization for Standardization, 국제 표준화 기구)가 컴퓨터 통신을 위해 제시한 참조 모델이다. OSI 7 계층은 통신을 위한 기술을 역할에 따라 7가지로 구분한다. 참고문서 "OSI 7 계층 모델, -階層, Open system interconnection 7 layer model, OSI reference model, OSI RM", 정보통신용어사전, 한국정보통신기술협회(TTA). @원문보기 "OSI-RM, OSI 7 Layer, 7Layer, OSI Reference model, Open System Interconnection Reference model, OSI 참조모델, OSI 7 계층모.. 2023. 5. 15.
[IT 용어] 웹소켓(WebSocket) 정의 웹소켓(WebSocket)은 웹(HTTP) 클라이언트(브라우저)와 웹 서버 간 양방향 통신을 제공하는 기술이다. 등장배경 웹소켓이 등장한 시점에는 HTTP(Hypertext Transfer Protocol)의 버전이 1.1이었다. 이 때는 HTTP로 통신할 때마다 연결을 생성해야 했는데 이 경우 웹 서버와 웹 클라이언트의 실시간 양방향 통신을 구현하면 높은 지연 발생과 낮은 데이터 전송량이라는 한계가 발생했다. 이 한계점을 개선하기 위해 연결을 한 번 수립하면 계속 통신할 수 있는 웹소켓이 제안되었다. 참고문서 "The WebSocket Protocol", RFC 6455, IETF, 2020년 1월 21일. @원문보기 "Hypertext Transfer Protocol -- HTTP/1.1", R.. 2023. 4. 30.
[IT 용어] QUIC(Quick UDP Internet Connection) 정의 QUIC(Quick UDP Internet Connection)은 UDP 기반의 전송계층 프로토콜이다. QUIC은 응용 계층 프로토콜인 HTTP/2가 TCP(Transmission Control Protocol)을 하부계층 프로토콜로 사용하면서 발생하는 한계점을 개선하기 위해 제안되었고 현재 HTTP/3의 하부 계층 프로토콜로 사용된다. 참고문서 "QUIC, a multiplexed transport over UDP", The Chromium Projects. @원문보기 "QUIC (quic)", QUIC working group, IETF Datatracker. @원문보기 "IETF QUIC Working Group", QUIC 워킹그룹 홈페이지. @원문보기 "Version-Independent .. 2023. 4. 17.
소켓 프로그래밍이란 무엇인가? 소켓 프로그래밍이란? 현재 컴퓨터 네트워크는 대부분 TCP/IP 기반이다. TCP/IP에서는 소켓이라는 네트워크 통신을 위한 규격이 있다. 이 소켓을 활용해서 통신하는 프로그램을 개발하는 것이 소켓 프로그래밍이다. 소켓 프로그래밍을 처음 접할 때는 언제인가? 전공자라면 소켓 프로그래밍을 컴퓨터 네트워크 과목을 수강할 때 간단하게 익혔을 것이며 하위 과목으로 소켓 프로그래밍이라는 프로그래밍 실습을 많이 하는 과목을 수강했을 수 있다. 전공자가 아니라도 실무하다보면 언젠가는 접하게 되어 있다. 소켓 프로그래밍을 활용하는 분야 실제 사용하는 프로그램을 보면 통신을 안 하는 프로그램을 찾기가 어렵다. 그만큼 프로그래밍에서 소켓 프로그래밍을 활용하는 것은 일반적이지만 실제로 소켓 프로그래밍을 하는 경우는 잘 없다.. 2023. 3. 29.
[IT 용어] SDN(Software-Defined Networking) [IT 용어] SDN(Software-Defined Networking) 정의 SDN(Software-Defined Networking)은 컴퓨터 네트워크 장비를 제어부(Control Plane)와 전달부(Data Plane)로 구분하여 구성하고 소프트웨어로 쉽게 수정 및 적용할 수 있는 기술이다. 특징 장비 제조사가 아니어도 네트워크 장비의 기능을 소프트웨어로 수정할 수 있는 점이 기존 네트워크 장비와 큰 차이점이다. 네트워크 특성에 맞춰서 소프트웨어 기능을 수정하고 일괄적으로 배포할 수 있기 때문에 복잡한 네트워크 환경에서 비용을 절감할 수 있다. 특히 데이터센터처럼 고도의 보안을 확보해야 하면서 트래픽 비용을 절감해야 하는 환경에서 효과적이다. 참고문서 "소프트웨어 정의 네트워킹, -定義-, Sof.. 2023. 2. 28.
[IT 용어] Socket(소켓) 정의 소켓(Socket)은 통신을 위한 서비스 식별자이다. 소켓은 노드의 주소(IP 주소 등)와 포트번호 정보를 포함한다. 참고문서 "Definition of a socket", RFC 147, IETF, 2013년 3월 2일. @원문보기 "Basic Socket Interface Extensions for IPv6", RFC 2133, IETF, 2013년 3월 2일. @원문보기 "소켓, socket", 정보통신용어사전, 한국정보통신기술협회. @원문보기 2022. 12. 8.
이클립스에서 톰캣(Tomcat)이 IPv4 주소만 사용하도록 설정 톰캣이 IPv4 주소만 사용하도록 설정하는 이유 가장 많이 사용되는 네트워크 주소체계로 IP(Internet Protocol)을 흔히 말한다. IP 주소에는 IPv4와 IPv6라는 두 가지 버전의 주소체계가 있는데 톰캣(Tomcat)의 경우 둘 다 지원한다. 하지만 이미 개발되어 있는 응용 프로그램이 IPv4만 지원한다면 톰캣이 IPv4 주소만 사용하도록 강제할 필요가 있다. 그렇지 않으면 주소 길이 등의 문제로 해당 응용 프로그램이 온갖 오류가 발생할 것이고 정상적인 동작을 수행할 수 없을 것이다. 톰캣이 IPv4 주소만 사용하도록 설정하는 방법 톰캣을 실행할 때 옵션으로 아래의 내용을 입력하면 된다. 본 글에서는 이클립스(Eclipse) IDE(Integrated Development Environm.. 2022. 8. 12.
컴퓨터 네트워크 연구자가 시뮬레이터로 NS-3를 써야하는 이유 필자는 NS-3를 왜 썼는가? 연구실에서 생활할 때 신입생으로부터 많이 받았던 질문 중 하나로 'NS-3를 왜 추천하시는거에요?'가 있었다. 그 당시에 내가 생각하던 NS-3를 써야하는 이유로 적당히 답을 했었던 기억이 난다. 나또한 석사과정 신입생일 때 '컴퓨터 네트워크 시뮬레이터로 NS-2와 NS-3 중에 뭘 쓰는게 좋을까요?'라고 선배에게 물어봤었다. 내가 석사과정 신입생일 때 대부분의 선배들은 NS-2 기반으로 연구를 했었고 몇명의 입학년도가 가까운 선배들만 NS-3를 쓰고 있었다. 선배들로부터 받은 각종 연구 자료들은 NS-2와 NS-3가 혼재되어 있었는데 나는 이 중에 어떤 것에 집중할 지를 고민을 했었다. 고민한 결과 나는 다음과 같은 이유로 NS-3를 주로 썼다. NS-3는 2011년부터 .. 2022. 2. 24.
[논문요약] 동적 IP 주소 환경의 홈 게이트웨이를 사용하는 협력 DDNS 기반 홈 IoT 플랫폼 내가 석사과정 3학기 학생일 때 구현 과제를 진행하던 중에 작성한 논문의 번역과 요약, 보충설명을 기술하였다. 원문제목 Cooperative DDNS based Home IoT platform using Home Gateway in Dynamic IP address Environment 원문주소 https://www.researchgate.net/publication/322771745_Cooperative_DDNS_based_Home_IoT_platform_using_home_gateway_in_dynamic_IP_address_environment 게재지 (SCOPUS) Information Journal 20권 9호 6461~6468쪽, 2017년 9월 초록 다양한 응용을 지원하기 위해 IoT(Int.. 2022. 2. 7.
[논문요약] 동적 IP주소 환경의 가정용 IoT를 위한 공개 DDNS 기반 IoT 플랫폼 2016년에 공개 DDNS를 사용하는 IoT 도어락 구현 과제를 진행하던 중에 작성한 논문의 초록을 번역하고 내용을 요약 및 보충설명한다. 여담이지만 갑자기 쓰게된 논문이다보니 문장 중간 중간에 내용을 더 추가했으면 좋았을 것이라는 생각이 드는 구간이 있다. 프로그래밍한 결과물을 나중에 다시 보면 '왜 이렇게 했지?'라는 생각이 드는 것처럼 논문도 마찬가지인 것 같다. 원문제목 An Open DDNS based IoT Platform for Providing Home IoT Service in Dynamic IP Address Environment 원문주소 ICCT 2017: http://www.iacst.org/iacst/Conferences/icct2017.php#PaperList ResearchGa.. 2022. 2. 7.
[윈도우 10] L2TP/IPSec VPN 연결 중에 보안 계층 오류가 발생했을 때 나의 경우 원격지에서 내 컴퓨터로 연결하는 일이 많아서 안전한 통신 방법인 VPN(Virtual Private Network)을 자주 사용하는데 어느 날 원격지에서 사용하는 PC에서 "보안 계층에서 원격 컴퓨터와 초기 협상 동안 처리 오류를 발견했기 때문에 L2TP 연결 시도에 실패했습니다"라는 오류가 떠서 내가 원하는 VPN에 접속하지 못 하는 문제가 발생했다. 구글링을 하다보니 2022년 1월 12일에 배포된 윈도우10 KB5009543 패치가 문제라고 하는데 현재는 해결됬기 때문에 업데이트만 하면 해결된다고 한다. 최신으로 업데이트하니 해결되었다. 정확히 말하면 윈도우10 KB5010793 패치가 적용되었기 때문에 해결된 것이다. 관련 문서 [1] "KB5009543, KB5009566 패치로 인한.. 2022. 1. 30.
[CentOS 7/8] 고정(static) IP 주소 설정 서버 컴퓨터를 구축하다보면 서버 수가 적으면 DHCP로 IP 주소를 통제하는 것보다는 수동으로 서버별로 IP 주소를 할당하는 것이 더 나을 때가 많다. 본 글에서는 서버에서 고정 IP 주소를 설정하는 것을 다룬다. 1. 네트워크 인터페이스 확인 네트워크 인터페이스 목록과 각 인터페이스별 설정 값을 확인한다. 이더넷 네트워크 인터페이스인 "ens32"가 현재 "192.168.0.73"으로 자동(DHCP) 할당되어 있는데 "192.168.0.221"로 변경하겠다. ip addr show 2. 네트워크 인터페이스 설정 파일 수정 아래의 명령어를 입력하여 설정파일을 텍스트 에디터로 연다. 컴퓨터마다 네트워크 인터페이스의 이름이 다를 수 있기 때문에 "/etc/sysconfig/network-scripts/네트워.. 2021. 4. 6.
[CentOS 7] IP 주소 확인하는 법 CentOS에서 IP 주소를 확인하는 방법은 여러가지가 있겠지만 본 글에서는 터미널에서 명령어로 IP 주소를 확인하는 법을 다룬다. 아래 처럼 명령어를 입력하면 가지고 있는 네트워크 인터페이스 목록과 해당 네트워크 인터페이스의 IP 주소 값 등을 확인할 수 있다. ip addr show 현재 네트워크 인터페이스는 "lo"와 "ens32"로 두 가지가 있는데 "lo"는 자기 자신을 호출 하기 위한 루프백 인터페이스이며 "127.0.0.1"로 설정되어 있다. "ens32"로 이름이 설정된 이더넷 네트워크 인터페이스는 "192.168.0.73"로 IP 주소가 설정되어 있는 것을 확인할 수 있다. 2021. 4. 6.
ExpressVPN 환경에서 넷플릭스를 보는 것이 가능할까? 넷플릭스에서 시청이 제한된 콘텐츠를 보기 위해서는 VPN을 활용하여 우회하는 것이 필요하다. 하지만 VPN을 사용하는 경우 통신 속도가 많이 느려지는 문제가 있는데 이로 인해서 원하는 화질로 시청을 못할 수도 있다. 넷플릭스는 최강 OTT(Over The Top) 서비스 답게 해상도 대비 매우 적은 대역폭(인터넷 연결 속도)를 요구한다. 우리가 흔히 보는 720p 또는 1080p를 위해서는 5Mbps의 회선 대역폭이 필요하다. 필자는 한국에 있으며 ExpressVPN의 속도 실험 결과 여러 VPN 서버 위치에서 HD 영상 시청을 위한 대역폭인 5Mbps 이상을 제공하는 것을 확인할 수 있었다. ExpressVPN의 경우 널리 사용되고 있는 VPN 서비스이고 안정성이 검증되었으며 저녁에 사람들이 많을 때 .. 2021. 1. 4.