“서로 다른 네트워크 간의 통신을 위해 ISO 국제표준화기구에서 제안한 표준 개방형 시스템 상호연결 모델”
프로토콜 : 네트워크에서 통신할 때의 규약
네트워크에서 통신이 일어나는 과정을
7단계로 나눠서 설명.
-> 통신이 일어나는 과정을 단계별로 파악하고 관리가 가능.
-> 계층 별 문제 해결이 용이.
But 개념적인 모델에 불과.
실제 인터넷에서의 통신은 TCP/IP 모델.
“통신기기와 전송 매체 사이의 실제 물리적 연결”
“데이터 전송을 위한 기계적, 전기적 수단의 정의”
0과 1로 이루어진 비트를 전기 신호로 변환하여 전송.
전송 속도와 전송 모드를 규정하고 물리적인 접속 형태를 규정.
장비 : UTP 케이블, 광케이블, 동축 케이블, 허브, 리피터
데이터 단위 : bit
UTP 케이블 : 일반적으로 근거리 통신망에 사용. 절연체로 감싸여있지 않은, 꼬여있는 2개의 선 케이블. (Unshielded Twisted Pair Cable)
동축 케이블 : 동심원의 중심에 있는 구리선을 매체로 하는 케이블. 전화 선, 회선망에 사용.
광케이블 : 광섬유를 통해 빛을 매체로 하는 케이블. 동축 케이블에 비해 간섭이 없고 손실이 적으며 빠른 속도로 전송이 가능.
리피터 : 신호 증폭기. 케이블을 지나면서 손실된 신호를 증폭. 여러 번 증폭기를 지날수록 지연이 발생하고 대역폭이 낮아지므로 많을수록 손해.
허브 : 여러 대의 컴퓨터나 네트워크 장비를 연결. 단순 중계기 역할. 들어온 포트를 제외한 나머지 포트들로 신호를 뿌려줌.
리피터 기능 : 수신된 물리적 신호를 증폭시킨 뒤에 전달.
멀티포트 기능 : 한 번에 여러 개의 시스템을 연결하여 단거리 통신망을 형성.
플러딩 : 연결된 모든 시스템에 동일한 신호를 전송. 과도한 트래픽 발생 가능, 충돌 발생 가능.
브로드캐스팅 : 들어온 신호를 모든 케이블로 전송.
“일대일로 연결된 호스트 사이의 신뢰성 있는 전송을 보장”
“오류 제어, 흐름 제어, MAC 주소로 통신”
신뢰성을 보장하기 위해 데이터의 흐름을 제어하고 오류를 검출.
-> 신뢰성 : 물리적 전송 시에 오류 발생이 가능한데, 이러한 오류를 방지/검출/복구하는 것. 데이터링크 계층에서의 신뢰성은 노드 간의 신뢰성.
오류 제어 : 오류가 발생하였는지 검증하고 소실된 프레임을 재전송.
흐름 제어 : 송수신측의 처리 속도 차이를 해결하기 위해 데이터의 송신 속도를 제어.
네트워크 자원의 효율적인 활용을 위해 MAC 계층과 LLC 계층으로 구분.
주요 프로토콜 : MAC, 이더넷
장비 : 스위치 허브, 브리지
데이터 단위 : frame
LAN 환경에서는 네트워크 자원의 효율적인 활용을 위해 데이터링크 계층의 기능을LLC 계층과 MAC 계층으로 나누어서 처리.
MAC 계층 (Media Access Control)
물리적 전송 선로의 특징과 매체 간의 연결 방식.(Ethernet, Token Ring 방식…)
LLC 계층 (Logical Link Control)
데이터링크 계층의 기본 기능.
오류 제어, 재전송, 흐름 제어…
회선 제어 : 각각의 컴퓨터가 통신할 때, 신호 간의 충돌이 발생하지 않도록 제어하는 것.
ENQ/ACK 방식 : 한 쪽이 ENQ를 보내 연결 초기화 과정이 진행되면 다른 쪽에서는 응답으로 ACK 프레임을 보내 데이터를 받을 준비가 되었음을 알림. 데이터 전송 뒤에는 EOT 프레임을 보냄으로써 종료.
Polling 방식 : 일대다 통신 가능.
-> 선택 모드 : 주 스테이션이 데이터를 전송하고자 할 때 사용. 주 스테이션이 링크에 대한 제어 권한을 가짐.
-> poll 모드 : 주 스테이션이 다수의 종속 스테이션에 보낼 데이터가 있는지의 여부를 확인하여 전송.
“전송 도중에 오류나 손실이 발생하면 이를 탐지하고 수정”
오류 수정 : 전진 오류 수정과 후진 오류 수정
오류 검출 : 패리티 검사, CRC, 체크섬, 해밍코드
전진 오류 수정 (FEC) : 송신 측이 프레임에 부가적인 데이터를 추가해 전송하고, 수신 측이 이 부가적 데이터로 오류 검출 및 수정. 수신 측이 에러 검출 시 재전송 요청 없이 스스로 수정.
후진 오류 수정 (BEC) : 송신 측이 확장 비트를 추가해 전송하고, 수신 측이 이를 토대로 오류를 검출했을 시 재전송을 송신 측에 요구.
패리티 검사 : 1의 개수를 짝수 or 홀수 개로 맞춰서 보낼지를 송신 측과 수신 측이 미리 약속하고, 여분의 비트(패리티 비트)를 채워 보냄.
홀수 개의 오류만 검출 가능. 짝수 개의 오류는 검출하지 못할 수 있음.
2차원 패리티 검사 : 수직과 수평으로 패리티 비트를 추가하고 모두 계산. 수평 혹은 수직에서 짝수 개의 오류가 일어나도 반대쪽 검사에서 검출 가능.
But 수평과 수직으로 모두 짝수 개씩 오류가 발생한다면 검출이 불가능.
순환 중복 검사(CRC) : 패리티 검사의 한계 보완. 데이터에 오류가 발생했는지 확인하는 코드를 덧붙여 보냄.
체크섬 : 데이터의 길이와 관계없이 오류를 검출.
데이터링크 계층보다는 네트워크, 트랜스포트계층에서 더 자주 사용.
전송할 데이터의 전체 합을 붙여서 보냄.
해밍 코드 : 하나의 데이터 단위에 대해 많은 패리티 비트를 추가해 오류를 검출하고 수정까지 할 수 있음. 패리티를 계산하여 모든 패리티가 0이면 오류가 없는 것이고, 그렇지 않으면 오류가 발생한 것이며 위치를 나타냄. 결과가 0101이라면 5번째 비트에 오류가 발생했다는 의미.
오류를 검출한 후, 재전송이 수행되는 과정을 Automatic Repeat Request(ARQ).
Stop & Wait ARQ : 송신 측에서 한 번에 한 개의 프레임을 송신. 수신 측에서는 수신된 프레임의 오류 여부를 ACK 또는 NAK로 응답. 송신 측에서는 ACK를 받으면 다음 프레임을 전송. NAK을 받거나 일정 시간 동안 응답이 없으면 해당 프레임을 재전송.
Go Back N ARQ : 송신 측이 프레임을 여러 개 한꺼번에 전송. 중간의 프레임에 문제가 있으면 수신 측은 NAK와 오류 프레임의 순서번호를 송신 측에 전송. 송신 측은 해당 오류 프레임부터 그 이후의 모든 프레임들을 다시 전송.
Selective Repeat ARQ : 오류 검출 이후의 프레임들을 전부 다시 보내야하는 Go Back N의 문제점 보완. 문제가 생긴 프레임에 대해서만 NAK 응답을 보내서 손상된 프레임만 선별해서 재전송.
“송수신측의 처리 속도 차이를 해결하기 위해 데이터의 송신 속도를 제어”
Stop & Wait : 전송 측이 프레임을 전송한 후, 각 데이터 프레임에 대한 ACK을 기다렸다가 다음 프레임을 전송. 한 번에 하나만 전송하고 응답이 올때까지 대기하므로 비효율적.
Sliding Window : 전송한 프레임에 대한 ACK 프레임을 수신하지 않아도 여러 개의 프레임을 연속적으로 전송하도록 허용. Window에 포함된 만큼의 프레임은 연속적으로 보내고,정상 전송이 확인되면 다음 window에 해당하는 만큼의 프레임을 보냄.
-> window : 전송 및 수신 측 양쪽에서 만들어진 버퍼의 크기. 긍정 응답 프레임을 받지 않고도 연속으로 전송 가능한 프레임의 개수.
“컴퓨터 간 데이터를 전송하기 위한 고유의 물리적(하드웨어) 주소”
데이터링크 계층에서 통신을 위해 네트워크 인터페이스 카드에 할당된 고유의 번호. 컴퓨터 네트워크에서 각각의 기기를 구분하기 위해 사용하는 물리적인 주소.
48비트 길이의 16진수로 구성.
앞의 24비트는 랜 카드를 만든 제조사의 번호, 뒤의 24비트는 제조사가 랜 카드에 붙인 일련번호.
“LAN에서 데이터를 주고 받기 위한 규칙”
이더넷은 CSMA/CD를 이용하여 여러 컴퓨터가 동시에 전송해도 충돌이 일어나지 않는 구조.
-> 충돌 : 데이터를 한 번에 하나만 전송할 수 있는 채널에 전송 장치 두 개가 같은 시점에 데이터를 전송하면 충돌 발생 가능.
CSMA/CD : “반송파를 이용한 충돌 감지 및 재전송”
1. 전송 전에 먼저 현재의 네트워크에 흐르고 있는 데이터가 있는지 감지.
2. 이미 전송 중이라면 사용할 수 있을 때까지 기다리고, 사용할 수 있다면 데이터 전송을 시작.
3. 동시에 전송되어 충돌이 발생하면 최소 패킷 시간 동안 전송을 계속하여 다른 컴퓨터가 충돌을 감지할 수 있게 함.
4. 일정 시간 기다린 뒤에 다시 신호를 감지하고 네트워크를 사용할 수 있다면 다시 전송 시작.
“버스 형태 + 토큰 제어 방식”
물리적인 버스 구조로 연결되지만 논리적인 프레임 전달은 링 구조.
토큰이 전달되는 순서는 물리적인 순서가 아니라 각 호스트의 고유 번호와 관련. (링 형태)
토큰이라는 제어 프레임을 사용. 프레임 전송을 위해 토큰을 확보해야 함.
“순환되는 링 형태의 LAN 구성”
물리적으로 링 구조를 지원.
토큰이라는 제어 프레임이 한 쪽 방향으로 순환. 토큰을 획득한 호스트만 데이터 전송 가능.
대기 모드에서는 입력단으로 들어온 비트를 출력단으로 즉시 내보냄.
전송 모드는 호스트가 토큰을 획득해 프레임을 전송할 수 있는 상태.프레임이 올바르게 전송되었음을 확인한 뒤, 토큰 프레임을 링에 반환.
MAC 주소를 이용해 포트를 지정하여 데이터를 전송해주는 장비.허브와 달리 충돌이 일어나지 않는 전이중 통신 방식.
Learning : A에게서 패킷을 수신하면 MAC 주소를 읽어 MAC address table에 저장. 나중에 다른 PC가 A에게 통신을 원할 때 MAC address table에 저장된 MAC 주소를 참고.
Flooding : 목적지 정보가 MAC address table에 없으면 들어온 포트를 제외한 나머지 모든 포트로 전송. (브로드캐스팅)
Forwarding : 목적지 주소가 MAC address table에 있으면 해당 주소의 포트로만 프레임을 전송. (유니캐스팅)
Filtering : 출발지와 목적지가 같은 네트워크 영역에 있는 경우에는 다른 네트워크로 나가지 않게 막음. 스위치에서 Collision Domain을 나누는 기능.
Aging : 일정 시간(기본 300초)이 지나면 MAC 주소를 삭제하여 MAC address table을 효율적으로 관리.
네트워크 내에서 서로 다른 LAN을 연결. 스위치와 유사하지만 소프트웨어 기반.
수신한 프레임의 MAC 계층 헤더를 다른 단의 MAC 계층 헤더로 변형해 전송할 수 있어 종류가 다른 LAN을 연결할 수 있음. (중개 기능)