TCP/IP란 무엇입니까?
TCP/IP는 패킷 통신을 위한 인터넷 프로토콜입니다.
처음에는 연결이 설정되고 다시 연결이 끊어질 때까지 통신이 관련됩니다.
라인은 완전히 독점되었습니다.
이 통신 방식을 회선 통신이라고 합니다.
한편 당시
회선을 사용할 수 없어 기다려야 하는 상황이 발생합니다.
패킷 통신은 이러한 회선 통신의 단점을 해결하기 위해 나온 기술이다.
패킷 통신은 다중 네트워크를 사용할 뿐만 아니라
내용물을 잘게 잘라 보내드립니다.
따라서 특정 회선이 끊어지거나 누군가 통신을 방해하기 위해 사용하는 경우,
예방할 수 있습니다.
TCP 및 IP의 속성을 살펴보겠습니다.
IP는 패킷 전달을 보장하지 않습니다.
패킷이 송수신되는 순서도 다를 수 있습니다.
반대로 TCP는 IP 위에서 실행되는 프로토콜이며 데이터가 전송된 순서대로 전달되고 수신되도록 합니다.
간단히 말해서 TCP를 데이터 추적으로, IP를 배달로 생각할 수 있습니다!
TCP/IP 계층 4
TCP/IP 4계층은 응용계층, 전송계층, 인터넷계층, 네트워크접속계층으로 구성된다.
데이터가 전송되면 상위 계층에서 하위 계층으로 데이터가 이동합니다.
이때 각 레이어에 필요한 움직임이 발생
캡슐화라는 정보 헤더가 추가되었습니다.
데이터를 받으면 하위 계층에서 상위 계층으로 이동하며 각 계층 이동에 따라 추가된 헤더를 읽어 해당 데이터를 전송한다.
조치를 취한 후 헤더를 제거하십시오. 이를 캡슐화 해제라고 합니다.
각 단계를 자세히 살펴보겠습니다!
L4 애플리케이션 계층
데이터 단위 – 데이터/메시지
사용자와 가장 가까운 계층이며 사용자와 소프트웨어 간의 통신을 담당합니다.
데이터를 교환하기 위해 응용 프로그램에서 사용하는 프로토콜입니다.
대표적인 예로는 파일 전송, HTTP, 이메일 등이 있습니다.
L3 전송 계층
데이터 단위 – 세그먼트
통신 노드 간의 연결을 제어하고 데이터를 송수신하는 역할을 합니다.
캡슐화 해제 프로세스 중에 포트 번호를 사용하여 올바른 애플리케이션으로 데이터를 전달하는 역할을 합니다.
데이터가 네트워크 액세스 계층과 인터넷 계층을 통해 정상적으로 대상 장치에 도착한 후,
전송 계층은 포트 번호를 사용하여 대상 장치의 의도된 응용 프로그램에 데이터를 전달합니다.
대표적인 예로는 TCP와 UDP가 있습니다.
L2 인터넷 계층
데이터 단위 – 패킷
네트워크의 최종 목적지에 대한 정확한 연결을 설정하기 위한 연결성을 제공합니다.
터미널을 서로 구별하기 위한 논리적
IP 주소를 할당합니다.
세그먼트를 목적지로 전송하기 위해서는 시작 주소와 목적지의 논리 주소가 필요합니다.
연결된 패킷 단위로 데이터를 구성합니다.
대표적인 예로는 IP와 ARP가 있다.
L1 네트워크 액세스 계층
데이터 단위 – 프레임
이 계층은 데이터를 전기 신호로 변환하고 물리적 주소인 MAC 주소를 사용하여 해당 장치에 데이터를 전달합니다.
논리 주소(IP)가 아닌 물리 주소(MAC 주소)를 참조하여 장치 간 데이터 전송을 가능하게 합니다.
마지막으로 데이터 전송 전에 MAC 주소 부분을 패킷 헤더에 첨부하여 전송합니다.
대표적인 예가 MAC입니다.
TCP/IP는 이러한 계층에서 데이터를 송수신합니다.
이 과정에서 발생할 수 있는 몇 가지 문제가 있습니다.
TCP/IP의 흐름 제어
수신측이 송신측보다 데이터 처리 속도가 빠르면 문제가 없지만 송신측이 빠르면 문제가 있습니다.
수신측의 저장 용량을 초과한 후에 전송된 패킷은 손실될 수 있기 때문입니다.
이 경우 불필요한 추가 패킷 전송이 발생합니다.
흐름 제어는 송신측과 수신측의 TCP 버퍼 크기 차이로 인해 발생하는 데이터 처리 속도를 해결하기 위한 기술입니다.
흐름 제어의 기본 아이디어는 수신 측이 송신 측에 자신의 상태를 지속적으로 알리는 것입니다.
즉, 수신측에서 더 많은 데이터를 수신할 준비가 되었다는 피드백을 보내면 송신측에서 패킷을 계속 전송합니다.
보내는 것입니다.
멈추고 기다려 포워딩된 각 패킷에 대한 ACK 응답을 받으면 다음 패킷을 전송하는 절차이다.
패키지
또한 한 번에 하나씩 전송되므로 비효율적인 방법입니다.
슬라이딩 윈도우 기법은 송신자가 수신자가 지정한 창 크기만큼 많은 패킷을 전송할 수 있도록 하여 데이터 흐름을 동적으로 조정하는 제어 기술입니다.
윈도우 크기는 TCP 버퍼에서 사용되는 부분을 제외하고 데이터를 수신할 수 있는 공간으로 수신측에서 결정한다.
창 크기는 데이터 전송률을 결정하는 매개변수라고도 할 수 있습니다.
창 크기는 수신측에서 송신측으로 3방향 핸드쉐이킹을 통해 승인(ACK)을 보낼 때 TCP 헤더에서 전송됩니다.
즉, 윈도우는 TCP 버퍼의 특정 영역입니다.
그것이 작동하는 방식입니다.
3번의 핸드 셰이킹을 통해 수신측에서 허용되는 창 크기가 7이라는 것을 알았습니다.
보낸 사람은 다음과 같이 지정된 범위와 함께 0과 1의 두 프레임을 보냅니다.
슬라이딩 윈도우 구조는 다음과 같습니다.
데이터 프레임의 양만큼 축소됩니다.
이때 수신자가 ACK 프레임을 수신하면 송신자는 수신자가 0,1 데이터를 정상적으로 수신했음을 안다.
보낸 사람은 이 양만큼 창을 오른쪽으로 확장합니다.
위에서 우리는 TCP/IP를 살펴보았습니다.
감사해요!
참조 블로그
https://velog.io/@rosewwross/TCPIP