네트워크란 graph라는 자료구조의 형태로 구성되는데 node, node를 연결하는 edge, node간 주고받는 message로 구성된다.
host는 network 가장자리에 위치한 노드로 network를 통해 흐르는 정보를 생성, 송신, 수신한다.
network의 가장자리에 위치한다는 점에서 end system이라고도 부르며 보통 컴퓨터 등 일상에서 사용하는 네트워크 기기를 말한다.
server는 어떠한 서비스를 제공하는 host이다.
어떠한 서비스는 파일도 될 수 있고, 웹 페이지, 메일 등등 여러가지 종류가 있으며 이를 제공하는 host가 server이다.
반대로 client는 server에게 서비스를 요청하고 응답을 제공받는 host이다.
client는 request를 보내고 그에 대한 response를 제공받는다.
또한 network 가장자리에 위치하지 않는 node인 중간에 거치는 node도 있다.
이를 중간 node라고 부르는데 이더넷 허브, 라우터, 공유기 등이 있으며 이를 network 장비라고도 할 수 있다.
이러한 network 장비들은 host간 주고받는 정보가 원하는 수신지까지 안정적으로 전송될 수 있도록 한다.
node와 node 간에는 이를 연결하는 edge로 이루어지는데, 이러한 edge를 통신 매체라고 한다.
통신 매체는 node들을 유선으로 연결하는 유선 매체, 무선으로 연결하는 무선 매체가 있다.
node간에 주고받는 정보는 message라고 하며 message는 웹 페이지, 파일 등등 여러가지로 나타낼 수 있다.
LAN은 Local Area Network의 약자로 근거리 통신망을 의미한다.
가정, 기업 등 한정된 공간에서의 network를 LAN이라고 부를 수 있다.
WAN은 Wide Area Network의 약자로 먼 지역을 연결하는 광역 통신망을 의미한다.
먼 거리에 떨어진 LAN을 연결할 수 있는 네트워크이며 다른 LAN에 속한 host와 message를 주고 받아야할때 필요하다.
WAN은 ISP(Internet Service Provider)라는 인터넷 서비스 업체가 구축하고 관리하는데 WAN에 연결 가능한 회선을 임대하는 등 WAN과 관련된 서비스를 제공하는 역할을 한다.
이 외에도 범위에 따라 MAN 등등 있으나 더 세밀하게 나누는 경우라고 보면 된다.
host가 network를 통해 message를 주고받도록 하는데 netwrok로 message를 주고 받는 방식은 대표적으로 회선 교환 방식과 패킷 교환 방식이 있고 각 방식을 사용하는 네트워크를 각각 회선 교환 네트워크, 패킷 교환 네트워크라고 한다.
회선 교환 방식(circuit switching) 방식은 먼저 message 전송로인 circuit을 설정하고 이를 통해 message를 주고받는 방식이다.
회선을 설정한다는 말은 곧 두 host가 연결되었다는 말이며 동시에 전송로를 확보하였다는 말과도 같다.
이러한 두 host 간에 연결을 확보한 후에 message를 주고받는 특성 덕분에 주어진 시간 동안 전송되는 정보의 양이 비교적 일정하다는 장점이 있다.
이러한 circuit switching network이 올바르게 동작하기 위해서는 host 간의 회선을 적절하게 설정해야 하는데, 이 역할을 수행하는 장비로는 circuit switch가 있다.
즉, circuit switch는 host 사이에 1:1 전송로를 확보하는 network 장비이다.
회선의 이용 효율이 낮아질 수 있다는 단점이 있으며 가능한 모든 회선에 끊임없이 message가 흐르고 있어야 회선의 이용 효율이 높아진다.
packet switching은 circuit switching을 개선한 방식으로 message를 packet이라는작은 단위로 쪼개 전송하도록 한다.
여기서 packet은 packet switching network상에서 송수신되는 message의 단위이다.
이 과정에서 message는 여러 중간 node를 거치는데, 이때 중간 node인 packet switch는 packet이 수신지까지 올바르게 도달할 수 있도록 최적의 경로를 설정하거나 packet의 송수신지를 식별한다.
대표적으로 router와 switch가 있다.
packet을 통해 전송하고자 하는 데이터를 payload라고 부르며 전송할 위치를 나타내는 header, 추가 정보의 trailer라는 정보를 포함한다.
header에는 address라는 송수신지를 특정하는 정보가 담기고 IP, MAC 주소 등이 담겨있다.
이러한 송수신지에 따른 전송방식으로는 unicast와 broadcast가 있는데, unicast는 가장 일반적인 송수신 방식으로 하나의 수신지에 message를 전송하는 방식이다.
broadcast는 자신을 제외한 network상의 모든 host에게 전송하는 방식인데, broadcast가 전송되는 범위를 broadcast domain이라고 부르고, broadcast의 수신지를 domain, 이는 자신을 제외한 network상의 host라고 볼 수 있다.
그 외에도 동일 그룹에 속한 host에게만 전송하는 multicast, network 내의 동일 그룹에 속한 host 중 가장 가까운 host에게 전송하는 방식인 anycast 등 다양한 방식이 있다.
현대 인터넷은 host간 packet을 교환하는 packet switching을 사용한다.
network간 올바른 데이터 통신을 위한 규약으로 Protocol을 지정하는데, 이는 종류도 매우 다양하며 저마다 목적과 특징이 있으며 protocol에 따라서는 header, trailer의 내용이 달라질 수 있다.