본문 바로가기

[Network] LAN에서 통신하는 방식

@xuv22024. 9. 24. 17:32

LAN에서 통신하는 방식

유니캐스트, 브로드캐스트, 멀티캐스트


1. 유니캐스트(unicast)

서버와 클라이언트의 일대일 통신 방식

현실 세계 편지처럼 보내는 사람과 받는 사람의 주소를 적어서 보내는 것 처럼, 통신 할 때 MAC 주소를 사용한다.

유니캐스트로 데이터를 전송하면, 같은 네트워크의 모든 시스템들은 그 MAC 주소를 받아서 자신의 MAC 주소와 비교 하고 , 같지 않다면 프레임을 버린다.

반대로 MAC 주소가 동일하면 해당 프레임을 수신.

장점:

  1. 한개의 목적지 MAC 주소를 사용하므로 CPU 부담이 적다

2. 브로드캐스트(broadcast)

로컬 네트워크에 연결되어 있는 모든 시스템에게 프레임을 전송 일대다 통신

브로드캐스팅을 위한 브로드캐스팅 주소는 FF-FF-FF-FF-FF-FF 로 미리 정해져 있음.

시스템은 브로드캐스트 주소를 수신하면, MAC 주소가 같지 않아도 일단 CPU로 패킷을 전송하여 처리하도록 한다.

단점:

  1. 모든 시스템에 패킷을 전송하므로, 트래픽이 증가하고, CPU도 패킷 처리를 위해 성능이 저하된다.

그러면 이딴 브로드캐스트를 왜 사용하나요?

  1. 만약 통신을 하고자 하는 클라이언트의 MAC 주소를 알지 못하는 경우
  2. 네트워크에 있는 모든 시스템에 전송할 경우
  3. 라우터끼리 정보를 교환하거나 새로운 라우터를 찾는 경우

위 처럼 일대다 통신이 시간복잡도가 유리할 때, 브로드 캐스트 방식을 채택한다.


3. 멀티캐스트(multicast)

네트워크에 연결된 시스템중 일부에게만 정보를 전송하는 방식 → 특정 그룹에 속해 있는 시스템에게만 한번에 데이터 전송 가능

→ 즉 유니캐스트와 브로드캐스트의 단점을 보완

장점:

  1. 특정 그룹의 컴퓨터에만 한번에 데이터를 전송하므로, 그 외 컴퓨터에는 영향을 주지 않는다

단점:

  1. 스위치와 라우터가 멀티캐스트를 지원하는 환경에서만 적용 가능

전송 방향에 따른 통신 방식

단방향, 양방향(반이중, 전이중)

1. 단방향 통신(simplex)

말 그대로 선로가 한 방향으로 있는 것을 의미 → 일방 통행처럼 한쪽으로만 통신이 가능하다

ex) TV, 라디오 등

2.양방향 통신(Duplex)

  1. 반이중 (Half-duplex) : 하나의 통신채널을 통해 양쪽 방향에서 통신이 가능하지만, 동시에 통신은 불가하다. (ex. 무전기)
  2. 전이중 (Full-duplex): 두개의 통신채널을 통해 양쪽 방향에서 동시에 통신이 가능하다. (ex. 전화)

→ 데이터가 많을 수록 전이중 방식을 채택하나, 비용이 증가한다는 단점이 존재한다.


직렬 전송과 병렬 전송

문제는 데이터를 한번에 전송할 것인가, 한 큐에 하나씩만 전송 할 것인가

궁극적인 차이점은 선의 개수 차이 이다

1. 직렬 전송(Serial Transmission)

통신 회선을 직렬로 나열하여 데이터를 1비트씩 쪼개서 전송한다.

즉 한번에 한개씩 데이터를 전송하므로 라인은 1개만 필요하다하고 주로 유선 LAN에 사용.

장점:

  1. 한개의 라인만 쓰기 때문에 통신 회선의 비용은 아주 저렴하다.
  2. 전송 에러가 적고, 장거리 통신에 적합

단점:

  1. 마찬가지로 라인이 한개이기 때문에 전송 속도가 느리다.

 

2. 병렬 전송(Parallel Transmission)

통신 회선을 병렬로 나열하여 각 비트가 회선을 통해 한꺼번에 전송한다. → 비트 n 개 전송을 위해 회선 n 개 사용.

보통 컴퓨터는 병렬데이터를 그대로 송수신하기 때문에, 입출력 구조가 단순하고 전송 속도가 직렬 전송보다 n배 빠름.

장점:

  1. 수신측과 통신측이 여러개의 통신 회선을 사용하므로 여러 비트를 한번에 송신 가능

단점:

  1. 거리에 비례해서 선로 비용이 많이 든다.

동기화(Synchronization)

두 장치간에 데이터를 교환하기 위해 전송되는 비트들의 타이밍(전송율, 전송시간, 간격) 이 송신측과 수신측이 같아야하는데, 이러한 송신측과 수신측의 타이밍을 맞추는 것을 동기화라고 한다.

1. 동기식 전송(Synchronous Transmission)

동기화를 제공하는 전송 방식으로써 수신측에 정확한 수신을 보장한다.

정해진 문자열을 한 묶음으로 만든다 → 한번에 전송 → 끊임 없은 0,1 로 데이터 전송 → 수신측에서 차례대로 문자열 수신 → 문자나 바이트로 분리하여 데이터 재정립

장점 :

  1. 수신측에서 제거할 데이터가 없어서 많은 데이터를 보낼 수 있으므로 비동기식보다 전송 속도가 빠름
  2. 고속 데이터 전송에 사용됨

단점:

  1. 수신받은 문자를 재정립하기 위한 별도의 기억장치가 필요하므로 가격이 높다.

 

1-1. 비트 지향 동기화 기법(Bit-Oriented)

모든 데이터 단위를 비트로 처리, 데이터 블록을 플래그를 사용하여 시작과 끝을 구분

데이터 블록의 처음과 끝에 8비트의 플래그비트(01001100) 를 삽입함으로써, 데이터의 시작과 끝을 표시

 

1-2. 문자 지향 동기화 기법(String-Oriented)

모든 데이터 단위를 문자 단위로 처리

SYN : 동기 문자

STX : Start-of-TeXt : 문장의 시작

ETX : End-of-TeXt : 문장의 끝

 

2. 비동기식 전송(Asynchronous Transmission)

한번에 전송되는 데이터의 양이 많지 않을 때, 혹은 타이밍이 그다지 중요하지 않을 때 사용

한번에 한문자씩 전송하되, 문자를 구성하는 비트열의 양 끝에 시작비트와 종료비트를 첨가하여 타이밍을 맞추는 방식

요약:

시작 비트는 항상 0으로 설정, 종료 비트는 항상 1로 지정한다

  1. 시작비트(0) 을 송신해서 문자의 시작을 알린다
  2. 시작비트 뒤에 실제 데이터 비트를 전송한다
  3. 필요에 따라 패리티 비트로 오류 검사
  4. 정지비트(1)로 문자의 끝을 파악
  5. 정지 상태(idle) 상태로 대기하면서 데이터 전송이 시작될때까지 대기
  6. 데이터가 없거나 보낼 준비가 되지 않으면 → 정지상태(idle) 상태에 들어가고, 이때 정지 비트(11111111) 를 계속 해서 전송한다.

데이터를 연속적으로 전송하지 않기 때문에, 데이터 간의 간격이 일정하지 않을 가능성 존재.


 

xuv2
@xuv2 :: xuvlog

폭싹 늙었수다

목차