1-3. 컴퓨터 네트워크 시스템 개요: TCP/IP 모델

독수리박박·2024년 3월 8일
0

이 글은 go언어를 활용한 네트워크 프로그래밍을 기반으로 작성되었습니다


💻Network System💻

TCP/IP 모델

TCP/IP 모델은 종단간의 연결을 원칙으로 하는 네트워크이다. 
각 네트워크의 세그먼트는 비트를 적절하게 전송하고 라우팅하기에 필요한 기능만을 포함한다. 
그 이외의 모든 기능은 엔드 포인트 혹은 엔드포인트 혹은 송신자와 수신자의 네트워크 스택에 포함된다.
TCP/IP 모델은 오늘날 어느 곳에서나 컴퓨터 네트워킹을 위해 사용되고 있다.

OSI 참조 모델 계층과 TCP/IP 모델 계층


OSI 참조 모델과 마친가지로 TCP/IP는 추상적인 기능을 위해 계층 캡슐화에 의존한다.

TCP/IP 모델은 총 4개의 계층으로 구성된다.
애플리케션 계층, 전송 계층, 인터넷/네트워크 계층, 링크 계층 이렇게 총 4개의 계층으로 구성된다.

애플리케이션 계층

OSI의 애플리케이션 계층과 마찬가지로 TCP/IP 모델에서의 애플리케이션 계층은 소프트웨어 애플리케이션과 직접 상호 작용한다. 우리가 작성하는 대부분의 소프트웨어는 이 계층의 프로토콜을 사용하며, 웹 브라우저가 웹 페이지를 검색할 때에도 네트워크 스택의 이 계층으로부터 데이터를 읽는다.
사진과 같이 OSI의 3개의 계층이 애플리케이션 계층에 속하기 때문에 OSI 모델의 하나의 계층과 정확히 맞추기 어렵다. 또한 프레젠테이션 계층과 세션 계층에 해당하는 세부 정보가 중요하다.
일반적인 TCP/IP 에플리케이션 계층 프로토콜에는 HTTP, 노드 간의 파일 전송을 위한 FTP, 전자 메일을 위한 SMTP 등이 존재하고 DHCP(동적 호스트 구성 프로토콜)과 DNS도 애플리케이션 계층에서 동작한다.

전송 계층

전송 계층의 프로토콜은 OSI 모델의 4계층과 같이 두 노드 간의 데이터 전송을 처리한다. 전송 계층의 프로토콜은 출발지에서 전송된 모든 데이터가 목적지로 데이터 무결성을 보장하며 완전하고도 올바르게 전송되도록 한다.

  TCP/IP 전송 계층에서의 데이터 무결성: 중복된 데이터나 누락 없이 목적에서 수신한 데이터의 순서가 
  정확하다는 의미
  모든 데이터를 목적지에서 수신할 수 있다는 의미가 아니다.(네트워크 상에는 수많은 패킷 손실이 존재)

대부분의 네트워크 애플리케이션은 각 세그먼트의 에러 수정, 흐름 제어, 재전송 및 전송 확인 등의 기능을 전송 계층 프로토콜에 의존하여 처리하지만 TCP/IP 모델의 전송 계층의 모든 프로토콜에서 이러한 기능을 모두 구현하는 것은 아니다.

대표적으로 UDP가 그렇다. 아래는 TCP와 UDP의 차이이다.

TCPUDP
신뢰성높음낮음
속도낮음높음
전송방법패킷이 순서대로 전달패킷이 스트레이트로 전달
오류감지 및 수정있음없음
혼잡도 제어있음없음
전송 인정있음오직 체크섬만

이렇듯 만약 애플리케이션에서 빠른 전송을 위해 UDP를 사용해야 된다면 에러 검사나 세션 기능과 같은 부분들은 직접 구현을 해야 한다.

인터넷 계층

인터넷 계층은 출발지 노드와 목적지 노드 사이의 상위 계층에서 데이터 패킷으 라이팅한다. OSI의 3계층인 네트워크 계층과 동일한 기능을 가지고 있다.

TCP/IP 계층의 호스트 식별 및 라우팅을 제공하는 프로토콜에는 인터넷 프로토콜 버전4, 인터넷 프로토콜 버전6, 경계 경로 프로토콜, 인터넷 제어 메시지 프로토콜, 인터넷 그룹 관리 프로토콜, 인터넷 프로토콜 보안이 있다. 이 계층은 출발지와 목적지 사이의 경로가 얼마나 복잡하던지 데이터가 목적지 까지 도착하도록 보장하는데 필수적인 역할을 한다.

링크 계층

OSI 참조 모델의 1계층과 2계층에 해당하는 링크 계층은 TCP/IP 프로토콜의 핵심적인 부분과 물리적인 매체 사이의 인터페이스이다.

링크 계층의 ARP(주소 결정 프로토콜)은 노드의 IP 주소를 네트워크 인터페이스의 MAC 주소로 변환한다. 링크 계층은 프레임을 물리적 네트워크에 전달하기 전에 각 프레임 헤더에 MAC 주소를 포함한다.

일부 TCP/IP 구현에는 링크 계층 프로토콜이 포함되어 있지 않다. 이 책에서 사용할 이더넷, 무선 및 광섬유 네트워크를 통한 TCP/IP 구현 역시 기본 네트워크 하드웨어와 장치 드라이버에 의존하여 TCP/IP 스택에서의 링크 계층의 기능을 활용한다.


1장에서 배운 것

  • 일반적인 네트워크 토폴로지와 이러한 토폴로지를 결합하여 장점을 극대화하고 단점을 최소화하는 방법
  • OSI 참조 모델, TCP/IP 참조 모델의 계층 구조와 데이터 캡슐화
  • 노드 간에 데이터를 주고 받는 각 계층의 기능과 해당 계층이 수행하는 역할

더 자세한 정보는 RFC1122, RFC1123 문서에서 읽을 수 있다.(OSI 참조 모델)
TPC/IP는 찰스 코지록의 저서인 <TCP/IP Guide>에서 읽을 수 있다.


0개의 댓글