연결형과 비연결형 서비스
연결형 서비스
- 패킷을 보내기 전에 목적지의 네트워크층 프로토콜과 연결 설정(경로 설정에 의해)
- 연결 설정되면 발신지에서 목적지로 패킷들 전달
- 순서대로 하나씩 전달
- 모든 패킷은 같은 경로를 통해 전달
- 메시지에 속한 모든 패킷이 전달되면 연결 해제
비연결형 서비스
- 각 패킷은 서로 독립적으로 처리
- 같은 목적지에 전달되더라도 서로 다른 경로로 전달될 수 있음
- IP 프로토콜은 비연결형 프로토콜
전달
전달을 위한 네트워크층의 역할
- 물리적인 네트워크에 의해 패킷이 처리되는 과정 감독
- 패킷 포워딩을 통해 발신지에서 목적지까지의 전달 이루어짐
전달 방법
- 직접 전달
- 간접 전달
직접 전달
특징
- 최종 목적지가 전달자와 같은 네트워크에 연결되어 있는 호스트
- 패킷의 발신지와 목적지가 같은 네트워크에 위치
- 최종 라우터와 목적지 호스트 사이에 수행
- 직접 전달여부 확인 방법
- 목적지 주소에서 netid 추출한 후 현 네트워크 주소와 비교
- 같은 경우 송신자는 목적지 IP 주소를 이용해 목적지 물리 주소를 찾아서(ARP 이용) 데이터 링크층으로 보내어 패킷 직접 전달
간접 전달
특징
- 최종 목적지가 발신지와 같은 네트워크에 속해있지 않은 호스트
- 여러 라우터를 경유해서 전달 (최종 목적지와 같은 네트워크에 연결된 라우터에 도달할 때까지)
- 목적지 IP주소와 라우팅 테이블 이용해 다음 라우터의 IP 주소 찾기
포워딩
포워딩이란
- 패킷을 목적지로 가는 경로상에 놓는 것
- 패킷을 다음 홉(최종 목적지 또는 중간 연결 장치)으로 전달하는 것을 의미함
- 비연결형 vs 연결형 프로토콜에서의 포워딩
- 비연결형 프로토콜: 목적지 주소 기반
- 연결형 프로토콜: 레이블 기반
방법
- 목적지 주소 기반 포워딩
- next-hop method
- network-specific method
- host-specific method
- default method
- 레이블 기반 포워딩
next-hop method
라우팅 테이블을 가장 작게 만드는 기술
다음 홉 주소만 저장 (전체 경로 정보 대신)
network-specific method
같은 네트워크에 연결된 모든 호스트 별 엔트리 대신 네트워크 주소 지정
- 라우팅 테이블 작게 만드는 효과 제공
- 검색 과정 간단해짐
host-specific method
라우팅 테이블에 목적지 주소 저장
- network-specific method의 반대
관리자가 네트워크 제어 시 효과적
- 개별 호스트를 별도로 관리해야 하는 경우 사용
default method
명시되지 않은 목적지 처리 방법
- next hop 지정이 가능한 목적지 외의 나머지 목적지를 처리하는 경우 default로 명시하고 next hop 지정
서브넷팅 없는 클래스 기반 주소 지정에서 포워딩 모듈
클래스 기반 주소체계에서 인터넷의 라우터들은 서브넷팅에 관여하지 X
- 서브넷팅은 조직 내에서 일어남
라우팅 테이블에서 관리되는 테이블 정보
- 클래스 A, B, C별로 하나씩 전체적으로 3개의 테이블 사용
- 라우터가 멀티캐스팅 지원 시 D 클래스 처리를 위한 테이블 한 개 추가됨
- 각 테이블에 필요한 정보
- 네트워크 주소: 목적지 호스트가 어디에 위치하고 있는지 알려줌
- 다음 홉 주소: 간접 전달의 경우 패킷이 어느 라우터에 전달되어야 하는지 알려줌
- 인터페이스 번호: 패킷이 나가는 출력 포트를 정의함
패킷 포워딩 과정
- 클래스 찾기 (by 목적지 주소)
- 네트워크 주소 찾기 (by 클래스, 목적지 주소)
- 매칭되는 네트워크 주소가 라우팅 테이블에 없을 경우 디폴트 라우터로 포워딩
- 다음 홉 주소 추출 (by 클래스, 네트워크 주소)
- 간접 연결일 경우에는 다음 홉 주소가 따로 있지만, 직접 연결일 경우에는 목적지 주소가 다음 홉 주소가 됨
- 다음 홉 주소와 인터페이스 번호를 ARP에 보냄
ex) 라우팅 테이블 작성하기
클래스 B
| 네트워크 주소 | 다음 홉 주소 | 인터페이스 |
| 145.80.0.0 | - | m1 |
| 170.14.0.0 | - | m2 |
디폴트 라우터
default: 110.30.31.18, m0
예제
라우터 R1이 목적지 주소 192.16.7.14를 가진 패킷을 받은 경우 패킷이 포워딩 되는 과정을 보이기
답(풀이)
클래스는 C (192로 시작)
네트워크 주소는 192.16.7.0
일치하는 주소를 찾았다면 다음 홉 주소와 인터페이스 번호를 ARP에 보냄
(여기서는 다음 홉 주소: 111.15.17.32, 인터페이스 번호: m0)
예제 (위의 예제와 같은 네트워크 구조도)
라우터 R1이 목적지 주소 167.24.160.5를 가진 패킷을 받은 경우 패킷이 포워딩 되는 과정을 보이기
답(풀이)
클래스는 B (167로 시작)
네트워크 주소는 167.24.0.0
일치하는 주소가 라우팅 테이블에 없으므로 패킷은 디폴트 라우터로 포워딩
다읍 홉 주소: 111.30.31.18, 인터페이스 번호: m0
서브넷팅이 있는 경우 클래스 기반 주소 지정에서 포워딩 모듈
서브넷팅은 조직 내에서 수행
- 서브넷팅을 처리하는 라우터는 조직 사이트와 외부와의 경계에 존재
- 가변 길이의 서브넷팅을 사용하면 여러 개의 테이블이 필요
- 고정 길이 서브넷팅을 수행하면 하나의 테이블만 필요
패킷 포워딩 과정
- 클래스 찾기 (by 목적지 주소)
- 서브넷 주소 찾기 (by 마스크)
- 일치하는 주소가 테이블에 없을 경우, 디폴트 라우터 주소를 사용해 패킷을 라우터에 전달
- 다음 홉 주소와 인터페이스 번호를 ARP에 보내기
- 이때, 서브넷팅의 경우 라우터와 직접 연결되어 있어 목적지 주소가 다음 홉 주소가 됨
ex) 라우팅 테이블 작성
| 네트워크 주소 | 다음 홉 주소 | 인터페이스 |
| 145.14.0.0 | - | m0 |
| 145.14.64.0 | - | m1 |
| 145.14.128.0 | - | m2 |
| 145.14.192.0 | - | m3 |
| 0.0.0.0 | default router | m4 |
예제
라우터가 목적지 주소 145.14.32.78를 가진 패킷을 처리하는 과정 보이기
답(풀이)
서브넷 마스크: 255.255.192.0 (18개의 1과 14개의 0)
네트워크 주소는 145.14.0.0
패킷은 다음 홉 주소 145.14.32.78와 출력 인터페이스 m0 두 값을 ARP에 보냄
예제
145.14.0.0 내의 호스트가 주소 7.22.67.91인 호스트로 보내는 패킷을 수신했는데 패킷이 어떻게 전달되는지 보이기
답(풀이)
그림을 보았을 때 마스크는 /18
네트워크 주소는 7.22.64.0
테이블에서 일치하는 주소가 없으므로 디폴트 라우터로 포워딩
디폴트 라우터 주소를 사용해 패킷을 라우터에 전달 (다음 홉 주소가 디폴트 라우터를 향하는 주소인데 그림에 나와있진 않고 인터페이스 번호는 m4)
클래스 없는 주소체계에서 포워딩
클래스 없는 주소체계에서 전체 주소 공간은 한 개의 개체
cf. 클래스가 있는 주소체계에서는 클래스 별로 테이블을 나누기 때문에 네트워크 id의 길이를 명시적으로 알 수 있지만, 클래스가 없는 주소체계에서는 한 개의 개체로 보기 때문에 테이블도 한 개로 나타냄
특징
- 테이블은 네트워크 주소(블록의 첫 번째 주소)에 기반하여 탐색
- 패킷의 목적지 주소는 네트워크 주소에 대한 힌트를 주지 X
- 테이블에 추가적으로 마스크(/n) 정보가 필요
- 결과적으로 적어도 테이블은 4개의 열이 필요
패킷 포워딩 방법
- 마스크 길이가 긴 것부터 목적지 주소에 적용해 네트워크 주소 구하기
- 부합되는 주소 있는지 테이블에서 체크 (아예 없으면 디폴트 마스크로)
- 다음 홉 주소(직접 연결일 경우 목적지 주소가 될 수도 O), 인터페이스 번호를 ARP에 보냄
ex) 라우팅 테이블 작성
| 마스크 | 네트워크 주소 | 다음 홉 주소 | 인터페이스 |
| /26 | 180.70.65.192 | - | m2 |
| /25 | 180.70.65.128 | - | m0 |
| /24 | 201.4.22.0 | - | m3 |
| /22 | 201.4.16.0 | - | m1 |
| default | default | 180.70.65.200 | m2 |
예제
R1에 목적지 주소 180.70.65.140를 가진 패킷이 도착한 경우, 해당 패킷의 포워딩 과정 보이기
답(풀이)
목적지 주소에 /26 적용 → 네트워크 주소는 180.70.65.128 (일치하는 네트워크 주소 X)
목적지 주소에 /25 적용 → 네트워크 주소는 180.70.65.128 (일치하는 네트워크 주소 O)
다음 홉 주소인 180.70.65.140와 인터페이스 m0을 ARP에 보냄
예제
라우터 R1에 목적지 주소 201.4.22.35를 가진 패킷이 도착한 경우 포워딩 처리 과정 보이기
답(풀이)
목적지 주소에 /26 적용 → 네트워크 주소는 201.4.22.0 (일치하는 네트워크 주소 X)
목적지 주소에 /25 적용 → 네트워크 주소는 201.4.22.0 (일치하는 네트워크 주소 X)
목적지 주소에 /24 적용 → 네트워크 주소는 201.4.22.0 (일치하는 네트워크 주소 O)
다음 홉 주소인 201.4.22.35와 인터페이스 m3을 ARP에 보냄
예제
R1에 목적지 주소 18.24.32.78를 가진 패킷이 도착한 경우 포워딩 처리 과정 보이기
답(풀이)
목적지 주소에 /26, /25, /24, /22를 모두 적용해도 일치하는 네트워크 주소를 찾을 수 X
(디폴트 라우터를 통해 외부 인터넷으로 보내야 함)
180.70.65.200와 인터페이스 m2를 ARP에 보냄
예제
라우팅 테이블을 기반으로 네트워크 구조도 그리기
| 마스크 | 네트워크 주소 | 다음 홉 주소 | 인터페이스 |
| /26 | 140.6.12.64 | 180.14.2.5 | m2 |
| /24 | 130.4.8.0 | 190.17.6.2 | m1 |
| /16 | 110.70.0.0 | - | m0 |
| /16 | 180.14.0.0 | - | m2 |
| /16 | 190.17.0.0 | - | m1 |
| default | default | 110.70.4.6 | m0 |
다음 홉 주소가 없는 경우, 라우터에 직접 연결됨
다음 홉 주소가 있다는 것은 간접 연결이라는 의미
인터페이스 번호가 같은 것끼리 묶어서 생각하기
→ /16 110.70.0.0의 경우 이 뒤에 디폴트 라우터가 올 것임 (디폴트 인터페이스가 m0으로 동일하므로)
→ /16 180.14.0.0의 경우 이 뒤에 라우터가 오는데 이 라우터는 같은 인터페이스 m2인 /26 140.6.12.64와 연결될 것임
→ /16 190.17.0.0의 경우 이 뒤에 오는 라우터는 같은 인터페이스 m1인 /24 130.4.8.0과 연결될 것임
이러한 힌트를 기반으로 그리기
주소 집단화
같은 인터페이스를 사용하는 주소 중 집단으로 처리할 수 있는 경우
테이블 크기가 증가하고 탐색 시간이 증가하는 것을 완화해줌
이때, 집단으로 처리할 때의 마스크는 네트워크 주소의 길이를 의미하는 것은 아님
→ /24 140.24.7.0의 경우 네트워크 주소가 24비트라는 것을 의미 X
가장 긴 마스크 부합
유사한 네트워크 주소를 가지나 같은 라우팅 경로를 가지지 않는 경우를 위한 대응 방법
- 마스크 길이가 긴 것부터 부합 적용
- “긴 마스크 = 높은 일치도”
묶어서 처리할 수 없는 것(이면서 마스크 길이가 가장 긴 것)을 테이블의 맨 위에 작성하기
묶어서 처리할 수 있는 것들은 공통된 부분까지만 쓰고 그 부분까지의 n을 마스크로 작성
ex)
| 마스크 | 네트워크 주소 | 다음 홉 주소 | 인터페이스 |
| /26 | 140.24.7.192 | - | m1 |
| /24 | 140.24.7.0 | - | m0 |
| /? | ? | ? | m1 |
| /0 | 0.0.0.0 | default router | m2 |
긴 길이를 읽어 개별적으로 관리해야 하는 네트워크를 우선하여 처리
| 마스크 | 네트워크 주소 | 다음 홉 주소 | 인터페이스 |
| /26 | 140.24.7.0 | - | m0 |
| /26 | 140.24.7.64 | - | m1 |
| /26 | 140.24.7.128 | - | m2 |
| /0 | 0.0.0.0 | default router | m3 |
'공부 기록 > 네트워크 보안' 카테고리의 다른 글
| [네트워크 보안] 인터넷 프로토콜(IP) (0) | 2025.11.11 |
|---|---|
| [네트워크 보안] IP 주소 (0) | 2025.11.10 |
| [네트워크 보안] 네트워크층 개요 (0) | 2025.11.09 |
| [네트워크 보안] 프로토콜 (0) | 2025.11.03 |