본문 바로가기
it/httpCommunication

인터넷통신 (TCP / UDP)

by hanjae 2022. 6. 29.

TCP란 

- 서버와 클라이언트간에 데이터를 신뢰성 있게 전달하기 위해 만들어진 프로토콜이다

- 데이터를 네트워크통신때 노드를 찾아가는 과정에서 손실되거나 순서가 바뀌어서 전달될 수 있는데 TCP는 손실을 

   검색해서 교정하고 순서를 재조합 할수 있도록 도와준다

- TCP는 앞서 봤던 ip통신의 문제점을 해결해 준다

 

TCP특징

  • TCP 3 way handshake (가상연결)
    일단 연결을 한 다음에 데이터를 전송한다
  • 데이터 전달 보증
    데이터의 전달의 성공여부를 알수 있다
  • 순서 보장
    여러 데이터의 전달 순서를 보장받을 수 있다

 

 

TCP/IP 패킷 정보

실제로 TCP통신의 데이터이다

IP패킷은 출발지 목적지의ip주소 등을 받고 , 클라이언트와 서버의 컨넥션이 일어나면

보내지는 데이터(TCP세그먼트) 포트, 순서 , 데이터 등의 정보의 송수신이 발생이된다

 

 

3 way handshake

TCP의 통신방식은 클라이언트와 서버가 연결되야하는데 이 과정을 connection이라고 한다

클라이언트에서 SYN를 통해 접속요청을 보내고 서버에서는 접속요청(SYN)과 ACK요청수락을 보낸다

그리고 클라이언트에서는 서버에서부터 받은 ACK의 응답을 보고 수락(ACK)와 함께 데이터를 전송한다

그 후로는 connection이 유지되어 있으면 데이터를 전송하는 형식이 된다

 

 

데이터전달 보증

 

3way handshake이후에 데이터 전송시 서버에서 데이터를 잘 받았는지 상태코드로 보내준다

 

순서보장

서버에서 데이터를 받았을 때 전달받은 데이터의 순서가 다르다면 올바른 순서 이외의 데이터는 버리고 순서가 이상한 데이터부터 

클라이언트한테 데이터를 재수신 요청을 한다

 

UDP란

 - 비연결형 신뢰성이 없는 전송 프로토콜이다

 - ip프로토콜 형식과 비슷하다

 

UDP특징

  • 기능의 거의 없음
  • 연결지향적 ≠  TCP 3 way handshake
  • 데이터전달 보증하지 않음
  • 순서보장 안함
  • TCP에비해 빠름(3way handshake,  데이터전달보증, 순서보장 의 처리를 하지 않아서 데이터정보량, 순서가 단축)

 

'it > httpCommunication' 카테고리의 다른 글

웹브라우저(URI)  (0) 2022.06.29
인터넷통신(DNS)  (0) 2022.06.29
인터넷통신(PORT)  (0) 2022.06.29
인터넷 통신(IP Protocol)  (0) 2022.06.29
인터넷 네트워크  (0) 2022.06.29