[Network] TCP/IP 4계층에 대하여

DyungE_100·2022년 3월 29일
2
post-thumbnail

0. TCP/IP 4계층과 OSI 7계층의 차이

두 계층 모두 데이터 통신을 표현한 계층이긴 하지만 OSI 7계층은 데이터 통신에 필요한 계층과 역할을 정확하게 정의하려고 한 모델이다. 그에 반해 TCP/IP 4계층은 현재 인터넷에서 사용되는 프로토콜로, 좀 더 실무적이면서 프로토콜 중심으로 단순화된 모델이라고 볼 수 있다.


1. 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가 추가되어 프레임이 되고, 그 상태에서 비트로 변환되어 전송된다.

2. TCP/IP 4계층의 계층별 역할

TCP/IP 4계층역할데이터 단위전송 주소예시장비
응용 계층 (Application Layer)응용프로그램끼리의 데이터 송수신Data/Message-파일 전송, 이메일, FTP, HTTP, DNS, SMTP 등-
전송 계층 (Transport Layer)호스트끼리 송수신SegmentPortTCP, UDP 등게이트웨이
인터넷 계층 (Internet Layer)데이터 전송을 위한 논리적 주소 및 경로 지정PacketIPIP, ARP, ICMP, RARP 등라우터
네트워크 연결 계층 (Network Acees Layer)실제 데이터인 프레임 송수신FrameMACEthernet 등브릿지, 스위치

L4 응용 계층(Application Layer)

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

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

L3 전송 계층(Transport Layer)

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

  • 데이터 단위 : 세그먼트(Segment)
  • 전송 주소 : Port
  • 예시 : TCP, UDP

L2 인터넷 계층(Internet Layer)

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

  • 데이터 단위 : 패킷(Packet)
  • 전송 주소 : IP
  • 예시 : IP, ARP, ICMP, RARP

L1 네트워크 연결 계층(Network Access Layer)

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

  • 데이터 단위 : 프레임(Frame)
  • 전송 주소 : MAC
  • 예시 : MAC, LAN, 패킷망 등에 사용되는 것(대표적으로 Ethernet)




https://choco4study.tistory.com/15,
https://junu0516.github.io/posts/tcp_ip_4%EA%B3%84%EC%B8%B5/,
https://velog.io/@jehjong/%EA%B0%9C%EB%B0%9C%EC%9E%90-%EC%9D%B8%ED%84%B0%EB%B7%B0-TCPIP-4%EA%B3%84%EC%B8%B5,
https://m.blog.naver.com/soojin_2604/221950485931,
https://ryusae.tistory.com/4,

0개의 댓글