👍 이 글은 https://github.com/kamranahmedse/developer-roadmap 의 개발자 roadmap을 기반으로 작성하게 된 정리 글 입니다.
인터넷은 TCP/IP 통신 프로토콜을 통해 통신을 주고 받는다.
TCP : 4계층 protocol, 클라이언트와 서버간에 데이터를 신뢰성 있게 전달하기 위해 설계된 프로토콜, 일련의 데이터를 안정적이고 순서대로 교환하게 함
IP : 3계층 protocol, 컴퓨터의 고유한 주소
인터넷이 TCP, IP를 이용하는 이유는 TCP/IP의 개방성 때문이다. 즉, 하드웨어, 운영체제에 관계없이 동작할 수 있는 장점이 있다.
즉, 인터넷이란 TCP/IP 프로토콜을 이용해서 컴퓨터 간 데이터를 주고받는 네트워크를 말한다.
컴퓨터는 서로 연결되어 데이터를 주고 받아야 한다. 그럼 이런 연결은 어떻게 구현할까?
가장 간단한 방법으로는 컴퓨터 상호간에 연결을 하는 방법이다.
1. (컴퓨터 - 컴퓨터)
이러한 방식의 문제점은 컴퓨터가 많아질수록 연결해야 하는 선의 갯수는 기하 급수적으로 늘어나게 된다. 예를들어, n개의 컴퓨터가 있다고 한다면 full-mesh 형태로 n(n-1)/2 개로 늘어난다.
이를 해결하기 위해 모든 컴퓨터들과 연결되어 있는 router를 통해 n개의 선을 이용하여 해결할 수 있다.
2. (컴퓨터 - router - 컴퓨터)
router를 이용하기 위해서는 케이블을 연결해야 한다. 그러므로 router만 사용하면 발생하는 문제점은 멀리 떨어진 곳은 케이블을 연결할 수 없으므로 원거리 통신의 제약을 받는다. 이를 해결하기 위해서 모뎀이라는 장비를 통해 이미 연결되어 있는 전화 네트워크로 원거리 통신까지 해결할 수 있다.
3. (컴퓨터 - router - modem - router - 컴퓨터)
modem을 이용하여 네트워크 통신을 하기 위해서는 네트워크 서비스 제공 센터인 ISP의 도움을 받아야 한다. ISP란 SK, KT 등의 통신사가 대표적이다.
4. (컴퓨터 - router - modem - Isp - modem - router - 컴퓨터)
+ 위의 내용 중 조언이 필요하거나 수정 및 보완 해주실 내용이 있다면 댓글로 작성해주시면 감사하겠습니다!! :)