묻고 답해요
156만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결네트워크, 그림으로 이해하자(2022ver.)
네트워크 전반적인 과정에 대해 문의드립니다.
안녕하세요. 강의가 큰 도움이 되었습니다. 강의를 다 듣고 네트워크의 전반적인 부분을 한번에 이해해보려고 하는데, 어려운 점이 있어서 문의드립니다. 클라이언트(웹브라우저)가 HTTP 메서드를 통해서 서버에 요청하는 경우, 어떻게 네트워크를 타는지 과정을 알아보고 있습니다. 일부는 웹 서칭을 했고, 일부는 전공 강의를 참고했습니다. 정리해보면 아래의 8단계를 거치는 것 같았습니다. 브라우저가 직접 메시지를 네트워크에 보낼 수는 없고, 운영체제에 의뢰해서 메시지를 전달한다.OS의 프로토콜 스택에서 메시지를 받고 수신처 주소 등의 제어정보를 덧붙인다.패킷을 LAN 어댑터(=랜카드)에 넘긴다.LAN 어댑터는 다음 Hop의 MAC주소를 붙인 프레임을 전기신호로 변환시킨다.신호를 LAN 케이블에 송출시킨다.전달된 프레임이 스위치를 거쳐서 라우터에 도착한다. 인터넷의 여러 라우터를 거쳐서 목적지 네트워크(웹 서버측의 랜)에 도달한다. 최종적으로 패킷이 물리적인 웹 서버에 도착한다. 웹 서버의 프로토콜 스택은 패킷을 추출하여 메시지를 복원하고 웹 서버 애플리케이션에 넘긴다.메시지를 받은 웹 서버 애플리케이션은 요청 메시지에 따른 데이터를 응답 메시지에 넣어 클라이언트로 회송한다. 몇 가지 질문이 있습니다. Q1) 1번에서 프로토콜 스택에서 '수신처 주소'를 덧붙인다고 했는데, 이는 IP 주소를 붙여서 IP 패킷을 만든다는 의미인가요? 아니면 MAC 주소를 말한다는 것인가요? Q2) LAN 어댑터와 랜카드가 같은 것인가요?Q3) 랜카드가 프레임을 전기신호로 변환하는 것은 이해하였는데, 랜카드에서 '다음 Hop의 MAC 주소'를 붙여서 프레임을 만드나요? 그리고 랜카드는 다음 Hop이 무엇인지, 다음 Hop의 MAC주소는 무엇인지 어떻게 알 수 있나요? ARP로 MAC주소를 받아온다고 배웠는데, ARP가 네트워크 계층에 속하면 라우터에서 MAC주소를 알아낼 수 있는거 아닌가요...? 랜카드에서는 같은 네트워크에 연결된 장치들의 MAC주소를 어떻게 알고있나요? Q4) 데이터가 -> 전기신호로 변환되는 것은 보내는 사람의 PC에서만, 전기신호가 -> 데이터로 변환되는 것은 받는 사람의 PC에서만 이뤄지는 것인가요? 그럼 라우터와 라우터 사이에서도 전기 신호로 통신해야 할텐데, 그 라우터들은 전기 신호의 의미(IP 주소 등)을 어떻게 이해하나요? Q5) 위의 과정에서 잘못된 점이 있다면 말씀해주시면 정말 감사하겠습니다! 감사합니다.
-
미해결모든 개발자를 위한 HTTP 웹 기본 지식
DNS 상태 코드에 대해서
만약에 DNS 서버가 터졌다고 가정을 했을 때, 도메인 네임으로 어떤 웹 사이트에 접근한다면 어떤 상태 코드를 받을 수 있나요?
-
미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part4: 게임 서버
혹시 어려워서 포기할까 생각하시는 분들 보고 힘 얻으세요
지금 3번째 들으면서 지나가는 수강생입니다진짜 첫 번째 들을 때 두 번째 들을 때 세 번째 들을 때 이해되는 범위가 다릅니다처음에는 그냥 코드 따라 치면서 완주만 해보세요. 두 번째는 코드의 흐름만 본다는 느낌으로 따라가고, 세 번째는 강의를 눈으로만 보고, 혼자 힘으로 코드를 완성해 보면 확실히 체득이 되는 느낌입니다!다들 화이팅입니다! 저 같은 말하는 감자도 하는데 여러분도 할 수 있습니다!ps. 루키스님 강의 찍으시랴, 부트캠프 준비하시랴 많이 바쁘실텐데 항상 감사합니다!
-
해결됨[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part4: 게임 서버
출력 간격 이상
안녕하세요 선생님! 클라이언트에서 온 패킷이 자꾸 이렇게 띄엄띄엄 출력 되는데 왜 그런지 알 수 있을까요?
-
미해결풀스택을 위한 도커와 최신 서버 기술(리눅스, nginx, AWS, HTTPS, 배포까지) [풀스택 Part3]
nginx 오늘 기준 nginx=1.18.0-0ubuntu1.3 입니다..
버전 호환에 문제가 없는진 모르겠지만요...
-
미해결모든 개발자를 위한 HTTP 웹 기본 지식
cookie와 cache에 대해서 질문 드립니다!
안녕하세요, http 강의를 끝까지 어제 일자로 완강하고 다시 한번 보고 있는데 아리송 한게 생겨서 질문 남겨봅니다.쿠키는 사용자 인증을 도와주며 최소한의 정보만으로 사용자를 식별하여 http의 stateless 문제를 해결할수 있었습니다. 또한 session의 개념이 cookie를 통해 전달되는 session id를 서버에서 관리하는 것일뿐 cookie와 session이 완전 다른 것이 아니라 cookie의 일부분이 session임을 알수 있었습니다.반면 캐시는 이미지 파일등과 같은 크기가 큰 데이터를 전송 할때 서버에서 네트워크 부하를 줄여 주며 클라이언트에서도 랜더링이 더 빠르게 되게끔 해주는 역할을 하는 것으로 이해 하였습니다.제가 궁금한점은제가 이해한 cookie와 session, cache에 대한 이해가 명확한지 궁금합니다.쿠키에 해당 URI에 대응하는 쿠키 저장소에 정보가 존재한다면, 반드시 request시 함께 보내는것이 HTTP cookie specification에 있음을 알았는데, 캐시 또한 항상 uri에 대응하는 데이터가 브라우저 캐시에 있으면 request시 함께 보내는지 궁금합니다.'쿠키로 광고 정보 트래킹시 사용할 수 있다'는 부분이 이해가 안되는데 session id로 서버쪽에서 이 광고에 누가 접근 했는지 기록해서 맞춤 광고를 내보낼수 있다라는 말인가요?캐시와 조건부 요청 헤더 3:30초 부분에서 잘 이해가 안되는데, 캐시 만료일 지정시 expire에서 캐시 만료일을 날짜로 지정하는 것이 초단위(max-age)로 설정하는것 보다 왜 덜 유연하다고 표현하나요? 초단위는 계산을 해야하는데 왜 더 유연하다고 표현하는지가 명확히 이해가 안됩니다항상 답변 감사합니다.
-
해결됨[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part4: 게임 서버
안녕하세요 강의 시청중 궁금한점 생겨서 질문드립니다.
웹서버의 경우 실무에서 docker를 많이 사용하는 것 같은데요, 혹시 소켓 기반 실시간 게임서버개발에도 docker를 많이 사용하는지 궁금합니다!
-
해결됨20년 경력자의 알기쉬운 컴퓨터네트워크
skillsforall.com 접속할 때 안전하지 않은 사이트라며 화면이 하얗게...
pc에서 skillsforall.com 접속할 때주의 요함, 안전하지 않은 사이트라며 화면이 하얗게 되버리고 반응이 없길래...(크롬, 엣지 둘다요..)로컬 pc에 깔린 V3며, Citrix 까지도 지워보고,브라우저 쿠키, 캐시 등도 다 지워보고,브라우저 보안 설정도 가장 낮은 단계로 낮춘답시고 낮췄는데 잘 안되더라구요...결국은 윈도우 초기화를 해버리니 접속이 잘 됩니다.... ㅠ흑흑혹시 이럴 때 해결팁이 있을지요?
-
미해결모든 개발자를 위한 HTTP 웹 기본 지식
From 질문 드립니다.
From 이 검색 엔진 등의 담당자 이메일 주소를 적어놓는다고 하셨는데 그럼 만약 내 사이트를 크롤링 하기 원치 않는다면From에 있는 이메일 정보로 담당자에게 직접 연락을 취해야 한다는 의미인가요...?
-
해결됨(신규 강의로 재오픈 예정) 스스로 구축하는 AWS 클라우드 네트워크 - 기본편
라우트테이블문의
기본적으로 생성되는 라우트테이블Name이 -로 되어있는녀석은 뭔가요? Main이라는 속성이 Yes로 되어있던데, 삭제는 또 가능한거같네요?
-
해결됨모든 개발자를 위한 HTTP 웹 기본 지식
표현 메타데이터, 페이로드 메시지
표현 헤더는 표현 메타데이터와 페이로드 메시지로 구분해야한다고 나와있는데 검새을 조금해보니 메타데이터는 헤더를 의미하는것 같은데 페이로드 메시지는 메시지 바디에있는 표현 데이터를 의미하는걸로 이해가 가서... 그렇다면 페이로드는 표현헤더에 포함되는게 아니지 않나요?? 이해를 잘못한거같기도 하고... 생략이라 되어있어서 설명이 궁금합니다
-
미해결풀스택을 위한 도커와 최신 서버 기술(리눅스, nginx, AWS, HTTPS, 배포까지) [풀스택 Part3]
flask 서버관련 문의 드립니다
강의 내용 3분 14초 입니다강의 내용을 듣다가, 제가 이해하고있는게 맞는지 궁금하여 문의 드립니다 현재 강의에서는nginx 프록시 서버가 존재하고 nginx 서버 (myweb) 용 서버가 존재고 있습니다. 선생님 설명중에서flask서버는 nginx 프록시 서버가 포워딩을 해줘서 , flask서버의 gunicorn과 직접 통신 한다고 말씀해 주셨습니다 그렇다면nginx서버(myweb) 가 필요없다면, nginx(myweb) 서버(컨테이너)는 안만들어도 되는것인지 궁금합니다. 선생님께 배워서 간단한 웹페이지를 제작중인데flask에서, index.html 파일도 리턴해주도록 되어있어서,굳이 nginx(myweb) 서버는 안만들어도 될거 같은데,제 생각이 맞는건지 틀린건지 모르겠습니다
-
해결됨[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part4: 게임 서버
SendBufferRef에 대하여 질문 있습니다.
안녕하세요 루키스님이번 SendBuffer 강의를 들으면서 궁금한 것이 생겨 질문 드립니다.SendBuffer에 자기 자신에 대한 스마트 포인터를 갖도록 해주어 Reference Counting을 해주었는데, 이번 강의의 코드를 복습하면서 분석하다 보니 '왜 SendBuffer에 RefCounting이 필요한가?' 에 대한 의문이 생겼습니다. 일단 제가 이해한 Send의 흐름은 다음과 같습니다.GameSession에서 SendBuffer를 생성하여 원하는 데이터를 복사하여 Send를 호출하면 SendQueue에 일단 Push하여 데이터를 쌓아 놓습니다.그 때 어떠한 쓰레드에서도 그 세션에 대한 RegisterSend를 수행하고 있지 않다면 해당 쓰레드가 RegisterSend를 수행하는데 이때까지 쌓인 데이터를 SendEvent의 버퍼에 담아 WSASend를 수행합니다.그런 다음 IocpCore에서 완료 통지를 받으면 Worker 쓰레드가 Dispatch를 수행하여 ProcessSend를 수행하면서 이 때 SendQueue에 데이터가 더 있다면 그 쓰레드가 RegisterSend를 수행합니다.위의 흐름이 제가 이해한 내용인데 결국 한번에 하나의 RegisterSend가 진행되도록 하는 것이 핵심이며 한 번에 하나만 실행하기 때문에 SendEvent도 재 사용 가능한 것이라고 생각합니다. 그렇다면 이 세션에 대한 SendEvent는 Send되고 있는 동안에는 멀티쓰레드 환경에서 안전하다고 생각 되는데 그렇다면 SendEvent에 담긴 SendBuffer도 안전하여 사라질 걱정을 하지 않아도 되는 것 아닐까 싶습니다.즉, WSASend를 한 번에 하나의 쓰레드만 수행하기 때문에 SendEvent도 재 사용이 가능하고 그 속에 담긴 SendBuffer도 멀티쓰레드 환경으로부터 안전하기 때문에 SendBuffer의 RefCounting이 왜 필요한 것인지 궁금합니다.
-
미해결모든 개발자를 위한 HTTP 웹 기본 지식
빠른 응답 속도의 이유
안녕하세요.비 연결성의 특징에서일반적으로 초 단위 이하의 빠른 속도로 응답가 있었는데요.비연결성을 사용하면, 서버 자원을 효율적으로 사용할 수 있도록 하는 건 이해가 가지만,빠른 속도로 응답이 가능하다는 건 그 이유를 잘 모르겠습니다.왜 그럴까요?
-
미해결풀스택을 위한 도커와 최신 서버 기술(리눅스, nginx, AWS, HTTPS, 배포까지) [풀스택 Part3]
nginx.conf 수정관련
많은 개린이분들이 저처럼 시간낭비하지말라고 글을 남깁니다.. 거의 다잉메세지입니다...강사님이 nginx.conf파일을 수정하시는데요실제로 우리가 내려받는 파일의 09폴더에 있는 nginx.conf.http파일에는 고쳐야할 부분이 총 세가지 입니다. (영상과는 다르게 되어 있는 부분들도 있습니다. 그것들까지 포함해서 총 세개!)도메인(총 6개 였습니다.) : funcoding.xyz >> 각자 도메인으로 수정맨 아래 server블락(443포트 https관련) 위아래로 있는 주석(*/, /*)삭제역시 맨 아래 server블락에 servername아래에 있는 네줄의 코드 앞에 있는 #. 역시 주석관련된 건데, #를 모두 삭제다시 되돌아보면 부끄러울정도로 간단한 것들이였는데, nginx나 docker가 처음이다보니 허둥대다가 몇일을 날렸는지 모르겠네요
-
해결됨[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part4: 게임 서버
PriorityQueue<JobTimerElem> _pq 우선순위큐 질문드립니다.
우선순위큐 안에 요소를 디버그 모드로 확인해보니 계속 한개의 요소만 있는데 0.25초마다 flushroom이 큐에 들어가고 처리되고 반복이어서 그런건가요?아니면 flushroom action 만 있어서 복잡하지 않아서 그런건지 잘 모르겠습니다.
-
미해결모든 개발자를 위한 HTTP 웹 기본 지식
POST를 사용한 회원 삭제
HTML FORM을 사용할 때 GET 과 POST만 지원하여서 필요한 경우 컨트롤 URI를 작성해야한다고 하셨습니다. 여기서 궁금한점이 회원 삭제를 할때 POST를 사용하면 일어나는 과정이 궁금합니다. POST라고하니 삭제라는 동작이 어떻게 일어나는지 이해가 잘 되지 않습니다. DELETE는 메서드에 작성하면 삭제를 알아서 삭제를 해줄 것 같은데 POST는 감이 잡히지가 않습니다. 다른 처리를 해주어야한다면 어떤 것을 해야하는지 궁금합니다.
-
해결됨자동차 SW - UDS 진단통신 정복하기
안녕하세요 강의 듣고 있는 도중 질문이 생겼습니다.
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. factor 에 관한 내용에 대한 질문입니다. 자리수 에 대한 내용으로 이해했습니다. 그런데 제가 가지고 있는 ISO14229 에서는 아예 MSB, LSB 로 다른 바이트로 나눠서 보내주는거 같네요 이런 분야가 처음인지라 설명 부탁 드려봅니다. 감사합니다.
-
미해결모든 개발자를 위한 HTTP 웹 기본 지식
안녕하세요 선생님
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]여기에 질문 내용을 남겨주세요. 캐시를 60초 저장하고, 60초가 넘으면 바뀌었는지 검증, 아니면 기존의 캐시를 쓴다고 이해했는데, 그럼 혹시 60초가 지나지 않았는데 이미지가 바뀌면 어떻게 되나요?? 이전의 캐시를 활용하나요?
-
미해결모든 개발자를 위한 HTTP 웹 기본 지식
헤더 추가에 대해 질문드립니다.
=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용] 안녕하세요 1년차 개발자입니다. 헤더 추가에 관해 질문이 있습니다. 헤더를 추가할 수 있다고 하셨는데 헤더 추가는 웹프레임워크에서 설정을 하는건가요, 아니면 WAS나 웹서버에서 설정하는걸까요? 질문드리는 이유는 다음과 같습니다. 회사에서 스프링 기반의 자체 프레임워크를 사용하고 있습니다. 현재 로그 적재할 때 getremoteaddr() 메소드를 통해 IP를 가져와서 IP 정보를 가져오고 있었는데, 이렇게 가져오니까 L4 스위치 쪽의 IP 정보를 가져오고 있어서 진짜 client IP를 적재할 수 있도록 개선하려고 합니다. 구글링해서 x-forwarded-for 헤더 등을 통해 client IP를 가져올 수 있다고 해서 시도를 해봤는데 해당 헤더가 요청 헤더에 있지 않았습니다. HTTP에 대해 깊게 공부하지 않았었는데, 일하면서 정말 꼭 필요한 지식이라는 것을 강의보면서 느끼고 있습니다. 좋은 강의 감사합니다.