즉, 라우터는 IP네트워크, 서브넷을 관리하면서 다른 네트워크를 거쳐 패킷을 전송하는 역할을 하는 장비이고, 라우팅은 그 패킷을 보낼 경로를 선택하는 과정이라고 볼 수 있다.
위에서 배웠듯 클라이언트에게 DNS (Domain Name Server)를 제공하는 것은 DHCP 서버의 책임이다. DNS는 브라우징을 단순화하는 매우 특별한 목적을 수행하는 인터넷 상의 또 다른 컴퓨터라고 볼 수 있다.
모든 계층에서, 우리가 전송하는 데이터를 `데이터`라고 부를까? PDU를 알고난 후 부터는 그렇지 않을 것이다.
TCP와 UDP는 TCP/IP의 전송계층에서 사용되는 프로토콜이다. 전송계층은 IP에 의해 전달되는 패킷의 오류를 검사하고 재전송 요구 등의 제어를 담당하는 계층이다.
우선 데이터의 기술적 개념부터 생각해보자. 데이터는 0혹은 1로 이루어진 `숫자`이고, 컴퓨터는 이진법의 숫자를 전기의 `켜짐`과 `꺼짐`으로 표현할 수 있다. 즉, 데이터는 아주 긴 `전기 신호` 인 것이다. 그렇다면 케이블만 있으면 데이터를 전달할 수 있는걸까?
이전 글을 통해 컴퓨터 구조의 큰-느낌은 알았다. 이제 실제로 컴퓨터가 어떻게 돌아가는지, 각 레이어끼리는 어떻게 데이터를 주고 받는지, 파일입출력과 네트워크 동작을 예로 들어서 공부해보자.
컴퓨터의 구조를 국가의 구조로 비유했을 때 썩 잘 맞아떨어질 수 있다. 비유의 특성상 약간 과장된 설명이 있겠지만 컴퓨터 구조의 전체적인 흐름을 한 눈에 이해한다는 측면에서 좋은 비유인 것 같다.
💻➡🌏 : 사설 IP를 할당받은 스마트폰 혹은 개인 PC가 데이터 패킷을 인터넷으로 전송하면, 라우터(공유기)가 해당 사설 IP를 공인 IP로 바꿔서 전송한다.
A클래스는 하나의 네트워크에 16,777,214개나 되는 호스트를 할당할수 있기에, 만일 그런 네트워크를 일반 가정집에 부여한다면 정말 많은 IP가 낭비될 것이다. IP를 사용하는 네트워크 장치들의 수에 따라 효율적으로 사용할 수 있도록하는 방법이 바로 서브넷팅이다.
서브넷 마스크는 IP주소와 똑같이 32비트 2진수로 나타낸다. 그러나 형태가 똑같다고 하여서 역할을 혼동하면 안 된다. 형태가 똑같은 이유는 IP주소와 서브넷 마스크를 AND 연산하기 위해서이다.
지금 나는 홍대의 한 카페에서 이 글을 정리 중이다. 이 카페의 IPv4 주소는 172.30.1.12 니까, 이 IP는 B클래스임을 알 수 있다. 여기서 네트워크 주소는 172.30 까지고, 1.12는 나만의 호스트 주소이다.