본문 바로가기
IT 일반, 컴퓨터

[네트워크] TCP/IP 4계층 이란? 계층별 특징

by jjongday 2024. 4. 28.
반응형

TCP/IP 4계층의 구조

TCP/IP 4계층의 구조는 네트워크 엑세스 계층(Network Access Layer), 인터넷 계층(Internet Layer), 전송 계층(Transport Layer), 응용 계층(Application Layer)으로 구성되어 있다. 


각 계층의 역할에 대한 설명에 앞서, 같은 데이터라고 하더라도 계층별로 부르는 명칭이 달라진다. 

이는 TCP/IP의 각 계층을 거치면서 데이터에 여러 프로토콜의 헤더가 추가됨에 따라 명칭을 달리했기 때문이다.


데이터의 전송 과정에서 1계층에서 4계층까지 순서대로 프레임(Frame), 패킷(Packet) 혹은 데이터그램(Datagram), 세그먼트(Segment), 데이터(Data) 혹은 메세지(Message)로 데이터를 구분하여 표현한다. 웹 브라우저에서의 HTTP 통신을 예로 들면 아래와 같다.

  1. 웹 브라우저에서 데이터를 보내면서 HTTP 헤더가 추가되고 HTTP 메세지가 된다.
  2. 전송 계층을 거치면서 HTTP 메세지에 TCP 헤더가 추가되면서 세그먼트가 된다. (TCP의 경우)
  3. 인터넷 계층을 거치면서 IP 주소 정보가 포함된 IP 헤더가 추가 되면서 패킷이 된다.
  4. 패킷에 이더넷 헤더와 FCS가 추가되어 프레임이 되고, 그 상태에서 비트로 변환되어 전송된다.

 

네트워크 엑세스 계층(Network Access Layer)

OSI 7계층의 물리계층과 데이터 링크 계층에 해당한다. 물리적인 데이터의 전송을 담당하는 계층으로,

여기서는 인터넷 계층과 달리 같은 네트워크 안에서 데이터가 전송된다. 노드 간의 신뢰성 있는 데이터 전송을 담당하며, 물리적인 주소인 MAC을 참조해 장비간 전송을 하고, 기본적인 에러 검출과 패킷의 Frame화를 담당한다.

- 데이터 단위 : 프레임(Frame)
- 전송 주소 : MAC

- 장비 : 브릿지, 스위치
- 예시 : MAC, LAN, Ethernet

 

 

인터넷 계층(Internet Layer)

OSI 7계층의 네트워크 계층에 해당한다. 네트워크 상에서 데이터의 전송을 담당하는 계층으로 서로 다른 네트워크 간의 통신을 가능하게 하는 역할을 수행한다. 단말을 구분하기 위해 논리적인 주소로 IP 주소를 할당하게 되고 이 IP 주소로 네트워크 상의 컴퓨터를 식별하여 주소를 지정할 수 있도록 해준다. 네트워크끼리 연결하고 데이터를 전송하는 기기인 '라우터'라고 하며, 라우터에 의한 네트워크 간의 전송을 '라우팅'이라고 한다. 이 라우터가 내부의 라우팅 테이블(Routing Table)을 통해 경로 정보를 등록하여 데이터 전송을 위한 최적의 경로를 찾는데, 이렇게 출발지와 목적지 간의 데이터 전송 과정을 가리켜 End-to-End 통신이라고 부른다.

- 데이터 단위 : 패킷(Packet)
- 전송 주소 : IP

- 장비 : 라우터
- 예시 : IP, ARP, ICMP, RARP

 

 

전송 계층(Transport Layer)

OSI 7계층의 전송 계층에 해당한다. 통신 노드 간의 데이터 전송 및 흐름에 있어 신뢰성을 보장한다. 이는 다시 말해 데이터를 적절한 어플리케이션에 제대로 전달되도록 배분함을 의미하며 다른 말로 End-to-End의 신뢰성을 확보 한다고도 표현할 수 있다. 전송 계층에 사용되는 대표적인 프로토콜로는 TCP와 UDP가 있다. TCP는 연결 지향형 프로토콜로 패킷에 하나의 오류라도 있으면 재전송을 위해 에러를 복구하는 반면, UDP는 패킷을 중간에 잃거나 오류가 발생해도 이에 대처하지 않고 계속해서 데이터를 전송하는 TCP에 비해 간단한 구조를 가지는 프로토콜이란 차이가 있다.
- 데이터 단위 : 세그먼트(Segment)
- 전송 주소 : Port

- 장비 : 게이트웨이
- 예시 : TCP, UDP 등

 

 

응용 계층(Application Layer)

OSI 7계층의 세션 계층, 표현 계층, 응용 계층에 해당한다. 사용자와 가장 가까운 계층으로 사용자-소프트웨어 간 소통을 담당하는 계층이다. 웹 프로그래밍을 하면서 흔히 접하는 여러 서버나 클라이언트 관련 응용 프로그램들이 동작하는 계층이다. 주로 응용 프로그램(Application)들끼리 데이터를 교환하기 위한 계층이다.

- 데이터 단위 : 데이터(Data) / 메세지(Message)
- 예시 : 파일 전송, 이메일, FTP, HTTP, SSH, DNS, SMTP 등

반응형