CS
[네트워크] 모두의 네트워크 : 데이터 링크 계층 - 랜에서 데이터 전송하기
개발자 조이
2024. 8. 7. 22:51
728x90
반응형
12 데이터 링크 계층의 역할과 이더넷
데이터 링크 계층
- 네트워크 장비 간에 신호를 주고받는 규칙을 정하는 계층
이더넷
- 랜에서 데이터를 정상으로 주고받기 위한 규칙
- 허브와 같은 장비에 연결된 컴퓨터와 데이터를 주고 받을 때 사용
- 보내려는 데이터에 목적지 정보를 추가하여 전송하면 목적지 이외의 컴퓨터는 데이터를 받더라도 무시함
- 여러 컴퓨터가 동시에 데이터를 전송해도 충돌이 일어나지 않는 구조로 되어있다
* 충돌 : 데이터를 한 번에 하나만 전송할 수 있는 채널에 전송 장치 두 개가 같은 시점에 패킷을 보낼 때 일어나는 데이터 충돌 - CSMA/CD (= Carrier Sense Multiple Access with Collision Detection)
- 데이터가 동시에 케이블을 지나가지 않도록 (충돌하지 않도록) 데이터를 보내는 시점을 늦추는 방식
- CS : 데이터를 보내려고 하는 컴퓨터가 케이블에 신호가 흐르고 있는지 아닌지를 확인한다
- MA : 케이블에 데이터가 흐르고 있지 않다면 데이터를 보내도 좋다
- CD : 충돌이 발생하고 있는지를 확인한다
- 예전에 사용하던 방식이고, 효율이 좋지 않아 요새는 거의 사용하지 않는다
13 MAC 주소의 구조
MAC 주소
- 랜카드에는 MAC 주소라는 번호가 있다
- 제조할 때 새겨지기 때문에 물리 주소라고도 부르며, 전 세계에서 유일한 번호로 할당된다
- 48비트 숫자로 구성, 앞쪽 24비트는 랜 카드를 만든 제조사 번호, 뒤쪽 24비트는 랜 카드에 붙인 일련번호
→ ex) 00-23-AE-D9-7A-9A
MAC 주소를 사용한 통신
- OSI 모델에서는 데이터 링크 계층에서, TCP/IP 모델에서는 네트워크 계층에서 이더넷 헤더와 트레일러를 붙인다
- 프레임 : 이더넷 헤더와 트레일러가 추가된 데이터
- 네트워크를 통해 프레임이 전송되는 것이다
- ex. 컴퓨터 1에서 컴퓨터 3으로 데이터를 전송한다면? (포트는 1~5)
- 컴퓨터 1은 이더넷 헤더에 데이터 목적지인 컴퓨터 3의 MAC 주소와 자신의 MAC 주소를 넣고 데이터를 전송 (캡슐화)
→ 데이터 링크 계층에서 이더넷 헤더와 트레일러를 추가하여 프레임을 만들고 → 물리 계층에서 프레임 비트열을 전기 신호로 변환하여 네트워크로 전송 - 허브는 컴퓨터 1이 보낸 데이터를 포트 1에서 수신하고 2~5의 모든 포트로 전송
- 데이터는 컴퓨터 2~5에 전송되지만, 컴퓨터 2, 4, 5는 목적지 MAC 주소가 자신의 MAC 주소와 다르기 때문에 데이터를 파기
- 컴퓨터 3은 자신의 MAC 주소가 컴퓨터 1이 보낸 목적지 MAC 주소와 같으므로 데이터 수신
- 컴퓨터 3에서 물리 계층에서 전기 신호로 전송된 데이터를 비트열로 변환 → 데이터 링크 계층에서 이더넷 헤더와 트레일러 분리(역캡슐화) → 데이터 수신
- 컴퓨터 1과 2가 동시에 컴퓨터 3에 데이터를 전송한다면, CSMA/CD 방식으로 충돌을 방지 → 충돌이 감지되면 컴퓨터 2는 잠시 대기한 후 데이터를 다시 전송
- 컴퓨터 1은 이더넷 헤더에 데이터 목적지인 컴퓨터 3의 MAC 주소와 자신의 MAC 주소를 넣고 데이터를 전송 (캡슐화)
이더넷 헤더
- 목적지의 MAC 주소(6바이트) + 출발지 MAC 주소 (6바이트) + 유형(2바이트) = 총 14바이트
- 이더넷 유형
- 이더넷으로 전송되는 상위 계층 프로토콜의 종류를 식별하는 번호가 들어감
- IPv4, ARP, RARP, SNMP over Ethernet, IPv6
- 트레일러
- 데이터 전송 도중에 오류가 발생하는지 확인하는 용도로 사용
- FCS (Frame Check Sequence)라고도 함
14 스위치의 구조
스위치(switch)
- 데이터 링크 계층에서 동작
- 레이어 2 스위치 또는 스위칭 허브라고 불린다
- 내부에 MAC 주소 테이블(MAC address table)이 있다
: MAC 주소 테이블 : 스위치의 포트 번호와 해당 포트에 연결되어 있는 컴퓨터의 MAC 주소가 등록되는 데이터베이스 - MAC 주소 학습 기능 : 처음에는 MAC 주소 테이블에 아무것도 등록되어 있지 않다가, 컴퓨터에서 프레임 데이터가 전송되면 테이블에 해당 출발지 MAC 주소가 등록되어 있지 않을 경우 MAC 주소를 포트와 함께 등록 (포트와 연결되어있는 컴퓨터의 MAC 주소를 저장)
- ex1. 컴퓨터 1에서 컴퓨터 3에 데이터를 전송한 시점에는 아직 컴퓨터 3의 목적지 MAC 주소가 MAC 주소 테이블에 등록되어 있지 않아서, 송신 포트 1 이외의 포트인 2~5에 프레임 데이터가 전송됨 → 플러딩 (flooding, 홍수)
- ex2. 만약 컴퓨터 3의 MAC 주소가 MAC 주소 테이블에 등록되어 있다면, 컴퓨터 2, 4, 5에는 데이터가 전송되지 않고 컴퓨터 3에만 데이터가 전송됨
- 위와 같이 MAC 주소를 기준으로 목적지를 선택하는 것 = MAC 주소 필터링 → 불필요한 데이터를 네트워크에 전송하지 않게 됨
15 데이터가 케이블에서 충돌하지 않는 구조
전이중 통신 방식 (full-duplex communication)
- 데이터의 송수신을 동시에 통신하는 방식
- 데이터를 동시에 전송해도 충돌하지 않음
- C1과 C2를 직접 랜 케이블로 연결할 경우, 8개 즉 선을 4쌍 사용하기 때문에 전이중 통신 방식
반이중 통신 방식
- 회선 하나로 송신과 수신을 번갈아가면서 통신하는 방식
- 데이터를 동시에 전송할 경우 충돌이 발생
- 허브는 내부에 송수신이 나누어져 있지 않기 때문에, C1과 C2를 허브로 연결할 경우 동시에 데이터를 보낼 때 충돌이 일어남, 허브를 사용할 경우 회선 하나를 송신과 수신이 번갈아 사용하여 반이중 통신 방식 사용
→ 허브를 사용하면 충돌이 생기면서 네트워크 지연이 발생하기 때문에, 최근에는 네트워크로 스위치를 사용하는 것이 표준
(스위치는 전이중 통신 방식 가능)
충돌 도메인
- 충돌이 발생할 경우 그 영향이 미치는 범위를 충돌 도메인(collision domain)이라고 함
- 허브의 경우 연결되어 있는 컴퓨터 전체가 하나의 충돌 도메인이 됨 (= 충돌의 영향이 모든 컴퓨터에 미친다)
- 스위치의 경우 전이중 통신 방식이기 때문에 충돌이 일어나지 않고, 충돌 도메인의 범위도 좁다
- 충돌 도메인의 범위가 넓을수록 네트워크가 지연된다
ARP (Address Resolution Protocol)
- 목적지 컴퓨터의 IP 주소를 이용하여 MAC 주소를 찾기 위한 프로토콜 = 주소 변환 프로토콜
- 네트워크 계층 주소와 데이터 링크 계층 주소 사이의 변환을 담당하는 프로토콜
- 이더넷 프레임을 전송하려면 목적지 컴퓨터의 MAC 주소를 지정해야 함
- 출발지 컴퓨터가 목적지 주소를 모를 경우 MAC 주소를 알아내기 위해 네크워크에 브로드캐스트를 함 → APR 요청
- 이 요청에 대해 지정된 IP 주소를 가진 컴퓨터는 MAC 주소를 응답으로 보냄 → APR 응답
- 이를 통해 출발지 컴퓨터는 MAC 주소를 얻어 이더넷 프레임을 만들 수 있다
- 출발지 컴퓨터는 MAC 주소를 얻은 후 MAC 주소와 IP 주소의 매핑 정보를 메모리에 보관 → ARP 테이블
- 이후 데이터 통신은 자신의 컴퓨터에 보관된 ARP 테이블을 참고하여 전송
- IP 주소가 변경되면 해당 MAC 주소도 함께 변경되므로 제대로 통신 불가
- 그래서 ARP 테이블에서는 보존 기간을 ARP 캐시로 지정하고 일정 시간 후 삭제하고 다시 ARP 요청을 해야함
16 이더넷의 종류와 특징
이더넷 규격
- 케이블 종류나 통신 속도에 따라 다양한 규격으로 분류
- [통신 속도 - 전송 방식 - 케이블]의 형태로 규격 이름이 지어짐
- ex. 10BASE-T
- 통신 속도 : 10Mbps
- 전송 방식 : BASEBAND
- 케이블 종류 : T
- ex. 10BASE5
- 통신 속도 : 10Mbps
- 전송 방식 : BASEBAND
- 케이블 종류 : 동축케이블, 케이블 최대 길이 500m
- 동축 케이블은 케이블의 최대 길이를 100m 단위로 표시 / UTP 케이블은 하이픈과 케이블 종류를 표시
- ex. 10BASE-T
- 최근 컴퓨터의 랜 포트는 100BASE-T가 일반적, 10GBASE-T도 많아지는 중 (2018년 6월 기준)
728x90
반응형