랜카드에 대해서 궁금한데요..
글쓴이: buildkdom / 작성시간: 토, 2004/04/10 - 4:10오후
왜 eDonkey 같은 프로그램 보면
내가 받는 데이터하고, 내가 보내는 데이터가
분명하게 위칸, 아래칸으로 나뉘어져 윈도우 화면에 나타납니다.
그럼 크게 보아 동시에 2개 이상의 방향으로 정보의 흐름이 가능하잖아요??
(들어오는 방향, 나가는 방향.. 이런식으로 해서요. )
첫째 질문인데요, 랜카드 입장에서, 동시에 데이터를 보내고, 데이터를 받는건가요??
아니면 조금 받고, 조금 보내고를 계속 반복하는 건가요??
랜카드.. 참 신기한 녀석 같습니다.
둘째 질문은.. eDonkey 같은 프로그램을 만들 때
랜카드를 통해서 오고 가는 데이터의 흐름을 잘 관리해야 할 텐데..
이런거 만드는 분들은 도대체 뭘 공부하셨길래 이런걸 만드실 수 있는건가요??
혹시 소켓 프로그래밍이 이런거하고 관련이 있나요?
뭐 아는게 없습니다;;
Forums:
으음.!
우선 결론부터 말하면 몰라도 상관없습니다.-_-;;;
첫번째 질문은 모두 패킷단위로 움직이기 때문에 상관없습니다(패킷 여러개가 순식간에 와서 흐름처럼 보이는것입니다. 영화필름과 같은원리라고 보셔도 되구요.). LAN은CSMA/CD 방식을 사용합니다. 우선 전송되는 데이터가 있는지 확인한뒤 없으면 전송하게 됩니다. 만약 동시에 전송이 일어난다면 랜덤하게 기다렸다가 다시전송하는 방식입니다. 이부분은 LAN의 전송규약에 의해서 일어나기 때문에 프로그래머는 알 필요가 없습니다.
두번째 질문도 마찬가지로 흐름은 LAN에서 알아서 관리합니다. 두개의 LAN카드에서 동시에 전송하게 되서 충돌 일어나면 랜덤하게 나중에 전송하구요. 만약 LAN의 bandwidth가 꽉 채워져서 packet 손실이 일어난다면 알아서 tcp 레벨의 흐름제어가 일어나게 되겠지요. 패킷 손실이 일어나면 일반적으로 전송속도를 반으로 줄여버리게 됩니다.
(packet loss는 온라인 게임하는데 치명적이더군요. 1분에 하나만 나도 왕짜증!)
아무튼 프로그래머는 별로 신경 안써도 되는부분입니다.
galadriel in the tower of elves
소켓프로그래밍을 배우세요.
먼저 프로그래머 입장에서는 윗분 말씀처럼 랜카드가 하는일에대해서 신경 쓰지 않으셔도 됩니다.
파일 공유프로그래밍을 하시려면, OSI 7계층에 대해서 간단히 보시고, 네트워크 프로그래밍관련 정보를 찾으시면서 소켓프로그래밍 연습을 하시면 됩니다.
☆
소켓프로그래밍을 조금만 해 보시면 신경 쓰지 않아도 알아서 잘 해준다는
소켓프로그래밍을 조금만 해 보시면 신경 쓰지 않아도 알아서 잘 해준다는 것을 알 수 있지요.
보내고 받는 것에 대한 관리는 소켓 API를 사용할 때 리턴값으로
다 할 수 있습니다.
The Future !!!
답변 감사드립니다.
답변에 많은 감사드립니다.
인사가 늦었군요 ^^;;
댓글 달기