관리 메뉴

너와 나의 스토리

[CH.4-1] TCP와 UDP에 대한 이해 본문

Computer Networks/실습

[CH.4-1] TCP와 UDP에 대한 이해

노는게제일좋아! 2019. 10. 9. 11:31
반응형

인터넷 프로토콜(IP) 기반 소켓의 경우, 데이터 전송방법에 따라 TCP 소켓과 UDP 소켓으로 나뉘고, 특히 TCP 소켓의 경우 연결을 지향하기 때문에 '스트림 기반 소켓'이라고도 이야기한다.

 

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

Application layer(5계층): 프로토콜 결정 (FTP,SMTP,HTTP,...)

 

Transport layer(4계층): 통신 방식 결정 (TCP/UDP)

 

Network layer(3계층): 데이터 전송 교환 담당 (IP - router 이용)

 

Link layer(2계층): 완전 실제 전달

 

 

 

Link 계층

  • Link 계층은 물리적인 영역의 표준화에 대한 결과이다. 
  • 이는 가장 기본이 되는 영역으로 LAN, WAN, MAN과 같은 네트워크 표준과 관련된 프로토콜을 정의하는 영역이다.
  • 물리적인 연결

 

IP 계층

  • 인터넷을 통한 데이터의 전송을 위해 먼저 경로의 선택
  • IP 자체는 비연결지향적이며 신뢰할 수 없는 프로토콜이다.
    • 오류발생에 대한 대비가 되어있지 않은 프로토콜 IP이다.

 

TCP/UDP 계층

  • IP계층에서 알려준 경로정보를 바탕으로 데이터의 실제 송수신을 담당. 
    • 그래서 Transport layer이라고 함

  • IP는 오로지 하나의 페이터 패킷이 전송되는 과정에만  중심을 두고 설계되었기 때문에, 여러 개의 패킷을 전송한다 하더라도 각각의 패킷이 전송되는 과정은 IP가 각 패킷에 정한 순서대로 전송된다.
    • A, B, C 보냈는데 B가 먼저 도착 가능
    • 이 문제를 해결하기 위해 TCP 프로토콜이 추가되어 데이터를 송수신한다.
    • 호스트 A,B가 서로 순서대로 잘 도착하는지 계속 대화하면서 확인한다
  • TCP는 신뢰성을 보장하기 때문에 UDP에 비해 복잡한 프로토콜이다.

 

 

Application 계층

  • 프로그래머에 의해 완성되는 계층이다
  • 소켓을 기반으로 완성하는 프로토콜을 의미
  • 소켓을 생성하면, 앞서 보인 LINK, IP, TCP/UDP 계층에 대한 내용은 감춰진다.
  • 그러니 응용 프로그래머는 APPLICATION 계층의 완성에 집중하게 된다.

 

 

 

 

 

 

 

 

 

 

 

 

 

출처: [윤성우 열혈 TCP/IP 소켓 프로그래밍]

 

반응형
Comments