2023. 9. 21. 15:19ㆍSWLUG/Network
[ 데이터 링크 계층 개요 ]
데이터 링크 계층이란?
데이터 링크 계층은 OSI 모델의 하위 2계층이며, 데이터를 전송하는 기능과 절차를 제공하는 계층이다.
인접한 하위계층인 물리계층에서 일어날 수 잇는 에러를 감지하고 수정하는 역할을 한다.
- 물리적 주소 설정
- 흐름제어
- 에러제어
데이터링크 계층의 대표적인 네트워크 기기는 물리적인 주소를 통해 데이터를 전송하는 스위치가 있으며,
주요 프로토콜로는 이더넷, CSMA/CD 그외 프로토콜 등이 있다.
데이터링크 계층은 2개의 부계층으로 나뉜다.
각각 LLC(Logical Link Control), MAC(Media Access Control)로 나눌 수 있다.
- LLC는 논리적 연결제어로 데이터 링크계층의 기본 기능을 다루는 계층이다.
- MAC은 매체 접근 제어로, 물리계층과 직접적으로 관련이 있는 프로토콜이 이에 속한다.
MAC계층에는 여러 프로토콜이 존재하는데 그 예시로 이더넷, 토큰링, 토큰 버스 등이 있다.
LCC | ||
Ethernet MAC | Token Ring MAC | Tocken Bus MAC |
[ IEEE 표준 ]
이와 같이 MAC 계층은 물리적으로 매체의 연결 방식을 제어하고 1계층인 물리계층과 연결하는 역할을 한다.
데이터링크 계층에서는 이더넷 헤더와 트레일러의 캡슐화와 역캡슐화가 일어나는 곳이다.
이 데이터 단위를 프레임이라고 한다.
[ 이더넷 ]
이더넷이란?
OSI 7계층의 두번째 계층인 데이터링크 계층의 프로토콜이자TCP/IP 4계층의 맨 아래 계층인 네트워크 인터페이스층의 프로토콜이다.
- 데이터를 전송하는 프로토콜, 네트워크를 구성하는 기술 방식 유선 네트워크 CSMA/CD 기술 사용 IEEE 802 위원회에서 표준으로 지정, ISO에서 국제 표준으로 지정
- 유선 네트워크 CSMA/CD 기술 사용
- Standard Ethernet : 10Mbps
- Fast Ethernet : 100Mbps
- Gigabit Ethernet : 1 Gbps
- Ten-Gigabit Ethernet : 10Gbps
✅ 참고
✓ Gigabit Ethernet
✓ 데이터의 전송속도가 1Gbps로 상향
✓ 기존의 이더넷과 호환
✓ 스타형(성형) 네트워크 토폴로지 이용
[ 이더넷 프레임과 이더넷 헤더 ]
이더넷 헤더
✓ 목적지 MAC주소, 출발지 MAC주소,타입 등의 정보가 들어간다.
✓ 타입 : 상위 프로토콜 종류 구분
이더넷 프레임 (데이터 링크계층에서의 주요 데이터 단위)
✓ 캡슐화 시 이더넷 헤더와 트레일러 부착 (트레일러는 FCS라고도 불리는데 이는 오류가 발생하는 지 체크하는 용도로 사용됨)
✓ 역캡슐화 시 이더넷 헤더와 트레일러 제거
프레임을 주고받는 과정에서 목적지 MAC 주소, 출발지 MAC주소를 참조하는 과정이 일어난다.
어떤 MAC주소를 가지고 있는지에 따라 어떤 기기로 프레임을 전송해야하는지 알 수 있다.
ㅆ
TypeCode | |
Ipv4 | 0 x 0800 |
Ipv6 | 0 X 86DD |
ARP | 0 X 0806 |
자주 사용되는 이더넷 헤더의 타입 코드값은 위와 같다.
이 타입 코드는 상위계층의 프로토콜을 구분해주는 역할을 한다.
이더넷 프레임의 크기는 위와 같습니다.
이더넷 헤더를 확대했을 때, MAC 주소의 값은 각각 6바이트 , 타입은 2바이트로 총 14바이트이다.
이더넷 환경에서의 MTU 기본 값은 1500바이트, 트레일러는 4바이트로 이더넷 프레임의 최대 크기는 1518바이트라고 볼수있다.
[ MAC 주소 ]
이더넷에서 인터페이스를 특정하기 위한 48비트의 물리적인 주소이다. (16진수)
허브 혹은 스위치로 pc1,2,3,4가 연결되어있다고 가정할 때, 각 기기 장치를 특정할 수 있는 물리적인 주소가 필요하다.
이때 사용되는 주소가 MAC주소이다.
[ 참고 ]
MAC 주소는 물리적인 주소 ≠ IP주소는 논리적인 주소
MAC주소 = 물리 주소 = 하드웨어 주소
MAC주소 자체가 제조할때 새겨지는 전 세계에서 유일한 번호이다.
중복되지 않도록 규칙이 정해져있다.
앞쪽은 랜카드 제조사 번호 , 뒤쪽은 제조사가 붙인 일련 번호이다.
두 대이상의 PC가 서로 데이터를 전송하는데 있어서 MAC주소가 반드시 필요하다.
스위치가 동작하는 과정에서 MAC주소에 관한 정보를 저장하는 MAC주소 테이블을 이용한다.
즉, 데이터가 전송하는 과정에서 목적지와 출발지가 어느 주소인지를 식별하게 하는 기능을 한다.
MAC | IP | |
개념 | 미디어 접속 제어 주소 | 인터넷 프로토콜 주소 |
목적 | 장치의 실제 주소 식별(물리적 주소) | 인터넷에서의 기기간 연결을 식별(논리적 주소) |
주소 표기와 크기 | 16진수 표기 ex) 3C:22:FB:AC:17:2B |
Ipv4 :10진수(혹은 2진수) 32비트 Ipv6 :16진수 128비트 |
공급자 | NIC카드 제조업체에서 지정 | 네트워크 관리자 또는 ISP(Internet service Provider) |
[ 스위치 ]
스위치란?
- 스위치는 스위치 허브라고도 불리는데 통상 스위치라고 불린다.
- 2단원 물리계층인 허브 (더미허브) 와 외관상 큰 차이가 없다는 특징이 있다.
- 스위치는 연결된 장소의 물리적인 주소를 구분해 해당주소가 있는 장치로 데이터를 보내주는 장비이다.
- 스위치를 통해 각 장비를 연결함으로써, 이더넷을 이용한 하나의 네트워크를 구성하는 것이 가능해진다.
- 예를들어, pc1,2,3,4가 있을 때, pc1이 pc3에게 데이터를 보낸다고 가정했을 때, 스위치는 스위칭이라는 기능을
- 이용해 전송할 장치에 연결된 포트로만 데이터를 전송한다.
- 데이터를 전송하는 이 과정에서 MAC주소 테이블을 이용한다.
- 이러한 방식(point to point) 덕에 스위치는 속도저하가 잘 일어나지 않는다는 장점이 있다.
스위치의 동작 순서 (과정 자세히)
Pc A와 Pc B는 스위치 1에 Pc C와 Pc D는 스위치2에 연결되어 있다.
이때 Pc A가 Pc C로 데이터를 보내고 싶어한다고 가정해보자.
해당 이더넷 프레임의 이더넷 해더에는 출발지 MAC주소가 A , 목적지 MAC주소가 C로 설정된 후 전송된다.
(실제로는 전기신호의 형태로 전송될 것이다.)
플러딩
데이터를 전송받은 스위치는 데이터를 보낸 출발지 mac 주소를 mac주소 테이블에 표기하는데
1번 포트로 데이터를 전송받은 스위치는 mac주소 테이블에 포트는 1번 포트, 출발지 mac주소는 A로 저장한다.
스위치 1은 전송받은 포트를 제외한 다른 모든 연결된 포트로 데이터를 전송한다.
이를 플러딩이라고 한다.
플러딩은 전송받은 포트를 제외한 다른 모든 포트로 전송하는 것을 말한다.
* 목적지가 아닌데 전송된 경우 데이터를 파기한다.
포트 3으로 전송받은 스위치 2는 그 정보를 mac주소 테이블에 저장한다.
이제 전송받은 포트 3을 제외한 모든 포트로 데이터를 전송한다.
마찬가지로 목적지 mac주소가 아닌 곳에 전달된 데이터는 파기된다.
데이터를 전송받은 C는 응답으로 A에게 데이터를 전송한다.
이때 데이터 전송의 출발지와 목적지는 반대로 된다.
해당 데이터는 스위치 2에게 전송된다.
데이터를 전송받은 스위치2는 포트 1로부터 출발지 mac주소가 C인 데이터를 받았으므로
이를 MAC주소 테이블에 저장한다.
이때 C가 보낸 데이터의 목적지 MAC주소는 A인데, 출발지 MAC주소가 A인 데이터가 포트 3으로 부터
왔다는 아까의 기록이 있다.
이를 통해 C가 보낸 데이터는 다시 포트 3으로 되돌아가야함을 MAC주소 테이블을 통해 알 수 있다.
따라서 스위치2는 포트 1로부터 받은 데이터를 다시 포트3으로 보내준다.
이 과정에서는 플러딩과 다르게 MAC주소 테이블과 비교한 후 D에게 전송하지 않는데 이를 필터링 이라고 부른다.
반대로 MAC주소 테이블과 비교한 후 일치하면 해당 포트로 전송하는 과정을 포워딩이라고 한다.
[ 반이중통신 & 전이중통신 ]
반이중 통신 : 데이터의 송수신을 번갈아가며 하는 방식
초기 이더넷은 반이중 통신이었다.
동시에 송수신이 이루어지는 것이 불가능하다.(충돌이 일어남)
전이중 통신 : 데이터의 송수신을 동시에 하는 방식
현재 이더넷은 전이중 통신 사용이 가능하다.
[ CSMA / CD ]
Review
초기 이더넷 규격은 동축 케이블의 버스형이었다.
버스형인 상태에서 여러 대의 기기가 데이터를 동시에 전송하면 충돌이 일어난다.
이러한 버스형 형태로 여러대의 기기가 동시에 데이터를 전송할 수 없다.
이러한 상황을 고려하여 나온 메커니즘이 바로 CSMA / CD 이다.
반송파 감지, 다중 접속, 충돌 탐지라는 말을 표현한 것이다.
아래는 CSMA / CD 매커니즘 흐름을 보여준다.
CS(Carrier Sense) : 통신 회선이 사용중인가?
: 현재 케이블이 사용중인지 감지한다. 만약 케이블에 트래픽이 없음을 감지한다면 한 컴퓨터에서는 데이터를 전송한다.
이렇게 데이터를 전송하면서 충돌이 감지되지 않으면 데이터가 성공적으로 전송된 것이다.
MA(Multiple Access) : 통신 회선이 비어있는가?
CD(Collision Detection) : 충돌을 감지하는가?
▶만약 데이터를 전송하면서 충돌이 감지되었을 경우는 어떨까?
서로다른 두대의 컴퓨터가 데이터를 전송하는 도중 충돌이 발생할 경우 충돌을 감지하게 된다.
충돌을 감지한 컴퓨터는 그 즉시 데이터 전송을 중지하고 각 컴퓨터에서는 랜덤 시간이 설정되어 기다린 후
데이터를 전송한다.
각 컴퓨터의 랜덤 시간은 또 다시 충돌하는 것을 방지하기 위해 서로 다른 대기시간으로 설정이 된다.
'SWLUG > Network' 카테고리의 다른 글
5주차_Network : 응용 계층 & 무선LAN (0) | 2023.11.04 |
---|---|
4주차_Network : 전송 계층 (1) | 2023.10.28 |
3주차_Network : 네트워크 계층 (0) | 2023.09.30 |
1주차_Network.2 : 물리 계층 (0) | 2023.09.19 |
1주차_Network.1 : 네트워크 개요 (0) | 2023.09.19 |