TCP/IP 스택

TCP/IP 스택이란

  • 인터넷을 사용하는 모든 통신의 기본적인 프로토콜

  • 한 개의 프로토콜이 아닌 여러 가지 프로토콜 조합

  • TCP/IP 를 기반으로 BAN, PAN, LAN, MAN, WAN 구간의 장치들이 원활히 데이터를 주고받을 수 있음

  • OSI 7 계층과 달리 4 개의 계층으로 표현됨

  • TCP 는 서비스를, IP 는 주소를 의미함

  • 수많은 프로토콜들이 IP 주소를 기반으로 동작함

4계층: 응용 계층 (application layer)

  • OSI 참조 모델의 세션, 표현, 응용 계층(5~7계층)의 역할을 수행하는 계층

  • 네트워크를 통한 실제 사용자 데이터를 처리하는 계층

  • 프로토콜

    • HTTP/HTTPS

    • FTP - File Transfer Protocol

    • SMTP/POP3 - 이메일을 주고받을 때 사용하는 프로토콜

    • DNS

  • 종단 간의 통신이 완성되는 계층

3계층: 전송 계층 (transport layer)

  • 포트 번호를 사용하여 통신하는 TCP(Transmission Control Protocol), UDP(User Datagram Protocol) 가 대표적이다.

TCP

  • 연결 지향형 서비스를 제공하여 신뢰성 있는 데이터 전송 보장

  • 가상 회선을 만들어 신뢰성을 보장하도록(흐름 제어, 혼잡 제어, 오류 제어) 하는 프로토콜

  • 파일전송과 같은 신뢰성이 중요한 서비스에 사용됨

UDP

  • 데이터를 데이터그램단위로 전송하는 프로토콜

  • 따로 신뢰성을 보장하기 위한 절차가 없어 데이터 처리 속도가 빠르다

  • 스트리밍, RTP와 같이 연속성이 더 중요한 서비스에 사용됨

  • 송수신 장치 간에 비연결형 (Connection less) 서비스를 지원하여, 응답에 관계없이 무조건 데이터를 전송한다

  • UDP를 사용하며 어느 정도의 신뢰성 있는 통신을 해야 할 경우, 다른 프로토콜을 함께 사용하여 신뢰성을 제공할 수 있다

Well Known 포트: 대부분의 시스템 간에 널리 이용되는 애플리케이션을 위해 기본 값으로 설정되어 있는 포트 번호를 의미 e x) Echo, SSH, domaIn

2계층: 인터넷 계층 (internet layer)

  • OSI 의 네트워크 계층과 같은 역할

  • 패킷의 송신과 수신을 담당 , IP 주소 체계를 관리

  • 패킷을 수신하면, IP 주소를 확인하여 패킷을 목적지로 보내는 라우팅 기능 수행

  • 라우팅 경로는 어떠한 라우팅 프로토콜을 쓰느냐에 따라 달라질 수 있음

IP(Internet Protocol)

  • 컴퓨터 네트워크에서 장치들을 나타내는 수단이며 , v4(32bit) 와 v6(128bit) 2 가지가 존재한다

IP 헤더

  • 패킷을 출발지에서 목적지까지 전달하는데 사용

  • 최선형 서비스이므로 패킷을 전달하지만 목적지에 확실히 도착하는 것을 보증하지는 않음

  • 패킷 손실 가능성이 있지만 TCP 등의 도움으로 보완 가능

  • 목적지에 패킷이 순서대로 도착하지 않을 수 있음

  • 비신뢰성 성격을 띠므로, 데이터 흐름에 관여하지 않음

ICMP(Internet Control Message Protocol)

  • 인터넷 제어 메시지 프로토콜이며 , 장치 간의 통신 가능 여부를 확인할 때 사용 ex) ping

  • Echo Request 및 Echo Reply로 구성

  • 방화벽을 이용해서 echo request 를 버려버림 --> reply 를 보내지 않음

  • 보통 1:1 일때 ICMP 사용 개수가 많으면 컴퓨터나 서버가 다운될 가능성 있음

  • MAC 주소 기반으로 프레임의 송/수신 담당

  • NIC, 스위치와 허브는 네트워크 접속 계층을 대표하는 네트워크 장치이다.

  • 에러 검출 기능이 있으며, 패킷을 프레임화 한다.

  • ARP 는 Broadcast, ARP 의 대한 응답은 Unicast를 수행

  • 목적지를 정의할 때 ARP, RARP 프로토콜 사용하기도 함

Last updated