네트워크에서 "호스트"라는 단어는 서버처럼 자원을 제공하는 기기만을 지칭하는 것이 아니라, 네트워크에 참여하는 모든 기기를 지칭한다.
참고. Host(network) 영문 위키
물론 "호스팅하다" 와 같이 쓸 때는, 서버처럼 자원을 제공하는 것을 말할 때 쓰이기도 한다.
NIC(Network Interface Controller) 는 컴퓨터가 네트워크에 연결될 수 있는 인터페이스를 제공하는 장치(Peripheral? Hardware?)이다. NIC에는 이더넷 케이블처럼 유선 네트워크를 제공하는 NIC 도 있고, Wi-Fi처럼 무선 네트워크 인터페이스를 제공하는 NIC도 있다.
이더넷 어댑터는 NIC의 한 종류이다. 이더넷 케이블을 통한 유선 네트워크 인터페이스를 제공하는 NIC라고 할 수 있다.
참조. Network interface controller 영문 위키
이더넷 PHY는 이더넷 어댑터 중 데이터를 실제 도선의 전기적 신호로 변환하는 장치인 듯하다. 정확히는 조사가 더 필요하다.
아무래도 운영체제의 디바이스 드라이버 단에서 구현되는 듯하다.
다음을 참고.
Linux Network Device Driver
만약 디바이스 A의 eth0 라는 인터페이스는
IPv4: 192.168.0.1
서브넷마스크: 255.255.255.0
으로 설정되어 있다면,
192.168.0.2 을 목적 IP 로 설정하여 송신하고자 하면,
디바이스 A는 192.168.0.2 와 자신의 서브넷마스크를 적용했을 때,
자신의 IPv4 와 자신의 서브넷마스크를 적용한 것과 같으므로
같은 네트워크임을 알고,
따라서 송신을 수행한다.
그러나 목적지가 192.168.1.2 라면, 다른 네트워크이므로 기본 게이트웨이? 라우터? 의 주소로 이를 보내달라고 보낼 것이라고 한다... (이 부분은 잘 모르겠다.)
ARP(Address Resolution Protocol) 요청 이라는 것을 브로드캐스팅하여, 찾고자 하는 IP주소를 가진 NIC가 자신의 MAC 주소를 응답하여 알게 되어 송신을 할 수 있게 된다고 한다. ARP 에 대해 찾아볼 것.
근데 만약 2개보다 많으면 어떻게 서로 연결할 것인가?
해답은 스위치 혹은 허브 라는 것에 연결하는 것이다.
아래의 링크에 들어가면 볼 수 있듯이, 여러 이더넷 케이블을 연결할 수 있는 장치이다. 일단 쟤한테 보내면 쟤랑 연결되어 있는 모든 장치한테 보내진다.
같은 서브넷에 있어야만 통신이 가능한 건가?