정보 보안 공부/이론

4. OSI 2계층 : 데이터 링크(Data Link)

이지훈_ 2022. 5. 31. 00:53

개요

통신에서 한 지역에서 다른 지역으로 데이터 전송 또는 수신할 목적을 위한 도구.

A지역과 B지역이 서로간의 거리가 멀어 음성 통화가 불가능한 경우에 네트워크를 통해 서로 데이터를 주고 받는다.

 

데이터 링크란?

인접 장비 접근을 위한 MAC 주소를 지정한다.

Network 환경 정보를 지정한다.

프로토콜로 LAN과 WAN이 존재하며, 장비로는 브릿지(Bridge)와 스위치(L2 Switch)가 존재한다.

 

데이터 전송 방식

데이터 링크 구성 방식 3종류

단방향 통신 - 한 방향으로만 통신한다. 

반이중 통신 - 두 방향으로 통신하되 동시에 할 수는 없다.

이중통신 - 동시에 두 방향으로 통신한다.

 

데이터 전송 방식

 - Unicast

   > 단일(1:1) 장비로 데이터 전송

   > 원하는 대상에게만 데이터 전송

   > 다른 장비에 부하를 주지 않음

 

 - Broadcast

   > 다수(1:N) 장비로 데이터를 전송

   > 동인한 정보를 한번에 모든 장비로 전송

   >  너무 많이 발생하면 성능이 저하 된다.

 

 - Multicast

   > 특정그룹(1:특정그룹) 장비로 데이터 전송 [VLAN 방식]

   > 미리 약속된 그룹들이 있음

   >원하는 그룹을 만들어 사용 가능

 

 

MAC주소란?

 1) MAC 주소

   > NIC(Network Interface Card)에 부여된 고유 식별 값

   > Network 통신에서 인접 장비에 접근하기 위해 사용되는 장비의 고유 이름

   > 공식 이름 : EUI(Extended Unique Identifier)

 

 2) EUI-48(48bit Extended Unique Identifier)

   > 00-00-35-05-80-6F (= 00:00:35:05:80:6F = 0000-3505-806F)

   > 16진수로 표현하며 1byte씩 구분하여 표기 함

   > 상위 24bit → Company ID(=OUI) : 제조 업체 식별 코드를 나타낸다

   > 하위 24bit → Extension ID : 장비(NIC)의 제조 번호를 나타낸다.

       ★ 하나의 OUI(00-00-35)를 통해 생성될 수 있는 MAC주소의 개수 → 224 =16,777,216

 

 3) EUI-64(64bit Extended Unique Identifier)

   > 00-00-35-05-FF-80-6F

   > IPv6를 지원하기 위해 개발된 형식

   > 하나의 OUI(00-00-35)를 통해 생성될 수 있는 MAC주소의 개수 → 240 =   1,099,511,627,776 개

 

 4) 멀티 캐스트용 MAC 주소

   > 상위 24bit가 01-00-5E로 시작되는 MAC 주소

 

 5) 브로드 캐스용 MAC주소

   > 전체 MAC주소 중 제일 큰 값을 가지는 주소

   > FF:FF:FF:FF:FF:FF

 

Ethernet Protocol

1) Ethernet Protocol이란

 > LAN을 위해 개발된 컴퓨터 네트워크 기술

 > 네트워크에 연결된 각 기기기들이 고유의 MAC주소를 가지고, 주소를 이용해 상호간에 데이터를 주고 받을 수 있게 만들어진 기술

 > LAN 네트워크의 90% 이상이 Ethernet 방식을 사용

 

2) Ethernet 종류

 > ALOHA

   - 1960년대에 하와이 대학교에서 섬 사이에 무선 통신을 위해서 개발

 > Xerox Ethernet

   - 1973년 ALOHA를 기반으로 제록스 연구소에서 개발, 상용화되지 못한 실험적 네트워크

 > Ethernet v1(DIX I)

   - Xerox Ethernet을 바탕으로 DEC, Intel, Xerox 3사에서 협동으로 개발, 속도와 성능이 대폭 개선

 > Ethernet v2 or DIX Ethernet(DIX 2)

   - IEEE 표준화를 위해 진행 되었지만 기존의 v1과의 호환성을 위해 v2로 발표

 > IEEE 802.3

   - IEEE에서 DIX 사양에 기초하여 Ethernet을 위해 표준으로 제정한 프로토콜

 

3) Ethernet v2 vs IEEE 802.3

 > 표준은 IEEE 802.3 이지만 대부분의 통신에서 Ethernet v2 를 사용

 > 특별한 경우에만 IEEE802.3 사용

   - 장비와 장비의 기능을 위해서 장비 스스로 정보를 교환해야 하는 경우

 

 

4) Ethernet v2

   

   > Preamble (8bytes)

     - 데이터 신호 동기화

       * 동일한 패턴(101010..)의 신호를 7bytes 연속으로 보내서 데이터 전송을 알림

     - 2계층 header의 시작을 알리는 역할

       * 마지막 1byte의 1bit를 1로 만들어 2계층 Header가 시작됨을 알림(10101011)

 

   > Destination Address (6bytes)

     - 목적지 MAC Address

     - DMAC 이라 부르고 DA로 표시

 

   > Source Address (6bytes)

     - 출발지 MAC Address

     -  SMAC이라 부르고 SA로 표시

 

   > Type (2bytes)

     - 정확한 명칭은 Ether Type Code

     - 상위 계층의 Protocol 코드 값( IP : 0x0800, ARP: 0x0806 등..)

     -  최소 코드 값은 16진수 값 0x0600(1536) 부터 사용

 

   > Payload[Data] (46~1500bytes)

     - 상위 계층에서 내려온 데이터

     - 2계층의 Payload는 최대 1500bytes(MTU)까지만 사용 가능

 

   >  FCS[Frame Checksum Sequence) (4bytes)

     - 오류 체크를 위한 값

     - Header[머리]부터 Payload[꼬리]까지의 값을 CRC32 알고리즘을 사용해서 계산한 결과 값

 

2계층(Data Link) 장비

 1) Bridege

   > Full duplex 연결을 지원하며 신호 재생을 수행하는 장비

 

 2) Switch(L2 Switch)

   > Switching 동작을 수행할 수 있는 장비

   > 2계층 프로토콜 정보를 해석하고 이용 가능한 장비

   > MAC주소를 해석할 수 있기 떄문에 목적지를 구별하여 데이터를 전달

 

 3) Multi Layer Switch

   > L2 기능 외 다른 계층을 기능도 함께 수행 할 수 있는 스위치

   > L3 Switch(Routing), L4 Switch(Load balancing), L7 Switch(Firewall)

 

Switch

 1) Switching

  > 데이터에 포함도니 주소정보에 따라 데이터를 해당 출력 포트로 빠르게 접속시키는 기능

  > 여러 전달경로에서 어느 방향으로 전달 할 것인가를 선택하는 기능

 

 2) Switch

  > Switching 기능을 수행하는 장비

  > 근거리 통신망 구축 시 사용되는 단말기의 집선 장비

  > 대부분 Full-Duplex 방식으로 동작하므로 Collision Domain이 형성되지 않음

  > MAC 주소를 학습하고 구분할 수 있음

  > 입력된 데이터를 지정된 포트로만 전달함

 

 3) Multi Switch란?

  > 다른 계층의 역활라도 수행할 수 있는 Switch

  > L3 Switch(Routing), L4 Switch(Load balancing), L7 Switch(Firewall)

 

 4) 데이터 통신 방식

   (1) 장비에 MAC주소가 없을 시

더보기

1) Switch로 데이터가 들어오면 SMAC 주소를 MAC Table에서 확인

   - 없으면 MAC Table에 SMAC 주소를 기록(Learning)

2) DMAC 주소를 MAC Table에서 확인

   - 없으면 Flooding 진행

   - 데이터를 받는 장비에서 자신의 데이터가 아니면 폐기

3) 수신자가 다시 응답 데이터를 전송할 때 SMAC을 MAC Table에서 확인

   - 없으면 MAC Table에 SMAC 주소를 기록(Learning)

4) DMAC 주소를 MAC Table에서 확인

   - 있으면 해당 Port로만 데이터 전송(Filtering/Forwarding)

   (2) 장비에 MAC주소가 있을 시

더보기

1)  MAC Table에 SMAC 주소가 있는 경우 학습하지 않음

2)  MAC Table에 DMAC 주소가 있는 경우 Flooding 하지 않고 해당 목적지로만 데이터 전송 (Filtering/Forwarding)

 

 5) Switch 기본기능

   > 스위치가 아랑서 자동으로 동작하는 기능들

   > Address Learning : 2계층 주소(MAC주소)를 학습하는 기능

   > Filtering : MAC Table에 일치하지 않는 경로로의 전송을 막아주는 기능

   > Forwarding : MAC Table에 일치하는 경로로 전송해 주는 기능

   > Flooding : 모든 경로로 데이터를 전송해 주는 기능

     - MAC Table에 없는 MAC 주소를 받는 경우

     - Broadcast/Multicast 데이터를 받은 경우

     - MAC Table이 가득 찬 경우

   > Aging

     - MAC Table을 관리하기 위한 기법

     - 한번 사용된 MAC주소가 일정 시간 사용되지 않으면 삭제

     - Aging Time 기본 300초(5분)

     - 다시 사용되면 Aging Time 초기화

   > Loop avoidance : Loop를 회피할 수 있는 기능

 

 6) Switching 작동 방식

   > Switch가 알아서 손실률을 보고 동적으로 방식을 변경

   > Store and Forward

     - 프레임을 모두 전송 받아 검사한 후 전달

     - FCS부터 체크하기 때문에 안정성이 높아짐

     - 속도가 떨어짐

   > Cut-Thjrough

     - 가장 빨리 전달하는 것(스위치의 기본값)

     - 목적지 주소까지 확인한 후 바로 전달

     - 안전성이 떨어짐

     - 속도가 빠름

   > Fragment-Free

     - 프레임을 최소사이즈 64byte까지만 검사한 후 전달

     - 프레임의 64byte를 검사해서 FCS가 있으면 Store and Forward 방식

     - FCS가 없으면 Cut-Through

 

 7) Switch 선택 기준 

   > 연결 매체(cable)의 속도

   > IOS의 기능

   > Port 밀도(확장성)

 

실습1 > Wireshark를 통한 Ethernet II 패킷 분석

 - MAC주소 부분의 Ethernet II를  분석및 해석을 해보자.

 

실습2 > Packet Tracer를 이용한 Switch 망 구축

 - PC 4대

   > Network 영역 : 192.168.10.0 // Subnet Mask : 255.255.255.0

   > 할당 IP : 192.168.10.1 ~ 192.168.10.4

 - 시나리오

   > 시뮬레이션 모드

   > HOST_A에서 HOST_B로 Ping Message 전송

   > ICMP, ARP 메세지 전송 확인