[network] 모두의 네트워크 책 4장
“모두의 네트워크” 길벗 출판사 책을 읽고 정리한 내용이다.
4장 데이터 링크 계층 : 랜에서 데이터 전송하기
Lesson 12 데이터 링크 계층의 역할과 이더넷
두 번째 Data Link 계층
- 랜에서 데이터를 주고받기 위해 필요하다.
- 네트워크 장비 간에 신호를 주고받는 규칙을 정하는 계층
여기서 가장 많이 사용되는 규칙이 Ethernet(이더넷)
이더넷은 랜에서 적용되는 규칙으로 허브와 같은 장비에 연결된 컴퓨터와 데이터를 주고받을 때 사용한다.
이더넷 규칙에 따라 데이터에 목적지 정보를 추가해서 허브로 보내면
목적지 이외의 컴퓨터는 데이터를 받더라도 무시한다.
허브에서의 데이터 충돌
문제 : 여러대의 컴퓨터가 동시에 데이터를 보내면 서로 충돌할 수 있다.
해결책 : CSMA/CD 구조 사용(시점을 늦추는 방법)
- CS : 데이터를 보내려고 하는 컴퓨터가 케이블에 신호가 흐르고 있는지 아닌지를 확인한다.
- MA : 케이블에 데이터가 흐르고 있지 않다면 데이터를 보내도 좋다.
- CD : 충돌이 발생하고 있는지를 확인한다.
하지만 요즘에는 효율성 때문에 CSMA/CD를 사용하지 않고 대신 스위치를 사용한다.
Lesson 13 MAC 주소의 구조
랜카드는 비트열 (0과 1)을 전기 신호로 변환한다.
MAC 주소
- 랜카드에는 MAC 주소라는 것이 존재.
- 물리 주소로 전 세계에서 유일한 번호.
- 48 bit 숫자로 구성. 앞 24 bit는 랜카드를 만든 제조사 번호, 뒤 24 bit는 제조사가 랜 카드에 붙인 일련번호.
MAC 주소를 사용한 통신
데이터 링크 계층에서 이더넷 헤더와 트레일러를 붙임
-
- 이더넷 헤더
-
목적지 MAC 주소(6 바이트) + 출발지 MAC 주소(6 바이트) + 유형(2 바이트) = 14 바이트
- 이더넷 유형 : 이더넷으로 전송되는 상위 계층 프로토콜의 종류 -> 프로토콜 종류를 식별하는 번호가 들어간다.
-
트레일러 FCS : 데이터 전송 도중에 오류가 발생하는지 확인하는 용도
- 프레임 : 이더넷 헤더 + 데이터 + 트레일러 FCS
(목적지 + 출발지 + 유형 + 데이터 + 트레일러) 캡슐화를 통해 프레임 생성
-> 물리 계층에서 이 프레임 비트열을 전기 신호롤 변환
-> 네트워크를 통해 전송
-> 허브의 특정 포트로 수신
-> 나머지 모든 포트로 송신
-> 목적지 컴퓨터가 아닌 경우 : 목적지 MAC 주소 != 자신의 MAC 주소인 경우 데이터 파기
-> 목적지 컴퓨터인 경우 : 목적지 MAC 주소 = 자신의 MAC 주소인 경우 데이터 수신
-> 역캡슐화 진행 (전기 신호 -> 비트열 -> 이더넷 헤더와 트레일러 분리)
만약 두개의 컴퓨터가 동시에 특정 컴퓨터에 데이터를 전송하는 경우 : CSMA/CD 방식으로 잠시 대기후 전송
Lesson 14 스위치의 구조
- 데이터 링크 계층에서 동작 (L2)
- 레이어 2 스위치, 스위칭 허브라고 불림
스위치 내부에는 MAC 주소 테이블이 존재
MAC 주소 테이블은 스위치의 포트 번호와 해당 포트에 연결되어 있는 컴퓨터의 MAC 주소가 등록되어 있는 데이터베이스
MAC 주소 학습 기능
- MAC 주소 테이블에 아무것도 등록되어 있지 않음
- 컴퓨터에서 목적지 MAC 주소가 추가된 프레임이라는 데이터 전송
- MAC 주소 테이블 확인
- 출발지 MAC 주소가 등록되어 있지 않으면 MAC 주소를 포트와 함께 등록
- 목적지 MAC 주소가 등록되어 있지 않으면 송신 포트 이외인 포트에 데이터(프레임) 전송 : 플러딩 Flooding
- 목적지 MAC 주소가 등록되어 있으면 해당 컴퓨터에만 데이터 전송
MAC 주소 필터링 : MAC 주소를 기준으로 목적지를 선택하는 것. 불필요한 데이터를 네트워크에 전송하지 않게 된다.
Lesson 15 데이터가 케이블에서 충돌하지 않는 구조
2가지 통신 방식이 있다.
-
- 전이중 통신 방식
-
데이터의 송수신을 동시에 통신하는 방식. 데이터를 동시에 전송해도 충돌 발생 X
- 랜 케이블 연결 방식. 만약 컴퓨터 2대를 랜 케이블로 연결하면 4쌍의 선(8개)를 사용하기 때문에 전이중 통신 방식이다. 2개는 송신용, 2개는 수신용.
- 스위치
-
- 반이중 통신 방식
-
데이터의 송수신을 번갈아가면서 통신하는 방식. 데이터를 동시에 전송하면 충돌 발생 O
- 허브 내부에서는 송수신이 나누어져 있지 않기 때문에 동시에 데이터를 보내면 충돌 발생. 회선 하나로 송신과 수신을 번갈아 가면서 한다.
스위치는?
- 전이중 통신 방식
- 허브를 사용하면 충돌이 생기면서 네트워크 지연이 발생하기 때문에 최근에는 스위치를 사용하는 것이 표준이다.
전이중 통신(랜)
반이중 통신(허브)
전이중 통신(스위치)
충돌 도메인이란?
충돌이 발생할 때 그 영향이 미치는 범위.
만약 컴퓨터들이 허브로 연결되어 있으면 연결된 컴퓨터 전체가 하나의 충돌 도메인이 된다.
스위치의 경우 전이중 통신 방식이기 때문에 충돌 도메일의 범위도 각각의 컴퓨터로 범위가 적다.
충돌 도메인의 범위가 넓을수록 -> 네트워크가 지연된다.
ARP 프로토콜
Address Resolution Protocol
목적지 컴퓨터의 IP 주소를 이용하여 MAC 주소를 찾기 위한 프로토콜
-
ARP 요청 : 컴퓨터가 목적지 주소를 모를 경우 MAC 주소를 알아내기 위해 네트워크에 브로드캐스트를 하는 것이다.
-
ARP 응답 : 지정된 IP 주소를 가진 컴퓨터는 MAC 주소를 응답을 보낸다.
따라서 출발지 컴퓨터는 MAC 주소를 얻고 이더넷 프레임을 만들 수 있다.
- ARP 테이블 : 출발지 컴퓨터에서는 MAC 주소를 얻은 후 MAC 주소와 IP 주소의 매핑 정보를 메모리에 보관. 이후 데이터 통신은 자신의 컴퓨터에 보관된 ARP 테이블을 참고하여 전송
- 하지만 IP 주소가 변경되면 해달 MAC 주소도 함께 변경되므로 ARP 테이블은 보존 기간을 ARP 캐시로 지정하고 일정 시간이 지나면 삭제하고 다시 ARP 요청을 한다.
- ARP 캐시의 내용 확인 방법(윈도우) : arp -a
- ARP 캐시 강제 삭제(윈도우) : arp -d
Lesson 16 이더넷의 종류와 특징
이더넷은 케이블 종류나 통신 속도에 따라 다양한 규격으로 분류된다.
예) 10BASE-T
- 10 : 통신 속도. 10 Mbps
- BASE : BASEBAND라는 전송방식
- T : 케이블 종류
- - : 하이픈 뒤는 케이블 길이나 케이블 종류를 나타냄
- 동축케이블의 경우 : 케이블의 최대 길이를 100m 단위로 표시함. 만약 5인 경우 500m