4주차 정리

2022. 5. 9. 19:3822-1학기/네트워크 보안(NETWORK SECURITY)

[이론] - OSI 계층

[실습] - OSI 계층에 따라 패킷 세부 분석


-OSI 계층

: OSI 계층은 네트워크에서 통신이 일어나는 과정을 말하고, OSI 7 계층은 네트워크에서 통신이 일어나는 과정을 7단계로 나눈 것을 말한다. 초기 여러 정보 통신 업체 장비들은 자신의 업체 장비들끼리만 연결이 되어 호환성이 없었는데, 모든 시스템들의 상호 연결에 있어 문제없도록 표준을 정하기 위해 만든 것이 OSI 7 계층이다.

 

-계층을 나눈 이유

: 통신이 일어나는 과정을 단계별로 파악할 수 있고, 사람들이 이해하기 쉬우며, 7단계 중 특정한 곳에 이상이 생기면 다른  단계의 장비 및 소프트웨어를 건들이지 않고도 이상이 생긴 단계만 고칠 수 있는 장점이 있기 때문이다.

 

-작동 원리

  1. OSI 7 계층은 응용, 표현, 세션, 전송, 네트워크, 데이터링크, 물리계층으로 나뉜다.
  2. 전송 시 계층 7에서 계층 1으로 각각의 층마다 인식할 수 있어야 하는 헤더를 붙인다.
  3. 수신 시 계층 1에서 계층 7로 헤더를 떼어낸다.
  4. 출발지에서 데이터가 전송될 때 헤더가 추가되는데 계층 2에서만 오류제어를 위해 꼬리부분에 추가된다.
  5. 물리계층에서 1, 0의 신호가 되어 전송매체를 통해 전송된다.

 

 

-OSI 7 계층

물리계층(Physical Layer) : 1 Layer

  • 7계층 중 최하위 계층
  • 주로 전기적, 기계적, 기능적인 특성을 이용해 데이터를 전송
  • 데이터는 0과 1의 비트열인 On, Off의 전기적 신호 상태로 이주어지며 해당 계층은 단지 데이터를 전달함
  • 단지 데이터 전달의 역할을 할뿐이라 알고리즘, 오류제어 기능이 없음
  • 장비 : 케이블, 리피터, 허브

 

데이터링크 계층(Data-Link Layer) : 2 Layer

  • 물리적인 연결을 통하여 인접한 두 장치 간의 신뢰성 있는 정보 전송을 담당
  • 안전한 정보의 전달로, 오류나 재전송하는 기능이 존재함
  • MAC 주소를 통해서 통신
  • 데이터 링크 계층에서 데이터 단위는 프레임(Frame)
  • 장비 : 브리지, 스위치

 

네트워크 계층(Network Layer) : 3 Layer

  • 데이터를 목적지깢 가장 안전하고 빠르게 전달함(라우팅)(최적의 경로 설정 가능)
  • 경로를 선택하고 주소를 정하고 경로에 따라 패킷을 전달해주는 것이 이 계층의 역할임
  • 여러 개의 노드를 거칠 때마다 경로를 찾아주는 역할을 하는 계층으로 다양한 길이의 데이터를 네트워크를 통해 전달하고, 그 과정에서 전송 계층이 요구하는 서비스 품질(QoS)을 제공하기 위한 기능적, 절차적 수단을 제공함
  • 컴퓨터에게 데이터를 전송할 주소를 갖고 있어서 통신가능
  • 네트워크 계층에서 데이터 단위는 패킷(Packet)
  • 장비 : 라우터 , Layer3, 스위치

 

전송 계층(Transport Layer) : 4 Layer

  • 통신을 활성화하는 계층
  • 데이터가 오면 4계층에서 해당 데이터를 하나로 합쳐서 5계층에 줌
  • 송신자와 수신자 간의 신뢰성 있고 효율적인 데이터를 전송하기 위하여 오류검출 및 복구, 흐름제어와 중복검사 등을 수행
  • 데이터 전송을 위해서 Port 번호를 사용함
  • 전송 계층에서 데이터 단위는 세그먼트(Segment)

 

 

세션 계층(Session Layer) : 5 Layer

  • 통신 장치 간 상호작용 및 동기화를 제공
  • 데이터가 통신하기 위한 논리적인 연결로, 통신을 하기 위한 대문이라고 보면 됨
  • 연결 세션에서 데이터 교환과 에러 발생 시의 복구를 관리

 

 

표현 계층(Presentation Layer) : 6 Layer

  • 데이터를 어떻게 표현할지 정하는 역할을 하는 계층
  • 데이터 표현이 상이한 응용 프로세스의 독립성을 제공하고, 암호화함

 

 

응용 계층(Application Layer) : 7 Layer

  • 사용자와 가장 밀접한 계층으로 인터페이스 역할
  • 최종 목적지 : HTTP, FTP, SMTP, POP3, IMAP, Telnet 등과 같은 프로토콜
  • 프로토콜을 보다 쉽게 사용하게 해주는 응용프로그램
  • 응용 프로세스 사이의 정보 교환을 담당
  • ex) 전자메일, 인터넷, 동영상 플레이어

 

 


 

 

-OSI 계층에 따라 패킷 세부 분석

1.데이터 링크 계층(2계층)의 Packet

  • MAC주소를 기반으로 하드웨어 간 통신을 위한 프로토콜을 제공함
  • 최소 길이는 64 Kbytes, 최대 길이는 1,518 Kbytes

필드 이름 길이 내용
Preamble 7 Bytes 10101010을 7번 반복해서 전송한다.
다음 Frame부터 데이터가 전송된다는 것을 알린다.
데이터의 전송 타이밍 동기화를 위해 사용된다.
SFD 1 Byte Start Frame Delimiter 10101011 전송
통신을 위한 최초 Packet임을 표시한다.
Destination MAC 6 Bytes Packet 목적지의 MAC 주소
Source MAC 6 Bytes Packet을 보내는 곳의 MAC 주소
Length or Type 2 Bytes 길이 또는 타입이 기록된다.
Data 0~1,500 Bytes 실제 데이터가 저장된다.
Pad 가변 Packet의 길이가 64 Kbytes 미만일 경우 임의의 데이터를 입력해 최소 길이를 맞춘다.
FCS 4 Bytes Frame Check Sequence Packet의 오류 확인

 

2. 네트워크 계층(3계층)의 Packet

2-1. ARP(Address Resolution Protocol) & RARP(Reverse ARP)

필드 이름  길이 내용
HRD 2 Bytes Hardware Type 물리 계층의 네트워크 유형을 정의
1: Ethernet                  17: HDLC
6: IEEE802 Network       18: 광 채널
15: Frame 릴레이          19: ATM(Asynchronous Transfer Mode)
16: ATM                      20: 직렬 연결
PRO 2 Bytes Protocol Type ARP를 위해 사용할 상위 Protocol의 종류
IPv4: 2048(0x800)
HLN 1 Bytes Hardware Address Length 하드웨어 주소 값의 길이
MAC Address: 6
PLN 1 Bytes Protocol Address Length 상위 프로토콜 주소 값의 길이
IPv4: 4
IPv6: 6
OP 2 Bytes Opcode ARP Packet 동작 종류
1: ARP Request             3: RARP Request
2: ARP Reply                4: RARP Reply
SHA =HLN Sender Hardware Address Packet 송신자의 MAC Address
SPA =PLN Sender Hardware Address Packet 송신자의 IP Address
THA =HLN Target Hardware Address Packet 수신자의 MAC Address
TPA =PLN Target Hardware Address Packet 수신자의 IP Address

 

2-2. IP(Internet Protocol)

필드 이름 길이 내용
Version 4 Bits IP의 버전 정보 IPv4: 0x4
IHL 4 Bits Internet Header Length IP 헤더의 길이를 4로 나눈 값
5 (4*5 = 20 Bytes) ~ 15 (4*15 = 60 Bytes)가 헤더의 크기
TOS 1 Bytes Type Of Service 현재는 거의 사용하지 않음
Router에서 데이터를 처리할 때의 우선순위
TL 2 Bytes Total Length 헤더 길이 + 데이터의 크기를 Bytes 단위로 표시
최대값: 65,535 Bytes
Identification 2 Bytes 데이터를 분할(단편화)했을 때 원래 하나의 데이터임을 표시하기 위해 공유하는 값
Flag 3 Bits 단편화 여부와 첫 번째, 중간, 마지막 조각인지를 표시
RF: 미사용. 항상 0
DF(Don't Fragment): 단편화 되지 않음(1), 단편화 됨(0)
MF(More Fragment): 마지막 또는 유일한 조각(0), 마지막이 아님(1)
Fragment Offset 13 BIts 원래의 데이터에서 단편의 상대적 위치
TTL 1 Bytes Time To Live Router를 거칠 때마다 1씩 감소
Protocol 1 Bytes 상위 게층 프로토콜에 대한 정보
1: 1CMP         2: IGMP
6: TCP            17: UDP
Header Checksum 2 Bytes Packet 전달 중 발생하는 오류를 검출하기 위해 사용
Source Address 4 Bytes 송신자의 IP Address
Destination Address 4 Bytes 수신자의 IP Address
Options 가변 Packet의 옵션
Padding 가변 Packet의 옵션
Data 가변 실제 전송되는 데이터

 

2-3. ICMP(Internet Control Message Protocol)

필드 이름 길이 내용
Type 1 Bytes ICMP Packet의 타입
0: Echo 응답            5: Redirect(재지정)
3: 목적지 없음          8: Echo 요청
4: 발신지 억제         11: 시간 초과
Code 1 Bytes 각 타입별 세부적인 값
Checksum 2 Bytes Packet의 무결성 보장을 위한 오류 수정자
Data 가변 ICMP를 통해 보내는 데이터. 보통 의미가 없는 문자열

 

3. 전송 계층(4계층)의 Packet

3-1. TCP(Transmission Control Protocol)

연결 지향적 Protocol이다. 데이터를 정상적으로 받았다면 ACK Packet을 전송하는 방식으로 신뢰성을 높였다. ACK Packet이 돌아오지 않으면 데이터를 재전송한다.

필드 이름 길이 내용
S. Port 2 Bytes 출발지의 포트
D. Port 2 Bytes 도착지의 포트
Seq. Number 4 Bytes Sequence Number Packet의 순서
Ack. Number 4 Bytes Acknowledgement Number 통신 상대의 Packet 순서
ACK Packet에서만 사용된다
Data Offset 4 bits TCP 헤더의 길이
Reserved 6 bits 여유 공간
Control Bits 6 bits 6개의 Bit가 TCP Packet의 종류와 특성을 표시
URG(Urgent): 긴급하게 처리되는 Packet
ACK(Acknowledgement): ACK Packet
PSH(Push): 빠른 처리를 요구하는 Packet
RSH(Reset): 강제로 세션을 끊기 위한 Packet
SYN(Synchronize): SYN Packet
FIN(Finish): 정상적 세션 종류를 요청하는 Packet
ex) 010001: FIN+ACK Packet
Window 2 Bytes Receive Window(수신 윈도우)의 크기
호스트마다 속도의 차이가 있으므로, 흐름 제어를 위해 Sliding Win
dow와 Congestion Window를 사용한다
Checksum 2 Bytes 데이터 오류 검출을 위해 사용
Urgent Pointer 2 Bytes URG Flag가 설정된 경우의 마지막 Sequence Number
Options 가변  Option Kind(옵션의 종류, 1 Bytes)
Option Length(옵션 길이, 1 Bytes)
Option Data(옵션 내용, 크기 가변)으로 구성된다.
Padding 가변 Option의 크기는 4 Bytes의 배수가 되어야 한다.
이를 맞추기 위한 Padding값(0)을 입력한다.
Data 가변 전송하고자 하는 실제 데이터

 

 

3-2. UDP(User Datagram Protocol)

필드 이름 길이 내용
S. Port 2 Bytes Source Port
D. Port 2 Bytes Destination Port
Length 2 Bytes UDP 헤더와 데이터 필드의 크기
Checksum 2 Bytes 오류 검출을 위한 값
Data 가변 전송하는 데이터

 

 

출처: https://m.blog.naver.com/luuzun/50194660191

'22-1학기 > 네트워크 보안(NETWORK SECURITY)' 카테고리의 다른 글

5주차 실습  (0) 2022.05.18
5주차 정리  (0) 2022.05.18
실습_[Hack The Packet 2012] L1, L4, L5  (0) 2022.05.06
3주차 정리  (0) 2022.05.04
2주차 이론  (0) 2022.04.29