- TCP의 통신방식은 3-way handshake 방식
- 원칙적으로는 전송되는 모든 패킷에 3-way handshake를 적용하게 되어있다.
=> TCP는 신뢰성을 위해 어느정도의 비효율을 감소한다는 점이다.
- 또한 IP 네트워크에서 데이터는 몇 겹의 헤더들로 캡슐화되어 전송되면 헤더 용량이 커져 비효율적인 전송을 하게 되는 경우가 생긴다.
- 통신이슈가 생기거나 host 간의 윈도우 크기가 작아지면 전송할 데이터가 작게 분할되어 전송되게 된다.
-> 단순한 메시지 전달에 대해서도 네트워크 비용이 막대하게 발생하므로 버퍼에 모았다가 한번에 전송하도록 한다.
<Small Packet Problem>
- 송신 노드에서 버퍼를 둔 뒤 수신 노드의 Window 사이즈를 고려한 후
어느 정도 길이만큼의 패킷을 한번에 전송하는 기술
ex) 'NAGLE' 이라는 단어를 패킷으로 보낸다고 할 때,
'N' 데이터를 전송한 다음 수신 노드로부터 ACK를 받기전까지 'AGLE' 패킷 정보를 송신 버퍼에 저장한다.
ACK가 오면 버퍼에 모아놓은 여러개의 패킷을 한번에 전송한다.
데이터 전송 횟수가 줄어들기 때문에 네트워크의 효율성이 높아진다는 장점이 있지만,
ACK를 받을 때까지 패킷을 모으고 있기 때문에 반응속도가 느려진다는 단점이 있다.
'DEVELOP > 네트워크' 카테고리의 다른 글
VPN(Virtual Private Network) (0) | 2019.10.30 |
---|---|
TCP와 UDP (0) | 2019.10.02 |
서브넷마스크(Subnet Mask) (0) | 2019.10.02 |
IP주소 클래스 (0) | 2019.10.02 |