네트워크
우리 일상에서 흔히 들을 수 있는 아주아주 익숙한 단어이다
그런데 대체 그 네트워크라는게 뭘까?
그 개념에 대해서 물어본다면 대답이 쉽지 않다
하지만 아주 간단하게 정의하자면
'상호 데이터를 주고받는 호스트의 집합' 이라고 보면 된다
상호간에 데이터를 주고받는 호스트의 집합?
그렇다면 공유기 한대를 두고 2대의 PC를 연결한다면 그것도 네트워크야?
바로 그렇다, 그게 바로 네트워크다
?? 겨우 공유기 하나를 두고 2대의 PC 끼리만 연결해서 데이터를 주고받는다면 그게 네트워크라고?
그렇다, 네트워크라는 말은 사실 ㅈ도 없는 말이다
하지만 단어가 존나 있어보이니 써먹으면 괜히 우쭐해질 수 있다
< 그렇다면 네트워크와 인터넷은 서로 다른거야? >
다르면서 같다
ㅈ박은 소리같지만 다르면서 같다
네트워크는 상호 데이터를 주고받는 호스트의 집합이라면
인터넷이란 상호 데이터를 주고받는 네트워크의 집합 이라고 보면 된다
호스트 규모의 통신이냐 네트워크 규모의 통신이냐로 구분할 수 있기에 다르면서도 같다
< 그러면 인터넷과 인트라넷은 다른거야? >
군대를 다녀온 사람이라면 아주아주 익숙한 그 단어, 인트라넷 이다
인트라넷과 인터넷, 굉장히 닮은 단어인데 오묘하게 다르다
인트라넷은 간단히 말하자면 ' 인터넷에 연결되어있지 않은 상호 데이터를 주고받는 네트워크의 집합이다 '
말이 좀 길다?
하지만 좀 더 간단히 설명하자면 ' 특정 집단만이 사용 할 수 있는 네트워크 ' 그것이 인트라넷이다
예를 들어, 1사단과 2사단, 3사단이 있다고 해보자
그렇다면 1,2,3 사단은 서로 통신을 하며 자기들만의 네트워크를 구축했지만
인터넷, 흔히 말하는 외부망에 접근하지 못하고 접근을 허용하지 않는 네트워크, 그것이 인트라넷이다
< 인트라넷, 인터넷, 이더넷... 이더넷? >
인트라넷, 인터넷. 음 그래 이 둘은 이제 알겠어 그런데 이더넷이라는 단어, 혹시 들어봤어?
아마 들어본 사람도 있고, 처음인 사람도 있을텐데,
지금 당장 우리의 인터넷 연결상태를 확인한다면 우리가 연결한 인터넷에 바로 이 '이더넷' 이라고 하는 녀석이 보이게 된다
그래서 그 '이더넷' 이라는 녀석은 뭐하는 녀석이야?
< 이더넷 >
앞서 우리는 '네트워크'라는게 무엇인지 짚어봤는데
네트워크란, 상호 데이터를 주고받는 호스트의 집합 이라고 설명했지만
바로 이 '데이터를 주고받는 관계' 를! 무엇으로 연결하였느냐
그게 바로 이더넷이다.
[ 데이터를 주고받는 통신의 한 종류 ] 그게 바로 이 '이더넷' 이라고 한다
?? 데이터를 주고받는 통신의 한 종류? 그러면 다른 종류도 더 있는거야?
그렇다 데이터를 주고받는 통신의 종류는 더 다양하다
하지만 지금은 거의 사장되어가고있고 애플ㅂㅅ새끼들이 쓰는 통신이 하나 있는데 그건 지금 말할필요 없다
하지만 설명을 위해 한가지 이야기 하자면 바로 '토큰링' 이라고 하는 통신의 한 종류가 있다
< 토큰링이란? >
토큰링 통신이란
네트워크에 속해있는 호스트가 서로에게 데이터를 주고받기 위해서는 해당 네트워크에 존재하는 통신을 위한 '토큰' 을 소유하고 있을 떄 에만
다른 호스트로 데이터를 전송할 수 있게 하는방식이다.
지금은 매우 특수한 목적을 갖는 네트워크에서만 사용되고 전세계 네트워크의 99%는 이더넷으로 연결되어 있기 때문에 신경쓰지 않아도 된다
< 그래서 이더넷은 어떻게 통신하는데? >
여기서 존나게 있어보이는 단어를 하나 소개한다, 어디가서 아는 척 좀 하고싶을 때 써먹으면 존나 있어보일 수 있다
CSMA/CD ( 캐리어 멀티 엑세스 / 콜리젼 디텍션 ) 스펠링은 모른다
그래서 이게 무엇이냐 ' 다중접속 충돌 감지 ' 단어 그대로 이해하면 된다
다중접속 충돌감지?
바로 그렇다. 내가 속해있는 네트워크에서 내가 데이터를 보낼 때 다른 호스트가 같이 데이터를 보내는 바람에 데이터의 충돌이 일어나
내가 보내고자 했던 데이터를 증발해버리게되는데
이럴때 내가 보낸 데이터가 중간에 충돌되어 증발했는지를 탐지하는것, 증발되었다면 다시 한 번 발송하는 것 그게 바로 CSMA/CD,즉 이더넷이다.
좀 더 구체적으로 설명하자면 존나 길어지는데 일단 여기까지만 알아두면 될 거다
< 네트워크에서 내가 데이터를 보낸다고? >
그렇다, 우리는 네트워크에서 다른 사용자, 혹은 서버로 목적에 맞춘 데이터를 주고받는다.
목적에 맞춘 데이터? 무슨 목적?
< 캐스트? >
그렇다, 캐스트이다 (cast)
이 cast 를 통해서 우리는 통신을 한다
unicast, multicast, broadcast
존나있어보이는 단어다, 실무에서 쓰진 않는다, 아 근데 broadcast 는 자주 쓸거다 루핑의 주범이다 하지만 지금은 설명하지 않는다
< 그래서 그 캐스트들은 무슨 목적이 있는데? >
1. 유니캐스트 (unicast ) : 1:1 통신을 위한 캐스트이다, 즉 너 와 나 우리 둘이만 이 데이터를 주고받자! 할 때 이 유니캐스트가 쓰인다
2. 브로드캐스트 (broadcast) : 내가 속해있는 네트워크 전체에게 전달하는 캐스트이다. 내가 속해있는 네트워크의 모든 호스트는 모두 전송 대상이다
2. 멀티캐스트 (multicast) : 1:다수 통신을 위한 캐스트이다.. ?? 1:다수? 그럼 broadcast랑 무엇이 다른거야?
좀 더 깊게 들어가자면 broadcast의 특성에 대해서 설명이 필요하지만 지금은 간단한 설명을 예로들자면
이메일을 보낼 때, 1명에게만 보낼때와 내 주소록에 있는 모든 대상에게 보낼때, 그리고 특정 다수의 인원에게만 메일을 보낼 때 가 있다
이때, 1명에게만 메일을 보낸다면 '유니캐스트', 내 주소록 전원에게 보낸다면 '브로드캐스트', 특정 다수에게만 보낸다면 '멀티캐스트'
이렇게 이해하고 지금은 넘기면 된다
와 시발 이거쓰느데 30분걸리네?
나머진 더 쓸지 모르겠다