IT/영어 공부노트

네트워크의 공통 언어 TCP/IP - 1 본문

💻 IT/네트워크

네트워크의 공통 언어 TCP/IP - 1

소저어엉 2024. 4. 2. 22:41
반응형

<그림으로 배우는 네트워크 원리> 책을 읽고 정리한 내용으로,

개인 공부 정리 포스팅입니다. 


  3-1 네트워크의 공통 언어

TCP/IP

현재는, 네트워크 아키텍처 중 TCP/IP만 주로 이용한다.

TCP/IP는 TCP와 IP를 중심으로 하는 프로토콜의 집합으로, 네트워크 공통 언어이다. TCP/IP로 통신하는 PC, 스마트폰 등 기기 전반을 호스트라고 부른다.

계층구조

TCP/IP에서는 네트워크를 통해 통신하기 위한 기능을 계층화하고 복수의 프로토콜을 조합해 실현했다.

  • 네트워크 인터페이스층
  • 인터넷층
  • 트랜스포트층
  • 애플리케이션층

☁ 3-2 데이터를 전송하는 역할을 하는 계층

네트워크 인터페이스층

네트워크 인터페이스층의 역할은 같은 네트워크 안에서 데이터를 전송하는 것 이다.

하나의 네트워크는 라우터와 레이어3 스위치로 구획되는 범위, 또는 레이어2 스위치로 구성하는 범위이다. 예로 레이어2 스위치에 연결된 PC의 인터페이스에서 같은 레이어2 스위치에 연결된 다른 PDC의 인터페이스까지 데이터를 전송할 수 있다.

네트워크 인터페이스 층의 프로토콜이 통신 상대와 같아야 할 필요는 없다.

인터넷층

많은 네트워크가 존재하고, 거기에 다양한 기기가 연결되는데, 인터넷층은 그 네트워크 사이에서 데이터를 전송하는 역할 즉 원격지 네트워크간 데이터를 전송한다.

  • 라우터: 네트워크끼리 연결하고 데이터를 전송하는 기기
  • 라우팅: 라우터에 의한 네트워크 간 전송
  • 엔드투엔드 통신: 원격지 네트워크에서 최종적인 출발지와 목적지 사이의 데이터 전송
    • IP: 엔드투엔드 통신에 이용하는 프로토콜
    • ICMP, ARP: IP를 도와주는 프로토콜

☁ 3-3 애플리케이션의 동작을 준비하는 계층 

트랜스포트층

트랜스포트층은 데이터를 적절한 애플리케이션에 배분하는 역할을 한다.

최하층부터 트랜스포트층까지 바르게 동작하면, 출발지와 목적지 애플리케이션 간에 데이터를 송수신할 수 있게 된다.

TCP

TCP를 이용하면 어떤 이유로 데이터가 유실되더라도 그 사실을 검출해 데이터를 다시 보내준다. 즉 엔드투엔드의 신뢰성을 확보해주는 기능이 있다.

애플리케이션층

애플리케이션층의 역할은 애플리케이션의 기능을 실행하기 위한 데이터의 형식과 처리 절차 등을 결정하는 것이다.

단순 0, 1이 아닌 문자와 이미지 등으로 인간이 인식할 수 있게 데이터를 표현한다.

  • HTTP: 웹브라우저에서 이용
  • SMTP, POP3: 전자메일

☁ 3-4 데이터 송수신 규칙

프로토콜의 제어정보 '헤더'

통신 주체인 애플리케이션이 데이터를 주고받게 하려면, 복수의 프로토콜을 조합할 필요가 있는데, TCP/IP에서는 4개의 프로토콜을 조합한다.

각 프로토콜에는 각각의 기능을 실현하기 위한 제어정보(헤더)가 필요하다.

  • ex) 데이터를 전송하는 프로토콜이라면, 헤에는 출발지와 도착지 주소가 지정된다.

각 프로토콜은 데이터를 전송할 때 헤더를 추가하는데, 헤더를 추가하는 처리를 캡슐화라고 부른다.

프로토콜이 데이터를 받아, 헤더를 바탕으로 적절하게 처리하여 헤더를 벗겨내고 다시 다른 프로토콜로 처리를 넘기는 것은 역캡슐화, 비캡슐화 라고 한다.

TCP/IP 상위 계층 프로토콜에서부터 하위 계층 프로토콜의 헤더가 점차 캡슐화되며, 네트워크를 내보내는 데이터에는 여러 프로토콜의 헤더가 추가된다.


☁ 3-5 데이터 수신, 전송 할 때의 규칙

0과 1의 데이터로 되돌려서 전송한다

전송 매체로 내보낸 물리적인 신호는 목적지 웹서버까지 다양한 네트워크 기기를 거쳐 전송한다. 네트워크 기기는 수신한 물리적인 신호를 일단 0과 1의 데이터로 되돌린다. 그리고 각각의 네트워크 기기의 동작에 대응하는 헤더를 참조하여 데이터를 전송해 간다.

헤더로 목적지를 확인하고 수신한다

웹서버까지 물리적인 신호가 도착하면, 0과 1로 데이터를 변환하고, 이더넷 헤더를 참조해 자기 앞으로 온 데이터인지 확인하고, 마지막으로 FCS에 오류가 없는지 확인한다.

자기 앞으로 온 데이터라면 이더넷 헤더와 FCS를 제거하고 IP헤더 처리를 넘긴다.

IP에서는 IP헤더를 참조해 자기 앞으로 온 데이터인지 확인한다. 자기 앞으로 온 데이터라면 IP헤더를 제거하고 TCP로 데이터 처리를 넘긴다.

다음 TCP는 TCP 헤더를 참조해 어느 애플리케이션의 데이터인지 확인하고, TCP 헤더를 제거하고 웹 서버 애플리케이션으로 데이터 처리를 넘긴다.

웹서버 애플리케이션까지 데이터가 도달하면, HTTP 헤더와 그 뒤의 데이터 부분을 처리한다.

 

이더넷&FCS → IP → TCP → HTTP


☁ 3-6 데이터를 부르는 방법(메시지, 세그먼트, 패킷, 프레임)

  • 애플리케이션층: 메시지
  • 트랜스포츠틍: 세그먼트 또는 데이터그램
  • 인터넷층: 패킷 또는 데이터그램
  • 네트워크 인터페이스층: 프레임

이더넷 프레임, IP 패킷, TCP 세그먼트, HTTP 메시지

반응형