묻고 답해요
141만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
해결됨외워서 끝내는 네트워크 핵심이론 - 기초
17강. TCP 통신 장애 관련 질문드립니다.
강의에서 소개해주신 TCP 장애(Re-transmission, Out of order)에 관해서 질문 드리려고 합니다.Server와 Client구조에서 Server는 Client에게 1~100을 송신한다고 하면 (TCP 통신)통신 장애(Re-transmission, Out of order)가 발생한 경우 Client는 1, 2, 3 ... ,100을 순차적으로 받지 못하고 1, 2, 3, 3, 5, 4 ... 99, 98, 100이런 식으로 값을 받을 수 있다고 강의에서 설명해주셨습니다.그리고 위와 같이 통신 장애가 발생하면 TCP, 즉 L4 layer에서 통신 장애가 발생한 부분을 자동으로 처리(후처리) 해준다고 말씀하셨는데,그렇게 TCP layer에서 후처리 해주면 Client는 값을 정상적으로 받게 되는 건가요?추가로 이런 보정 작업이 100%로 Client가 값을 정상적으로 받는 것을 보장해주는 것인지 궁금합니다지식이 부족해서 명확하게 질문드리지 못한 점 정말 죄송합니다.강의 잘 보고 있습니다. 감사합니다!
-
미해결AWS 배포 완벽가이드 (feat. Lightsail, Docker, ECS)
인바운드 규칙 TPC HTTP Port 80을 iPV4와 iPV6에서도 제거해줘도 되나요?
인바운드 규칙 TPC HTTP Port 80을 iPV4와 iPV6에서도 제거해줘도 되나요?로드 밸런서 세팅 강의에서는 iPV4에서만 포트 80을 삭제해주시는데, iPV6도 동일하게 삭제해주면 되는지 궁금합니다!!
-
해결됨왕초보를 위한 네트워크 기초
UDP 통신 관련 질문있습니다
강사님 안녕하세요!강사님 수업 들으면서 나날이 네트워크 지식이 깊어지고 있어 감사할 뿐입니다.제가 Transport 계층 개념 추가 강의를 듣다가 UDP 통신에 관해 의문이 생겨서 질문 남깁니다.우선 강의에서 위 그림을 잘못된 것이라 하셨습니다.저기서 밑에 Response는 다 지워야 되는 게 맞는거라 하셨는데 여기에 의문이 있습니다.실시간 통신에서 UDP 방식을 쓴다 하셨는데 예를 들어 저희가 네이버에서 실시간축구 중계를 보기 위해 "중계 시청" 버튼을 클릭하면 그게 Client가 Server에게"축구 보게 데이터 좀 "라고 Request 요청을 보내는 거라 생각합니다. 그럼 서버가 요청을받아 클라이언트에게 축구 중계 데이터를 일방적으로 계속 빠르게 데이터를 주는 게밑의 Response 화살표라고 생각합니다.제가 생각하는 부분에 있어서 기술적으로나 논리적으로 틀린 게 있을까요?
-
해결됨모든 개발자를 위한 HTTP 웹 기본 지식
클라에서 서버로 ack를 보내는 3번 이후에 연결이 끊어지는 경우는 없나요??
만약에 3번 ACK를 보내고 이제 데이터를 전송하려고 하는데 그때 서버와 연결이 끊기면 데이터가 안가나요?? 그리고 약간 이런 맥락인 것 같은데 맞나요?1번 SYN : 클라와 서버를 연결을 해달라고 요청2번 SYN+ACK : 요청 잘 받았고(ACK), 나도 이제 연결해달라고 요청(SYN)3번 ACK : 서버의 요청을 잘 받았음을 알림이제 연결된 상태이고, 이후 데이터 전송
-
미해결기출로 대비하는 개발자 전공면접 [CS 완전정복]
Transport 계층의 process-to-process 통신은 network, data link, physical 단계를 거치지 않는 건가요?
"전송계층은 두 응용 계층 사이에서의 process-to-process 통신을 제공한다. 전송계층은 응용계층으로부터 메시지를 받아 전송계칭 패킷으로 캡슐화하여 전송한다" 라고 하셨는데, 제가 헷갈리는 부분이... 원래 TCP/IP 모듈을 보면 응용계층에서 데이터를 캡슐화하면서 Physcial layer 물리계층에 도달하면 0과 1의 신호가 돼서 다른 컴퓨터로 전선으로 전송이돼서 데이터를 받은 컴퓨터에서 다시 decapsulation을 거치면서 원본 데이터를 응용계층에 전달하는 것으로 알고 있는데요 전송 계층에서는 3way handshaking을 통해 두 컴퓨터의 transport 계층 사이에 논리적인 연결을 구축해서 데이터를 주고받는 것이라면... 아래의 network, data, physical layer은 거치지 않고 곧바로 주고받는 것인가요??? 그럼 어떤 상황에서 전송계층을 통해 곧바로 주고받고 어떤 상황에서 physical layer까지 도달해서 전달하는지 궁금합니다
-
미해결CS 지식의 정석 | 디자인패턴 네트워크 운영체제 데이터베이스 자료구조
Transport Layer의 특징 질문
Transport Layer의 특징에서 "연결 지향 데이터 스트림 지원" 이라는 항목이 UDP는 비연결성에 데이터그램 방식 통신이므로 해당되지 않고, "신뢰성" 항목에 UDP는 신뢰성이 보장되지 않기 때문에 데이터 손실 가능성이 있으며, "흐름 제어" 항목에 UDP는 TCP처럼 receiver가 sender에게 window size를 보내는 방식이 없기 때문에 흐름제어가 되지 않는다고 알고있습니다. Transport Layer의 특징이 아닌 TCP의 특징으로 알고있으면 되나요 아니면 제가 틀리게 알고있는건가요
-
미해결모든 개발자를 위한 HTTP 웹 기본 지식
tcp가 connection을 생성하는 이유가 뭔가요?
tcp가 ip 프로토콜에서는 제공하지 않는 오류제어, 흐름제어, 혼잡제어를 제공하는 신뢰성있는 연결지향 프로토콜이라는 것을 알았습니다. tcp가 handshake과정을 통해 연결설정을 하는 것이 결국 오류제어, 흐름제어, 혼잡제어를 제공하기 위한것인가요? 연결설정과정 없이는 신뢰성 있는 서비스를 제공하지 못하는 것인지 궁금합니다. 그리고 왜 tcp는 비용을 감수하면서 연결설정 과정을 거치는 것인지 명확한 설명을 듣고 싶습니다.
-
미해결모든 개발자를 위한 HTTP 웹 기본 지식
TCP 4 way handshake
[질문 내용] 안녕하세요. TCP 프로토콜을 공부하다 궁금한 점이 있어 질문드립니다. 연결지향의 특징을 갖는 TCP는 연결할 때 뿐만 아니라 해제할 때도 4-way handshake라는 과정을 거친다고 알고 있습니다. 4-way handshake는 언제 이루어지는 것인가요? 연결을 종료하는 시점이 말씀하신 데이터 전달 보증 과정이 종료되면 일어나는 것인지 궁금합니다..
-
미해결따라하며 배우는 NestJS
socket관련 질문!
안녕하세요! 먼저 강의 잘 들었습니다 강의보고 따라해보니 CRUD 프로그램 개발에는 조금이나마 이해가 됩니다 그런데 socket을 이용하여 tcp 통신을 해야하는 프로젝트를 진행중인데 nest.js 공식 문서를 보니 @SubscribeMessage('event_name') 을 이용하여 데이터를 받고 emit을 이용하여 event_name으로 주는 환경이더라고요?? 현재 서버를 nest.js 기반으로 개발하고 개발해 놓은 클라이언트(c++작성)에서 tcp 통신을 하기 위해서는 c++ 클라이언트에서도 socket.io를 활용하여 event_name 을 통하여 통신을 해야하는 것인가요? 아니면 event_name 없이 단순 tcp 통신을 통해 binary 데이터를 주고 받을 수 있는 서버 nest.js 환경이 있을까요?? 제가 socket.io에 대해 이해한 내용이 맞는건지도 잘 모르겠지만 답변 부탁드리겠습니다!
-
미해결모든 개발자를 위한 HTTP 웹 기본 지식
HTTP의 특징 중 비연결성
안녕하세요 강의 중 HTTP의 특징 중 하나는 비연결성이라고 하였습니다 그런데 HTTP1.1 / 2 의 경우 기반프로토콜이 TCP이라고 하셨는데 TCP는 연결지향성 프로토콜인데 어떻게 비연결성이 특징이라고 하는지 궁금합니다
-
미해결모든 개발자를 위한 HTTP 웹 기본 지식
TCP 3 way handshake
클라이언트와 서버가 TCP 3 way handshake로 논리적으로 연결 된다고 알고 있습니다. 그러면 실제 클라이언트와 서버가 물리적으로 어떻게 연결됐는지는 알 수 있나요?
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
TCP 통신으로 연결하는 이유가 좀 더 궁금합니다!
안녕하세요. 수강중에 첫 질문 남기게 되었습니다. h2 db의 웹 콘솔에서 jdbc url을 jdbc:h2:~/test에서 jdbc:h2:tcp://localhost/~/test로 바꾸었습니다. 강의에서는 파일에 접근할 때, 웹 콘솔이나 DB등 복수의 앱에서 접근하면 충돌이 일어날 수 있기 때문에 TCP프로토콜을 통해 이를 방지할 수 있다고 하셨습니다. 이때 TCP 소켓이 어떻게 복수의 앱 접근에 대한 충돌을 방지할 수 있는 것인지 궁금합니다. 덕분에 잘 배우고있습니다. 감사합니다.
-
미해결모든 개발자를 위한 HTTP 웹 기본 지식
TCP 실제 연결유무
[질문 내용]TCP 강의 중 TCP/IP 연결은 클라이언트와 서버가 서로 SYN,ACK를 주고 받아서 개념적으로만 연결이 됐다고 설명하셨습니다. 그 이유는 클라이언트와 서버가 연결을 할 때, 중간에 수많은 서버(노드)들을 거쳤는지를 잘 모르기 때문이라고 설명하셨습니다. 그러면 여기서 궁금한점은 클라이언트와 서버가 중간 노드들을 거쳐서 SYN,ACK를 주고 받는게 아닌건가요?? 만약 중간 노드들을 거쳐서 주고 받는거라면 "중간 노드들이 잘 연결이 됐기 때문에 SYN, ACK를 주고 받은게 아닌가??" 라는 생각이 들어서 질문을 남기게 됐습니다!
-
미해결모든 개발자를 위한 HTTP 웹 기본 지식
TCP vs UDP (12:46 에 대한 질문)
12:46에서 TCP라는 걸 그대로 두고 UDP에 손을 대면 된다 라고 설명해주셨는데요. TCP 와 UDP는 별개여서, TCP를 쓰든 UDP를 쓰든 결정해야하는 걸로 생각하고 있었는데, "TCP라는 걸 그대로 두고 UDP에 손을 대면 된다" 라는 건.. TCP는 늘 기본적으로 쓰는 것이고 UDP는 거기에 부가적으로(additional하게) 사용하는 건가요? +) 여력이 되신다면 하나 더 답변 부탁드립니다. UDP 특징 정리 부분에서 "애플리케이션에서 추가 작업 필요"라는 내용이 잘 감이 안오는데 조금더 설명주실 수 있을까요?
-
미해결[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part4: 게임 서버
RUDP를 현업에서 사용하기도 하나요?
단순 호기심이 들어서 질문드려봅니다.