네이글 알고리즘(Nagle's Algoritm) 이해
네이글 알고리즘(Nagle's Algoritm)은 Ethernet을 이용하는 컴퓨터 네트워크에서 활용됩니다. 이 중에서도 TCP 프로토콜에서 많이 활용되고 있습니다. (다른 프로토콜에서도 활용되는지는 시간이 되면 확인해 봐야겠네요.) pseudocode 코드가 생각보다 간단하여 pseudocode 코드부터 알아보겠습니다. pseudocode if there is new data to send then if the window size ≥ MSS and available data is ≥ MSS then send complete MSS segment now else if there is unconfirmed data still in the pipe then enqueue data in the buffer ..
2021.12.30
TCP(Transmission Control Protocol) 연결 과정 요약
TCP(Transmission Control Protocol) 프로토콜에서 연결 과정은 3 Way-Handshake 과정을 이용합니다. 사람들이 만날 때, 악수를 통해 인사를 하는 것과 같이 연결을 위해 서로 확인하는 절차여서 Handshake 라고 이름이 붙혀진 것 같네요. TCP 연결 과정을 간단하게 표현하자면 아래와 같습니다. Client ---------------> Server : SYN Client Server : ACK 클라이언트에서 서버로 연결 요청을 하기 위해 SYN 메시지를 송신 합니다. 서버는 클라이언트의 연결 요청을 수락한다는 의미로 SYN, ACK라는 응답 메시지를 송신합니다. 마지막으로 클라이언트는 응답에 대한 응답 메시지인 ACK를 송신합니다. 굳이 이런 복잡한 연결절차를 왜 ..
2021.12.28
TCP/IP, UDP/IP 의미 정리
컴퓨터 네트워크 분야에서의 TCP/IP란 용어는 인터넷을 위한 프로토콜을 모두 내포하고 있습니다. 예를 들어, Ethernet PHY, Ethernet MAC, IPv4, IPv6, TCP, UDP, DHCP, HTTP 등 입니다. 하지만, 다른 분야에서는 TCP/IP와 UDP/IP를 분류하는 경향이 있습니다. 업계가 바뀌면서 기술적 용어의 개념이 모호해진 것 같은데 말 그대로 TCP/IP는 TCP를 기반으로 통신 및 어플리케이션을 사용한다는 의미로 보여집니다. 반면에, UDP/IP는 UDP를 기반으로 통신 및 어플리케이션을 사용한다는 의미로 보고 있습니다. 크게 중요하지 않을 수 있는데, 표준 문서를 보다보면 많이 혼용해서 사용하는 것 같네요. 복잡하게 생각하지말고 해당 문서에서 TCP/IP와 UDP/..
2021.12.28