1계층(1L) / 물리 계층 (Physical Layer)
OSI 7계층 중 가장 아래에 위치
- 역할
- 시스템 간의 물리적 연결
- 전기 신호의 변환 및 제어 역할을 담당 → 데이터를 '전기신호'로 바꾸어 전송
- DAC ,ADC
- 요약하면 컴퓨터의 이진 데이터들을 전선으로 흘러보내는 역할 !
- 데이터를 주워담으면 상위 계층으로 모은 데이터들을 전달!
오늘날 특히 TCP/IP 모델
에서는 1-2계층을 구분하기 살짝 모호하다!
신호가 전기로 전달되는 법
컴퓨터는 디지털 장치이므로 각종 데이터들을 Binary, 이산적인 형태로 저장!
- 컴퓨터 네트워크가 보기엔 복잡한 뭔가를 하는 듯 하지만, 결국 0과 1을 주고 받을 뿐.
- ‣ 이 0과 1을 전선을 따라 하나씩 전달
Q. 그럼 어떻게 0과 1이 전기 신호로 전달할까?
A. 기본적으로는 전압의 변화로 표현
- 0v는 0, 5v는 1로 약속함으로 이진 데이터를 표현
- 외에도 진폭(Amplitude), 주파수(Frequency), 위상(Phase) 변조등 여러방법이 존재..
- 이러한 신호의 변환 / 전달 작업을 해주는 것이 NIC, Network Interface Card!
- 만들어진 신호를 연결된 매체(케이블, 링크)로 전송!
Q. 신호의 해석은 어떻게 해..
위 신호를 받았을 때, 어떻게 해석할 수 있냐..
A. 보내는 쪽과 받는 쪽의 타이밍에 대한 Synchronization을 가져야 한다!
- 보통 클럭 타이밍이 종료되는 시점의 준위(Voltage)에 따라 데이터를 해석
- 따라서 1Clock 당 비트 하나
- 220V - 60Hz (우리나라 표준 전기 사양)
- 전송속도 60bps... 너무 적다..
Multi-level Binary
전압을 세분화하자! 4개 레벨로 나누면 한 번에 2비트씩 정보를 가지게 가능 !
- 동일한 주파수 대역대에서 더 많은 데이터를 전송 가능 !
- 같은 60Hz 주파수라도 이제는 120bps의 속도!
- 보통 Level 이라고 표현함 - 4 Level (2bits) / 8 Level (3bits)
- level이 높을 수록 노이즈에 취약
전송 속도를 올리기 위해...
- 단위 시간동안 읽는 횟수 (Hz)의 증가!
- 더 많은 전압 준위!
단 한계가 있다..
- 더 많은 진동 → 신호간 더 촘촘한 간격 → 잡음, 노이즈에 취약
- 더 많은 전압 준위 → 더 많은 에너지 → 더 많은 열 / 저항 → 신호의 감쇠..
회선의 사양에 따라, 더 높은 진동수 및 준위가 가능하다!
※ Nyquist 전송률 (C는 채널용량, B는 대역폭, L은 신호의 수)
- e.g., 3300Hz의 대역폭을 가지는 전화 시스템의 채널 용량
- 2 * 3300 * log2 bps = 6600bps
충돌..!
나도 신호를 보내고, 상대방도 신호를 보내면..?
- 중간에 신호가 증폭되거나 변화가 생겨서 데이터에 에러가 발생할 것이다.. → 데이터 전송의 실패!
둘 중 하나가 데이터를 보내고 있으면, 나머지 하나는 데이터를 보내면 안된다!
- 반이중(Half-duplex) 통신!
각종 통신 방식들
- 단방향(simplex)
- 송신-수신측이 구분
- 라디오 / TV 등
- 반이중(half-duplex)
- 양방향으로 통신할 수는 있는데, 동시에 양측에서 송신은 불가
- 기본적으로 전기를 통해 통신하는 것은 이것
- 만약 양쪽에서 동시에 송신을 시도하면...? 충돌 발생..
- 무전기
- 양방향으로 통신할 수는 있는데, 동시에 양측에서 송신은 불가
- 전이중(Full-Duplex)
- 동시에 양방향으로 송수신이 가능.
- 송수신용 채널을 별도로 두는 형태로 구현
- 전화 / 인터넷 등 대다수의 통신 형태
Q. 선이 한가닥인데 어떻게 전이중을 해.. 기본적으로 전기 통신하면 반이중이라며!!!
A. 다중화
- 클럭 타이밍을 반반 갈라서, 너 한 번, 나 한 번 ( TDM, Time Division Mux / 시분할 다중화 )
- 주파수 대역폭을 절만만 쓰는 격 (60Hz면 30Hz씩 나눠서 쓰게 됨)
- 송수신 회선 자체를 물리적으로 구분 ( 물리적 다중화 )
그래서 랜선에서는 UTP (Unshielded Twisted-Pair Cable) 을 많이 사용
흔히 랜선이라고 부르는 케이블.
- Category라는 이름으로 규격화
- 케이블의 스펙은 10Base-5 / 100BASE-T 이런식으로 표현
선이 두꺼워지며, 꼬아두고 차폐가 추가
- 저항과 노이즈에 대응하기 위함
기본적으로 가닥수가 많음.. 물리적 다중화가 되어있는 케이블이라는 거지
대역폭 62.5MHz, 케이블 4페어, 준위가 4bit, 양방향 통신을 하는 케이블의 실제 용량을 계산해보자..
2 * 62.5 * Mega(10^6) * 4 = 500Mbps
양방향 통신이니, 500/2 = 250Mbps
4개의 Pair이니, 250*4 = 1000Mbps.
케이블의 연결은? 인터페이스!
랜선 (UTP) 케이블은 RJ45라는 인터페이스 (커넥터)로 연결
- 들어갈때 딸깍 거리는 빛나는 커넥터
- 구멍도 인터페이스라고 부름... or 포트
RJ45같은 경우 송신 / 수신을 구분
- 다이렉트 케이블, 크로스 케이블이 나뉨
UTP 크로스와 다이렉트 케이블의 차이
안녕하세요 생선입니다~ 이번에는 크로스케이블과 다이렉트케이블의 차이점에 대해 설명해 보려고 합니다 크로스케이블과 다이렉트케이블은 둘 다 통신을 위해 사용되는 케이블입니다 크로스
sengsung.tistory.com
- 요즘을 다 알아서 해준다.... Auto MDI / MDI-X 라고 함
Auto negotiation
- NIC의 지원속도는 다양하다..
- 대부분의 UTP는 RJ-45지만 케이블의 사양은 다를 수 있음..
- 인터페이스의 사양, 회선의 사양은 구분되어야 한다.
같은 랜선을 공유해도, 서로 NIC에서 지원하고자 하는 성능이 다를 수 있다..!
- 데이터 해석이 옳게 안됨 → 데이터 전송이 옳게 안됨!
따라서 Auto negotiation이라는 것이 있다!
- 두 네트워크 장치가 서로 연결될 때 최적의 속도와 통신 모드를 자동으로 결정
- 장치는 연결된 케이블을 통해 서로의 능력을 교환
- 가능하면 서로 낼 수 있는 가장 높은 성능을 제공할 수 있는 설정으로 자동 전환
- 장치가 연결되면, "패스트 링크 펄스(FLP, Fast Link Pulse)"라는 특수한 신호를 교환
- 지원 속도(10/100/1000/2500Mbps 등...) 와 통신 모드(반이중/전이중 등)을 교환
요즘 대부분의 장치들은 Auto neg.를 지원
더 다양한 케이블과 인터페이스
- 동축케이블과 BNC커넥터 (또는 RF단자)
- TV또는 안테나선
- ~수백 Mbps 정도
- SFP, QSFP와 광케이블
- QSFP는 고속 데이터 전송을 위한 트랜시버 모듈 (10G 이상임..)
- 인터페이스에 케이블을 결합하여 사용하는 형태
- 케이블은 광(유리섬유) 또는 구리(단거리용)
- 일반적으로 인터페이스 및 케이블을 따로 구매하여 결합하여 사용
- 특별히 구리선이 완전히 결합된 형태를 DAC (Direct Attach Copper) 이라고도 함
요약
송신 측
- 호스트의 0과 1의 데이터들은 NIC에 의해 전기 신호로 변환, 인터페이스(포트)를 통해 밖으로 나가 케이블을 통해 전달
수신 측
- 케이블을 통해 전달된 전기신호는 인터페이스(포트)를 통해 받음, NIC에서 이를 다시 0과 1의 신호로 변환, 호스트로 전달
결론적으로 디지털 신호가 무언가의 시그널로 바꿔 보내고,
그 시그널이 매체를 통해 전달,
다시 디지털 신호로 바꿔서 읽어들이는 것
- Big-Endian이 이래서..?
Latency
신호가 텔레포트로 전송되진 않으니, 지연 시간이 존재...
- Latency = Processing delay + Queueing delay + Transmission delay + Propagation delay
- Processing delay: 패킷을 내부적으로 처리하는 시간. 하드웨어 성능에 의존적
- Queueing delay: 링크 전송 전 큐에서 대기하는 시간. 큐에 비어진 정도(혼잡수준)에 의존적
- Transmission delay: 데이터가 링크로 보내지는데 걸리는 시간. 링크 속도에 의존적
- Propagation delay: 데이터가 회선을 통해 전달되는 시간. 링크 자체의 속도(i.e., 빛의 속도 및 거리)에 의존적
- Propagation delay는 최소화하기에 물리적인 한계(Limit)가 존재한다