Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
Tags
- 백준온라인저지
- 운영체제
- 이것이자바다
- 2019카카오코테
- 백준10828
- 컴퓨터비전
- 카카오코테
- BOJ1655
- 백준괄호
- 가운데를말해요
- 백준스택
- 스파르타코딩클럽
- 이것이자바다9장
- 백준가운데를말해요
- 웹개발기초
- 코딩테스트실력진단
- 냅색알고리즘
- 확인문제
- 윤곽선검출
- BOJ
- 이것이자바다확인문제
- KT포트포워딩
- 합성곱연산
- 딥러닝
- java
- 백준
- 백준9012
- 코테
- 코드트리
- 백준평범한배낭
Archives
- Today
- Total
코딩하는 락커
4. 네트워크 계층 1 본문
4.1 네트워크 계층: 데이터 평면 개요
포워딩과 라우팅: 데이터 평면과 제어 평면
- 네트워크 계층은 서로 상호작용하는 데이터 평면과 제어 평면 두 부분으로 나뉨.
- 네트워크 계층의 근본적 역할은 송신 호스트에서 수신 호스트로 패킷을 전달하는 것.
- 네트워크 계층의 주요 기능 2가지
- 포워딩(전달)
- 패킷이 라우터의 입력 링크에 도달했을 때 적절한 출력 링크로 이동시키는 것
- 데이터 평면에 구현된 기능
- 매우 짧은 시간(몇 나노초) 단위를 갖기에 하드웨어에서 실행됨
- 라우팅
- 송신자가 수진자에게 패킷을 전송할 때 이 패킷의 경로를 결정하는 것
- 라우팅 알고리즘: 경로를 계산하는 알고리즘
- 제어 평면에 구현된 기능
- 포워딩보다 더 긴 시간(보통 초)단위를 갖기에 소프트웨어에서 실행됨
- 포워딩(전달)
- 네트워크 라우터에서 필수 불가결한 요소는 포워딩 테이블(forwarding table)임.
- 라우터는 도착하는 패킷 헤더의 필드 값을 조사하여 패킷을 포워딩 함.
- 이 값은 라우터의 포워딩 테이블의 내부 색인으로 사용됨.
- 포워딩 테이블 엔트리에 저장되어 있는 헤더의 값은 해당 패킷이 전달되어야 할 라우터의 외부 링크 인터페이스를 나타냄
4.2 라우터 내부에는 무엇이 있을까?
- 입력 포트
- 스위칭 구조
- 출력 포트
- 라우팅 프로세스
입력 포트 처리 및 목적지 기반 전달
- 라우터는 이런 형식의 포워딩 테이블에서 패킷의 목적지 주소의 프리픽스를 테이블의 엔트리와 대응시킴.
- 예시
- 패킷의 목적지 주소가 1101000 00010111 00010110 10100001 이라고 할 때
- 0번째 링크로 포워딩 함.
- 패킷의 목적지 주소가 1101000 00010111 00010110 10100001 이라고 할 때
- 최장 프리식스 매칭 규칙: 테이블에서 가장 긴 대응 엔트리를 찾고, 여기에 연관된 링크 인터페이스로 패킷을 보냄.
- 예시
- 패킷의 목적지 주소가 1101000 00010111 00011000 10101010 이라고 할 때
- 1번, 2번 둘 다 가능하나
- 가장 긴 대응 엔트리가 1101000 00010111 00011000이므로 1번으로 포워딩 함.
- 패킷의 목적지 주소가 1101000 00010111 00011000 10101010 이라고 할 때
4.3 인터넷 프로토콜(IP): IPv4, 주소지정, IPv6 등
IPv4 데이터그램 형식
- 버전 번호: 4비트. 데이터그램의 IP 프로토콜 버전을 명시.
- 헤더 길이: 대체로 IPv4 데이터그램의 헤더는 20바이트.
- TTL(Time-to-live): 네트워크에서 데이터그램이 무한히 순환하지 않도록 함. 이 필드 값은 라우터가 데이터그램을 처리할 때마다 감소함. TTL 필드가 0이 되면 데이터그램을 폐기함
- 포로토콜: 일반적으로 IP 데이터그램이 최종 목적지에 도착했을 때 사용. IP 데이터그램에서 데이터 부분이 전달될 목적지의 전송 계층의 특정 프로토콜을 명시함. 예를 들어 값 6은 데이터부분을 TCP로, 값 17은 UDP로 전달하라는 의미.
- 헤더 체크섬: 라우터가 수신한 IP 데이터그램의 비트 오류를 탐지하는데 도움을 줌.
- 출발지와 목적지 IP 주소: 출발지 데이터그램을 생성할 때 자신의 IP 주소를 출발지 IP주소 필드에 삽입하고, 목적지 IP주소를 목적지 IP주소 필드에 삽입함. 종종 출발지 호스트는 DNS 검색을 통해 목적지 주소를 결정함.
IPv4 주소체계
- 인터페이스
- 호스트와 물리적 링크 사이의 경계
- 라우터와 물리적 링크 사이의 경계
- 각 링크마다 하나의 인터페이스를 가짐
- 하나의 라우터는 여러 개의 인터페이스를 가짐
- IP주소는 호스트보다는 호스트 안에 있는 네트워크 인터페이스를 지칭하는 주소임.
- 각 IP 주소는 32비트(4바이트)이므로 2^32(대략 40억개) 주소가 사용 가능.
- 이 주소는 일반적으로 주소의 각 바이트를 십진수로 표현하고 주소의 달느 바이트와 점(.)으로 구분하는 십진 표기법dotted-decimal-notaion을 사용함.
- 모든 호스트와 라우터의 각 인터페이스는 고유한 IP주소를 가짐.
- 인터페이스의 IP주소 일부는 연결된 서브넷이 결정함.
- 서브넷은
- 같은 프리픽스를 가진 인터넷 집합을 의미.
- 라우터를 거치지 않고 접근 가능한 호스트 집합을 의미.
- 서브넷 223.1.1.0/24는 위 그림에서 세 호스트 인터페이스(223.1.1.1, 223.1.1.2, 223.1.1.3)와 하나의 라우터 인터페이스(223.1.1.4)를 구성함.
- 223.1.1.0./24에서 /24는 서브넷 마스크라고 불리며, 32비트 중 왼쪽 24비트가 서브넷 주소라는 것을 가리킴.
- 서브넷은 고립된 네트워크 각각을 지칭함.
- 위 그림에서 6개의 고립된 서브넷을 가짐.
- 글로벌 인터넷에서 CIDR(Classless Interdomain Routing-사이다)를 통해 서브넷 주소 체계를 일반화 함.
- 32비트 IP주소를 두 부분으로 나눔.
- 이것은 다시 a.b.c.d/x형식의 십진수 형태를 띔.
- 여기서 x는 주소 첫 부분의 비트 수.
- a.b.c.d/x 형식 주소에서 최상위 비트MSB(most significant bit)를 의미하는 x는 IP 주소의 네트워크 부분을 구성하며 이것을 프리픽스Prefix라고 부름.
- 한 기관은 통상적으로 연속적인(공통 프리픽스를 갖는 주소 범위) 주소의 블록을 할당받음.
- 이 경우 기관 장비들의 IP 주소는 공통 프리픽스를 공유함.
- 주소의 나머지 32-x 비트들은 기관 내부에 같은 네트워크 프리픽스를 갖는 모든 장비들을 구별함.
- CIDR이 채택되기 전에는 IP 주소의 네트워크 부분을 8,16,24 비트로 제한했고, 8,16,24비트 서브넷 주소를 갖는 서브넷을 각각 A,B,C 클래스 네트워크로 분류하는 클래스 주소체계를 사용함.
네트워크 주소 변환NAT
- 위 그림에서 4개 인터페이스 모두 같은 네트워크 주소 10.0.0.0/24를 가짐.
- 주소 공간 10.0.0.0/8은 사설망 또는 사설 개인 주소를 갖는 권역을 위해 예약된 IP 주소 공간 세부분 중의 하나임.
- 그러나 10.0.0.0/24 주소체계는 홈 네트워크를 벗어나 글로벌 인터넷으로 가는 패킷 전달은 이 주소들을 사용할 수 없음.
- 때문에 홈 라우터를 떠나 인터넷으로 가는 트래픽은 출발지 주소 IP 주소 138.76.29.7을 가지며 홈으로 들어오는 트래픽은 목적지 주소 138.76.29.7을 가져야 함.
- 홈 라우터는 포트넘버로 패킷을 호스트를 구분함.
- NAT의 문제점
- 포트번호는 호스트 주소 지정이 아닌 프로세스 주소 지정에 사용되나, NAT는 포트번호를 호스트 주소 지정에 사용하고 있음.
- NAT는 IP를 수정하는 노드를 간섭하지 않고 호스트끼리 서로 직접 소통해야 하는 원칙을 위반함.
'🌐 네트워크' 카테고리의 다른 글
4. 네트워크 계층 3 (0) | 2022.04.18 |
---|---|
4. 네트워크 계층 2 (0) | 2022.04.12 |
3. 전송 계층 6 (0) | 2022.04.05 |
3. 전송 계층 5 (0) | 2022.04.04 |
3. 전송 계층 4 (0) | 2022.04.04 |
Comments