host 와 network 는 연결되어있다. ( 분리되어 작동하지 않는다. )
연결시켜주는 방법에는 다음과 같은 3가지 방법이 있다.
- hubs
- link - layer switches
- routers
- hubs : 줄어든 신호를 다시 복구시키는 역할 ( 신호를 확장 )
- physical layer 에서만 작동하는 장치.
- 신호를 확장하는 장치를 repeater 라고 부름.
- physical layer 에는 주소가 없으니 Data - link layer 까지 가서 주소 확인 후
- 내꺼가 맞다면 accept
- 내꺼가 아니라면 discarded
- link - layer switch : physical layer 로 부터 수신하는 신호를 재생성함.
- physical 과 data - link layer 에서 작동하는 장치.
- data - link layer 에서도 작동하기 때문에 mac 주소로 확인 가능.
-> 주소를 볼 수 있기 때문에 모든 애에게 보내지 않아도 됨.
-> selective 한 방식 사용 가능.
어디서부터 왔는지 즉, source 주소를 보고 정보를 저장하면 됨.
( learning switch )
- 처음에는 switching table 이 비어있음.
- 누군가가 data 를 보내면 보낸애의 주소와 함께 port 번호 저장.
learning switch 는 looping problem 이 있음.
- cycle 생겨 패킷이 네트워크를 통해 빙빙 도는 문제.
looping problem 을 해결하는 방법
-> 모든 switch 를 연결하되 cycle 을 없앰. ( spanning tree )
spanning tree
- 모든 vertex 가 연결되도록 edge 를 생성하되 cycle 이 없도록 하는 방법.
- 두가지 방법이 존재
- Prim
- 현재 vertex 와 연결되어있는 edge 를 돌면서 최소 비용 tree 구축
- 이 때 cycle 이 생기지 않도록 tree 에 edge 포함.
- Kruskal
- cycle 을 생성하지 않는 트리에서 아직 없는 최소 비용 edge 를 추가.
- edge 를 tree 에 추가했을 때 cycle 이 생기면 안됨.