[네트워크] TCP/IP 4계층, 캡슐화, PDU, OSI 7계층

DEV_HOYA·2023년 10월 30일
0

CS

목록 보기
25/55
post-thumbnail

📌 TCP/IP 4계층

  • 장치들이 인터넷 상에서 데이터를 주고받을 때 쓰는 독립적인 프로토콜의 집합
  • 컴퓨터 사이의 통신 표준 및 네트워크의 라우팅 및 상호연결에 대한 자세한 규칙을 지정하는 프로토콜 스위트

⭐ 애플리케이션 계층(Application)

  • HTTP, SSH, FTP, SMTP 등
  • 웹 서비스, 이메일 등 서비스를 실질적으로 사람들에게 제공하는 계층
  • OSI 7계층의 세션 계층, 표현 계층, 응용 계층에 해당

✅ HTTP(HyperText Transfer Protocol)

  • 서버와 브라우저간에 데이터를 주고 받기 위해 설계된 프로토콜, 현재는 서버와 서버간의 통신할때도 많이 이용함
  • 헤더를 통한 확장이 쉽다
  • 상태값이 없다(stateless) = 상태저장x

✅ SSH(Secure SHell Protocol)

  • 보안되지 않은 네트워크에서 네트워크 서비스를 안전하게 운영하기 위한 암호화 프로토콜

✅ FTP(File Transfer Protocol)

  • 노드와 노드간에 파일을 전송하는 데 사용되는 프로토콜
    ex) FileZilla
  • 지금은 파일을 암호화해서 전송하는 FTPS 또는 SFTP로 대체되고 있음

✅ SMTP(Simple Mail Transfer Protocol)

  • 인터넷을 통해 메일을 보낼 때 사용되는 프로토콜

⭐ 전송 계층(Transport)

  • TCP, UDP
  • 애플리케이션계층에서 받은 메시지를 기반으로 세그먼트 또는 데이터그램으로 데이터를 쪼개고 데이터가 오류없이 순서대로 전달되도록 도움을 주는 계층
  • OSI 7계층의 전송 계층에 해당

✅ TCP(Transmission Control Protocol)

  • 가상회선 패킷교환 방식
  • 오류검사 메커니즘
    • 재전송 : 시간 초과 기간이 지나면 서버는 전달되지 않은 데이터에 대해 재전송을 시도
    • 체크섬 : 무결성을 평가(송신된 데이터의 체크섬과 수신된 데이터의 체크섬 값을 비교해서 올바르게 왔는지 확인)
  • 헤더 : 20 ~ 60바이트(가변길이)

✅ UDP(User Datagram Protocol)

  • 데이터그램 패킷교환 방식
  • 오류검사 메커니즘
    • 체크섬
  • 헤더 : 8바이트(고정길이)

✅ TCP vs UDP

TCPUDP
패킷교환방식가상회선 패킷교환방식데이터그램 패킷교환방식
신뢰성OX
오류검사재전송, 체크섬체크섬
패킷 순서보장OX
헤더 길이20~60바이트 가변길이8바이트 고정길이
연결보장O(3way-Handshake로 연결, 4way-HandShake로 해제)X(연결 유지, 해제 비용 없음)
브로드캐스트지원XO
속도느림빠름

⭐ 인터넷 계층(Internet)

  • IP, ICMP, ARP, RARP
  • 한 노드에서 다른 노드로 전송계층에서 받은 세그먼트 또는 데이터그램을 패킷화하여 목적지로 전송하는 역할을 담당
  • OSI 7계층의 네트워크 계층에 해당

✅ ICMP(Internet Control Message Protocol)

  • 노드와 노드 사이에서 통신이 잘되는지 확인하는 프로토콜
  • 데이터를 교환하지 않음
  • 일반적으로 테스팅에 사용
    ex) ping

⭐ 네트워크 액세스 계층(Network Access)

  • 링크계층이라고도 불림
  • 전선, 광섬유, 무선등으로 데이터가 네트워크를 통해 물리적으로 전송되는 방식을 정의
  • OSI 7계층의 물리계층과 데이터 링크 계층에 해당

📌 캡슐화, 비캡슐화

⭐ 캡슐화(Encapsulation)

  • 송신자가 수신자에게 데이터를 보낼 때 데이터가 각 계층을 지나면서 각 계층의 특징들이 담긴 헤더들이 붙여지는 과정
    ex) 전송계층 TCP 헤더, 인터넷계층 IP 헤더

⭐ 비캡슐화(Decapsulation)

  • 캡슐화의 역과정
  • 수신자측에서 캡슐화된 데이터를 역순으로 제거하면서 응용계층까지 도달하는 것

⭐ PDU(Protocol Data Unit)

  • TCP/IP 계층의 데이터 단위 비프패세데
  • 애플리케이션 계층 : 메시지
  • 전송 계층 : 세그먼트(TCP), 데이터그램(UDP)
  • 인터넷 계층 : 패킷
  • 네트워크 액세스 계층 : 프레임(데이터 링크계층), 비트(물리계층)

✅ 세그먼트

  • 적절한 크기로 쪼갠 조각(=데이터그램)

✅ 패킷

  • 세그먼트에 SP와 DP가 포함된 IP헤더가 붙은 형태의 조각

    SP : 송신자의 32비트 IP주소
    DP : 수신자의 32비트 IP주소

✅ 프레임

  • MAC주소 헤더와 CRC/체크섬 트레일러가 붙은 조각

✅ 이더넷 프레임

  • 데이터링크 계층의 데이터 단위
  • 이더넷프레임 기반으로 데이터가 전달됨

- Preamble

  • 7바이트
  • 이더넷 프레임의 시작을 알려줌

- SFD(Start Frame Delimiter)

  • 1바이트
  • 다음 필드부터 주소필드가 시작됨을 알려줌

- Destination Address

  • 6바이트
  • 목적지 주소

- Source Address

  • 6바이트
  • 시작지 주소

- EtherType

  • 2바이트
  • 데이터링크계층 위의 IP 프로토콜을 정의(IPv4, IPv6)

- Payload

  • 가변바이트
  • 이진데이터(0,1)로 구성
  • 데이터를 담고있음

- FCS(Frame Check Sequence)

  • 수신측의 에러검출을 위해 삽입하는 필드
  • CRC 에러검출기법에 의해 생성된 비트배열이 담김
  • 비트배열을 기반으로 수신된 데이터의 손상여부 체크 -> 손상시에는 해당 프레임을 폐기하고 송신측에 재전송 요구

⭐ CRC / 체크섬 트레일러

  • 데이터의 오류감지를 위한 수학적 함수가 적용된 값들이 있는 필드
  • 링크의 오류(과도한 트래픽)로 인해 데이터 손상을 감지하는 역할
  • CRC와 체크섬 두가지의 과정을 기반으로 데이터 전송오류 및 데이터무결성을 방지

✅ CRC(Cyclic Redundancy Check)

  • CRC-1, CRC-16 등의 알고리즘으로 나온 값을 통해 데이터 전송오류감지를 수행

✅ 체크섬

  • MD5, SHA-256 등의 알고리즘으로 나온 값을 통해 데이터 무결성을 방지

📌 OSI 7계층


물데네 전세표응

⭐ 물리 계층

  • 단지 데이터 전기적인 신호로 변환해서 주고받는 기능을 진행하는 공간
  • 즉, 데이터를 전송하는 역할만 진행
    ex) 리피터, 케이블, 허브

⭐ 데이터링크 계층

  • 물리 계층으로 송수신되는 정보를 관리하여 안전하게 전달되도록 도와주는 역할
  • MAC 주소를 통해 통신한다. 프레임에 MAC 주소를 부여하고 에러검출, 재전송, 흐름제어를 진행
    ex) 브리지, 스위치

⭐ 네트워크 계층

  • 데이터를 목적지까지 가장 안전하고 빠르게 전달하는 기능을 담당
  • 라우터를 통해 이동할 경로를 선택하여 IP 주소를 지정하고, 해당 경로에 따라 패킷을 전달
  • 라우팅, 흐름 제어, 오류 제어, 세그먼테이션 등을 수행
    ex) 라우터

⭐ 전송 계층

  • 포트를 열어두고, 프로그램들이 전송을 할 수 있도록 제공
  • ex) TCP, UDP

⭐ 세션 계층

  • 데이터가 통신하기 위한 논리적 연결을 담당
  • TCP/IP 세션을 만들고 없애는 책임을 지님
    ex) API, 소켓

⭐ 표현 계층

  • 데이터 표현에 대한 독립성을 제공하고 암호화
  • 파일 인코딩, 명령어를 포장, 압축, 암호화
    ex) JPEG, MPEG

⭐ 응용 계층

  • 최종 목적지로, 응용 프로세스와 직접 관계하여 일반적인 응용 서비스를 수행
  • 사용자 인터페이스, 전자우편, 데이터베이스 관리 등의 서비스를 제공
    ex) HTTP, FTP, DNS

0개의 댓글