Notice
Recent Posts
Recent Comments
Link
«   2024/07   »
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30 31
Archives
Today
Total
관리 메뉴

브래의 슬기로운 코딩 생활

네트워크 보안 3주차 정리 - 1 (OSI 7 계층 - 물리, 데이터 링크 계층) 본문

2-2/네트워크 보안

네트워크 보안 3주차 정리 - 1 (OSI 7 계층 - 물리, 데이터 링크 계층)

김브래 2023. 9. 19. 18:38

OSI 계층 모델 - 물리 & 데이터 링크 계층


OSI 7 계층 프로토콜*


계층 구조*

- 7개의 계층으로 정의
- 각 계층 간에는 동일한 프로토콜을 사용

각 계층간 데이터 전달

- 최상위 계층(7계층 : 응용 계층)에서 발생한 데이터를 하위 계층으로 차례로 전달

 

- 처음의 데이터에 각 계층에서 전달받은 헤더(header, PCI: Protocol Control Information) 정보를 추가하여 전달
• 2계층(데이터 링크 계층)에서는 꼬리(trailer)도 함께 추가됨

 

- 최하위 계층(1계층 : 물리 계층)에 도달
- 수신부에서는 각 계층의 헤더에 해당되는 부분을 벗긴 후 상위 계층으로 전달


물리 계층


Physical Layer

- OSI 참조 모델 7계층 중 최하위 계층인 첫 번째 계층(제1계층)
- LAN 카드, 케이블, 허브, 라우터 등 물리적인 것과 데이터 전송에 사용하는 전압 등의 전기적인 특성을 다루는 영역

 

- 데이터의 단위 : 비트(bit)

- 물리적 연결에서 비트 단위의 데이터 전송을 위해 신호의 부호화, 전송 방식 등을 결정
- 송신 측은 상위 계층(데이터링크 계층)에서 0과 1로 구성된 데이터를 전기 신호로 변환 후 전송매체를 통해 전달
- 수신 측은 전기 신호를 0과 1로 복원하여 상위 계층에 전달

 

- 전송 방식: 반이중 또는 전이중 방식
- 전송 모드: 동기 또는 비동기 모드를 사용

 

- 송신 측은 데이터 링크 계층에서 0과 1로 구성된 데이터(프레임)를 받아 전기적 신호로 송신
- 수신 측은 송신 측으로부터 받은 전기 신호를 0과 1로 구성된 비트열로 복원하여 상위 계층(데이터 링크)으로 전달


데이터 링크 계층


Data Link Layer

- OSI 참조 모델 7계층 중 제2계층
- 물리적으로 연결된 이웃(neighbours) 간 전송 데이터의 신뢰성을 제공
- 전송하는 데이터는 프레임이라는 논리적인 단위로 구성
- 프레임에는 주소(송신자, 수신자), 길이, 오류 검출 등의 제어 정보가 포함
• 주의: 주소는 이웃노드들의 주소

주요 기능

- 노드 대 노드 통신
- 전송 제어
- 흐름 제어
- 오류 제어
- 동기화

 

노드 대 노드 통신

- 이웃 노드 간의 데이터 링크를 설정
- 데이터 앞에 헤더(header), 뒤에는 트레일러(trailer)를 추가
- 헤더와 트레일러에는 발신지 주소와 목적지 주소 등 정보가 들어 있음
- 수신 측의 데이터 링크 계층에서는 이 헤더와 트레일러를 삭제 후 수신 측의 상위 계층(네트워크 계층)으로 전달

전송 제어

- 데이터 전송의 신뢰성을 보장하기 위한 일련의 절차를 제어


장점
• 문자나 비트에 관계없이 전송할 수 있음
• 연속적으로 전송하고 일괄적으로 응답할 수 있어 전송 능력을 향상시킬 수 있음
• 전이중 방식으로 통신할 때는 역방향으로도 응답할 수 있어 전송 능력을 향상시킬 수 있음
• 오류 검출이 가능


- 전용회선과 교환회선의 제어는 다름

회선 접속 단계


• 정보를 전송하기 위한 직전 단계, 회선 접속이 필요, 
• 모뎀(Modem)이나 DSU(Digital Service Unit) 등의 상태를 데이터 전송이 가능한 상태로 전환

데이터 링크 설정(확립) 단계


• 데이터의 송수신이 가능하도록 경로를 구성
• 방법 : 폴링(Polling)과 선택(Selection)
– 폴링 : 단말기에서 컴퓨터로 데이터를 전송하는 데 사용
– 선택 : 컴퓨터가 특정 단말기를 지정하여 데이터를 전송하는 데 사용, 데이터 앞에 특정 단말기를 지정하
는 제어 문자를 포함

정보 전송 단계


• 데이터 링크가 확립 후 정보를 전송 시작
• 오류가 검출 되면, 정정하도록 제어하며 정보를 전송

데이터 링크 해제 단계


• 데이터 전송이 완료되면 그 내용을 수신 측에 알림
• 전송의 끝을 알려주는 EOT(End Of Transmission)를 문자로 송신
• 국(station) 간의 논리적 연결(logical connection/link)을 절단

 

회선 절단 단계


• 연결된 회선을 절단

흐름 제어 - Flow Control

송신 측과 수신 측의 원활한 데이터 흐름을 위한 기능
• 전송 속도를 변경
• 데이터의 크기를 조절


단말 간 교착상태(deadlock)을 회피하기 위해 필요


흐름 제어 방식 : 
• 정지 대기(Stop-and-Wait) 방식
• 슬라이딩 윈도(Sliding Window) 방식

 

정지 대기(Stop-and-Wait) 방식

• 송신 측은 프레임 1개를 전송 후 수신 성공을 확인하면 다음 프레임을 전송하는 방식


• 수신이 실패하면 직전 프레임을 다시 보냄
– 실패 판단 1: 실패의 확인은 NAK(Negative AcKnowledgement) 수신
– 실패 판단 2: ACK(ACKnowledgement)에 대한 타임아웃(timeout)으로 판단


• 흐름 제어 방식 중 가장 간단
• 프레임의 크기가 클 수록 유리
• 단거리 일수록 유리

슬라이딩 윈도(Sliding Window) 방식

• 송신 측은 지정된 윈도 크기만큼 프레임들을 연속해서 전송하는 방식
• 송신데이터의 오류 및 소실 등을 모니터링하여 윈도의 크기를 가변
• 흐름 제어 방식 중에서 가장 대표적

오류 제어 - Error Control

- 오류는 통신회선의 순간적인 절단(또는 단락), 잡음(noise)과 감쇄(distortion), 혼선, 지연, 찌그러짐 등 전기적인 신호 값이 환경의 영향을 받아 발생
- 물리 계층에서는 데이터를 주고받기만 할 뿐 오류를 검사하지 못함
- 오류 검출 및 수정/처리는 데이터 링크 계층에서 수행

제어 방식 종류
• 오류 무시(Ignore)
• 에코(Echo)
• 검출 후 재전송(ARQ: Automatic Repeat reQeust)
• 전진 오류 수정(FEC: Forward Error Correction)

 

오류 무시(Ignore)

- 오류 검출 및 수정 방식이 포함되지 않음
- 일부 데이터의 소실이나 왜곡이 발생되더라도 운영에 큰 문제가 없을 경우 무시
- 데이터의 안전성을 위해 일반적으로 동일 프레임을 여러 번 보냄

 

대표적 예:
• 루프/에코 방식(Loop/Echo)
– 송신측에서 전송한 메시지를 수신측에서 다시 전송측으로 보냄
– 송신측은 회신메시지와 전송 메시지를 비교하여 동일함을 판단

검출 후 재전송(ARQ: Automatic Repeat reQeust)


• 수신 측에서는 받은 데이터에 대한 오류(이상)를 검출하여 결과를 회신하는 형태로 동작
– 정상 : ACK(ACKnowledgement) 회신
– 오류 : NAK(Negative AcKnowledgement) 회신


• 송신 측은 전송한 프레임을 기억해야 함
– 버퍼 필요
– 버퍼의 크기는 프레임의 크기와 개수로 결정


• 오류를 검출하는 방식
– 패리티 검사(Parity Bit Check)
– 블록 합 검사(BSC: Block Sum Check)
– 순환 중복(CRC: Cycle Redundancy Check) 등

전진 오류 수정(FEC: Forward Error Correction)

• 전송 프레임의 정보에 오류 검출과 복구를 위한 잉여 비트를 추가
• 데이터에 오류가 발견되면, 수정하여 데이터를 복원
• 연속적인 데이터 전송이 가능하며 역채널을 사용하지 않는다는 장점
• 단, ARQ 방식에 비해 복구를 위한 더 많은 추가 정보들이 포함되어야 함
• 오류 복구를 위한 하드웨어와 소프트웨어가 복잡
• 특정 비율 이상의 오류는 복구가 불가

동기화

- 송수신 측의 각 비트의 전송률과 전송 시간, 간격 등을 규정하는 약속
- 동기화는 데이터 통신 시스템에서 꼭 필요
- 송신 측에서는 비트를 구별하여 전송하는 데이터가 필요