본문 바로가기
CS

네트워크의 기본 TCP/IP

by 에드박 2020. 8. 8.

HTTP(웹 문서 전송 프로토콜)를 이해하기 위해서는 TCP/IP를 어느 정도 알고 있어야 합니다.

 

일반적으로 우리가 사용하는 네트워크는 TCP/IP 라는 프로토콜에서 움직입니다.

프로토콜이란?
약속이라는 의미로, 서로 다른 하드웨어, 운영체제 등이 서로 통신하기 위해 정해둔 약속(규칙) 입니다.

TCP/IP 는 인터넷과 관련된 프로토콜들을 모은 것입니다.

 

TCP/IP에서 중요한 개념 중 하나가 ' 계층(Layer) ' 입니다. 총 4개의 계층으로 나뉩니다.

 

  • 애플리케이션 계층
  • 트랜스포트 계층
  • 네트워크 계층
  • 링크 계층
TCP/IP가 계층화 된 이유는 메리트가 있기 때문입니다.
전체가 하나의 프로토콜로 되어있다면 하나의 사양을 바꿨을 때 전체를 바꿔야하지만
4개의 계층으로 나누어진다면 해당 계층만 바꾸면 됩니다.

1. 애플리케이션 계층

유저에게 제공되는 애플리케이션에서 사용하는 통신의 움직임을 결정합니다.

(TCP/IP에는 여러가지 공통 애플리케이션이 존재함 - FTP, DNS, HTTP 등등)

 

2. 트랜스 포트 계층

애플리케이션 계층에 네트워크로 접속되어 있는 2대의 컴퓨터 사이의 데이터 흐름을 제공합니다.

(서로 다른 성질인 TCP / UDP 2가지 프로토콜이 존재함)

 

3. 네트워크 계층

네트워크 상에서 패킷의 이동을 다룹니다. 어떤 경로를 거쳐 상대 컴퓨터에 보낼지를 결정하기도 합니다.

패킷이란? 전송하는 데이터의 최소단위입니다.

 

4. 링크계층

 

네트워크에 접속하는 하드웨어적인 면을 다룹니다. (하드웨어적인 측면을 모두 다룹니다.)


TCP/IP 통신의 흐름

 

출처 : 그림으로 배우는 HTTP & Network Basic

 

송신측(클라이언트)은 애플리케이션 계층부터 내려가고

수신측(서버)은 반대로 네트워크 계층부터 애플리케이션 계층으로 올라갑니다.

 

HTTP를 예로들어 설명하면 

  1. 애플리케이션 계층에서 "웹페이지를 보고싶다"(Http Request) 라고 지시합니다.
  2. 트랜스포트 계층(TCP)은 1번에서 받은 데이터(HTTP 메시지)를 통신하기 쉽게 조각내어 안내번호 와 포트번호 를 붙여서 네트워크 계층에 전송합니다.
  3. 네트워크 계층(IP) 에서는 수신지 MAC 주소를 추가해서 링크 계층에 전달합니다.
  4. 네트워크를 통해 송신할 준비가 됐습니다.

TCP/IP에서의 캡슐화

각 계층을 거칠 때 헤더라고 하는 해당 계층에 필요한 정보를 이용합니다.

송신측(클라이언트)에서는 각 계층마다 필요한 정보를 헤더에 추가하고

수신측(서버)에서는 각 계층마다 헤더에 있는 정보를 사용하고 삭제합니다.

 

HTTP 와 관계깊은 프로토콜 3대장

IP/TCP/DNS

1. IP(Internet Protocol)

  • 배송을 담당합니다.
  • 네트워크 층에 해당합니다.
  • IP != IP 주소 , IP는 프로토콜의 명칭
  • Internet Protocol 이란 이름처럼 인터넷을 활용하는 거의 대부분의 시스템이 활용합니다.
  • 역할은 개개의 패킷을 상대방에게 전달하는 것 (그 중 IP 주소와 MAC주소가 중요함)
IP 주소 : 각 노드에 부여된 주소를 가리킵니다. - 변경가능
MAC 주소 : 각 네트워크 카드에 할당된 고유의 주소 - 기본적으로 변경 불가능
통신은 ARP(Address Resolution Protocol) 를 이용하여 MAC 주소에서 합니다.
IP 통신은 MAC 주소에 의존하여 통신합니다.
인터넷에서 통신 상대가 같은 랜선 내에 있을 경우
여러 대의 컴퓨터와 네트워크 기기(라우터)를 중계해서 상대방에게 도착합니다.

2. TCP(Transfer Control Protocol)

  • 신뢰성을 담당합니다.
  • 트랜스포트 계층에 해당합니다.
  • 대용량 데이터를 보내기 쉽게 작게 분해하여 상대에게 보냅니다. (바이트 스트림 서비스)
  • 정확하게 도착했는지 확인합니다.
바이트 스트림 서비스 - 용량이 큰 데이터를 보내기 위해 TCP 세그먼트 라는 단위 패킷으로 분해하여 관리하는 것

3. DNS(Domain Name System)

  • 이름 해결을 담당합니다.
  • HTTP와 같이 응용 계층 시스템에서 도메인 이름과 IP 주소 이름 확인을 제공합니다.
  • www.hackr.jp 와 같은 도메인을 건네 받으면 해당하는 IP 주소를 반환합니다.
컴퓨터에게는 IP 주소가 더욱 친숙합니다. 때문에 도메인 명 보다 IP 주소를 나열하는 방법을 선호합니다.

 

'CS' 카테고리의 다른 글

HTTP 상태 코드  (0) 2020.08.09
URI 와 URL  (0) 2020.08.08
컴퓨터 구조  (0) 2020.07.21
컴퓨터의 구성  (0) 2020.07.21

댓글