PracticeEveryday

Network 본문

정리/CS

Network

kimddakki 2022. 5. 27. 16:20
14. 2계층( 데이터 링크 계층 )의 역할과 개요

복습 : 1계층은 ' 케이블이 연결되어 있는 기기에 대한 신호 전달' 을 수행하는 계층으로써 실제 ' 데이터 전달 '을 담당

        1계층이 비트를 신호화애허 케이블에 보내고, 케이블에 연결되어 있는 상대에게 신호가 도달하면 그 신호를

        다시 비트화해 ' 상대에게 데이터가 도달 '하는 것이다.

 

● 2개층의 개요

 - 충돌을 막기 위해서는 신호의 송신 전, 후 바르게 데이터를 송 수신하는 순서가 필요하다.

 - 2계층에서는 세그먼트 ( Segment 신호가 닿는 범위 ) 범위에서 데이터 전송에 관한 규정을 정해주는 것이다.

    => 멀티 액세스 네트워크 : 허브로 연결되어 있는 기기 전체

    => 포인트 투 포인트 네트워크 : 연결되어 있는 두 대

 

프레이밍과 신호의 동기

 - 1계층에서 다루는 신호와 케이블에 따라 2계층의 규격이 달라진다.

  => 1계층의 조건이 다르면 2계층에서 사용되는 규칙 같은 것도 달라진다.

 Ex ) LAN 전용, WAN 전용 ( 3계층 부터는 동일하다. )

 

 - LAN의 사실표준인 이더넷 ( Ethernet )에 대해 알아보자.

 - 2계층에서는 프레이밍 ( Framing: 구성 Frame : 틀, 액자 )을 수행한다.

 

※ 프레이밍 : 1계층에서 주고 받은 신호를 비트화해 거기에 의미를 갖게 하는 것

   => 프레이밍 과정을 통해 ' 데이터 '로 인식할 수 있게 된다. 신호를 프레임으로 변환하는 것!

  프리엠블 ( Preamble: 서문, 전문, 서두 )

 - 지금부터 프레임이 시작된다는 의미의 신호

   수신측에서는 이 프리엠블을 수신하면, '이제부터 프레임 신호가 온다'라는 사실을 인지하게 된다.

  => 비트를 읽을 타이밍을 프리엠블에 맞춘다. 이더넷의 경우 ' 1 '과 ' 0 '을 교대로 프리엠블을 보내는 데

       이것을 읽고 수신측에서 비트를 읽는 타이밍을 맞추는 것이다!!

2계층은 신호가 도달하는 범위에서의 데이터 송수신을 생각한다.
2계층에서는 WAN와 LAN의 규칙이 다르다.
LAN에서는 ' 이더넷 '이 사실상 표준이다.

15. 2계층 주소와 이더넷

복습 : 2계층은 ' 세그먼트 '라는 범위에서 어떻게 데이터를 수신할지 생각하는 계층

        세그먼트란 신호가 도달하는 범위

 

주소 ( Address )

 - 데이터를 보내는 상대와 자신을 특정하는 데이터 ( 수신처와 송신처의 주소 )

 

데이터 전송 방법에 따른 주소 분류

1. 유니캐스트 ( Unicast ) : 1 대 1 데이터 통신, 유일무이한 주소를 가진다.

2. 브로드캐스트 ( Broadcast ) : 1 대 전체로써 세그먼트 내 모든 기기에게 메시지를 보내는 데이터 통신.

                                         브로드 캐스트 주소를 가진다.

3. 멀티캐스트 ( Multicast ) : 1 대 다수 지정된 복수의 기기로 메시지를 보내는 데이터 통신.

                                     멀티캐스트는 그룹으로 묶이기에 여러개의 그룹 주소를 가질 수 있다.

 

MAC ( Media Access Control Address ) 주소

 - 각각의 기기는 유일무이한 유니캐스트 주소를 적어도 한 개 갖고 있다.

 - 이 각각이 가진 유니캐스트의 주소를 수신처로 지정해 데이터를 송신한다.

 

 - 라우터와 같이 복수의 인터페이스를 가진 기기는 인터페이스마다 유니캐스트 주소를 갖기에 복수의 주소를 가질 수 

   있게 된다.

 - 이더넷에 사용되는 주소들은 MAC 주소로서 인터페이스에 지정된 고정 주소이다.

   => 인터페이스 NIC가 고장나 새것으로 교체할 경우 MAC 주소도 변경된다!!

   

 - MAC 주소의 구성: 선두 24bit는 벤더코드(OUI: Organizationally Unique Idendifier)라고 불리는 인터페이스 제조사

   의 번호이고, 후반의 24bit는 제조사가 인터페이스 기기마다 할당한 벤더 할당 코드이다.

   즉, 어느 제조사의 몇 번째 인터페이스라는 의미를 가진다.

1 대 1인 유니캐스트, 1 대 전체인 브로드 캐스트, 1대 다수인 멀티 캐스트가 있다.
기기는 한 개 이상의 주소를 가진다.
이더넷에서는 MAC 주소가 사용된다.

16. 이더넷 ( Ethernet )

복습 : 1계층에서의 범위가 LAN인 경우, 2계층에서는 사실 표준으로 이더넷을 사용한다.

         MAC 주소를 통해 수신처와 송신처를 특정한다. ' 누구로부터 ' '어디로 '를 결정하는 것인데 이 주소 정보를 

         헤더( : 제어 데이터 )에 기술해서 송신한다.

 

 - 헤더에는 수신처의 주소, 송신처의 주소,

   페이로드 ( 이더넷 헤더와 트레일러에 의해 캡슐화 되는 3계층에서 전송되는 데이터 )가

   트레일러에는 에러를 체크하는 FCS ( Frame Check Sequence: 연속적인 사건들 )가 붙는다.

수신처 MAC 주소
송신처 MAC 주소
타입
페이로드 (데이터)
FCS (에러 체크)
48bit
48bit
16bit
368bit ~ 12,000bit
32bit

 이더넷 프레임

 

● 이더넷 동작

 - 허브로 구성된 멀티 액세스 네트워크에서는 수신된 신호가 모든 연결 기기에 도달하므로, 이더넷에서는 수신한 

   프레임의 수신처 MAC 주소를 보고 자신에게 온 것 이외의 다른 프레임을 파기한다.

   => 멀티 캐스트의 경우 자신이 해당 그룹에 소속되어 있으면 받아 들이고, 브로드 캐스트는 전체 수신이므로 무조건

        신호를 수신하게 된다.

 

이더넷의 충돌 관리 

   => ' 신호를 보내는 타이밍을 겹치지 않도록 비켜나가게 함으로써 되도록 충돌이 일어나지 않도록' 관리한다.

 

 - CSMA / CD라는 엑세스 제어: 인터페이스에 연결되어 있는 케이블에 신호를 보내는 ' 엑세스 '를 제어하는 것 

 ( Carrier Sense Multiple Access / Collision Dection )

1. CS ( 신호 감지 ) : 누군가가 송신 중이면 송신하지 않는다.

2. MA ( 다중 액세스 ) : 아무도 송신하고 있지 않다면 송신 할 수 있다.

2. CD ( 충돌 검사 ) : 송순 후에 충돌이 일어나면 다시 재수행한다.

 

Question : ' 누군가가 송신 중이라면 송신하지 않는다 ' 인데 ' 송신 후 충돌 ' 이 어떻게 일어나는가?

 => 2대가 거의 동시에 신호를 감지한다면 2대 모두 ' 아무도 송신하고 있지 않다 ' 고 판단해 2대가 송신하게 된다.

이더넷에서는 수신처와 송신처의 MAC 주소, 에러 체크 등을 헤더, 트레일러로 붙인다.
수신한 프레임의 수신처가 자신이 아닌 경우 파기한다.
되도록 충돌을 피하기 위해 CSMA / CD 를 사용한다.

17. 스위치

 

허브와 스위치

 - 이더넷의 CSMA / CD는 충돌을 ' 막는 ' 것이 아니라 ' 일어나기 어렵게 하는 것 '이다.

 - 충돌 도메인 ( 범위 내의 컴퓨터가 송신하면 다른 컴퓨터의 송신하고 충돌할 가능성이 있는 범위 ) 내 컴퓨터 수가

   많으면 CSMA / CD를 사용해도 결국 충돌 가능성이 높아진다. => 효율 배드...

 

※ 케이블 ( UTP , 광바이퍼 )는 '송신 신호 '와 ' 수신 신호 '가 따로 있어 충돌이 일어나지 않는다. 

   충돌이란 허브에서 발생하는 것이다. 허브가 동시에 2개 이상의 기기로부터 신호를 수신하면 허비는 그것을 나누어서

   보내 줄수가 없어 충돌이 생긴다!!

 

 - 출동 방지 2번 ' 신호가 지나는 길을 나누는 방법 ' === 스위치 ( Switch ) => 허브 대용

 - 스위치 또한 복수의 포트를 가지고 있다. => 허브를 스위치로 대체하면 된다!

 

  MAC 주소 필터링

 - 스위치는 안에서 수신한 프레임을 따로 보낼 수 있도록 처리하는 기능이 있다. ( MAC 주소 필터링과 버퍼링을 이용 )

 

 - MAC 주소 필터링이란 ' 학습 ' 과 ' 스위칭 ' 이라는 동작으로 이루어져 있다.

 

학습 : 수신한 프레임의 송신처 MAC 주소를 기록 => 수신한 포트랑 MAC 주소를 연관 짓는 것이다.

 ==> 이과정에서 어드레스 테이블을 작성 하는데 이 테이블 안에서 대응된 주소와 포트를 기입해 놓는다.

- 이 후 학습해 놓은 어드레스 테이블을 보고 프레임의 수신처 MAC 주소와 일치하는 포트에만 프레임을 송신 하는 것!

 ==> 수신처가 다른 프레임이 동시에 스위치에 도달해도 충돌은 발생하지 않는다!

If Hub? 어떤 프레임이 도달 => 플러딩 => 동시 도달한 경우 => 충돌
Ex) A 컴퓨터가 프레임을 전송해서, 어드레스 테이블에 'A 컴퓨터 : 포트 1'이라는 정보가 기록된다.
이후, B 컴퓨터가 A 컴퓨터에 정보를 전송할 때, 스위치는 포트 1에만 해당 정보를 전송한다.

다만, MAC 주소 필터링은 초기에 학습을 통한 어드레스 테이블의 구성이 완료되지 않거나, 
멀티캐스트와 브로드캐스트를 수행할 때에는 허브와 마찬가지로 플러딩을 하게 된다.
=> 송신할 포트를 모르니까 어쩔 수가 없다 ㅠㅠ

스위치에 동일한 수신처에 대한 유니캐스트 여럿이 동시에 발생할 경우, 
뒤에 서술할 버퍼링을 사용하여 해결이 가능하다.
충돌은 허브에서 발생!
스위치는 ' MAC 주소 필터링 '과 ' 버퍼링 '으로 충돌을 막는다.
MAC 주소 필터링 : 수신처 MAC 주소에 대하응한 포트만 프레임을 송신하는 것

18. 전이중 이더넷

복습 : 충돌을 막기위한 기기 : 스위치

        스위치는 MAC 주소 필터링으로 ' 수신처가 다른 프레임이 동시에 스위치에 도달해도 충돌 방지! '

 

● 버퍼링 ( Buffering )

 - 스위치에 수신처가 동일한 프레임이 동시에 도착할 경우 , 버퍼링을 이용해 해결 가능

 - 버퍼링은 Buffer( : 완충제  )를 이용해 처리를 실행하는 것이다.

   버퍼란 일시적으로 데이터를 기록해 둘 수 있는 기억기기 ( 메모리 )다.

  => 수신처가 같은 프레임이 동시에 도달한 경우 한개는 송신하고 나머지는 일시적으로 버퍼에 저장해 두었다가

       송신이 완료되면 버퍼에 있는 프레임을 송신한다!

 

 - 버퍼의 용량이 제한되어 있기에 버퍼의 용량이 부족할 정도의 프레임이 도달하면

   백 프레셔 ( Back Pressure ) 혹은 IEEE802.3x라는 규격을 사용해 송신을 조정할 수 있다.

  => 즉 버퍼가 부족할 것 같다고 판단하면 송신을 중지한다.

 

※ 충돌 도메인이란 범위에 있는 기기에서 충돌 가능성이 있다는 범위인데 스위치가 이 충돌 도메인을 분할한다!!

+ 버퍼(Buffer): 일시적으로 데이터를 기록할 수 있는 메모리.

+ IEEE802.3x: 전이중 이더넷에 대응하는 규격이다.

1. 스위치: 버퍼 용량 초과 직전
2. 송신측 >> 스위치: 현재는 계속 송신중(전이중)
3. 스위치 >> 송신측: PAUSE 프레임이라는 IEEE802.3x 전용 프레임을 송신
4. 송신측: PAUSE 프레임에 의해 일시적으로 송신 중지

+ 백 프레셔(Back Pressure): 반이중 이더넷에 대응하는 규격이다.

1. 스위치: 버퍼 용량 초과 직전
2. 송신측 >> 스위치: 현재는 계속 송신중(반이중)
3. 스위치 >> 송신측: JAM 신호(충돌을 알리는 신호)를 송신
4. 송신측: 충돌이 발생했다고 판단하고 송신을 중지

 

전이중 이더넷

 - 반이중 통신 ( Half - Duplex: 복층 아파트 ) << CSMA / CD는 반이중 통신이다.

   누군가 송신( 자기는 수신 중 )중일 때는 송신 불가능

   자기가 송신 중 일때는 수신 불가능

   

 - 전이중 통신 ( Full - Duplex ) : 스위치의 경우 충돌을 생각할 필요가 없으니 CSMA /CD를 사용할 필요가 없다.

   이와 같이 스위치를 사용해서 전이중 통신을 하는 것을 전이중 이더넷이라고 일컫는다. (스위치에서도, 케이블에서도

   충돌이 발생하지 않음)

   단, 스위치와 허브를 연결 접속한 경우, 허브는 전이중 통신에서 충돌이 발생하므로 전이중 통신이 불가능하다.

   스위치와 스위치의 연결 접속에서는 전이중 통신이 가능하다.

+ 전이중 이더넷: 전이중 이더넷을 적용하고자 할 경우, 
스위치와 양쪽 컴퓨터의 인터페이스 모두 전이중 이더넷 대응 제품이어야 한다.(1계층의 통일)

+ 전이중 통신이 반이중 통신보다 빠른 이유:
하나의 예를 들자면...

1. 5대의 컴퓨터가 허브에 연결되어 있고, 케이블이 100Mbps인 경우
2. 5대의 컴퓨터가 스위치에 연결되어 있고, 케이블이 100Mbps인 경우
위 두 경우에 대해, 5 대의 컴퓨터가 각각 100MB의 데이터를 송신하고자 한다고 가정해보자.

1번의 경우, 반이중 통신(CSMA/CD)를 사용하므로, 각 컴퓨터에 순차적으로 정보를 전달해야 한다. 
따라서, 약 5초가 소요되며, 실질적인 속도는 20Mbps이다.

2번의 경우, 전이중 통신(스위치)를 사용하므로, 각 컴퓨터의 요청을 병렬적으로 수행할 수 있다. 
따라서, 약 1초가 소요되며, 실질적인 속도는 100Mbps이다.

 

 

하루 3분 네트워크 교실_2: 신호의 전송과 충돌

1계층의 역할과 개요 전기/기계적인 전송 > 1계층은 케이블이 연결되어 있는 기기에 신호를 전달한다. &...

blog.naver.com

 

 

하루 3분 네트워크 교실

하루 3분이면 OK! 네트워크 왕초보 넷군에게 인터넷 박사가 알려주는 세상에서 가장 쉬운 네트워크 수업! 어려운 용어와 개념이라는 장벽에 초보자는 쉽게 접근하지 못하는 네트워크. 이 책은 네

book.naver.com

 

'정리 > CS' 카테고리의 다른 글

Network  (0) 2022.05.30
Network  (0) 2022.05.30
Network  (0) 2022.05.27
Network  (0) 2022.05.27
Network  (0) 2022.05.26
Comments