티스토리 뷰

NETWORK

3) TCP / UDP에 대한 이해

chrisysl 2018. 4. 24. 11:12

TCP(Transmission Control Protocol) : 데이터 전송과정의 컨트롤

 - 연결지향형, 스트림 기반 소켓






TCP/IP 프로토콜 스택


# 총 네개의 계층으로 나뉜다. 즉, 데이터 송수신의 과정을 네개의 영억으로 계층화 하였다.

데이터 통신에 사용되는 프로토콜 스택은 7계층으로 세분회 되지만, 프로그래머의 관점에서는 4계층으로 볼 수 있다.






LINK 계층

 - LAN, WAN, MAN과 같은 네트워크 표준과 관련된 프로토콜을 정의하는 영역

 - 물리적인 연결에 대한 표준을 담당


IP 계층

 - 목적지로 데이터를 전송하기위해 중간에 어떤 경로를 거칠지에대한 문제를 해결하는 계층

 - 이 때 사용하는 프로토콜이 IP(Internet Protocol)

 - IP자체는 비연결지향적이고 전송경로가 일정하지 않기때문에 데이터가 손실되거나 오류가 발생할 수 있음

 - 오류발생에 대한 대비가 되어있지 않은 프로토콜

 - 데이터 전송을 위한 경로의 검색을 해준다.

 - IP만을 이용해 데이터를 전송한다면 A, B, C순서대로 패킷을 전송했다고 가정했을 때

 - 먼저 전송한 A패킷 보다 뒤에 전송한 C패킷이 먼저 도달 할 수도 있다.

 - 또한 B패킷은 유실될 수도 있고, 도달한 C패킷은 손상될 수도 있다.


TCP / UDP 계층

 - 전송 계층

 - IP계층에서 알려준 경로정보를 바탕으로 데이터의 실제 송수신을 담당


· TCP

 - 신뢰성 있는 데이터 전송을 담당

 - 그러나 비연결지향적 프로토콜인 IP를 기반으로 데이터를 전송한다

 - 하지만 데이터를 주고받는 과정에서 서로 데이터의 주고 받음을 확인하고, 

 - 유실 또는 손상된 데이터에 대한 재전송이 이루어진다.

 - 따라서 신뢰성 있는 데이터전송을 담당한다.

 - IP의 상위계층에서 호스트대 호스트의 데이터 송수신 방식을 약속한 것이 TCP / UDP 이며

 - TCP는 확인절차를 거쳐 신뢰성 없는 IP에 신뢰성을 부여한 프로토콜


APPLICATION 계층

 - 소켓이라는 도구를 이용해 무엇인가를 만드는 과정에서 프로그램의 성격에 따라 

 - 클라이언트와 서버간의 데이터 송수신에 대한 약속(규칙) 들이 정해지기 마련인데

 - 이를 가르켜 APPLICATION 프로토콜 이라고 한다.

 - 대부분의 네트워크 프로그래밍은 APPLICATION 프로토콜의 설계 및 구현이 다수이다.

댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
TAG
more
«   2024/04   »
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30
글 보관함