본문 바로가기

웹개발/CS

[network] 1계층 & 2계층 - 신호의 전송과 충돌

 

 

1 계층 


 통신 매체

  • 기기와 기기 사이를 연결해 신호가 지나는 파이프 역할을 하는 것 
  • 케이블(유선)을 사용하는 방법이 일반적이고 이 케이블에는 전기신호를 사용하는 동선과 광신호를 사용하는 광파이버가 있다. 
  • 사용되고 있는 동선은 UTP(Unshielded Twist Pair cable)로 두 개가 한 쌍인 동선 네 쌍으로 이루어져 있고 광파이버에 비해 사용하기 편리하다. 

 

인터페이스

  • 컴퓨터가 보내고 싶은 데이터를 케이블에 맞는 신호로 변환해서 케이블로 보내고, 케이블에서 보내온 신호를 컴퓨터에서 사용하는 데이터로 변환하는 기계이다.
  • 컴퓨터에서 사용되는 인터페이스로는 LAN용 케이블에 접속하기 위한 NIC(Network Interface Card)가 일반적이다. 
  • 최근의 가정용 PC에는 대부분 처음부터 NIC가 부착되어 있다. WAN의 경우 PC에 NIC를 부착하지 않고 DCE(Data termination Equipment: 회선종단기기)라는 신호변환기를 사용한다.

 

신호와 충돌 

인터페이스는 비트를 신호로, 신호를 비트로 변환하는 기기로 신호에는 아날로그 신호와 디지털 신호가 있고 이중  데이터 통신에는 일반적으로 디지털 신호가 사용된다.

이 신호의 형태와 전송방식에 따라 통신속도가 결정된다. (1초 동안 전해지는 비트 수, bps)

 

신호에서 발생하는 문제 

  • 신호의 감쇠: 동선에는 저항이 있기 때문에 긴 케이블을  지나는 동안 신호는 약해진다. 약해진 신호를 '증폭'시키는 기계를 중간에 설치함으로써 해결한다.
  • 노이즈 · 간섭: 전기 신호가 어떤 원인에 의해 형태가 무너져 버려 신호의 진폭을 정확히 읽을 수 없다. 근처에 큰 케이블이 있다거나 고온 물체가 옆에 있다거나(열잡음), 바고 가까이에서 신호를 보내는 또 다른 케이블 존재(크로스 토크: 신호 누설), 번개나 무선 등 전자파 방해
    • 해결법: 케이블에 '실드'라는 처리를 해서 간섭과 노이즈를 막는다. (노이즈나 간섭은 전기적 요인에서 오기 때문에 광 파이퍼는 받지 않는다.)
  • 충돌: 멀티 액세스 네트워크 등에서 일어나는 문제, 신호가 보내지고 있는 도중 다른 신호를 보내는 경우 발생, 전기신호가 뒤섞여서 신호의 진폭이 붕괴되는 것이다. 

 

신호의 감쇠 문제의 해결

허브

  • 허브에 케이블로 연결되어 있는 기기는 동일 케이블에 연결되어 있는 것과 동일한 취급을 받게 된다. 
  • 기능
    • 신호의 증폭과 재생: 감쇠에 의해 붕괴된 신호를 본래의 형태로 증폭, 재생한다.  (리피터라는 증폭만 하는 기기도 있지만 많은 케이블 연결 불가)
    • 복수의 기기 연결: 허브에 연결되어 있는 기기끼리 신호를 주고받을 수 있게 된다. 
  • 허브와 허브를 연결하는 접속 해서 연결된 것과 같은 취급을 하게 되는 것을 '연속 접속'이라고 한다.
  • 문제점: 허브는 수신한 신호에 대해 어떤 제어도 하지 않는다. 수신한 포트 이외의 모든 포트에 수신한 신호를 송신(플러딩)하게 되고 그래서 허브에 연결되어 있는 기기가 신호를 보내면 충돌이 일어날 가능성이 있다. 즉 허브로 연결되어 있는 컴퓨터는 같은 충돌 도메인에 있게 된다. 충돌을 최대한 막기 위해 충돌 도메인은 작아야 한다. 

*충돌 도메인: 허브 범위 내의 컴퓨터가 송신하면 다른 컴퓨터의 송신하고 충돌할 가능성이 있는 범위

 

 

 

 

 

2 계층


신호의 송신 전이나 수신 후에 바르게 데이터를 송수신하는 순서가 필요하다. 2 계층에서는 신호가 닿는 범위(세그먼트 범위) 내에서 데이터 전송에 관한 규정을 생각한다. 1 계층에서 다루는 신호와 케이블(LAN용, WAN용) 등에 따라 2 계층의 규격이 달라진다. 

 

LAN의 사실표준: 이더넷

이더넷에는 프레이밍이 시행된다. 

*프레이밍: 송수신되는 신호 신호(비트열)에 의미를 주어 데이터로 인식할 수 있게 한다. (데이터 통신 직전에 프리엠블이라는 프레임이 시작된다는 신호를 보내고 수신할 때는 프리엠블로 데이터 수신의 타이밍을 맞춤으로써 - 비동기 )

 

2 계층 주소

주소: 데이터를 보내는 상대와 자신을 특정하는 데이터

어드레싱: 주소를 어떨게 사용할 건지 어떻게 배정할지 같은 것

 

데이터 전송 방법은 3종류로 나뉜다.

  • 유니캐스트: 1대 1 데이터 통신
  • 브로드캐스트: 1대 전체, 모두(세그먼트 내의 모든 기기)에게 메시지를 보내는 데이터 통신 
  • 멀티캐스트: 1대 다수, 지정된 복수의 기기로 메시지를 보내는 데이터 통신

 

  • 유니캐스트 주소: 각각의 기기는 유니캐스트 주소를 적어도 한 개를 가지고 있다. (보통은 하나, 복수의 인터페이스를 가진 기기는 인터페이스마다), 유니캐스트 주소는 유일해야 한다. 
  • 멀티캐스트 주소: 수신처 그룹을 나타내는 주소
  • 브로드캐스트 주소: 전체를 수신자로 사용하는 주소

 

*MAC(Media Access Control) 주소: 이더넷에 사용되는 인터페이스에 지정된 고정 주소, 48비트 값을 4비트마다 16지수로 고쳐 쓴다. 

 

 

이더넷

이더넷에서는 이더넷 헤더와 이더넷 트레일러를 데이터그램에 붇여 이더넷 프레임으로 캡슐화하고 이 이더넷 프레임이 신호가 되어 케이블로 전달된다. 

헤더에는 수신처의 주소, 송신처의 주소, 페이로드의 내용을 식별하는 타입이 붙고 트레일러에는 에러를 체크하는 FCS(Frame Check Sequence)가 붙는다. 

통신 도중에는 에러를 고칠 수 없기 때문에 에러가 있었던 프레임은 파기하고 송신 측에는 알리지 않는다. 

 

LAN은 주로 허브를 사용한 멀티 액세스 네트워크 환경이다. 즉 플러딩을 하고 모든 기기에 도달하여 충돌이 일어난다. 이 경우 이더넷에서는 수신한 프레임의 수신처 MAC 주소를 보고 자기에게 온 것 외의 다른 프레임을 파기하게 된다.

또 이더넷에서는 신호를 보내는 타이밍을 겹치지 않도록 비켜나게 함으로써 되도록 충돌이 일어나지 않도록 한다 이를 위해 CSMA/CD(Carrier Sense Multiple Acess/Collision Detection)라는 액세스 제어 시행한다.

  • CS(신호 감지): 누군가 송신 중이라면 송신하지 않는다.
  • MA(다중 액세스): 아무도 송신하고 있지 않다면 송신할 수 있다.
  • CD(충돌 검사): 송신 후에 충동이 일어나면 다시 재수행한다.

송신 타이밍을 엇갈리게 하지만 완전히 충돌을 막을 수는 없다. 

 

 

스위치

신호가 지나는 길을 나누는 방법으로 허브 대신 사용한다. 

  • 복수의 포트를 가지고 있다. 
  • 수신한 프레임을 따로따로 보낼 수 있도록 처리해서 충돌을 막는다. 
  • MAC 주소: 수신한 프레임의 송신처 MAC 주소를 기록, 수신한 포트와 MAC 주소를 기록한다. 이것으로 수신한 포트랑 MAC 주소를 연관 짓는다. 

MAC 주소 필터링: MAC 주소에 의해 송신하는 포트를 필터링

  • 포트에 연결되어 있는 컴퓨터의 MAC 주소를 기억해서 '어드레스 테이블'이라는 대응표에 저장한다(대응을 학습)
  • 프레임의 수신처 MAC 주소를 보고 그 MAC 주소가 있는 포트에만 프레임을 송신한다.
  • 그 결과 수신처가 다른 프레임이 동시에 스위치에 도달해도 충돌은 발생하지 않게 된다.  
  • 학습 전 MAC 주소 수신의 프레임을 수신한 경우 수신처가 1대가 아닌 멀티캐스트와 브로드캐스트 수신처인 프레임을 수신한 경우에는 플러딩하게된다. (송신할 포트를 모르니까) 

 

스위치는 MAC 주소 필터링으로 수신처가 다른 프레임이 동시에 스위치에 도달해도 충돌을 일으키지 않게 할 수 있다. 

 

버퍼링

  • 버퍼(Buffer)(일시적으로 데이터를 기록해 둘 수 있는 기억 기기)를 사용해 충돌할 것 같은 프레임을 버퍼에 임시로 저장해 두고 첫 번째 프레임 송신이 끝나면 저장해 두었던 프레임을 송신시키는 것을 말한다.
  • 버퍼의 용량은 제한되어 있으므로 용량이 부족할 정도로 프레임이 도달한 경우 백프레셔 또는 IEEE802.3x라는 규격을 사용해 송신을 조정한다. 

 

충돌 도메인은 스위치에 의해 분할되어 데이터 통신의 효율을 높인다. 

  • 전이중 이더넷: 스위치를 사용해 전이중 통신을 하는 것
  • 이더넷에서는 되도록 충돌을 방지하기 위해 CSMA/CD(반이중 통신)를 사용한다.
  • 반이중 통신: 누군가가 송신 중(자기는 수신 중) 일 때는 송신 불가능하고 자기가 송신중 일 때는 수신 불가능한 방식 
  • 전이중 통신: 동시에 송신과 수신을 할 수 있다.  
    • 허브 - 컴퓨터 : 반이중 통신
    • 스위치 - 컴퓨터: 전이중 통신
    • 스위치 - 허브 - 컴퓨터 : 반이중 통신
    • 스위치 - 스위치: 전이중 통신

 

 

 

 

'웹개발 > CS' 카테고리의 다른 글

[network] 라우팅  (0) 2021.06.27
[network] IP 어드레싱  (0) 2021.06.27
[network] 네트워크 기초 지식2  (0) 2021.06.22
[server] 서버의 운용 관리  (0) 2021.06.21
[server] 서버 보안  (0) 2021.06.21