안녕하세요..오늘은 마지막으로 멀티케스트에 대해서 알아보죠..이걸 한번 가정해보자구요..200명의 사용자가 있는 네트워크에서 150명에게만 같은 정보를 동시에 보내야 하는 상황이라고 가정을 해보죠...뭐 예를들어 증권시황제공 서버라는 녀석이 있는데 이 서버에 가입한 150명의 사용자에게 같은 증권시황을 동시에 뿌려야 한다든지..하는 가정요..그렇다면 서버는 어떻게 해야 이 정보를 동시에 150 명의 사용자에게 뿌려줄수 있을까요..?? 방법은 몇가지가 있죠..첫번째...우리가 이미배운 유니케스트 라는 걸 사용하는거예요....150 명의 주소로 하나씩 전부 보내주는거죠..이것도 가능한 방법이겠죠..?? 하지만..서버쪽에서 볼때 같은 데이타를 150번이나 반복해서 보내야 하기때문에 일이 많아질뿐 아니라..네트워크상에서도..같은 데이타가 150번이나 반복되어 날라가기 때문에..트레픽을 가중시키게 되겠죠..?? 또하나의 방법은 브로드케스트를 이용하는 방법입니다..브로드케스트로 한번에 모든 사용자(여기서는 200명이 되겠죠..?) 에게 보내는 겁니다..이 경우에는 서버에서 한번에 브로드케스트 주소를 사용해서 보내기 때문에..유니케스트처럼 150 명에게 한번씩 보낼필요는 없겠죠..?? 하지만..이경우에는 이 데이타를 받을 필요도 없는 나머지 50 명조차도 이 데이타를 받아야만 한다는 단점이 있죠..아시는대로 브로드케스트는 데이타를 CPU로 올려보내기 때문에 피시자체의 성능을 떨어트리죠..따라서 나머지 50대는 쓸데없는 브로드케스트 때문에 영향을 받게 되는거죠....그렇다면..이 문제를 가장 쉽게 해결하는 방법은  뭘까요?

그게 바로 멀티케스트 입니다..멀티케스트는 보내고자 하는 그룹멤버들에게만 한번에 보낼수 있기때문에..유니케스트 처럼 여러번 보낼 필요도 없고, 브로드 케스트처럼 받기싫어하는 녀석까지 보낼필요도 없습니다.. 그 그룹에 속해있는 녀석들에게만 선택적으로..그것도 한번에 보낼수 있는거죠..참 좋은 기능이죠..? 예전에는 이 멀티케스트가 별로 쓸일이 없었어요.. 하지만..요즘은 여러가지 어플리케이션 프로그램들이 이러한 기능을 필요로 하기때문에 점점더 인기를 끌어가고 있는 추세입니다..그니까..알아두심좋겠죠..? 지금배운 멀티케스트는 라우터나 스위치에서 이 기능을 지원해줘야지만..쓸수가 있습니다..만약 라우터나 스위치가 멀티케스트를 지원하지 않는다면...라우터의 경우는 이러한 멀티케스트를 마치 브로드 케스트처럼 취급해서...다 막아버리고..(라우터는 원래 브로드케스트를 막자나요..) 스위치의 경우는 모든 포트로 뿌려버립니다.(마치 브로드 케스트처럼요.) 오늘 배운 내용 이해 가시죠..?? 올바른 이론위에 올바른 실기가 나오는거 아시죠.?

2007/05/03 16:29 2007/05/03 16:29

트랙백 주소 :: http://thinkit.or.kr/network/trackback/127

댓글을 달아 주세요

안녕하세요..?? 주말 어떠셨어요..?? 잘 보내셨나요..?? 전 생에 최초로..스키장 인가 뭔가에 갔었습니다..물론 제 의도는 아니고..그냥..여차저차하게 따라갔었는데...남들은 전부 멋진스키복입고..멋드러진 폼으로 스키타고 내려오는데..저만...뒤뚱뒤뚱...콰당..(넘어지는소리)..암튼..고생만 하고왔습니다....그럼 오늘은..전에 배운 유니케스트에 이어 브로드 케스트가 뭔가를 좀 알아보죠.. 전에도 말씀드렸지만..통신방식에는 유니, 브로드, 멀티 케스트가 있다고 말씀드렸자나요..거기서 오늘은  두번째꺼..예요..브로드케스트는..한마디로 모든 녀석들에게 보내는 통신예요..특정한 어떤 녀석이 아니고...내가 있는 네트워크 안에 사는 모든 녀석들에게 통신할때...쓰는거죠..예를들어 동내 이장님이 마이크로 방송하는거하고 똑같죠.. "동네사람들...!!" 머 이렇게 말이죠..그렇게 하면..그 동네 사람들은 다..그 내용을 듣겠죠..? 듣고 싶던 아니던 말이죠...브로드케스트도 마찬가지 입니다..내가 받기 싫다고 안받는게 아니고..무조건 받는 거예요..주소는 FFFF.FFFF.FFFF (멕주소로했을때)예요.. 이주소가 오면 렌카드는 비록 자신의 멕주소와 같지는 않지만..이 패킷을 CPU에게 보내죠..(원래 자신의 멕주소와 다르면..버리는데..이번엔 안버리죠..) 그담은 CPU가 이 패킷을 알아서 하는거죠..따라서..CPU가 할일이 늘어나겠죠..? 그렇습니다..브로드케스트는 네트워크 상의 전체 노드로 전송되기때문에..전체적인 트레픽도 증가하지만..  패킷을 받은 렌카드가 이 패킷을 CPU로 보내기때문에..CPU가 일을 하게 함으로써..전체..피시의 성

능도 떨어트리는거죠.. 따라서 과도한 브로드케스트는 전체 네트워크의 성능자체를 떨어트리는 결과를 가져오는거죠..그럼 브로드케스트는 어떨때 발생할까요..?? 예를들어 처음 두녀석간에 통신을 하는경우는 상대편의 멕주소를 모르겠죠..? 상대편의 IP주소는 알아도 말이죠..이경우에 상대의 멕주소를 알아내기 위해하는 동작이 바로 ARP(Address Resolution Protocol)입니다. ARP가 바로 브로드케스트죠..즉 모든 녀석들에게.." IP주소 가진 사람 누구야..??" 하고 브로드케스트를 보내는거죠... 그럼 그 IP주소를 가진녀석이 "나야"하고 대답하게 되는데..이런 과정이 바로 브로드케스트를 발생시키는 거죠..그외에도 라우터끼리 정보를 교환한다거나..하는 경우에는 브로드케스트가 발생하죠... 따라서 브로드케스트는 꼭 필요하긴 하지만..많아지면 문제가 된다는거죠...아셨죠..?? 오늘도 즐거운 하루 보내세요.. 안녕..

2007/05/03 16:29 2007/05/03 16:29

트랙백 주소 :: http://thinkit.or.kr/network/trackback/126

댓글을 달아 주세요

안녕하세요..벌써 목요일이네요..일주일이 빨리가는것 같은게 좋은건가요..?  아님 않좋은건가요..?? 암튼 이번 시간에는 유니케스트에 대해서 좀 알아보죠.. 우선 아시는대로 렌에서 통신을 하는 방법에는 유니케스트와 멀티케스트 (Multicast) 그리고 브로드케스트 (Broadcast) 이렇게 3가지가 있습니다. 그중에서 가장많이 사용되는 트레픽이 뭔가하면..바로 유니케스트이구요.. (물론 브로드케스트가 더 많이  사용되는 네트워크도 있겠죠..?? 하지만 그런 네트워크를 가지고 있으신 분은 빨리 고치세요.. 왜냐구요.??? 그건 나중에 알려드릴께요...) 암튼 유니케스트란 뭔고하니...우리가 LAN 상에서 통신을 한다고 가정을 할때...데이타를 보내고자 하는 녀석의 MAC 주소가 (00-60-80-AA-BB-CC) 라고 가정하고 받는 녀석의 MAC 주소가 (00-60-80-DD-EE-FF)라고 가정하자구요...일단 통신을 위해서는 전송되는 프레임안에 항상 출발지와 목적지의 주소, 즉 멕(MAC)주소가 들어 있어야 하거든요.. 따라서 위의 경우에는 프레임안에 출발지는 00-60-80-AA-BB-CC , 그리고 목적지는 00-60-80-DD-EE-FF 로 써넣게 되는겁니다.요런 방식이 바로 유니케스트 통신 방식입니다.. 이런 방식으로 어떤 피시가 유니케스트 프레임을 뿌리게 되면 어차피 로칼 이더넷이 Shard 방식이기 때문에.. 그 로칼 네트워크 상에 있는 모든 피시들은 일단 이 프레임을 받아들여서 렌카드에서 자신의 멕주소와 비교하게됩니다...(멕주소 하니까..맥주가 생각나네요^^) 그다음 자신의 주소와 다른 경우는 바로 그 프레임을 버리는거죠...이렇게 되면..그 피시의 CPU까지는 영향을 주지 않기때문에..피시의 성능이 저하되는 일은 없겠죠..?? 이때..만약 목적지 주소를 자신의 멕주소와 비교했더니..같으면 어떡할까요..? ..이건 내꺼구나..하고 생각한다음..렌카드는 이 프레임을 CPU쪽으로 던지면서 이렇게 말하죠..."편지요 !!"...그럼 그담부터는 CPU가 알아서 하겠죠..?? 이게 바로 유니케스트의 통신방식예요...쉽죠..??

자 그래서 오늘의 결론.. 유니케스트는 특정 목적지의 주소를 가지고 통신하는 방식이다.. 그리고 이런 방식은 다른 녀석들의 성능을 저하시키지는 않는다.....?? 내꺼 아니면..버리니까..아셨죠..?? 그럼 안녕...

2007/05/03 16:29 2007/05/03 16:29

트랙백 주소 :: http://thinkit.or.kr/network/trackback/125

댓글을 달아 주세요