본문 바로가기
SK shieldus Rookies 16기

[SK shieldus Rookies 16기] 클라우드 기반 스마트 융합 보안 과정 교육 정리(17일차)

by Challenge programmers 2023. 11. 14.

오늘 학습 주제

1. TCP/IP 통신 모델

2. TCP/IP Protocol

 

 

 

 

 

 TCP/IP 통신 모델


- TCP/IP 통신 모델 -

  OSI Model TCP/IP Model
정의 네트워크 프로토콜을 설명하기 위한
일종의 참조 모델로서 설계
실제로 인터넷에서 사용되는 프로토콜을
설명하고 통합하기 위해 개발
계층의 수 7개의 계층 4개의 계층
명칭 1. 물리
2. 데이터 링크
3. 네트워크
4. 전송
5. 세션
6. 표현
7. 응용
1. 네트워크 액세스
2. 인터넷
3. 전송
4. 응용
설계의 출처 국제 표준화 기구(ISO)에서 제정 실제 인터넷 프로토콜을 기반으로 하며,
ARPANET 등 초기 인터넷의 발전 과정에서 발전
사용 주로 교육과 이론적인 목적으로 사용 현업에서 많이 사용되고 있으며,
실제 인터넷 프로토콜을 기반으로 하기 때문에
네트워크 엔지니어링 및 구현에서 자주 참조

 

- 통신 체계와 Protocol -

통신체계 프로토콜 종류 용도
TCP/IP HTTP, Telnet, TCP, UDP... 인터넷과 LAN에서 사용
IPX.SPX IPX, SPX, NPC... Novel 사가 개발 및 판매하는
Netware 시스템에서 사용
Appltalk DDP, RTMP, ATP... Apple사 제품의 LAN에서 사용
DECnet DPR, NSP, SCP... 구 DEC사의 미니컴퓨터에서 사용
XNs IDP, SPP, PEP... Xerox 사의 네트워크에 사용

 

Internt > Public Network > 비상업적 통신 모델 > TCP/IP

 

 

- 통신 규약(protocol) -

  Vendor-Specific Protocols
(독점적 프로토콜)
Open Protocols
(비독점적 프로토콜)
정의 정 기업이나 단체가 개발하거나 소유하며
해당 프로토콜을 사용하는 것에 대한
독점적인 권한을 갖고 있는 프로토콜
여러 업체나 단체가 함께 개발하거나
사용할 수 있는, 개방적이고 중립적인 특성을 갖는
프로토콜
특징 • 해당 프로토콜을 사용하려면 특정 업체의 제품을 
 사용해야 하거나 해당 업체의 규칙을 지켜야 함

타 프로토콜과 호환 불가
프로토콜은 특정 기업이나 단체에 독점되거나 특정 기술 생태계에 제한되지 않음

다양한 제품 및 서비스 간에 상호 운용성을 제공
예시 SNA, IPX/SPX, AppleTalk 등 TCP/IP, 802.3 등

 

 

- OSI Reference Model과 TCP/IP 비교 -

위에서부터 순서대로 Application > Transport > Internetwork < Network Interface

 

 

- Sniffing 환경구성 -

Sinffing 툴 중 하나인 WireShark

   
정의 패킷 스니핑(sniffing) 또는 프로토콜 분석(protocol analysis) 툴
특징 네트워크를 통해 전달되는 데이터를 수집하고 해석
  1. Wireshark: 가장 인기 있는 네트워크 프로토콜 분석 툴.다양한 플랫폼에서 실행 가능하며,
    다양한 프로토콜을 지원하여 네트워크 트래픽을 실시간으로 캡처하고 분석
  2. tcpdump: 명령 줄 기반의 패킷 스니핑 도구로, 리눅스와 유닉스 계열 운영 체제에서 사용
    특정 조건에 따라 패킷을 필터링하고 캡처
  3. Snort: 네트워크에서 발생하는 이상 행위를 탐지하고 경고하는 데 사용되는
    인터넷 기반의 IDS/IPS(침입탐지 및 방지 시스템) 도구

 

 

- 패킷 수집과 패킷 분석 -

  LINUX MS-Window
패킷 수집 TCPdump TShark
패킷 분석 Wireshark Wireshark

 

 

- 무차별모드(Promiscuous mode) -

무차별 모드(Promiscuous mode)
정의 데이터 링크 계층과 네트워크 계층의 주소 필터링을 해제한 모드
특징 • 주소 지정에 관계없이 호스트의 프로세서에 모든 패킷을 전달

• 패킷이 CPU에 전달되면 분석을 위해 패킷 스니핑 애플리케이션에 넘겨짐

• 유닉스 또는 리눅스에서는 ‘ifconfig eth0 promisc’로 설정

• Window에서는 winpcap / npcap설치로 무차별 모드 설정

 

 

- Packet Sniffing 환경  -

 

< 허브 환경에서의 스니핑 >

허브를 통해 전송되는 트래픽은 해당 허브에 연결된 모드 포트를 통과하며

허브는 어떤 패킷이든 플러딩으로 전송한다

그렇기에 허브 안 모든 트래픽을 같은 허브의 스니퍼가 확인 가능하다

(위와 같은 이유로 사내 모든 네트워크를 허브로 사용하는 것은 위험하다)

 

 

< 스위치 환경에서의 스니핑 >

망운용을 위한 브로드멀티를 제외하면

스위치는 트래픽이 유입되지 않는다

그렇기에 관제범위가 좁다

스위치 환경에서의 스니핑
종류 포트 미러링(port mirroring): 스위치에서 가장 일반적으로 사용되는 스니핑 기술
  스위치의 특정 포트에서 발생하는 트래픽을 다른 포트로 복사하는 기능을 제공


허빙 아웃(hubbing out): 허브(Hub)를 사용하여 네트워크 트래픽을 가로채고 모니터링하는 기술

탭 사용 (tapping):  탭(tap)을 사용하여 트래픽을 모니터링하고 분석

 

 

- 포트 미러링  -

 

포트 미러링
정의 네트워크 스위치에서 특정 포트로 들어오는 트래픽을
다른 포트로 복사하는 방식의 트래픽 모니터링 기술
특징
  1. 목적: 네트워크 관리, 보안 분석, 트래픽 모니터링, 문제 진단 등 다양한 목적으로 사용

  2. 사용 방법: CLI(Command Line Interface) 또는 웹 기반의 관리자 인터페이스를 통해 포트 미러링 설정

  3. 설정: 특정 포트를 미러링 대상으로 선택하고, 미러링 대상 포트에 연결된 포트
    또는 포트 그룹을 지정하면 선택한 포트에서 발생하는 모든 트래픽이
    미러링 대상 포트로 복사되어 이곳에서 모니터

 

 

 

< Switched Port Analyzer (SPAN)>

Switched Port Analyzer(SPAN)
정의 네트워크 스위치에서 트래픽을 모니터링하기 위한 기술
특징
  1. 목적: 주로 네트워크 관리 및 보안 분석 목적으로 사용되며 네트워크 관리자는 특정 포트에서 발생하는
    트래픽을 실시간으로 모니터링하여 네트워크 성능 문제를 감지하거나, 보안 이슈를 조사하고 해결하는 데
    활용

  2. 모니터링 대상 포트 설정: 네트워크 스위치에서 모니터링 대상 포트(또는 포트 그룹)를 선택하여 모니터링
    대상으로 설정하면 해당 포트에서 발생하는 모든 트래픽이 SPAN 세션으로 복사

  3. 모니터링 대상 설정: 모니터링 대상 포트 이외에도 SPAN 세션에 연결할 모니터링 대상을 지정하면
    트래픽을 받아들이고 분석할 장치(예: 패킷 스니퍼, 네트워크 분석 도구)로 사용 가능

  4. 방향 설정: 트래픽의 양방향 복사 또는 단방향 복사를 선택가능하며 양방향 복사는 선택한 포트에서 들어오는 및 나가는 트래픽 모두를 포함하는 반면, 단방향 복사는 한 방향의 트래픽만을 복사

  5. 스위치 제어 명령어: 네트워크 스위치의 CLI(Command Line Interface)를 통해 수행

 

 

< Remote Switched Port Analyzer (RSPAN) >

 

Remote Switched Port Analyzer(RSPAN)
정의 스위치 간에 있는 원격 위치에서 트래픽을 모니터링하기 위한 Cisco 네트워크에서 사용되는 기술
특징
  1. 원격 모니터링: 로컬 스위치와 원격 스위치 간에 SPAN 세션을 설정하여 원격 위치에서 발생하는
    트래픽을 모니터링하며 여러 지점에 걸친 네트워크에서 중앙 위치에서 트래픽을 분석해야 하는
    경우에 유용

  2. VLAN 사용: VLAN(Virtual LAN)을 사용하여 트래픽을 전송

  3. 트래픽 분석 도구 연결: 사용하면 원격 위치에서 트래픽 분석 도구(예: Wireshark, 패킷 스니퍼)를
    연결하여 트래픽을 캡처하고 분석

 

 

- 허빙 아웃(hubbing out)  -

허빙 아웃 (hubbing out)
정의 네트워크 환경에서 허브(Hub)를 사용하여 네트워크 트래픽을 가로채는 것
특징
  1. 허브 활용: 허브는 패킷을 브로드캐스트하는 특성이 있으므로, 한 포트에서 발생한 트래픽을 허브에 연결된 다른 모든 포트에서도 확인
  2. 트래픽 분석: 허브를 통해 가로챈 트래픽은 네트워크 분석 도구(예: Wireshark)를 사용하여 캡처하고 분석하여
    네트워크 상에서 어떤 종류의 트래픽이 발생하고 있는지, 프로토콜 사용량이 어떤지 등을 확인가능
  3. 문제 해결 및 감시: 허브를 사용한 허빙 아웃은 네트워크 문제 해결, 트래픽 감시, 보안 분석 등에 활용

 

 

 

- 탭 사용 (tapping) -

탭 사용(tapping)
정의 탭(Tap)은 네트워크에서 트래픽을 모니터링하고 분석하기 위한 장치로,
네트워크 케이블에 연결되어 트래픽을 복사하고 모니터링 도구로 전달하는 역할
특징
  1. 트래픽 복사: 네트워크 케이블에 연결되어 들어오는 트래픽을 복사하여 원본 트래픽은 여전히
    목적지로 전송되면서, 탭을 통해 복사된 트래픽은 모니터링 장치로 전달

  2. 물리적 구성: 물리적으로 존재하는 하드웨어 장치로, 일반적으로 네트워크 케이블과 연결
    양방향 트래픽을 복사할 수 있는 양방향 탭과 단방향 트래픽을 복사하는 단방향 탭이 존재

  3. 스플리터 사용: 일반적으로 광학적인 또는 전기적인 수단을 사용하여 트래픽을 복사

  4. 네트워크 분석 도구 연결: 탭을 사용하여 가로챈 트래픽은 네트워크 분석 도구(예: 패킷 스니퍼, 프로토콜 분석 도구)에 전달되어 트래픽을 캡처하고 분석

 

 

 

 

 TCP/IP Protocol


- TCP/IP Protocol Stack -

TCP/IP Protocol Stack
정의 인터넷을 기반으로 한 통신에서 사용되는 프로토콜의 집합
특징
  1. 네트워크 접속 계층 (Network Access Layer 또는 Link Layer): 네트워크 물리적인 접속을 다루는 계층으로
    하드웨어 관련 특성을 다루며, Ethernet, Wi-Fi, PPP(Point-to-Point Protocol) 등의 프로토콜이 이 계층에서 동작

  2. 인터넷 계층 (Internet Layer):  IP 프로토콜을 사용하여 패킷을 라우팅하고 전송하며 IP 주소 및 라우팅이 이 계층에서 수행. (ARP,RARP, ICMP도 이 계층에서 존재)

  3. 전송 계층 (Transport Layer): 데이터의 전송을 관리하며, 주요 프로토콜로는 TCP와
    UDP(User Datagram Protocol)가 있다 TCP는 연결 지향적이고 신뢰성 있는 통신을 제공하며,
    UDP는 연결이 없는 통신을 지원하고 더 빠른 전송이 목적

  4. 응용 계층 (Application Layer): 최종 사용자나 응용프로그램과 상호 작용하며, 여러 응용 프로토콜을 포함
    HTTP, FTP, SMTP, DNS 등의 프로토콜이 이 계층에서 동작

 

 

- TCP Header -

 

TCP Header
정의 TCP 세그먼트에 대한 제어 정보를 포함하는 부분으로
데이터의 신뢰성을 제공하고 통신 흐름을 제어하는 역할
기본이 20바이트이며 옵션을 포함한 경우 최대 60바이트로 구성
특징
  1. 소스 포트 (Source Port): 16비트 필드로, 송신자의 포트 번호를 나타냄

  2. 목적지 포트 (Destination Port): 16비트 필드로, 수신자의 포트 번호를 나타냄

  3. 시퀀스 번호 (Sequence Number): 32비트 필드로, 세그먼트의 첫 번째 바이트의 순서 번호를
    나타내며 통신 상에서 송신자와 수신자 간에 전송된 데이터의 순서를 추적하는 데 사용

  4. 응답 번호 (Acknowledgment Number): 32비트 필드로, ACK 플래그가 설정된 경우, 이 필드는
    다음에 기대되는 바이트의 순서 번호를 나타내며 ACK 플래그가 설정되어 있지 않으면 이 필드는
    무시(신뢰성을 보장해누는 필드)

  5. 헤더 길이 (Header Length): 4비트 필드로, TCP 헤더의 길이를 32비트 워드 단위로 나타내며
    최소값은 5(최소 길이는 20바이트), 최대값은 15

  6. 플래그 (Flags): 9개의 플래그 비트로, 다양한 제어 정보를 나타냄
    플래그에는 URG(긴급), ACK(응답), PSH(푸시), RST(재설정), SYN(동기화), FIN(종료)이 포함
    전송전에는 SYN, 전송과정에는 PSH, 전송 후에는 FIN, 진행과정 모두는 ack가 참여
    reserved는 남는 예비공간이며 6비트가 중요한 역할을 함

  7. 창 크기 (Window Size): 16비트 필드로, 수신자가 현재로서 처리할 수 있는 최대 데이터 양을 나타내며
    이를 통해 흐름 제어가 진행(0은 데이터 전송 중지)

  8. 체크섬 (Checksum): 16비트 필드로, 오류 검출을 위한 체크섬 값이 포함되며 헤더와 데이터의 오류를
    감지하는 데 사용

  9. 긴급 포인터 (Urgent Pointer): 16비트 필드로, URG 플래그가 설정된 경우, 긴급 데이터의
    마지막 바이트를 나타냄(우선순위 처리)

  10. 옵션 (Options): 0 또는 그 이상의 32비트 워드로 구성된 옵션 필드로 최대 40바이트까지의 옵션을 지정할 수 있으며, 선택적으로 사용

 

 

- TCP 연결 관리 -

TCP 연결 관리
정의 TCP 프로토콜을 사용하여 양 끝 단의 호스트 간에 연결을 설정, 유지, 종료하는 프로세스
특징
  1. Three Way Handshaking 과정(서버/클라이언트 초기화 과정) :
    - 클라이언트 연결 요구
    - 서버 측 응답 및 연결 요구
    - 서버 연결 요구에 대한 클라이언트 측 최종 응답

  2. TCP 데이터 전송 과정 :
    - 데이터는 시퀀스 번호와 ACK 번호를 사용하여 순서를 유지
    - 수신자는 ACK를 통해 송신자에게 정상적으로 수신했다고 응답

  3. TCP 연결 종료 과정 :
    - 클라이언트나 서버는 상대방에게 FIN(종료) 세그먼트를 전송
    - 상대방은 이에 응답하여 ACK를 보내고, 자신도 FIN 세그먼트를 전송

 

 

 

- TCP연결 설정(3 way handshake) -

3-way handshake
정의 TCP 연결을 설정하기 위한 절차로, 클라이언트와 서버 간에 세션을 확립하는 과정
세그먼트 교환을 통해 이루어지며 3 단계로 구성
특징
  1. 클라이언트에서 서버로 SYN:
    - 클라이언트가 서버에게 연결을 설정하려면 먼저 SYN(동기화) 세그먼트를 전송
     세그먼트는 클라이언트가 초기 순서 번호를 설정한 것을 나타냄

    -클라이언트의 상태: SYN_SENT (클라이언트는 SYN을 보냈지만 아직 서버의 응답을 기다리는 중)

  2. 서버에서 클라이언트로 SYN-ACK:
    -서버는 클라이언트의 SYN을 받으면, 클라이언트의 초기 순서 번호에 1을 더한 값을 서버의
    초기 순서 번호로 설정하고, SYN-ACK 세그먼트를 전송하며, 이 세그먼트는 서버가 클라이언트의
    연결 요청을 수락했다는 것을 의미

    -서버의 상태: SYN_RECEIVED (서버는 SYN을 받아들였고, 클라이언트의 ACK를 기다리는 중

    -클라이언트의 상태: ESTABLISHED (클라이언트는 서버의 SYN-ACK를 받아들이고, 서버에게 ACK를
    보내는 중)

  3. 클라이언트에서 서버로 ACK:
    - 클라이언트는 서버의 SYN-ACK를 받으면, 서버의 초기 순서 번호에 1을 더한 값을 클라이언트의 초기 순서 번호로 설정하고, ACK 세그먼트를 전송하며 클라이언트는 서버에게 연결이 성공적으로 설정되었다는 것을 알린다

    - 서버의 상태: ESTABLISHED (서버는 클라이언트의 ACK를 받아들이고 연결이 확립됨)

    - 클라이언트의 상태: ESTABLISHED (클라이언트는 서버의 SYN-ACK를 받아들이고 연결이 확립됨)

 

 

- 데이터 전송 전 (syn = 1): 3 way handshake(가상회선 설정) -

TCP: 데이터가 잘 전송되었는지(전송 유무) 확인

SN에 Data Size가 합쳐져서 AN으로 리턴(AN = SN + DataSize)

비정상적인 트래픽 전송 과정

비정상적인 트래픽이 전송되면 AN값이 다르니 맞을때까지 재전송

시간을 확인해서 응답이 없으면 재전송

 

 

- 데이터 전송 후(syn=0): 연결 종료(4-way Handshake) -

4-way handshake
정의 TCP 연결을 종료하기 위한 절차로, 클라이언트와 서버 간에 연결을 해제하는 과정
4 단계로 구성
특징
  1. 클라이언트에서 서버로 FIN:
    - 연결 종료를 위해 클라이언트가 서버에게 FIN(종료) 세그먼트를 전송하여 클라이언트가 더 이상
      데이터를 전송하지 않을 것임 알림

    - 클라이언트의 상태: FIN-WAIT-1 (클라이언트는 서버의 응답을 기다리는 중)

    -서버의 상태: ESTABLISHED (서버는 클라이언트의 FIN을 받아들이고, 클라이언트에게 ACK를 보냄)

  2. 서버에서 클라이언트로 ACK:
    - 서버는 클라이언트의 FIN을 받으면, 서버는 클라이언트에게 ACK(응답) 세그먼트를 전송하여 클라이언트의 FIN을 확인하여 서버는 더 이상 데이터를 전송하지 않을 것임을 알리고, 동시에 서버는 클라이언트에게 자신도 데이터를 더 이상 전송하지 않을 것임을 알림

    - 클라이언트의 상태: FIN-WAIT-2 (클라이언트는 서버의 ACK를 기다리는 중)

    -서버의 상태: CLOSE-WAIT (서버는 클라이언트로부터 FIN을 받아들이고, 클라이언트의 ACK를 기다리는 중)

  3. 서버에서 클라이언트로 FIN:
    - 서버는 더 이상 데이터를 전송하지 않을 것임을 나타내기 위해 클라이언트에게 FIN 세그먼트를 전송

    - 클라이언트의 상태: FIN-WAIT-2 (클라이언트는 서버의 FIN을 받아들이고, 서버에게 ACK를 보냄)

    - 서버의 상태: LAST-ACK (서버는 클라이언트의 ACK를 받아들이고, 클라이언트의 FIN을 기다리는 중)
  4. 클라이언트에서 서버로 ACK:
    - 클라이언트는 서버의 FIN을 받으면, 클라이언트는 ACK 세그먼트를 전송하여 서버의 FIN을 확인하고, 동시에 클라이언트도 더 이상 데이터를 전송하지 않을 것임을 알림

    - 클라이언트의 상태: TIME-WAIT (클라이언트는 서버의 ACK를 받아들이고, 연결 종료를 완료함)

    - 서버의 상태: CLOSED (서버는 클라이언트의 ACK를 받아들이고, 연결 종료를 완료함)

 

 

 

  - UDP Header -

UDP Header
정의 UDP 세그먼트의 헤더 부분을 나타내며, 데이터그램을 UDP로 전송할 때 사용
특징 Data 전송을 위하여 사전에 필요한 Process가 없다

Best-Effort Delivery
( 데이터의 전송을 최선의 노력으로 수행하지만, 어떠한 신뢰성이나 보장이 없는 서비스 )


연결 지향적이지 않고 신뢰성이 낮은 프로토콜이기 때문에 신뢰성 보장 X

 

 

-UDP와 TCP 차이-

  UDP TCP
Protocol Message-Oriented Transport Protocol Stream-Oriented Transport Protocol
Payload 상위계층에서 payload 된 데이터를 단편화하지 않음 상위계층에서 payload 된 데이터를 단편화
흐름제어 흐름 제어나 혼잡 제어가 없음 흐름 제어 및 혼잡 제어 메커니즘이 내장되어 있어
데이터의 흐름을 조절하고 네트워크 혼잡을 방지

 

 

- UDP 기반의 애플리케이션 데이터 전송 -

 

 

- TCP 기반의 애플리케이션 데이터 전송 -

MSS가 5000 byte인 경우
MSS가 2000 byte인 경우

 

MSS가 1400 byte인 경우

 

 

< IP header>

IP Header
특징 • IP 헤더는 총 20Byte의 기본 길이와 옵션을 사용해 크기가 최대 60Byte까지 가 질 수 있음

FCS는 데이터 전송 도중에 발생할 수 있는 오류를 감지하기 위한 체크섬 또는
  CRC (Cyclic Redundancy Check) 값


Field
  1. VER (Version, 버전): 4비트 필드로, 현재 사용 중인 IP 버전을 표시(주로 IPv4이므로 값은 4)

  2. HLEN (Header Length, 헤더 길이): 4비트 필드로, 헤더의 길이를 32비트 워드 단위로 나타냄
    최소값은 5, 최대값은 15이고 최소값은 헤더에 포함된 필수 필드만 있는 경우이며, 옵션 필드가
    추가될수록 길이가 늘어남 HLEN값에 5를 곱한 바이트 단위 크기가 IP헤더의 크기

  3. Service type (서비스 유형): 8비트 필드로, 패킷에 대한 서비스 품질 및 우선 순위를 표시
    주로 사용되지 않으며, 대부분의 네트워크에서는 무시

  4. Total Length (총 길이): 16비트 필드로, 헤더와 데이터를 포함한 전체 패킷의 길이를 나타냄
    최대값은 65535바이트

  5. Identification (식별자): 16비트 필드로, 패킷의 일련번호를 나타내며 패킷 단편화 시 사용

  6. Flags (플래그): 3비트 필드로, 패킷의 조각화 여부와 조각화된 패킷의 위치를 나타냄
    • 첫 번째 비트: 예약된 비트 (항상 0)
    • 두 번째 비트: DF (Don't Fragment, 조각화 금지)
    • 세 번째 비트: MF (More Fragments, 추가 조각 존재 여부)
  7. Fragment Offset (조각 오프셋): 13비트 필드로, 단편을 조립해 한 데이터로 만들 수 있도록
    단편의 위치를 기술한 정보이며 조각화가 되지 않았을 경우 0

  8. Time to Live (TTL, 생존 시간): 8비트 필드로, 패킷이 네트워크를 통과할 수 있는
    최대 라우터 수를 나타내며 라우터를 통과할 때마다 1씩 감소하고, 0이 되면 패킷을 폐기

  9. Protocol (프로토콜): 8비트 필드로, 패킷이 전송 계층에서 어떤 프로토콜을 사용하는지 나타냄
    예를 들어, TCP는 6, UDP는 17

  10. Header Checksum (헤더 체크섬): 16비트 필드로, 헤더의 무결성을 확인하기 위한 체크섬 값
    헤더의 각 16비트 워드를 더한 후에 1의 보수를 취하여 계산

  11. Source Address (출발지 주소)와 Destination Address (목적지 주소): 각각 32비트 필드로,
    출발지와 목적지의 IP 주소를 나타냄

 

 

- MTU (Maximum Transfer Unit) -

네트워크 기기가 전송할 수 있는 최대 전송 단위

 

현재 대부분의 네트워크 환경이기 때문에 MTU는 1500바이트로 통용

 

네트워크 환경에 따라 각각의 크기는 다음과 같다

전송매체 MTU(bytes)
Internet IPv4 Path MTU 최소 68
Internet IPv6 Path MTU 최소 1280
Ethernet v2 1500
Ethernet LLC(Logical Link Control)
SNAP (Subnetwork Access Protocol)
PPPoE(P2P over Ethernet)
1492
Ethernet Jumbo Frames 1501~9216
WLAN(802.11) 7981
Token Ring(802.5) 4464
FDDI 4352

 

 

- MSS(Maximum Segment Size) -

MSS(Maximum Sefment Size)
정의 TCP상에서 전송할 수 있는 사용자 데이터의 최대 크기
MSS = MTU - IP Header 크기 (최소 20 Byte) - TCP Header 크기 (최소 20 Byte)
특징 3계층에서 1500을 넘어가면 안됨

• 실제 전송되는 데이터 길이는 1518byte

 

 

- 단편화 -

 

단편화(Fragmentation)
정의 네트워크 통신에서 큰 데이터 패킷을 작은 조각으로 나누는 프로세스를 의미
특징 • MTU가 큰 네트워크에서 MTU가 작은 네트워크로 패킷이 전송될 경우 패킷을 나눠서 보내져야 함

• 데이터그램의 재조립은 최종목적지 호스트에 의해서만 수행

• 재조립으로 인해 발생하는 비효율성 때문에 전송 중 재조립 안됨

단편화보다는 재조립이 시간 오래 걸리기에 매우 잘게 나눈 데이터로 공격하면 조립하다 시스템 오류 발생

 단편화와 관련된 필드 : Identification, Flag, Fragmentation offset

 

 

- TTL -

TTL(Time To Live)
정의 컴퓨터 네트워크에서 패킷이 유효한 시간 동안 얼마나 유지되는지를 나타내는 값


특징 • 패킷 수명을 제한하기 위해 데이터그램이 통과하는 최대 홉(hop)수를 지정

• 패킷 전달과정에서 라우터와 같은 전송장비를 통과 할 때마다 TTL값 감소

• TTL이 0이 되면 라우터에서 폐기하여 불필요한 패킷이 네트워크에 방치 되는 것을 방지

• OS종류와 버전에 따라 TTL 값이 다름
OS별
TTL 값
OS / Version TCP TTL UDP TTL
Linux 64 64
HP/UX 10.01 64 64
Solaris 2.z 255 255
Window Server 2008 128 128
Windows 10 64 64