사지방에 들어와 30분간 핸드폰을 한다. 드디어 사지방 로그인을 한다. 그리고 1시간 10분동안 핸드폰을 한다. 이렇게는 안되겠다 싶어서 드디어 책을 펼친다. 오늘은 3일차로, OSI 7계층 중 2계층인 데이터 링크 계층을 공부하겠다. 오늘부터는 임시저장 하는 습관을 들인다.
오늘도 어김없이 검색하다가 사이트를 클릭했는데 (첨보는 블로그 비슷한 사이트) 유해사이트라고 차단되어 다 날라갈 뻔 했다. 다행히 이번엔 임시저장을 해 파일을 날리지 않았다.
데이터 링크 계층
데이터를 관리하고 전달하는 계층이다. 여러 데이터를 동시에 전송하면 서로 충돌해 제대로 전달이 되지 않는데, 이 오류를 탐지하고 수정하는 역할을 한다. 오류를 감지하고 수정하는 데는 3가지 방식이 있다.
1. 회선 제어
통신의 시작에 ENQ(enquiry), 끝에는 EOT(End of Transmission)을 지정해 보낸다. 그리고 신호를 받은 수신자는 송신자에게 ACK(acknowledgment)를 보내 정상적으로 수신하였음을 알린다.
2. 오류 제어
외부 간섭이나 시간 지연으로 인한 데이터 변형을 검출하고 정정하는 방법이다.
- 패리티 검사(parity check): 최종 데이터에서 보낼 1의 개수의 홀짝을 미리 약속하고 여분의 패리티 비트로 데이터를 채워 보내는 방식이다. 이를테면 미리 1을 짝수 개 보내겠다고 약속하고 데이터에 포함된 1개 4개라면 패리티 비트에 0을 채워 보내는 식이다. 수신자가 받은 데이터에서 1의 개수가 홀수라면, 오류가 났음을 알 수 있다.
- CRC(Cyclic Redundancy Check): 특정 함수를 지정한다. 이를 CRC 함수라고 부른다. 송신자는 데이터의 함수값을 계산해 데이터 뒤에 붙여 전송한다. 수신자도 똑같이 함수값을 계산한다. 이 함수값이 일치하는지 여부로 데이터 오류 여부를 판단한다.
* 그러므로 패리티 검사는 CRC의 일종이다.
외에도 검사합, 해밍 코드라는 방법도 있다.
3. 흐름 제어
송수신자 간 데이터 처리속도 차이를 해결하기 위해 데이터 전송량을 조정하는 방법이다. 이를 테면 수신자가 ACK 메시지를 보내야만 송신자가 다음 데이터를 전송 할 수 있게 만드는 것이다.
이더넷
다수의 컴퓨터, 헙, 스위치 등을 하나의 인터넷 케이블에 연결한 네트워크 구조이다.
CSMA/CD
Carrier Sense Multiple Access / Collision Detection의 줄임말로, 이더넷이 사용하는 프로토콜이다. 충돌 방지를 위해 케이블이 사용중인지 전류의 강도를 통해 확인하는 방식이다.
컴퓨터 A가 B에게 데이터를 보내는 중에 컴퓨터 C도 B에게 보내려고 하면, 컴퓨터 B의 케이블은 사용 중이기 때문에 충돌을 막기 위해 못 보내게 하는 식이다.
지금은 잘 사용하지 않는다. 2계층 장비 중 하나인 스위치가 그 역할을 해주기 때문이다.
MAC 주소
Media Access Control의 줄임말으로, 랜 카드에 할당되는 값이다. 전 세계에 하나밖에 존재하지 않는 고유한 값이다. 48비트로 표현된다.
OUI(Organizational Unique Identifier) | UAA(Universally Administered Address) | ||||
F1 | A3 | 00 | 2F | 3B | 21 |
상위 24비트는 OUI로, 랜 카드 제조사에게 부여된 코드고, 그 뒤 24비트는 UAA로, 제조사가 랜 카드 자체에 부여하는 고유 코드다.
* 제조사 입장에서 생각하면 아주 훌륭한 방식인 것 같다. MAC 주소는 전세계적으로 고유해야 하는데, 자기 제조사에서 쓰는 UAA만 안 겹친다면 다른 제조사에서 만든 랜 카드랑 MAC 주소가 겹칠 걱정을 안 해도 된다.
MAC 주소는 16진법을 이용해 두 자리씩 하이픈(-)이나 콜론(:)으로 구분해 표기한다.
F1-A3-00-2F-3B-21
ARP
2계층에서는 프레임을 생성할 때 헤더로 송수신자의 MAC주소를 추가해 캡슐화한다고 했다. 따라서 수신자의 MAC 주소도 필요한데, 이 때 ARP(Address Resolution Protocol)을 사용한다. ARP 프로토콜은 IP 주소와 MAC 주소를 매핑한다.
ARP 요청
모든 컴퓨터에게 특정 IP의 MAC주소를 묻는다.
ARP 응답
ARP 요청을 받은 모든 컴퓨터는 자신의 IP가 그 IP와 일치하는지 비교해서 일치한다면 본인의 MAC 주소를 전달한다.
ARP 테이블
MAC 주소를 답변받은 컴퓨터는 본인의 메모리에 IP와 MAC주소를 연결해 ARP 테이블에 저장한다. 앞으로는 그 IP에 해당하는 MAC 주소를 ARP 요청 과정을 통하지 않아도 ARP 테이블을 참조해 알아낼 수 있다. ARP 테이블은 cmd 창에서 arp -a 명령어를 통해 확인할 수 있다.
스위치
기능이 추가된 허브다. 스위치에는 MAC 테이블이라는 게 있다.
MAC 테이블
스위치에 연결된 모든 컴퓨터들의 MAC 주소를 기록해 놓은 표다. Flooding 플러딩 작업을 통해 스위치에 물려 있는 모든 컴퓨터에 데이터를 보낸다. 모든 컴퓨터는 응답하면서 자신의 MAC 주소를 스위치에 알려준다. 그럼 스위치는 MAC 테이블을 업데이트할 수 있다.
컴퓨터의 ARP 테이블에 수신자의 MAC 주소가 있다면 그걸 이용하면 되지만, 없을 경우 스위치에게 질의해 MAC 주소를 알아낸다. 이를 통해 스위치는 데이터를 모든 컴퓨터가 아닌, 특정 수신자 컴퓨터에만 전달할 수 있다. 이를 MAC 주소 필터링이라고 한다.
단방향 통신 Simplex Transmission
선로가 하나라 일방 통행만 가능한 채널. 예시로 TV, 라디오가 있다.
양방향 통신 Duplex Transmission
하나의 채널에서 송수신이 모두 가능한 방식. 전이중 방식과 반이중 방식이 있다.
반이중 방식 Half Duplex
양쪽에서 통신이 가능하지만 동시에는 불가능하다. 송신과 수신 하나만 한 번에 할 수 있다. 예시로 무전기가 있다.
전이중 방식 Full Duplex
송수신이 동시에 가능한 방식이다.
'공부 > 네트워크' 카테고리의 다른 글
네트워크 기초 6일차: 응용 계층 (0) | 2025.02.19 |
---|---|
네트워크 기초 5일차: 전송 계층 (0) | 2025.02.16 |
네트워크 기초 4일차: 네트워크 계층 (0) | 2025.02.08 |
네트워크 공부 2일차: 물리 계층 (0) | 2025.01.29 |
네트워크 기초 1일차: OSI 7계층 (0) | 2025.01.28 |