[Network] TCP/IP 4계층에 대하여 (velog.io)
상기 블로그 게시글을 학습한 내용입니다.
이전에 공부했던 TCP와 관련한 TCP/IP 4계층에 대해 학습해보고자 한다.
우선 TCP/IP 4계층은 네트워크 연결 계층(Network Access Layer), 인터넷 계층(Internet Layer), 전송 계층(Transport Layer), 애플리케이션 계층(Application Layer)로 구성되어 있다.
이렇게 구분된 각 기능들은 서로 간의 간섭을 최소화할 수 있어 유지 보수가 편리하다는 장점이 있다.
또한 각 계층은 같은 데이터라고 해도 부르는 명칭이 달라진다는 특징이 있는데 명칭은 다음과 같다.
1계층 부터 순서대로 frame, packet 또는 datagram, segment, data 또는 message로 명칭이 달라진다. 이는 각 계층을 거치면서 데이터에 여러 프로토콜의 헤더가 추가됨에 따라 명칭을 달리 했기 때문이다.
각 계층의 역할은 다음과 같다.
L4 응용 계층
사용자와 가장 가까운 계층으로 사용자 - 소프트웨어 간 소통을 담당하는 계층이다. 주로 응용 프로그램들끼리 데이터를 교환하기 위한 계층이다.
전송 주소 : -
L3 전송 계층
통신 노드 간의 데이터 전송 및 흐름에 있어 신뢰성을 보장한다. 즉, End-to-End의 신뢰성을 확보한다.
전송 계층에 사용되는 대표적인 프로토콜로 TCP와 UDP가 있다. TCP는 연결 지향형 프로토콜로 패킷에 하나의 오류라도 있으면 재전송을 위해 에러를 복구하는 반면, UDP는 패킷을 중간에 잃거나 오류가 발생해도 이에 대처하지 않고 계속해서 데이터를 전송한다.
전송 주소 : Port
L2 인터넷 계층
네트워크 상에서 데이터 전송을 담당하는 계층으로 서로 다른 네트워크 간의 통신을 가능하게 하는 역할을 수행한다. 단말을 구분하기 위해 논리적인 주소로 IP 주소를 할당하게 되고, 이 IP 주소로 네트워크 상의 컴퓨터를 식별하여 주소를 지정할 수 있도록 해준다. 네트워크 끼리 연결하고 데이터를 전송하는 기기를 '라우터'라고 하며, 라우터에 의한 네트워크 간의 전송을 '라우팅'이라고 한다. 이 라우터가 내부의 라우팅 테이블을 통해 경로 정보를 등록하여 데이터 전송을 위한 최적의 경로를 찾는데, 이렇게 출발지와 목적지 간의 데이터 전송 과정을 가리켜 End-to-End 통신이라고 부른다.
전송 주소 : IP
L1 네트워크 연결 계층
물리적인 데이터 전송을 담당하는 계층으로 인터넷 계층과 달리 같은 네트워크 안에서 데이터가 전송된다. 노드 간의 신뢰성 있는 데이터 전송을 담당하며, 논리적인 주소가 아닌 물리적인 주소인 MAC을 참조해 장비간 전송을 하고, 기본적인 에러 검출과 패킷의 Frame화를 담당한다.
전송 주소 : MAC