네트워크

모두의 네트워크 - 4장. 데이터 링크 계층: 랜에서 데이터 전송하기

토리쟁이 2023. 1. 21. 21:31

이번 포스팅에서는 데이터 링크에서 일어나는 일들에 대해 다루어보고자 한다.

 


 

 

<데이터 링크 계층의 역할과 이더넷>

 

 

 

데이터 링크

  • OSI 7계층 중 2계층
  • 네트워크 기기 간에 데이터를 전송하고 물리주소(MAC)를 결정하는 계층
  • 데이터 링크 계층에서는 같은 네트워크 안에서만 데이터 전송이 가능
  • 랜에서 데이터를 주고 받기 위해서는 데이터 링크 계층의 기술 필요
  • 네트워크 장비 간에 신호를 주고 받는 규칙을 정함 => 이더넷

 

이더넷(Ethernet)

  • 에서 가장 많이 사용되고 있는 기술 규격
  • 에서 데이터를 정상적으로 주고받기 위한 규칙
  • 허브의 치명적인 한계를 목적지를 추가하는 규칙을 정하여 극복
    •  (받은 데이터를 모든 컴퓨터에게 전달하는 문제점)
  • 여러 컴퓨터가 동시에 데이터를 전송해도 충돌 발생X
    • 충돌을 방지하기 위해 CSMA/CD 방식 사용
    • CS(Carrier sense) - 케이블에 신호가 흐르고 있는지 확인
    • MA(Multiple Access) - 케이블에 데이터가 흐르고 있지 않을 경우, 보내도 된다는 규칙
    • CD(Collision Detection) - 충돌이 발생하고 있는지 확인
    • 다른 컴퓨터가 데이터를 보내고 있다면, 기다렸다가 보내는 방식(시점 늦추기)
    • 현재, 효율이 좋지 않다는 이유로 쓰이지 않고 있음 => 대신 스위치 사용

 

 

 

<MAC 주소의 구조>

 

MAC 주소 (Media Access Control Address)

  • 이더넷의 물리적인 주소
  • 전 세계에서 유일한 번호
  • 각 랜 카드마다 MAC주소 존재
  • 48비트(6바이트)로 이루어져 있음
    • 앞쪽 24비트 => 랜 카드를 만든 제조사 번호
    • 뒤쪽 24비트 => 제조사가 붙인 일련 번호

 

 

프레임

 

이더넷 프레임

  • 이더넷 헤더 + 데이터 + 트레일러의 구조
  • OSI 모델의 데이터 링크 계층, TCP/IP 모델의 네트워크 계층에서 데이터 캡슐화한 결과물
    • 데이터에 이더넷 헤더와 트레일러를 붙임
      • 이더넷 헤더
        • 목적지 MAC주소(6) + 도착지 MAC주소(6) + 유형(상위계층 프로토콜의 종류)(2바이트)로 구성
        • 총 6+6+2 = 14바이트로 구성됨
        •  이더넷 헤더에 상위 계층의 프로토콜 종류를 식별하는 번호가 들어간다는 것을 기억할 것!
      • 트레일러
        • FCS(Frame Check Sequence)
        • 데이터 전송 도중 오류 발생 확인 용도
    • 프레임 비트열을 물리 계층에서 전기 신호로 변환하여 네트워크를 통해 전송하는 것
    • 허브는 받은 데이터를 모든 송신한 컴퓨터를 제외한 모든 컴퓨터로 보낸다는 단점 존재
      • => MAC주소를 추가하여 각 컴퓨터는 자신의 MAC주소와 다를 경우 데이터 파기
      • 데이터를 받은 컴퓨터는 역캡슐화 진행
        • 물리 계층 - 전기 신호로 전송된 데이터를 비트열로 변환
        • 데이터 링크 계층 - 이더넷 헤더와 트레일러 분리

 

 

 

<스위치의 구조>

 

스위치

 

스위치

  • 랜을 구성할 때 사용하는 단말기 간 스위칭 기능이 있는 통신망 중계 장치
  • 컴퓨터에서 특정한 다른 단말기로 패킷을 보낼 수 있는 기능 존재(통신 효율 향상)
    • 허브의 한계점을 극복한 네트워크 장치
  • 데이터 링크 계층에서 동작
  • 레이어 2 스위치 or 스위칭 허브 라고도 불림
  • 내부에 MAC 주소 테이블 존재
    • 스위치의 포트 번호와 해당 포트에 연결 되어 있는 컴퓨터의 MAC주소가 등록되는 데이터 베이스
    • 스위치의 전원을 켠 상태에서는 아무것도 등록되어 있지X
    • MAC 주소 학습 기능
      • 컴퓨터에서 목적지 MAC주소가 추가된 프레임(데이터)가 전송되면, MAC 주소 테이블을 확인하고 테이블에 MAC 주소가 등록되어 있지 않으면, MAC주소와 포트를 등록
    • 플러딩(flooding) 발생 가능
      • 스위치가 수신 포트 이외의 모든 포트에서 데이터를 송신하는 것(허브의 단점)
      • when?
        • 받은 프레임의 도착지 MAC 주소가 MAC 주소 테이블에 등록되어 있지 않은 경우
    • MAC 주소 필터링
      • 스위치에서 MAC 주소를 기준으로 목적지를 선택하는 것

 

 

 

<데이터가 케이블에서 충돌하지 않는 구조>

 

전이중 통신

  • 송신과 수신이 양쪽에서 동시에 이루어지는 양방향 통신
  • 데이터의 송신과 수신을 동시에 수행하는 통신 방식
  • EX) 전화 회선
  • 서로 다른 회선이나 주파수를 이용하여 데이터 신호가 충돌되는 상황 방지
  • 스위치 => 전이중 통신 방식 사용 => 충돌X => 현재 네트워크 표준
  • 스위칭 허브
    • 랜 카드와 허브 간의 동시 송수신이 가능해짐

 

 

 

반이중 통신

  • 회선 한 개로 송신과 수신을 번갈아가며 수행하는 통신 방식
  • 허브는 반이중 통신 방식 사용 => 충돌 발생 가능
    • 충돌 도메인 - 충돌 발생시 영향을 미치는 범위
    • 허브의 충돌 도메인 - 접속 되어 있는 모든 컴퓨터
    • 스위치의 충돌 도메인 - 해당 컴퓨터 (충돌이 발생되지는 않지만 따져본다면)
    • 충돌 도메인의 범위가 넓을수록 네트워크 지연
    • 충돌 도메인의 범위를 좁히는 것이 중요

 

 

 

 

ARP (Address Resolution Protocol)

  • 목적지 컴퓨터의 IP주소를 이용하여 MAC 주소를 찾기 위한 프로토콜
  • 네트워크 계층 주소와 데이터 링크 계층 주소 사이의 변환을 담당하는 프로토콜
  • IP 주소를 물리 주소인 MAC 주소로 변환하는데 사용
  • 이더넷 프레임 전송을 위해서는 목적지 컴퓨터의 MAC 주소를 지정해야함
  • MAC 주소를 모를 경우, ARP 요청 -> ARP 응답을 통해 MAC 주소를 알 수 O
  • ARP 요청
    • 목적지 MAC 주소를 모를 경우 알아내기 위해 네트워크에 브로드캐스트 패킷 요청
  • ARP 응답
    • ARP요청에 대해 지정된 IP 주소를 가진 컴퓨터는 MAC 주소를 응답으로 보냄
  • ARP 테이블
    •  MAC 주소와 IP 매핑 정보가 담긴 테이블
    • 출발지 컴퓨터에서는 MAC 주소를 얻은 후, 매핑 정보를 메모리에 보관
    • 데이터 통신시, 자신의 컴퓨터에 보관된 ARP 테이블을 참고하여 전송
    • IP 주소 변경시, MAC 주소도 함께 변경되므로 보존기간을 정하여 그 기간에만 보관
      • 보존 기간 - ARP 캐시로 지정
        • 가장 최근에 변환한 IP 대 MAC 주소를 보관하고 있는 램의 한 영역
      • 삭제 후 다시 ARP 요청 반복 -

 

 

<이더넷 규격>

이더넷 규격

 

  • 규격 이름 = 통신 속도 + 전송 방식 + 케이블 종류 / 길이
  • BASE: BASEBAND라는 전송 방식
  • 하이픈(-) 뒤 => 케이블 종류 / 길이
    • 동축 케이블 => 100미터 단위로 표시
    • EX) 10BASE5 => 최대 500M
    • 하이픈 뒤의 T => UTP 케이블을 뜻함