내일배움캠프 Node.js 트랙 26일차
OSI 7계층 - 물리 계층
들어가기에 앞서…
현대 사회에서 컴퓨터 네트워크는 필수 기반 시설이다. 우리는 실생활에서 다양한 장치를 사용하고 네트워크가 연결되어 정보를 주고받으며 살고 있기 때문이다.
그런데 희한하다. 분명 다른 회사에서 만든 기계들인데 어떻게 통신이 가능한 걸까? 3만원도 채 안 되는 이어폰의 설정을 갤럭시 스마트폰에 깔린 어플로 조절할 수 있다니. 서로 다른 나라에서 만든 전자 기기들이지만 아주 아주 운이 좋아서 네트워크 통신이 가능했던 걸까?
아니, 당연히 내가 운이 좋았기 때문은 아니다. 이들의 원격 통신이 가능했던 이유는, 단말기들이 표준화된 통신 규약을 사용하기 때문이다. 디테일은 조금씩 다를 수 있겠지만, 네트워크의 통신 과정을 설명하는 대표적인 모델이 필요했고, 그 중 하나가 바로 OSI(Open Systems Interconnection) 7계층 모델이다.
OSI 7계층 모델에서는 네트워크 통신 과정을 7개의 계층으로 나누어 체계적으로 정의한다. 상위 계층에서는 데이터 전송에 필요한 추상적인 기능을 제공하며, 하위 계층에서는 물리적 연결과 관련된 구체적인 기능이 정의된다. 이를 통해 복잡한 네트워크 통신 과정을 단순화할 수 있다.
가장 낮은 계층인 물리 계층(Physical Layer)은 네트워크 장치들 사이의 실제 물리적 연결을 담당하는데, 이 계층은 데이터를 비트 단위의 전기 신호로 변환하여 전송 매체를 통해 전달하는 역할을 한다. 물리 계층에서는 비트 동기화, 전송 속도 제어, 물리적 토폴로지 및 전송 모드 등을 정의하며, 데이터가 안정적으로 전송될 수 있는 환경을 제공한다.
물리 계층의 정의
물리 계층은 OSI 7계층 모델의 가장 하위 계층으로, 실제 데이터 전송을 담당하는 핵심적인 역할을 수행한다. 이 계층은 송신 장치에서 데이터를 0과 1로 구성된 비트 스트림으로 만들어 전기 신호나 광 신호 등 물리적 신호로 변환한 후 전송 매체를 통해 수신 장치로 전달한다.
이를 위해 물리 계층에서는 데이터 전송에 필요한 전기적 및 물리적 특성을 정의하고 관리한다. 비트 인코딩 방식, 전송 속도, 전송 거리, 전송 매체의 종류와 같은 물리적 요소를 다룬다. 또한 장치 간 물리적 연결을 제공하고 신호의 타이밍, 동기화, 전압 레벨 등의 규격을 결정한다. 이를 통해 안정적이고 효율적인 데이터 전송이 가능해진다.
물리 계층의 기능
물리 계층은 데이터를 디지털 비트 스트림으로 인코딩하여 전기 또는 광 신호로 변환하는 역할을 한다. 변환된 신호는 전송 매체(동축 케이블, 광케이블 등)를 통해 수신 장치로 전달된다. 또한 송신기와 수신기 간 비트 동기화를 제공하여 안정적인 데이터 전송을 지원한다.
비트 동기화
네트워크로 정보를 전송할 때 송신측에서 수신측으로 한 비트씩 나누어 보내게 된다. 수신측은 비트의 시작과 끝을 판별해서 비트의 값을 읽어낸다. 이때 송신측에서 보내는 비트의 시간 간격을 TS라고 하고, 수신측에서 비트를 받아들이는 시간 간격을 TR이라고 한다.
이 시간 간격이 일치한다면 비트를 정확하게 읽어내어 데이터를 파악할 수 있지만, 송신과 수신을 하는 두 컴퓨터의 속도 차이(clock 오차)가 존재하기 때문에 비트를 정확하게 받아들일 수 없다.
따라서 어느 방법을 사용하여 TS와 TR을 맞추어 비트를 정확하게 받아들이는 방법이 필요한데, 이것을 비트 동기화라고 한다.
출처: https://ddka.tistory.com/entry/동기화Synchronization [Do.Log:티스토리]
물리 계층은 네트워크 장치의 물리적 배치 방식인 토폴로지(버스, 스타, 메시 등)를 정의하고, 사용할 전송 매체의 종류를 결정한다. 이와 함께 단방향, 반이중, 전이중 등의 전송 모드를 정의하며, 실제 데이터 전송을 위한 물리적 환경과 규격을 제공하는 역할을 한다.
네트워크 토폴로지
네트워크 토폴로지는 네트워크 상의 노드들이 연결된 구조를 말한다. 주요 토폴로지 유형은 다음과 같다.
- 버스 토폴로지: 모든 노드가 하나의 백본 케이블에 연결된다. 구조가 단순하고 구현이 쉽지만, 트래픽 과부하와 케이블 장애 시 전체 네트워크가 중단될 위험이 있다.
- 스타 토폴로지: 모든 노드가 중앙 허브에 연결된다. 장애 발생 시 영향을 받는 영역이 제한적이지만, 중앙 허브에 과부하가 발생할 수 있다.
- 링 토폴로지: 노드들이 폐쇄 회로 형태로 연결된다. 트래픽이 양방향으로 이동 가능하지만, 한 노드가 고장 나면 전체 네트워크에 영향을 미친다.
- 메시 토폴로지: 모든 노드가 서로 직접 연결되어 다중 경로를 제공한다. 신뢰성과 내결함성이 높지만 복잡성과 구축 비용이 크다.
전송 매체
네트워크에서 전송 매체는 데이터를 전송하는 물리적 경로를 제공한다. 주요 전송 매체는 다음과 같다.
- 동축 케이블: 높은 대역폭과 안정성을 제공하며 중간 거리 전송에 적합하다. 주로 케이블 TV 네트워크에서 사용된다.
- 광케이블: 매우 높은 대역폭을 제공하며 장거리 전송에 적합하다. 인터넷 백본 네트워크에서 널리 사용된다.
- 트위스트 페어 케이블: 꼬인 구리선 두 가닥으로 구성되며 가장 저렴하고 설치가 용이하다. 단거리 전송에 적합하며 주로 LAN에서 사용된다.
전송 모드
전송 모드는 네트워크 장치 간 데이터 전송 방향을 나타낸다. 주요 전송 모드는 다음과 같다.
- 단방향(Simplex) 모드: 한쪽 방향으로만 데이터 전송이 가능한 방식이다. 키보드에서 컴퓨터로 데이터를 전송하는 경우가 이에 해당한다.
- 반이중(Half-Duplex) 모드: 양방향 데이터 전송이 가능하지만, 한 번에 한 방향으로만 전송할 수 있다. 워키토키 등이 예시이다.
- 전이중(Full-Duplex) 모드: 양방향 동시 데이터 전송이 가능한 방식이다. 전화 통화가 이에 해당한다.
라인 구성 종류
물리 계층에서 라인 구성은 두 가지 주요 유형으로 나뉜다:
- 포인트-투-포인트(Point-to-Point) 구성: 두 장치 간 전용 회선을 통해 데이터를 송수신한다. 이 구성은 독립적인 통신 환경을 제공하므로 안정성과 보안성이 높다. 또한 장치 간 직접 연결로 인해 지연 시간이 짧고, 대역폭 공유 문제가 없어 성능이 뛰어나다. 하지만 장치 수가 늘어날수록 구축 비용이 많이 들어가는 단점이 있다.
- 멀티포인트(Multipoint) 구성: 하나의 회선을 통해 여러 장치가 연결된다. 이 구성은 회선 및 장비 비용을 절감할 수 있다는 장점이 있다. 그러나 여러 장치가 대역폭을 공유하므로 트래픽 관리가 필요하고, 한 번에 한 장치만 데이터를 전송할 수 있어 병목 현상이 발생할 수 있다.
라인 코딩 기법
라인 코딩 기법은 디지털 데이터를 전기 신호로 변환하는 방식을 정의한다. 대표적인 라인 코딩 기법으로는 유니폴라(unipolar), 바이폴라(bipolar), 멀티레벨(multilevel) 코딩이 있다.
유니폴라 코딩은 단일 전압 레벨을 사용하여 0과 1을 표현한다. 예를 들어 0V를 0, 5V를 1로 정의할 수 있다. 이 방식은 구현이 간단하지만, 직류 성분에 취약하고 전송 거리가 제한적이다.
바이폴라 코딩은 두 개의 전압 레벨을 사용하여 0과 1을 표현한다. 예를 들어 +5V를 1, -5V를 0으로 정의할 수 있다. 이 방식은 직류 성분을 제거할 수 있어 유니폴라 방식보다 장거리 전송이 가능하다. 하지만 전력 소모가 더 큰 편이다.
멀티레벨 코딩은 세 개 이상의 전압 레벨을 사용하여 데이터를 표현하는 방식이다. 예를 들어, +5V를 00, 0V를 01, -5V를 10으로 정의할 수 있다. 이 방식은 대역폭 효율성이 높지만, 노이즈에 취약하고 회로 설계가 복잡해지는 단점이 있다. 멀티레벨 코딩은 고속 데이터 전송에 유리하며, 특히 통신 속도가 중요한 환경에서 활용된다.
물리 계층 프로토콜
물리 계층에서 주요 프로토콜로는 이더넷(Ethernet), SONET/SDH, USB 등이 있다. 이더넷은 유선 LAN에서 데이터 전송을 정의하는 프로토콜로, 다양한 종류가 존재한다. SONET/SDH는 광섬유 네트워크에서 동기화된 대용량 데이터 전송을 정의하며, 장거리 고속 통신에 사용된다. USB는 컴퓨터와 주변 장치 간 데이터 및 전원 전송을 위한 프로토콜이다.
물리 계층 프로토콜 - 주요 기능과 특징
물리 계층 프로토콜은 데이터를 전기 신호나 광 신호로 변환하여 전송 매체를 통해 전달하는 역할을 한다. 주요 기능은 데이터 전송, 동기화, 물리적 연결 제공, 토폴로지 및 전송 모드 정의, 전송 속도 제어 등이다. 프로토콜은 디지털 데이터를 비트 스트림으로 인코딩한 후, 전기 신호나 광 신호로 변환하여 전송한다. 또한 송신기와 수신기 간 비트 동기화를 제공해 안정적인 데이터 전송을 이루게 한다.
<출처>
'개발일지 > TIL(Today I Learned)' 카테고리의 다른 글
2024-12-05 (0) | 2024.12.05 |
---|---|
2024-12-04 (0) | 2024.12.04 |
2024-12-02 (0) | 2024.12.02 |
2024-11-29 (0) | 2024.11.29 |
2024-11-28 (2) | 2024.11.28 |
댓글