새로운 인터넷 어플리케이션을 만들 때 첫번 째 결정해야 하는 것 중 하나는 UDP 혹은 TCP 중 어느 것을 사용할지를 결정하는 것이다.
OSI 7계층에서 Transport Layer(전송계층)에 속하는 프로토콜인 TCP와 UDP 에 대해 조금 더 자세히 알아보고자 한다.
항상 단일 송신자와 단일 수신자 사이의 점대점(Point-to-point)임
연결 지향형 서비스
애플리케이션 계층 메세지를 전송하기 전에 TCP는 클라이언트와 서버가 서로 전송 제어 정보를 교환하도록 함
이 Hand shaking 과정이 클라이언트와 서버에 패킷이 곧 도달할 것이니 준비하라고 알려주는 역할을 함
Hand Shaking 단계를 지나면, TCP 연결이 두 프로세스의 소켓 사이에 존재한다고 얘기함
이 연결은 두 프로세스가 서로에게 동시에 메세지를 보낼 수 있기에 Full-Duplex(전이중) 연결이라고 함
애플리케이션이 메세지 전송을 마치면 연결을 끊어야 함
신뢰적인 데이터 전송 서비스
Connection- Oriented
SSL(Secure Sockets Layer)
을 개발함최소의 서비스 모델을 가진 간단한 전송 프로토콜 (깔꼼)
할 수 있는 최선을 다하지만 보장은 하지 않음
비 연결형
비 신뢰적인 데이터 전송 서비스
혼잡제어 방식을 포함하지 않음
- UDP 송신 측은 데이터를 원하는 속도로 하위계층(네트워크 계층)dmfh qhsof tn dlTdma
위에서 언급했듯
TCP
는 장치들 사이에 접속을 Establish 하기 위해 3-way handshake 를 사용함
SYN
을 보내고SYNACK
를 보낸다ACK
를 보내고 연결이 이루어 짐FIN
을 전송ACK
를 보냄FIN
을 보냄ACK
보냄References
[컴퓨터 네트워킹 하향식 접근 - James F.Kurose]