Section 01. LAN 계층

01. LAN의 계층 구조

💡 LAN 계층(=데이터 링크 계층): 물리적 주소를 기반으로 데이터의 전송 형태를 결정하며, 물리적인 링크를 통해 데이터를 신뢰할 수 있게 전송하는 역할

5계층, OSI 7계층은 인터넷 보급 후 만들어진 구분법

LAN은 인터넷 이전에 개발되어 사용된 만큼, 인터넷 이전에 근거리에서 컴퓨터 통신이 작동하였음을 의미한다.

⇒ LAN 자체로도 물리, 연결, 응용 계층이 존재한다.

⇒ 논리 연결 제어(LLC, Logical Link Control), 매체 접근 제어(MAC, Media Access Control)

⇒ (더 정확하게는) 데이터 링크 계층을 나눈 계층이라는 의미로 하부 계층(sub layer)라고 표현


IEEE(아이트리플E) 802(LAN) 표준: LAN과 관련된 표준

  • 회의를 통한 표준화 방안을 모든 기업이 동의하면 표준이 된다.
  • IEEE 중 802 섹션에 LAN에 관한 표준들을 정의
  • 논리 연결 제어(LLC)는 802.2에 정의, 802.3 ~ 802.22까지 매체 접근 제어(MAC)
  • 802.11은 와이파이 무선랜 표준

02. 논리 연결 제어(LLC)

💡 논리 연결 제어(LLC) 하부 계층: (인접한) 두 노드를 논리적으로 연결

  • IEEE 802.2
  • 프레임을 송수신하는 방식을 정한다.
  • 상위 계층(네트워크 계층)에 있는 프로토콜과의 인터페이스를 제공한다.
  • 프레임을 에러 없이 전달하면서도 프레임 전송률을 높이는 역할

프레임 전송률 고려 → 응답 메시지(ACK)는 선택, 오류 탐색 코드(CRC)는 필수

  • ACK을 사용하면 오류 없이 전달 가능하지만, 전송률은 떨어진다.

- LLC 타입과 특징

LLC 계층에서 사용되는 프로토콜에 따라 연결 서비스 혹은 비연결 서비스를 지원하며, 연결 서비스의 유지관리 담당한다.

→ 사용방식에 따라 3가지 종류로 나뉜다.

Type방식특징비고
1비연결형ACK 사용 X- 이더넷
- 띄엄띄엄, 연속 X
2연결형ACK 및 슬라이딩 윈도우 프로토콜 사용- HDLC
- 연속적
3비연결 확인형거의 사용 X

03. 매체 접근 제어(MAC)

💡 매체 접근 제어(MAC) 하부 계층: 여러 종류 LAN의 연결 형태, 데이터 전송 방법, 헤더들을 정의하는 계층
- IEEE 802.3 ~ 802.22

  • 대부분의 다양한 LAN = 여러 종류의 MAC
  • 현재 전세계 LAN의 대부분은 이더넷
    • 유선 LAN 보급 초기에는 토큰 링이 많이 사용

      ⇒ MAC에 대한 대부분의 설명은 이더넷 기준

- MAC 주소

💡 MAC 주소: 통신 기기가 만들어질 때 제조사가 임의로 부여한 고정된 값
  • 주소는 6Byte로 구성
  • IP 주소와 다르게 변경 불가 ⇒ 물리적 주소(physical address)
  • 모든 통신기기는 MAC 주소와 IP 주소를 같이 가지고 있으며, 데이터 통신 시, 이 두가지 주소로 기기를 찾아 통신한다.

Section 02. 이더넷과 토큰 링

01. 이더넷(Ethernet)에 대하여

💡 이더넷(Ethernet): 컴퓨터 네트워크 기술 중 하나로, 일반적으로 LAN에서 가장 많이 활용되는 기술 규격

  • 연결 형태(topology): bus → star
  • 프로토콜: CSMA/CD
  • 충돌 처리 방식: 경쟁 방식(충돌 허용 후 처리)

네트워크는 통신 연결과 프로토콜로 구성된다.
즉, 이더넷은 별 형태 + CSMA/CD 프로토콜로 정의 가능.

  • 허브(hub): 각 호스트를 유선으로 연결하는 장치
  • 와이파이(무선 공유기): 유선 뿐만 아니라 무선으로도 연결할 수 있는 장치의 규격

02. CSMA/CD

💡 CSMA/CD: LAN에서 충돌을 처리하는 프로토콜.

  • CSMA(Carrier Sense Multiple Acess): 회선 상태에 따라 여러 명이 동시에 접근하는 방식
  • CD(Collision Detection): 충돌을 검사하여 제어
  • 즉, 스누핑으로 회선 사용 여부를 지켜보고 회선을 아무도 사용하고 있지 않을 경우에 데이터를 전송한다.
  • 스누핑(snooping): 모든 호스트가 선이 사용 중인지 아닌지를 계속해서 듣고 있는 것
    • 선을 사용하는 호스트가 없을 때 전송 시작 → 이때 호스트들이 경쟁적으로 데이터를 보내려고 한다 ⇒ 경쟁방식

- 충돌 처리

두 개 이상의 호스트가 거의 동시에 데이터를 보내면 신호가 충돌할 수 있다.

  1. 이 경우, 데이터 전송을 즉각 멈춘다
  2. 전체 호스트에게 충돌이 일어났다는 신호를 전송한다.
  3. 충돌을 일으킨 호스트들은 무작위 수(random number)를 만들어 일정시간 기다린 후 재전송
    무작위이기 때문에 운이 좋으면 먼저 전송하게 되는 것

⇒ (토큰 링에 비해) 모든 호스트가 독립적이라는 장점

03. 토큰 링

💡 토큰 링(token ring): 유선 LAN 보급 초기에 많이 사용된 프로토콜

  • 연결형태(topology): ring
  • 프로토콜: 토큰 링
  • 충돌 처리 방식: 예약을 통한 충돌 차단

네트워크는 통신 연결과 프로토콜로 구성된다.
즉, 토큰 링은 링 형태 + 토큰 링 프로토콜로 정의 가능.

- 방식

  1. 호스트들을 원형으로, ring 형태로 연결
  2. 토큰이라는 빈 패킷이 한쪽 방향으로 계속 회전
  3. 전송을 하려는 호스트가 있다면, 빈 토큰을 가져가 토큰에 주소와 데이터를 채운 후 전송
  4. 목적지 주소에 토큰이 도착하면 해당 호스트는 내용을 복사한 후 계속 토큰 전달

  1. 토큰이 회전하여 처음 데이터를 보냈던 곳(호스트)으로 돌아올 경우, 토큰을 회수한 뒤 내용물을 지워 빈 패킷으로 다시 옆으로 전송

  2. 여러 개의 호스트들이 동시에 데이터를 보낼 경우

    1. 하나의 호스트가 데이터를 보내고 지운 후 빈 토큰을 옆으로 전송
    2. 여러 개의 호스트들은 순서대로 돌아가면서 데이터 전송

    ⇒ 예약을 통한 충돌회피 방식

⇒ 토큰 링은 유용해 보이지만, 토큰을 관리하며 다른 호스트를 제어하는 통제 호스트가 필요하다.

Section 03. 데이터 링크 계층 프레임 분석

데이터 링크 계층에는 다양한 종류의 프로토콜이 존재

(HDLC, LAP, LAPB, LAPD, LAPF, ATM, PPP)

→ 이때 근간이 되는 프로토콜이 HDLC

💡 HDLC 프로토콜: 데이터 링크 계층의 프로토콜

  • 동기식 전송, 동기식 중 비트 방식 사용 (비트 스터핑)
  • 유니캐스트, 멀티캐스트, 브로트캐스트 모두 지원
  • 흐름제어도 슬라이딩 윈도우 프로토콜 사용
    • Go-Back-N ARG, Selective Repeat ARQ 모두 지원

- HDLC 헤더 구조

Data 빼고 모두 데이터 링크 계층에서 붙인 것

  • Flag(8bit, 프리앰블, 포스트앰블): 비트 방식 사용으로 01111110
  • Address(8bit): MAC 주소
  • Control(8bit): I/S/U. 프레임이 어떤 종류인지 표기
    • 정보(Information) 프레임(I frame): 사용자 정보와 제어 정보를 모두 포함하는 일반 프레임
    • 감시(Supervisory) 프레임(S frame): 제어 정보만 가지고 있는 프레임(Data X)
    • 비번호(Unnumbered) 프레임(U frame): 연결 관리정보를 포함하는 프레임
  • Data: packet. 네트워크 계층에서 받은 것.
  • FCS(16bit, Frame Check Sequence): 오류제어를 위해 사용. CRC-16 사용

02. 이더넷(Ethernet) 프레임

IEEE 802.3에 정의된 이더넷 프레임

  • Data + padding: LLC 계층으로부터 받은 LLC 프레임 포함
    • 최대 1500Byte
    • 상위에서 받은 데이터가 46Byte보다 작을 경우, 패딩을 붙여 맞춘다.
      • 46Byte인 이유: 전체 64Byte로 맞추기 위함
  • 이더넷 프레임의 크기: 최소 64Byte ~ 최대 1518Byte → 프레임이 언제 끝날지 예측 가능(최소, 최대 크기)하여 포스트앰블 사용 X

  • Preamble(7Byte) + SFD(1Byte)
    • preamble(7Byte): 프리앰블이 10101010을 7번 전송하여 통신의 시작을 알린다.
    • SFD(1Byte): 7Byte(8bit * 7)의 프리앰블이 끝나면 SFD(10101011)이 프레임의 시작을 알려준다.
  • Destination address(6Byte): 목적지 주소, MAC 주소
  • Source address(6Byte): 보내는 호스트 주소, MAC 주소
  • Length/Type(2Byte): 데이터가 1500Byte 이하일 때 데이터의 길이(Length)를 나타낸다.
    • 1500Byte 이상일 경우, Length가 아닌 Type으로 해석. Type은 데이터 속 LLC 종류
  • FCS(4Byte): 이더넷 프레임의 오류 탐색을 위함. CRC-32 사용
profile
가보자고! 🔥

0개의 댓글