네트워크 : LAN
어떻게 MAC를 하는가?
동기화 하는방법, 채널을 그냥 나눠주는 것이다. 하지만 용량의 한계, 최적화가 안된다.
비동기화 : 채널이 있을때, 채널을 보내겠다. 리소스의 재활용, 효율성에서는 좋다.
1. round robin - 돌아가면서 하나씩 받는 것이다. 데이터가 없더라도 순번을 받을 수 있다. 보낼게 없더라고 턴을 받아서 비효율적이다.
2. reservation
- 1초에 한번씩 말할 수 있는 기회를 줘! 적어도 처음에 리소스를 지정하는 과정이 필요하다. 예약에 의해서 이뤄진다.
주기적으로 특정한 사용자를 위해서 예약, stream traffic - 영상 통화, real time service / 주기적인 서비스에 적합
- 이또한 비효율이 생길 수 있다.
3. contention / 기본적으로 사용하는 방법
- 10명의 사용자가 있으면 알아서 눈치것 보내는 것이다. 이기적으로 행동하지는 않는다.
- 최소한의 규칙들이 있다. 어떤 단말기든 간에 데이터를 보낼 것이 있으면 미디어 접근을 위해 경쟁에 참여할 수 있다.
- 뒤쳐젔으면 늦게 가는 것이다. 이런 약속이다. 적어도 경쟁 방식의 미디움 엑세스 컨트롤이다. 누군가 이미 사용하고 있으면 기다림/ 채널이 사용되고 있지 않으면 내가 보내는 것을 시도한다.
MAC에서 다루기 위해서 사용하는 뭐 필드가 있다.
HDLC에서 다루는 구조들이 여기에도 비슷하게 있다.
브릿지
랜의 구조에 대해서 잠깐 살펴보고 가자.
이더넷
비슷한 네트워크끼리 연결하기 위한 랜 장비들이 있다. 그중에 대표적인게 브릿지다.
공유기, 허브
동일한 주소 체계, 맥 프레임의 필드 구조를 공유한다.
LTE, WIFI만 해도 MAC가 다르다. 적어도 브릿지는 물리적, 링크 측에서 동일한 프로토콜을 연결한다.
여기에서는 연결만 하기 때문에 굉장히 적은 프로세싱 모드만 있다.
MAC format을
확장성을 위해 장비를 사용한다.
랜 A와 랜B의 기능을 가지고 있기 때문에 데이터 프레임을 어디에 보낼지 정할 수 있다.
얘는 투명하다. --> 과정처리하는 것에 있어서. 원래 동작하던 그대로 동작할 테니 기능들이 알아서 작동하게 하라!
여러개의 브릿지로 이뤄진 경우
같은 패킷을 두개의 경로에 의해서 받을 수도 있다. 성능에 문제가 될 수 있다. 그래서 이런 경우는 가급적 막아야 한다.
그래서 이렇게 해결할 수 있는 알고리즘을 브릿지 내에 저장되어 있다. 바로 spanning tree이다.
그전에 가장 쉽게 해결할 수 있는 방법은 경로를 사전에 정의하는 것이다. 하지만 이러면 확장성이 부족하다. 모든 경우에 대해서 사전에 정의를 해두면 확장성에 한계가 생긴다.
유선에서는 빈번하게 발생할 수 있다. 이런 문제를 해결하기 위해서 사용하느게 spanning tree 알고리즘
spanning tree 알고리즘 -> 나무 형태로 확장시키는 알고리즘이라고 생각하자.
나무의 가지들이 자라나는데 서로 다른 가지가 합쳐지는 경우는 없다.
겹치는 일이 발생하지 않도록 확장해 나가는 알고리즘
브릿지를 자동적으로 부딛치지 않도록 확장해하는 것이다.
3가지 단계에 대해서 구성된다.
1. frame forwading - 단말기 a가 단말기 b한테 보낸다고 했을 때, 최초로 보냈을 때, 일단 forwarding을 하는 것이다. 왜냐하면 겹치는 것을 알 수 없기 때문이다.
그냥 포딩하는 것이 아니라 브릿지의 포트들이 있는데 몇번 포트에 들어왔는지 확인한다. 포트를 통해 적어도 단말기 a의 위치를 예측할 수 있다.
그리고 어떻게 하다보니 closed grip이 생기면, 어디에 루프가 생겼구나 생각하고 어떤 프로토콜 루트를 끊어주는 것이다.
어떤 포트에서 들어왔지? 일단 포딩
아 단말기 위치를 확인하면, 그 다음 부터는 내가 알고있는 그 포트만을 이용해서 데이터를 보내는 것을 의미한다.
2. address learning
- 어디서 들어오는지 확인하는 것이다. 얘가 어디서 들어오는 것을 확인하는 것음으로 서 위치를 확인하고 경로를 상황에 따라서 사용한다.