아윤 !ㅇ!
코린이
아윤 !ㅇ!
전체 방문자
오늘
어제
  • 분류 전체보기 (20)
    • 알고리즘 (5)
      • 알고리즘 (1)
      • 프로그래머스 (4)
    • Learn (11)
      • Java (4)
      • Spring (0)
      • Web (1)
      • Front (1)
      • git (2)
      • error (3)
    • CS (3)
      • 네트워크 (1)
      • OS (0)
      • Database (2)

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

인기 글

태그

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
아윤 !ㅇ!

코린이

[Network, HTTP] TCP/IP
CS/네트워크

[Network, HTTP] TCP/IP

2022. 4. 7. 01:10

📌 TCP/IP

인터넷을 비롯한 네트워크는 TCP/IP라는 프로토콜에서 움직이고 있다.

서로 다른 환경에서 통신을 하기 위해서 필요한 규칙을 프로토콜이라고 한다.

🔗 TCP/IP의 계층

각 계층의 내부는 자유롭고 편하게 설계할 수 있다.

  • 애플리케이션 계층
    : 유저에게 제공되는 애플리케이션에서 사용하는 통신의 움직임을 결정한다.
    TCP/IP에 있는 공통 애플리케이션은 FTP, DNS 등이 있다. HTTP도 이 계층에 포함된다.
  • 트랜스포트 계층
    : 애플리케이션 계층에 네트워크로 접속되어 있는 2대의 컴퓨터 사이의 데이터 흐름을 제공한다.
    TCP (Transmission Control Protocol)과 UDP (User Data Protocol)이 있다.
  • 네트워크 계층 (= 인터넷 계층)
    : 네트워크 상에서의 패킷을 이동을 다룬다. 이 때 패킷은 전송하는 데이터의 최소 단위이다.
    여러 가지 선택지 중에서 하나의 경로를 결정한다.
  • 링크 계층 (= 데이터 링크 / 네트워크 인터페이스 / 네트워크 접근 계층)
    : 네트워크에 접속하는 하드웨어적인 면을 다룬다.
    디바이스 드라이버, 네트워크 인터페이스 카드(NIC), 케이블 등을 포함한다.

🔗 TCP/IP의 통신 흐름

캡슐화

송신측

  • 애플리케이션 계층 : 웹 페이지 클릭하면 HTTP Request를 지시한다.
  • 트랜스포트 계층(TCP) : 위 계층에서 받은 데이터(HTTP 메시지)를 통신하기 쉽게 조각내어 안내번호와 포트번호를 붙인다.
  • 네트워크 계층(IP) : 수신지인 MAC 주소를 추가해서 링크 계층으로 전달한다.

↓

수신측

  • 링크 계층 : 데이터를 받아들여 순서대로 위로 전달한다.
  • ...
  • 애플리케이션 계층: HTTP Request 내용을 수신한다.

위 그림과 같이, 송신측에서 각 계층을 거칠 때 필요한 정보를 추가한다.

반대로, 수신측에서 각 계층을 거칠 때 사용한 헤더를 삭제한다.

저작자표시 (새창열림)
    아윤 !ㅇ!
    아윤 !ㅇ!
    백엔드 직무를 희망합니다

    티스토리툴바