IP 주소에 대한 패킷의 네트워크 이동, 네트워크 지역(랜선)에서의 이동 등을 알아보자.
위의 이미지는 A 클래스 IP 주소에 대한 그림이다.
Switch는 로컬의 컴퓨터에 패킷을 전송하는 역할을 하는데, 여기선 맥주소를 이용하여 전달한다. 필터링 기능이 존재하지만, 만약 특정 위치를 초기에 모르면 모든 디바이스에게 패킷을 전달한다.
하나의 네트워크를 Network address로 표현한다. 네트워크 주소란 주어진 IP 주소에 대한, 해당 IP 주소가 존재하는 네트워크의 식별자이다.
식별자를 구하는 방법은 다음과 같다.
- 주어진 IP 주소에 대한 클래스를 구한다.
- 클래스 정보를 토대로 IP 주소의 시작 주소를 구한다.
만약 73.22.17.25의 IP 주소로 패킷을 전송할 때, 이에 대한 시작주소를 통해 네트워크를 찾아갈 수 있게 된다.
위의 그림에서 알 수 있는 것은 라우터는 IP 주소가 두 번 부여된다는 것이다.
네트워크 안쪽은 해당 네트워크 관리자가 부여한 IP 주소이고, 바깥은 네트워크 간 연결을 위한 IP 주소이다.
라우팅을 간략하게 알아보자.
A/10에서 P/95로 패킷을 전송할 때 라우터와 스위치는 다음과 같은 역할을 한다.
- Router: 목적지 IP 주소를 통해 경로 설정을 해야한다. Routing table에서 이 주소에 대한 interface(보내야할 스위치)를 참조하여 스위치에게 데이터를 전송한다.
Routing table에는 네트워크 주소가 저장되어 있다.
위의 설명에 대한 그림이다. 라우터는 자세하게, 라우팅 테이블에서 네트워크 주소에 대응되는 interface를 통해 스위치에 패킷을 전달한다.
네트워크 주소는 목적지 IP 주소에서 얻을 수 있다.
mask는 그냥 IP 주소에 행해야 할 피연산자이다.
목적지 IP 주소에 대한 클래스를 구하고 클래스에 맞게, 해당 마스크와 AND 연산을 수행한다. 그럼 네트워크 주소를 구할 수 있다.
switch는 마치 멀티탭 + 필터링 같은 장치이다. device들을 모두 연결해주고 여기에 데이터를 증폭하여 전달한다. 필터링이 가능하다면 그냥 보낼 수 있고, 그렇지 않다면 모두 보내봐야 한다.
자 이제 라우터가 스위치에 패킷을 전달했을 때, 스위치는 무슨 일을 할까?
스위치는 ARP table을 통해 전달받은 패킷에 대한 목적지 IP 주소와 매핑된 MAC 주소를 얻어, 이에 따르는 PC(로컬에서) 또는 라우터에 데이터를 전달한다. 이를 ARP Protocol이라 부른다.
로컬 안에서는 스위치를 사용하기 때문에 맥주소를 사용한다.(랜선상에 있는 모든 컴퓨터가 ARP 테이블을 관리한다.)
프레임을 만들 때도 컴퓨터는 ARP 테이블을 참조해야한다. 이를 정하고 switch에 전달한다면 switch는 이에 해당하는 맥 주소를 가진 라우터에 데이터를 전달할 것이다.
(당연히 모르면 다 보내본다.)
하나의 네트워크를 n개의 네트워크로 물리적으로 구분해놓은 것을 의미한다.
이러한 이유는 하나의 스위치에 모든 device를 연결할 수 없기 때문이다.
구분하는 수는 2의 배수로 지정해야한다.
class B 네트워크가 네 개로 구분되었을 때, 2개의 bit를 추가하여 네트워크를 식별해야한다.
그럼 subnet은 추가된 bit만큼 mask의 bit를 늘려주어야만 한다.
반대 개념인 Supernet도 존재한다. 이는 같은 class의 block을 묶는 것을 의미한다.
supernet도 2의 배수만큼 묶어야 하며, 만약 두 개를 묶는다면 23bit만 확인하면 된다.
그러나 200.5.3.0와 200.5.4.0은 묶지 못한다.
0000 0011와 0000 0100을 보면, 맨 밑 bit가 다르기 때문이다. 이를 잘 확인해야한다.