본문 바로가기
스터디/network

TCP와 UDP에 대해 공부해보자!

by 깝태 2011. 1. 18.

[네트워크 강의/네트워크 강좌/TCP 강의/UDP 강의]

안녕하세요, 아마 제 생각으로는 이번 강의가 오늘 올리는 마지막 강의일듯 합니다.

네트워크 기초에 대해 전반적으로 공부하고 싶었는데 이제 이번 강의가 마지막이 될듯 합니다.
이번 강의만 올리고 다른 블로그에 좋은 강의가 있길래 그 강의를 보면서 복습 차 공부를 더 하고
혹시나 제가 보기에 진짜 좋다고 생각되면 제 티스토리에 허락하에 스크랩해오겠습니다 ^^ ;

물론 네트워크 강의 게시판에 쓰는 마지막 강의라는 소리는 아닙니다. ^^
혼잣말이 좀 많아요, 강의 시작하겠습니다!

먼저 간단한 내용을 앞서 설명드리겠습니다. 일정 프로그램으로부터 전송할 데이터, IP 주소와 포트 번호를 전달받은 운영체제 내에는
TCP/IP 소프트웨어가 있습니다. 이 소프트웨어는 TCP 계층과 IP 계층으로 나뉩니다.


TCP 계층은 사진에서 보이듯이 TCP(Transmission Control Protocol)와 UDP(User Datagram Protocol) 프로토콜 두 개로 구분됩니다.
TCP는 신뢰성 프로토콜이며 UDP는 비신뢰성 프로토콜 입니다. 다음 단락부터 이 둘의 자세한 내용에 대해 설명해보겠습니다.

TCP(Transmission Control Protocol) 는 신뢰성이 요구되는 프로토콜 입니다.
무슨말이냐하면 보내는 쪽(송신측) 받는 쪽(수신측)의 연결이 정상적으로 된 것을 확인 후 데이터의 전송이 이루어 집니다.

TCP 통신을 전화에 비유해보자면 A 가 전화를 걸면 B 가 전화를 받습니다. 그리고 A 가 말을 걸면 B 가 대답을 합니다.
이렇게 통신이 이루어집니다. 상대방의 IP, PORT 모두 알고있어야 연결요청이 가능하며 상대방이 수신을 해야지만 연결이 되는 방식,
데이터의 도착 유무를 내부적으로 확인하며 도착하지 않았으면 재요청을 하는 메커니즘이 존재하지만 속도면에선 느리다.

UDP(User Datagram Protocol) 는 신뢰성이 요구되지 않는 프로토콜 입니다.
그러니깐 송신측과 수신측의 연결을 거치지 않고 일방적으로 데이터를 전송합니다. 응답 또한 따로 받지않습니다.

UDP 통신은 데이터를 먼저 생성하고 상대방과 자신의 주소(IP, Port)만 기록하고 전송합니다. 그러나 UDP는 상대방이 받았는지
안 받았는지 확인이 불가능하지만 데이터만 보내므로 속도면에서는 빠릅니다.

아래 접혀있는 사진은 TCP, UDP 클라이언트와 서버간의 소켓 연결방식 입니다.


혹시나 틀린 내용 있다면 지적 감사히 받겠습니다.
단, 비하발언이 있는 태클은 사정하겠습니다.

읽어주셔서 감사합니다~ ^^

[네트워크갤] TCP와 UDP에 대해 공부해보자!