이번 포스팅에서는 데이터 링크에서 일어나는 일들에 대해 다루어보고자 한다.
<데이터 링크 계층의 역할과 이더넷>
데이터 링크
- 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 요청 반복 -
- 보존 기간 - ARP 캐시로 지정
<이더넷 규격>
- 규격 이름 = 통신 속도 + 전송 방식 + 케이블 종류 / 길이
- BASE: BASEBAND라는 전송 방식
- 하이픈(-) 뒤 => 케이블 종류 / 길이
- 동축 케이블 => 100미터 단위로 표시
- EX) 10BASE5 => 최대 500M
- 하이픈 뒤의 T => UTP 케이블을 뜻함
'네트워크' 카테고리의 다른 글
모두의 네트워크 - 6장. 전송 계층: 신뢰할 수 있는 데이터 전송하기 (0) | 2023.01.23 |
---|---|
모두의 네트워크 - 5장. 네트워크 계층: 목적지에 데이터 전달하기 (0) | 2023.01.22 |
모두의 네트워크 - 3장. 물리계층: 데이터를 전기 신호로 변환하기 (0) | 2023.01.20 |
모두의 네트워크 - 2장. 네트워크의 기본 규칙 (0) | 2023.01.18 |
모두의 네트워크 - 1장. 네트워크 첫 걸음 (0) | 2023.01.17 |