[네트워크관리사] OSI 7계층 - Datalink Layer

2022. 10. 18. 16:12자격증

- L1 물리계층: 케이블, 허브. 리피터 => 아무 기능 X, 전달받은 것을 그대로 전달, L2 & L3 주소 볼 수 없음

각 레이어별 담겨 있는 구조가 다르다.

L1: 비트스트림

L2: Header에 MAC에 대한 정보가 붙는데, 이를 프레임(Frame)이라고 한다.

L3: Header에 IP에 대한 정보가 붙는다. -> 패킷(Packet)

L4: Header에 TCP/UDP에 대한 정보가 붙는다. -> 세그먼트(Segment)

- CD (Collision Domain)

  • 프레임이 동시에 출발했을 때 충돌하는 범위
  • MAC를 읽는 능력이 있으면(-> L2부터) CD를 나눌 수 있고, 능력이 없으면 CD 나누기 X

- BD (Broadcast Domain)

  • Broadcast 신호가 발생되었을 때 전달될 수 있는 범위
  • MAC / IP를 이해할 수 있으면 (-> L3부터) BD를 나눌 수 있다.

L2: Datalink layer -> link: 접속 / connection: 연결

- 랜카드, MAC(Media Access Control)

- 유니캐스트, 멀티캐스트, 브로드캐스트 신호를 모두 수신하고, 본인의 것이면 OK 아니면 폐기

 

회선 연결? 호스트와 호스트가 상호 인식하는 것

- 이더넷: MAC 주소

- FrameRelay: DLCI 주소

- HDLC: Serial

- PPP: Serial

 

Keep alive: 일정 시간마다 생존 신호를 보내는 것

- 메모리의 효율성을 위해 arp 테이블을 주기적으로 지움

- 최근에 사용된 정보는 재사용 확률이 높음

 

NIC (Network Interface Card) 중에서 이더넷 인터페이스 카드를 '랜카드' (이더넷 NIC)라 한다.

 

MAC 주소: 제조사에서 부여한 일련번호, 생산자 코드(24비트) + 일련번호(24비트)

- 일련번호가 모두 차면? 생산자 코드를 모두 재발급 받아서 부여

- VMware조차도 unique한 맥주소 발급받음

- 생산자 코드는 OUI, 일련번호는 Serial

L2 장비

- 스위치: 자신의 맥주소를 기반으로 패킷 제어, IEEE802.1, 자신의 특정 포트에 연결된 상대방 호스트의 MAC 주소

Transparent Bridging: Learning - Aging - Filtering - Forwarding - Flooding, MAC 주소 테이블을 참조하여 이더넷 프레임을 전송하는 것 (IEEE 802.1)

- Learning

현재 포트에 연결된 상대방 호스트의 MAC 주소 학습, 주황색(학습중) -> 녹색(학습완료)

=> MAC table 생성

- Aging

  • 현재 포트의 사용이 3분간 없으면 MAC table에서 삭제

- Filtering

  • 현재 포트에서 들어온 정보를 다시 그 포트로 전달하지 않는다.
  • S.MAC(Start)과 D.MAC(Destination)이 같은 경우 프레임 전달 X
  • 관리자에 의해 필터링 규칙을 작성할 수 있다. (Port Security) 단, 스위치허브에서는 불가능

- Forwarding(전달)

  • 프레임의 L2 헤더를 읽고 D.MAC 확인
  • MAC table과 비교 후 특정 인터페이스로만 전달한다.

- Flooding

  • MAC table에 존재하지 않는 주소라면 플러딩한다.

 


- OAuth

신뢰성 있는 기관으로 로그인을 대신하는 것

- UPS

무정전 전원장치


ARP

- 주소 변환 프로토콜

- 3계층 (정확히는 L2의 LLC 계층)

- 이더넷

  • MAC주소를 기반으로 통신하는 것

- DLCI(주소)

  • 프레임 릴레이에서 사용하는 것
  • ISP에서 부여
  • 특정 번호

- ARP

시스템이 자동으로 IP를 MAC 주소로 변환

사용자의 요청 X

- RARP

상대방의 MAC은 알지만 IP를 모를 때 IP를 얻는 것 (드물다)

- Inverse ARP

Frame Relay, 내 주소를 모르고 상대방은 내 주소를 알 때, 상대방에게 내 주소를 물어보는 것

ex) 라우터가 프레임릴레이에서 본인의 DLCI를 모르므로 프레임릴레이 망에 정보를 요청한다.

- Proxy ARP

상대 네트워크의 MAC을 모를 때 요청 시 라우터가 응답하는데, 상대 네트워크에서 패킷이 이동 시 라우터의 MAC이 채워진다.

-> ARP 스푸핑 발생 가능

프록시가 이루어지지 않으면 네트워크 진행 X -> 반드시 필요

∴ 라우터가 대신 대답해주는 것

- Gratuitous ARP

요청이 없어도 상대방에게 특정 MAC 주소를 학습시키는 것

- 라우터

특정 ip를 찾는 패킷이 들어오고, MAC table에 주소가 없으면, 

-> 스위치는 브로드캐스트

-> 라우터는 드랍 (라우터에는 플러딩 개념 X)

- ICMP

  • 상호 메시지를 교환하는 프로토콜
  • 상대 네트워크의 네트워크 상태 확인
  • Request timeout
  • Request unreachable

  허브 스위치
Collision Domain(CD) 1 4
Broadcast Domain(BD) 1 1

네트워크 토폴로지

: 각 호스트들이 연결되어 있는 모양

- Line 구조

  • 그냥 쭉 이은거
  • 작은 네트워크상에서 비용절감을 위해 사용
  • 동일장비간 크로스오버로 트랜짓과 리시버를 연결

- Tree 구조

  • 이진 트리 생각하면 됨
  • 한쪽이 망가지더라도 반대쪽이 살아있다.

- Bus 구조

  • 토큰 버스 토폴로지 -> 랜덤 토큰을 가진 호스트만 통신할 수 있게 하는 방법 
  • IEEE 802.4
  • 특정 호스트가 다운되어도 회선은 살아있음
  • CSMA/CD 이슈
  • 문제점: 토큰 분배 기준점 X + IDLE 상태

- Ring 구조

  • 버스 구조의 해결 방안
  • 토큰에 방향성 -> 토큰 분배 공평
  • 문제점: IDLE 상태 => 이중링 구조

  • 이중링 구조 (IEEE 802.5)
    - 외부 토큰링 하나 더
    - IDLE 상태 해결
    - 내부의 서버들끼리 정보 송, 수신량이 많을 때 효율 좋음
    - 장애에 취약

- Star 구조

  • 방사형, 중앙집중관리 -> 중앙의 룰에 따라 통제됨
  • 허브나 스위치가 중앙
  • 특정 호스트의 상태가 다른 호스트에 영향 X
  • 이더넷 IEEE 802.3
  • ARPA: 최초의 basic 이더넷

- Mesh 구조

  • 회선 이중화
  • 2개 이상의 다른 호스트와 연결되어 있음. (Full Mesh: 모든 호스트와 연결)
  • 회선 하나가 손상되어도 연결된 다른 회선이 있으므로 통신 단절 X
  • hub and spoke(partial mesh), 양 중앙은 허브 끝에 있는 것들이 스포크

 


L2 데이터 링크 계층의 역할

- 흐름제어

  • 데이터 전송 속도 조절
  • 송신, 수신자 간의 속도 동기화 되어야 한다
  • 속도 조절 방식을 ARQ라 함
  • ARQ
    - 상대방이 수신했는지 확인
    - 흐름제어 + 오류제어
    - 데이터링크: 오류 검출만, 프레임 제어 
    - 링크: 오류 검출 + 정정, 슬라이딩 윈도우

- 오류제어

ARQ의 종류

- ARQ: 정지대기방식

데이터를 보낸 후 받은 쪽에서 수신확인이 올 때까지 기다림

단순, 비효율적, IDLE ARQ

Go Back N ARQ

A 데이터 전송 -> B 데이터 전송 -> ... -> 수신정보(ACK) = 그동안 보낸 데이터 정상 

A 데이터 전송 -> B 데이터 전송 -> ... -> 수신정보(NAK) = 보낸 데이터 비정상 -> 그 번호부터 재전송 

- 선택적 ARQ

NAK이 온 프레임만 재전송

- 슬라이딩 윈도우: L4

전송계층 TCP 프로토콜에 있는 기능

전송하기 전 수신하는 쪽에 사이즈 확인 -> 그 용량에 맞춰 전송

회선이 괜찮을 때 = 요즘 은 슬라이딩 윈도우, 회선의 질이 낮을 때는 Go Back N ARQ

빠른 전송 가능 (큰 용량 단위로 전송하니까)

적응적 ARQ

위 ARQ들을 모두 합친 것 -> 어려워서 못씀


캐시와 버퍼

- 캐시: 저속의 장비에서 고속의 장비로 전달하기 위한 저장소

- 버퍼: 고속의 장비에서 저속의 장비로 전달하기 위한 저장소

MTU (Maximum Transit Unit)

회선상에 전달할 수 있는 최대 크기

Unit의 종류: PDU(Protocol Data Unit)

L1: 비트스트림, L2: 프레임, L3: 패킷, L4: 세그먼트

 


LLC 계층

L2 계층에 존재 -> MAC 계층 & LLC 계층

IEEE 802.2

특정 계층에서 쓰이는 것이 ip나 시리얼이거나 할 때, 회선에서 다른 것을 쓰면 그것으로 변환해주는 것

ex) 나는 ip 쓰는데 회선에서 DLCI 쓰면 그걸로 씀


L2 장비

스위치 & 브릿지

스위치: transparent bridging, MAC 주소 기반으로 동작

브릿지: 서로 구조가 다른 네트워크망을 하나의 네트워크로 합치는 -> ex) 버스랑 성형 묶어 // 이 기능은 스위치로 통합됨

 

여담

스위치: 네트워크를 나눌 수 있는데 각 네트워크를 통신시키려면 라우터가 필요

라우터: 다른 네트워크를 연결하는 장빈데, 이 역할은 사실 게이트웨이가 함