그림으로 배우는 Http&Network Basic - (1) TCP/IP
Date: 2022-04-01
네트워크의 기본이 되는 TCP/IP 통신
TCP/IP 계층
TCP/IP 통신의 흐름
IP 프로토콜
TCP 프로토콜
네트워크의 기본이 되는 TCP/IP 통신
프로토콜이란 서로 다른 하드웨어와 운영체제가 통신하기 위한 규칙이다.
인터넷과 관련된 프로토콜들을 모은 것이 TCP/IP 이다.
TCP/IP 계층
- TCP/IP에서 중요한 개념 중 하나가 계층(Layer)이다.
- TCP/IP의 4계층
- 애플리케이션 계층
유저에게 제공되는 애플리케이션에서 사용하는 통신
eg. FTP, DNS, HTTP 등 - 트랜스포트 계층
네트워크로 접속되어 있는 컴퓨터 사이의 데이터 흐름을 제공
eg. TCP, UDP 등 - 네트워크 계층
네트워크 상에서 패킷의 이동을 담당 (어떠한 경로를 거쳐 상대의 컴퓨터까지 패킷을 보낼지 결정) - 링크 계층
네트워크에 접속하는 하드웨어적인 측면
eg. 디바이스 드라이버, 네트워크 인터페이스 카드(NIC), 케이블 등
- 애플리케이션 계층
TCP/IP 통신의 흐름
- 클라이언트 ➡️ 애플리케이션 계층(HTTP Request) ➡️ 트랜스포트 계층(TCP) ➡️ 네트워크 계층(패킷) ➡️ 링크 계층(수신지 MAC 주소)
- 서버 ➡️ 링크 계층 ➡️ 네트워크 계층 ➡️️ 트랜스포트 계층 ➡️ 애플리케이션 계층
헤더는 해당 계층에 필요한 정보이다. (TCP 헤더, IP 헤더, Ethernet 헤더)
- 송신측에서는 각 계층을 거칠 때는 헤더를 추가한다.
- 수신측에서는 각 계층을 거칠 때 마다 해당 계층에서 사용한 헤더를 삭제한다.
- 이렇게 정보(데이터)를 감싸는 것을 캡슐화라고 부른다.
IP 프로토콜
- IP는 TCP/IP에서 네트워크 계층에 해당된다. (IP는 ‘IP 주소’가 아닌 프로토콜의 명칭)
- IP의 역할은 개별 패킷을 수신측에 전달하는 것이다.
- 패킷을 전달하기까지 여러 가지 요소가 필요한데, 그 중에서도 IP 주소와 MAC 주소가 중요하다.
- IP 주소는 각 노드에 부여된 주소이다.
- MAC 주소(Media Access Control Address)는 각 네트워크 카드에 할당된 고유의 주소이다.
- IP 주소는 변경 가능하지만 기본적으로 MAC 주소는 변경할 수 없다.
ARP 프로토콜
인터넷에서 통신 상대가 같은 랜선 내에 있을 경우는 적어서 여러 대의 컴퓨터와 네트워크를 중계하기 위한 프로토콜이 필요하다.
ARP(Address Resolution Protocal)는 주소를 해결하기 위한 프로토콜 중 하나로, 수신지의 IP 주로를 바탕으로 MAC 주소를 조사할 수 있다.
TCP 프로토콜
- TCP는 TCP/IP에서 트랜스포트 계층에 해당된다.
- TCP는 신뢰성 있는 바이트 스트림 서비스를 제공한다.
- 바이트 스트림 서비스란 용량이 큰 데이터를 보내기 쉽게 TCP 세그먼트라고 불리는 단위 패킷으로 작게 분해하여 관리하는 것이다.
- TCP는 연결형으로, 순차적인 데이터를 안전하게 전송하는 프로토콜이다.
- 반면, UDP는 비연결형으로, 순차적이지 않은 데이터를 빠르게 전송하는 프로토콜이다.
- TCP는 신뢰성을 보장하기 위해 3-Way-Handshaking 방법을 사용한다.
- 3-Way-Handshaking은
SYN
,ACK
플래그를 사용하여 연결 수립을 확인한다. - 송신(SYN) ➡️️ 수신(SYN/ACK) ➡️️ 송신(ACK)️️
- 3-Way-Handshaking은