호우동의 개발일지

Today :

article thumbnail

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

  • 랜에서 데이터를 주고받으려면 데이터 링크 계층의 기술이 필요

 


이더넷

  • 이더넷(Ethernet) : 데이터 링크 계층 규칙 중 일반적으로 가장 많이 사용되는 규칙
    • 데이터 링크 계층 규칙 : 네트워크 장비 간에 신호를 주고받는 규칙

  • 이더넷은 랜에서 적용되는 규칙을 뜻함
    → 허브와 같은 장비에 연결된 컴퓨터와 데이터를 주고받을 때 사용

  • 특정 컴퓨터에만 데이터를 보내기 위해, 보내려는 데이터에 목적지 정보를 추가
    → 목적지 이외의 컴퓨터는 데이터를 받더라도 무시하게 됨

  • 여러 컴퓨터가 동시에 데이터를 전송해도 충돌하지 않는 구조로 되어있음
    데이터를 보내는 시점을 늦춤(CSMA/CD)

 


CSMA/CD

  • 반송파 감지 다중 접속 및 충돌 탐지의 약어

중간에 데이터가 흐르고 있는지 확인한다.

  • 아래의 규칙들 덕분에 충돌이 일어나지 않음
    • CS → 데이터를 보내려고 하는 컴퓨터가 케이블에 신호가 흐르는지 확인한다는 규칙
    • MA → 케이블에 데이터가 흐르고 있지 않다면 데이터를 보내도 좋다는 규칙
    • CD → 충돌이 발생하고 있는지 확인한다.

  • 지금은 효율이 좋지 않다는 이유는 CSMA/CD를 거의 사용하지 않음
    → 대신 스위치(switch)를 사용

 

 


MAC 주소의 구조

  • 랜 카드에는 MAC 주소(물리 주소)라는 번호가 정해져 있음

  • MAC 주소는 전 세계에서 고유한 번호(유일한 번호)
    • 48비트 숫자로 구성
      • 앞쪽 24 비트 → 랜 카드를 만든 제조사 번호
      • 뒤쪽 24 비트 → 제조사가 랜 카드에 붙인 일련번호

  • 각 계층에서 헤더를 붙이는데, 데이터 링크 계층에서는 이더넷 헤더트레일러를 붙인다.
    • OSI 모델에서는 데이터 링크 계층, TCP/IP 모델에서는 네트워크 계층에 해당
    • 트레일러는 FCS 즉, 데이터 전송 도중 오류가 발생하는지 확인하는 용도로 사용

  • 이더넷 헤더와 트레일러가 추가된 데이터를 프레임이라고 함
    → 네트워크를 통해 프레임이 전송된다.

 


이더넷 헤더

이더넷 헤더 그림
이더넷 헤더 구조

  • 목적지의 MAC 주소(6) + 출발지 MAC 주소(6) + 유형(2)_= 총 14바이트로 구성
    • 이더넷 유형(Ethernet type) : 이더넷으로 전송되는 상위 계층 프로토콜의 종료
      • 프로토콜을 식별하는 16진수 번호가 들어간다.
        • 프로토콜 : IPv4, ARP, IPv6, RARP …

 


이더넷 헤더를 이용한 통신

  • 아래 그림처럼 허브에 연결된 컴퓨터의 MAC 주소는 아래와 같다.

허브에 연결된 컴퓨터의 MAC 주소
허브에 연결된 컴퓨터의 MAC 주소

 

  • 컴퓨터 1에서 컴퓨터 3으로 데이터를 전송하는 과정
    1. 컴퓨터 1은 이더넷 헤더에 컴퓨터 3의 MAC 주소(목적지 MAC 주소)
      자신의 MAC 주소 (출발지 MAC 주소) 정보를 넣고 데이터를 전송
      • 송신 측(컴퓨터 1)에서 캡슐화가 발생
        • 데이터 링크 계층에서 프레임 만듦
          → 물리 계층에서 이 프레임 비트열을 전기 신호로 변환하여 네트워크를 통해 전송
          캡슐화


    2. 허브는 컴퓨터 1이 보낸 데이터를 모든 포트로 전송

    3. 컴퓨터 2,4,5는 목적지 MAC 주소가 자신의 MAC 주소와 다르기 때문에 데이터를 파기
      하지만, 컴퓨터 3은 목적지 MAC 주소와 같기 때문에 데이터를 수신
      • 해당 과정에서 역캡슐화가 일어나 이더넷 헤더와 트레일러를 분리한 후 데이터를 수신
  • 두 곳에서 같은 주소로 데이터를 동시에 보낼 경우
    • 충돌 방지를 위해 CSMA/CD 방식이 사용
      • 충돌이 감지되면 충돌한 컴퓨터 중 하나는 잠시 대기하고 데이터를 다시 전송

 


이더넷의 종류와 특징

이더넷 규격

이더넷 규격 표
표준 이더넷 규격표

 

BASE의 뜻

  • 10 BASE-T를 대표로 설명
    • 10 → 통신속도 : 10 Mbps를 나타냄
    • BASE → 전송방식 : BASEBAND라는 전송 방식을 나타냄
    • T → 케이블 : 케이블 종류를 나타냄

  • 하이픈(-)
    • 하이픈 뒤는 케이블 길이나 케이블의 종류를 나타냄
    • 동축 케이블은 케이블의 최대 길이를 100미터 단위로 표시
      • 10 BASE5 → 케이블의 최대 길이가 500미터라서 5라고 표시

  • UTP 케이블은 케이블 종류를 표시
    • 10 BASE-T는 UTP 케이블을 뜻하는 것

 

 


스위치 구조

  • 스위치는 데이터 링크 계층에서 동작
  • 레이어 2 스위치 또는 스위칭 허브라고도 불림

 


MAC 주소 테이블 (address table)

  • 스위치의 포트 번호와 해당 포트에 연결되어 있는 컴퓨터의 MAC 주소가 등록되는 데이터베이스
    • 처음 상태에는 MAC 주소 테이블에 아무것도 등록되어 있지 않음
      MAC 주소 학습 기능을 통해 MAC 주소를 포트와 함께 등록
      1. 컴퓨터에서 목적지 MAC 주소가 추가된 프레임 데이터가 전송
      2. MAC 주소 테이블을 확인
      3. 출발지 MAC 주소가 등록되어 있지 않으면 MAC 주소를 포트와 함께 등록

MAC 주소 테이블을 통한 데이터 전송

  • 컴퓨터 1에서 컴퓨터 3으로 데이터를 전송한다고 가정.
    1. 처음 상태에서는 MAC 주소 테이블에는 아무것도 등록되어 있지 않음
  1. 송신 포트를 제외한 나머지 포트 전부에 데이터(프레임)가 전송(플러딩)
    ← 컴퓨터 3의 목적지 MAC 주소가 MAC 주소 테이블에 등록되어 있지 않음

  • MAC 주소 테이블에 컴퓨터 3의 주소가 등록되어 있는 경우
    • 컴퓨터 2,4,5에는 데이터가 전송되지 않고 컴퓨터 3에만 데이터 전송

  • MAC 주소를 기준으로 목적지를 선택하는 MAC 주소 필터링 방식 사용
    → 불필요한 데이터를 네트워크를 전송하지 않게 됨

 

 


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


전이중 통신과 반이중 통신

  • 전이중 통신 : 데이터의 송수신을 동시에 통신하는 방식
    • 데이터를 동시에 전송해도 충돌이 발생하지 않음
      • 두 컴퓨터를 직접 랜 케이블로 연결하는 것(크로스 케이블 방식으로)
      • 스위치는 충돌이 일어나지 않는 구조로 되어있기 때문에 전이중 통신 방식
        • 최근에는 네트워크로 스위치를 사용하는 것이 표준 방식

  • 반이중 통신 : 회선 하나로 송신과 수신을 번갈아가면서 통신하는 방식
    • 데이터를 동시에 전송하면 충돌이 발생
    • 예 : 허브 사용

 


충돌 도메인

  • 충돌 도메인(collision domain) : 충돌이 발생할 때 영향을 미치는 범위
    • 허브의 경우, 연결되어 있는 컴퓨터 전체가 하나의 충돌 도메인
      → 충돌의 영향이 모든 컴퓨터에 미침

  • 스위치의 경우, 충돌 도메인은 컴퓨터끼리 독립적임
    ← 전이중 통신 방식이기 때문에 충돌이 일어나지 않기 때문
    • 충돌 도메인의 관점에서, 스위치를 사용하면 통신 효율이 높아진다.

  • 충돌 도메인의 범위가 넓을수록 네트워크가 지연

 


ARP

  • 목적지 컴퓨터의 IP 주소를 이용하여 MAC 주소를 찾기 위한 프로토콜
    • 이더넷 프레임을 전송하려면 목적지 컴퓨터의 MAC 주소를 지정해야 하기 때문

  • ARP 요청(request) : MAC 주소를 알아내기 위해 네트워크에 브로드 캐스트
    • 출발지 컴퓨터가 목적지 주소를 모르면 요청

  • ARP 응답(reply) : ARP 요청에 지정된 IP 주소를 가진 컴퓨터는 MAC 주소를 응답으로 보냄
    • ARP 요청에 지정된 IP주소를 가지고 있지 않은 컴퓨터는 응답 X
    • ARP 응답을 통해 출발지 컴퓨터는 MAC 주소를 얻고 이더넷 프레임을 만들 수 있음

  • 출발지 컴퓨터에서 MAC 주소를 얻은 후에 ARP 테이블을 메모리에 보관
    • ARP 테이블 : MAC 주소와 IP 주소의 매핑 정보
    • 이후 데이터 통신은 자신의 컴퓨터에 보관된 ARP 테이블을 참고하여 전송

  • IP주소가 변경되면 MAC 주소도 함께 변경됨으로 제대로 통신할 수 없음
    → ARP 테이블에서는 보존 기간을 ARP캐시로 지정하고
    일정 시간이 지나면 삭제하고 다시 ARP를 요청