<CS스터디:1일1로그 100일 완성 IT지식>67장 정리

박건영(Parkgunyoung)·2022년 6월 19일
0

CS스터디

목록 보기
4/4

데이터를 전송하는 핵심프로토콜 TCP/IP

*프로토콜

통신규약으로 컴퓨터나 원거리 통신 장비 사이에서 메시지를 주고 받는 양식과 규칙의 체계이다. 통신 프로토콜은 신호 체계, 인증, 그리고 오류 감지 및 수정 기능을 포함할 수 있다.

(출처: 위키백과 통신프로토콜)

즉, 서로 다른 시스템에 있는 개체 간에 성공적으로 데이터를 전송하는 통신규약이다.
(네트워크에 연결된 컴퓨터들끼리 데이터를 주고받을 수 있도록 미리 약속한 전송 규약 및 규칙)


IP와 TCP

패킷이란?

패킷 이란 packagebucket의 합성어로
통신망을 통해 전송하기 쉽도록 자른 데이터의 전송 단위이다.

우체국에서 화물을 적당한 덩어리로 나눠 행선지를 표시하는 꼬리표를 붙이는데, 이러한 방식을 데이터 통신에 접목한 것.


IP인터넷 프로토콜(Internet Protocol)로 불리며 개별 패킷의 형식을 지정하고 패킷을 전송하는 방법을 정의한다.

TCP전송 제어 프로토콜(Transmission Control Protocl)로 불리며, IP 패킷을 데이터 스트림으로 결합하고 서비스에 연결하는 방법을 정의한다.

이 두 프로토콜을 합쳐서 TCP/IP 라고 한다!


프로토콜 계층

TCP/IP가 많이 사용되면서 흔히 사용되던 OSI 7계층을 더욱 추상화 한 TCP/IP 4계층이 등장했다. TCP / IP에는 아래와 같이 4개의 층이 있다.

여러개의 프로토콜 계층이 있는데,

각각은 바로 아래에 있는 프로토콜의 서비스에 의존하고, 바로 위에 있는 프로토콜에 서비스를 제공한다. (프로토콜 계층의 상호 의존적 특성)

내가 이해한게 맞다면 전송계층에 해당되는 TCP는 네트워크 계층에 해당되는 IP에 의존적이고 상위 서비스인 Application에
데이터를 제공한다.

즉, IP의 부족한 능력을 TCP가 보완하여 데이터를 Application 계층에 전달한다가 될 것 같다.


[Plus 개념]

책에서 말하는 UDP는 전송 계층에 해당되고 TCP와 같은 위치에 존재한다.

UDP와 TCP의 차이는 양방향 스트림이 필요하지 않는 데이터 교환에 사용된다하며, 패킷을 효율적으로 전송할 용도로 쓰인다고 한다.

DNS, 비디오스트리밍, VoIP, 일부 온라인 게임 등이 UDP를 사용한다. (단방향적?)


즉, IP의 부족한 능력을 TCP가 보완하여 데이터를 Application 계층에 전달한다?

IP의 특징

IP는 데이터 조각을 최대한 빨리 대상 IP 주소로 보내는 역할을한다.

  • 이 데이터 조각들의 순서가 뒤바뀌거나 일부가 누락되어도 크게 상관하지 않고 그저 보내는데 집중을 한다. (신뢰성없는 unreliable)

  • IP에는 상태를 관리하거나 기억하는 기능이 없고 어떤 패킷이 다음 게이트웨이로 전달되고 나면 그 패킷에 대해 아무것도 기억할 필요가 없다.(비연결형 connectionless)

TCP 의 특징

TCP는 IP보다 느리지만 꼼꼼한 방식을 사용한다. 도착한 조각을 점검하여 줄을 세우고 망가졌거나 빠진 조각을 다시 요청한다.
(IP의 한계 보완)

책에서 말하는 IP의 신뢰성 없는 것을 신뢰성 있는 통신으로 만들어내는 것을 TCP가 담당한다.

<TCP 동작 방식>

바이트 스트림을 여러 조각으로 나누어 세그먼트(segment)라고 하는 TCP 패킷에 담는다.

TCP세그먼트에는 실제 데이터 뿐만 아니라 제어 정보를 포함하는 '헤더'도 들어 있다. 이 제어 정보에는 수신자가 각 패킷이 스트림의 어느 부분을 나타내는지 알 수 있게 해주는 시퀀스 번호가 포함된다.

이렇게 하여 세그먼트 분실이 일어나면 어느 세그먼트 인지 알아내서 재전송을 한다.

또한 세그먼트에는 오류 검출 정보가 포함되어 있어 손상된 세그먼트도 찾아낼 수 있다고 한다.

즉, 이러한 TCP의 역할로 데이터를 순서대로, 에러없이 교환할 수 있게 되는 것이다.


이렇게 두 방식의 조합을 통하여 인터넷 데이터 통신을 하는 것을 묶어 TCP/IP 라고 부른다.

profile
쓰러지면어때일어나면그만인걸

0개의 댓글