Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Add] tcpVsUdp 내용 정리 #38

Merged
merged 1 commit into from
Sep 15, 2022
Merged

[Add] tcpVsUdp 내용 정리 #38

merged 1 commit into from
Sep 15, 2022

Conversation

SeonJeon
Copy link
Collaborator

🟣 공부한 내용

TCP와 UDP를 비교해보았습니다.

🟣 공부하면서 생긴 의문점

TCP와 UDP 이외에 통신계층이 더 있는지 궁금합니다.
Paritiy Bit와 같이 통신 시 에러 코드를 검출하는 방법등도 있었는데 이런 프로세스가 병렬적인 것인지 아니면 직접적인 연관이 있는지 궁금합니다.

🟣 기타

@SeonJeon SeonJeon self-assigned this Aug 31, 2022
@SeonJeon SeonJeon added NW Network 잭🦭 잭담당 labels Aug 31, 2022
Copy link
Collaborator

@Rookie0031 Rookie0031 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

고생하셨습니다!

상황에 따라 TCP기반으로 할지 UDP기반으로 할지 선택해야되는 케이스가 꽤 되나 보군요!!! 역시 신뢰성과 속도는 항상 트레이드 오프 관계인 거 같네요!!

당장 읽었을 때 그렇구나~하고 읽엇지만 다음에 볼 때는 깊게 이해하려고 하면 어려울 수 있을거같다는 생각도들었습니다. 정리 감사합니다!

Copy link
Collaborator

@GODNOEL GODNOEL left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

좋은 정리 감사합니다!

TCP/IP의 전송계층에서 사용되는
TCP,UDP 프로토콜에 대해 잘 정리해주셨네요!
감사합니다!

Comment on lines +10 to +13
- **그러나 정확성(TCP)을 추구할지 신속성(UDP)을 추구할지를 구분하여 나뉜다.**
- 데이터를 중요하게 생각하여 확실히 주고받고 싶을 때는 TCP를 사용한다.
- 신뢰성 보다 속도가 우선시라면 UDP를 사용한다.

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

어디서 데이터를 전달할때의 우선순위를 결정해서 (정확성, 신속성) TCP, UDP 프로토콜을 사용하도록 결정할지 궁금하네요!

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

사용목적에 따른 우선순위인것 같아요!
예를들면 스트리밍 서비스처럼 속도가 중요하고 살짝 화질이 깨질때도 있는 YouTube 같은 프로그램이라면 UDP 프로토콜을 기반으로 설계하지 않을까 싶습니다!

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

스타크래프트를 할 떄는 UDP를 써야합니다..

Copy link
Contributor

@deslog deslog left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

정리 감사합니다!!!
상황에 따라서 통신규약을 선택하는게 재밋어요..
데이터의 손실이냐, 속도냐,,
정말 올바른 프로토콜을 채택하는게 중요할 것 같네요. 판단하는 것은 나름 주관적일 수 밖에 없는데, 사실 신뢰성이 중요하지 않은 경우는 별로 없다고 생각되어, UDP를 어느 상황에 사용하는지 궁금해지기는 하네요!
뭐 영상스트리밍,, 이런거에 사용된다고 하는데, 그럼 데이터를 주고받는 대부분의 경우에는 TCP를 사용하지 않을까요!?!?,,, 흠 재미난 네트워크 세계


#### ✔️단점
- 데이터의 신뢰성이 없다.
- 의미있는 서버를 구축하기위해서는 일일히 패킷을 관리해주어야 한다.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

패킷을 관리해주어야한다는 의미가 무슨의민지 궁금해서 찾아봤는데 제가 이해한게 맞는지 궁금해서 댓글답니다.

TCP는 데이터를 처리할때 세그먼트 단위로 처리하는데, 그 단위는 아래와 같다고 합니다.

image

반면에 UDP는 데이터를 처리할할때 데이터그램, 즉 패킷하나 그 자체를 가지고 데이터를 처리하는데요

image

UDP는 Data를 쪼개서 처리하지 않는다는 차이점이있어요.

그렇기 때문에 전송계층이 아닌 다른 layer단에서 따로 data를 쪼개주는 일련의 과정이 필요하다고 합니다.

제가 이해하기로는, 이렇게 데이터를 다시 조개주어야한다는게 패킷을 관리한다 라고 이해했는데 맞을까요???

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

제가 이해한 것은 패킷을 관리한다는 것은 데이터의 정보의 문제라고 생각했습니다!
예를들면 TCP에서의 패킷관리는 보내고자하는 데이터의 A, B, C의 각각의 패킷이 헤더에 각 데이터에 관한 정보를 품고 이동이 되어 서버에 도달했을 때 재조립 되는 과정을 겪습니다. 이때 A, C만 도착한 것은 아닌지 어떤 데이터가 1번이고 2번인지 등의 정보를 각각 품고 전달되는 것인데...
UDP는 데이터를 쪼개지 않았기 때문에 이 데이터가 전부 다 온것이 맞는지 데이터 내 순서는 어떻게 되는지에 대한 정보가 부족하여 관리에 대한 어려움을 겪는다는 것으로 생각했어요~

@SeonJeon SeonJeon merged commit 50214b1 into main Sep 15, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
NW Network 잭🦭 잭담당
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

4 participants