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

강지영·2022년 8월 20일
1

IT지식

목록 보기
5/8

📰 프로토콜

'약속', '규약', '협약' 등을 의미
상호간 원활한 교류, 소통, 통신을 위해 서로 동일하게 어떠한 설정/규칙을 정한다

📰 네트워크 프로토콜

컴퓨터 네트워크 환경 내 모든 기기가 서로 통신하며 데이터를 주고 받기 위한 사전 협의된 통신 협약/규약

📰 IP(Internet Protocol)

컴퓨터가 서로 통신하기 위한 주소

📰 TCP(Transmission Control Protocol)

전송 제어 프로토콜
인터넷상에서 데이터를 메세지의 형태로 보내기 위해 IP와 함께 사용하는 프로토콜
일반적으로 TCP와 IP를 함께 사용하는데, IP가 데이터의 배달을 처리한다면 TCP는 패킷을 추적 및 관리
TCP는 연결형 서비스를 지원하는 프로토콜로 인터넷 환경에서 기본으로 사용
TCP는 연결형 서비스로 신뢰성을 보장하므로 3-way handshaking의 과정도 사용하고 데이터의 흐름제어나 혼잡 제어와 같은 기능
(이러한 기능때문에 UDP보다 속도가 느리게 됩니다)
TCP는 연속성보다 신뢰성있는 전송이 중요할 때에 사용하는 프로토콜로 예를 들면 파일 전송과 같은 경우에 사용

🔎패킷(Packet)이란?

인터넷 내에서 데이터를 보내기 위한 경로배정(라우팅)을 효율적으로 하기 위해서 데이터를 여러 개의 조각들로 나누어 전송을 하는데 이때, 이 조각을 패킷

🔎 3-way handshaking과정이란?

목적지와 수신지를 확실히 하여 정확한 전송을 보장하기 위해서세션을 수립하는 과정을 의미

📰 UDP(User Datagram Protocol)

데이터를 데이터그램 단위로 처리하는 프로토콜
UDP는 비연결형 서비스이기 때문에, 연결을 설정하고 해제하는 과정이 존재하지 않습니다.
TCP보다 속도가 빠르며 네트워크 부하가 적다는 장점이 있지만 신뢰성있는 데이터의 전송을 보장하지는 못함
신뢰성보다는 연속성이 중요한 서비스 예를 들면 실시간 서비스(streaming)에 자주 사용

📰 OSI 7 Layer 과 TCP/IP 4 Layer(TCP/IP Protocol suite)

인터넷에서 컴퓨터들이 서로 정보를 주고받는 데 쓰이는 통신규약(프로토콜)의 모음

TCP/IP 프로토콜은 OSI 모델보다 먼저 개발되었다. 그러므로 TCP/IP 프로토콜의 계층은 OSI 모델의 계층과 정확하게 일치하지 않는다.
모두 계층형 이라는 공통점을 가지고 있으며 TCP/IP는 인터넷 개발 이후 계속 표준화되어 신뢰성이 우수인 반면, OSI 7 Layer는 표준이 되기는 하지만 실제적으로 구현되는 예가 거의 없어 신뢰성이 저하되어있다.
OSI 7 Layer는 장비 개발과 통신 자체를 어떻게 표준으로 잡을지 사용되는 반면에 실질적인 통신 자체는 TCP/IP 프로토콜을 사용한다.

🔎개방시스템(Open System)이란

기반구조와 관계없이 시스템간의 통신을 제공하는 프로토 콜의 집합

📰 IP CLASS

IP는 .를 구분자로 4자리로 이루어질 이 자리를 Octect이라고 함
192.168.10.1
= Octect.Octect.Octect.Octect
= (0~255).(0~255).(0~255).(0~255)
네 마디의 각 마디(Octet)마다 십진수 표현
= 8bit.8bit.8bit.8bit
= 1byte.1byte.1byte.1byte
= 4byte = 32bit = 2^32 = 약 42억 9천만
즉 IP 의 범위는 0.0.0.0 ~ 255.255.255.255

IP의 많이 모자라므로 휴율적인 사용을 위해 CLASS 별로 구분해서 사용

Subnet Mask

32비트의 숫자로 ‘0’의 비트는 호스트 부분을 나타내고 ‘1’의 비트는 네트워크 부분을 나타냅니다. 이러한 방식으로 서브넷 마스크는 IP 주소를 네트워크 및 호스트 주소와 분리합니다.
= Octect.Octect.Octect.Octect
= 1번으로 연속으로 되는 자리
= 1이 연속으로 나오다가 한 번 0이 나오면 뒷자리 모두 0이 나옴
=> 네트워크의 같은 대역대를 구분

<네트워크 통신 확인 방법>

  1. IP 주소의 클래스를 확인
  2. 서브넷마스크와 IP를 AND 연산을 해서 네트워크 주소를 확인
  3. 네트워크 주소가 같으면 통신이 되고 네트워크 주소가 다르면 통신 불가능!

Q. 10.1.1.1 과 20.1.1.1의 통신 가능할까요?

10.1.1.1의 네트워크 주소
0000 1010.0000 0000.0000 0000.0000 0000
20.1.1.1 네트워크 주소
0001 0100.0000 0000.0000 0000.0000 0000
네트워크 주소가 같은 가 => NO
결론적으론 통신이 되지 않습니다.

profile
Hello World!

0개의 댓글