* 쉽게 배우는 데이터 통신과 네트워크(개정판) 책을 바탕으로 작성하였습니다.
데이터 통신과 컴퓨터 네트워크(쉽게 배우는)(개정판)(IT CookBook 209) | 박기현 | 한빛아카데미 - 교보문고 (kyobobook.co.kr)
Chapter 7 IP 프로토콜
01 네트워크 계층의 기능
👉 네트워크 계층의 주요기능 3가지
> 라우팅
- 라우팅 테이블 : 네트워크 구성 형태에 관한 정보 관리
- 라우팅 : 송수신 호스트 사이의 패킷 전달 경로 선택하는 과정
> 혼잡 제어
- 혼잡의 발생을 예방하거나 제거하는 기능
> 패킷의 분할과 병합
- 상위 전송 계층에서 송신을 요구한 데이터는 최종적으로 MAC 계층의 프레임 구조에 정의
- 전송 데이터가 크면 여러개의 패깃으로 작게 쪼개어 전송함
1. 연결형 서비스와 비연결형 서비스
1) 비연결형 서비스 : 전송경로를 사전에 결정X 패킷 단위로 결정
ⓐ 패킷의 전달 순서 : 도착 순서가 일정하지 않음, 상위 계층에서 순서를 재조정해야함
ⓑ 패킷의 분실 가능성 : 100%도착을 보장 안함, 상위 계층에서 패킷 분실 오류를 복구해야함
ⓒ 인터넷 환경의 예 : IP(네트워크계층), UDP(전송계층)
2) 연결형 서비스 : 데이터 전송 전에 데이터를 전송 경로를 미리 결정
- 상대적으로 신뢰성이 높음 EX) TCP
2. 라우팅
- 패킷의 전송경로를 지정
1) 고려사항
ⓐ 공평 원칙 : 다른 패킷의 우선 처리를 위해 다른 패킷이 손해를 보면 안됨
ⓑ 효율 원칙: 전체 네트워크의 효율성에 대해 고려해야 함
2) 정적/동적 라우팅
ⓐ 정적 라우팅
- 패킷 전송이 이루어지기 전에 경로 정보를 라우터가 미리 저장하여 중개
- 단점 : 경로 정보의 갱신 어려움. 네트워크 변화/혼잡도 대처 부족
ⓑ 동적 라우팅
- 라우터의 경로 정보가 네트워크 상황에 따라 적절히 조절됨
- 단점 : 경로 정보의 수집과 관리로 인한 성능 저하
ⓒ HELLO/ECHO 패킷
- HELLO : 주변 라우터에 보내 주변 경로정보를 파악하는 용도
- ECHO : 라우터 사이의 전송 지연 시간을 측정하는 속도
3. 라우팅 테이블
- 패킷 전송 과정에서 라우터들이 경로를 쉽게 찾도록 하는 가장 기본적인 도구
- 필수 정보 : 목적지 호스트, 다음 홉(인접 경로)
1) 라우팅 정보의 처리
① 소스 라우팅
- 패킷을 전송하는 호스트가 목적지 호스트까지 전달 경로를 스스로 결정하는 방식
- 경로 정보를 전송 패킷에 기록
- 데이터 그램 방식과 가상 회선 방식에서 모두 이용함
② 분산 라우팅
- 라우팅 정보가 분산되는 방식, 패킷의 전송 경로에 위치한 각 라우터가 경로 선택에 참여
- 호스트 수가 많아질수록 효과적일 수 있다.
③ 중앙 라우팅
- RCC라는 특별한 호스트를 사용해 전송 경로에 관한 모든 정보를 관리하는 방식
- 장점 : 관리부담 줌 / 단점: RCC에 과중한 트래픽을 주어 전체 효율이 떨어짐
④ 계층 라우팅
- 분산 라우팅 기능과 중앙 라우팅 기능을 적절히 조합하는 방식
- 네트워크 규모가 계속 커지는 환경에 효과적
4. 혼잡 제어
- 혼잡 : 네트워크 성능 감소 현상이 급격하게 악화되는 현상
1) 흐름 제어 : 송신, 수신 호스트 사이의 논리적인 점대점 전송 속도 다룸
2) 혼잡 제어 : 서브넷에서 네트워크의 전송 능력 문제를 다룸
- 라우팅 알고리즘 : 혼잡이 발생하지 않는 경로를 배정하도록 설계
3) 트래픽 성형
- 혼잡은 트래픽이 특정 시간에 집중되는 버스트현상이 원인
ⓐ 의미 : 송신 호스트가 전송하는 패킷의 발생 빈도가 네트워크에서 예측할 수 있는 전송률로 이루어지게 하는 기능
EX) 리키 버킷 알고리즘 : 깔때기가 존재하여 일정한 전송률로 변경함
4) 혼잡 제거
- 혼잡 제거를 위해 호스트와 서브넷이 가상 회선 연결 과정에서 협상함(자원예약방식)
- ECN 패킷 : 라우터는 선로의 사용 정도가 한계치를 초과하면 주의표시를 함 => 특별관리
02 라우팅 프로토콜
1. 간단한 라우팅 프로토콜
* 네트워크 거리 기준 : 라우터의 개수, 홉의 개수로 판단
1) 최단 경로 라우팅
- 패킷이 목적지에 도달할 때까지 라우터의 수가 최소화 될수 있도록 경로 선택
- 장점 : 간단한 형식으로 적용 가능
2) 플러딩
- 라우터가 자신에게 입력된 패킷을 출력가능한 모든 경로로 중개하는 방식
- 원본 패킷과 동할한 패킷이 무한히 만들어 질 수 있으므로 생존 시간으로 제한
- 특별한 목적으로만 사용
2. 거리 벡터 라우팅 프로토콜
1) 의미 : 라우터가 자신과 연결된 이웃 라우터와 라우팅 경로를 교환하는 방식
2) 필수 정보 : 링크 벡터, 거리 벡터, 다음 홉 벡터
ⓐ 링크 백터
- 링크벡터 L(x) : 라우터 x와 연결된 이웃 네트워크에 대한 연결 정보를 보관
ⓑ 거리 벡터 : 전체 네트워크에 소속된 개별 네트워크들까지의 거리 정보를 관리
ⓒ 다음 홉 벡터 : 개별 네트워크까지 패킷을 전송하는 경로에 있는 다음 홉 정보를 관리
3) RIP 프로토콜
- 거리벡터 방식의 내부 라우팅 프로토콜 중 가장 간단하게 구현된 것
- 소규모 네트워크 환경에 적합, 현재 가장 많이 사용됨
3. 링크 상태 라우팅 프로토콜
- 개별 라우터가 이웃 라우터까지의 거리정보를 구한 후, 이를 네트워크에 연결된 모든 라우터에 통보
- 거리벡터방식과 반대, 단점 보완하여 만듬
ex) OSPF(open shortest path first)
4. 외부 라우팅 프로콜
1) 내부 라우팅 프로토콜 : RIP, OSPF
2) 외부 라우팅 프로토콜
- 경로 벡터 프로토콜 : 단순히 연결 가능한지에 대한 정보만 제공
EX) BGP(TCP 프로토콜 사용)
03 IP 프로토콜
- 주요 특징
- 비연결형 서비스 제공
- 패킷을 분할/병합 하는 기능 수행
- 데이터 체크섬은 제공하지 않고, 헤더 체그섬만 제공
- Best Effort 원칙에 따른 전송 기능을 제공
1. IP 헤더 구조
1) DS/ECN
- Service Type 필드 : 우선순위, 지연, 전송률, 신뢰성 값 지정 가능/서비스 품질에 관련된 내용 표현
* 6비트의 DS필드와 2비트의 ECN 필드로 정의된다.
- DS : 사전에 서비스 제공자와 서비스 이용자 사이에 서비스 등급에 대해 합의
- ECN : ECT 0과 ECT 1은 동일한 의미, ECN 기능을 위해 TCP프로토콜의 헤더에 ECE필드와 CWR필드가 추가
2) 패킷 분할
- Identification(식별자) : IP헤더의 두번째 워드에드 패킷 분할과 관련된 정보 포함,
송신호스트가 지정하는 패킷 구분자 기능 수행
- DF(Don't Fragment) : 패킷이 분할되지 않도록 함
- MF : MF 필드값을 1로 지정하여 분할 패킷이 뒤에 계속됨을 표시, 마지막 패킷은 0으로 지정
- Fragment Offset : 저장되는 값은 분할된 패킷의 내용이 원래의 분할 전 데이터에서 위치하는 상대 주소값(8byte 배수)
3) 주소 관련 필드
- Source Address : 송신 호스트의 IP 주소
- Destination Address : 수신 호스트의 IP 주소
- Network : 네트워크 주소
- host : 호스트 주소
4) 기타 필드
- version number(버전 번호) : ip 프로토콜의 버전번호
- header length(헤더 길이) : ip 프로토콜 헤더길이를 32비트 워드 단위로 표시
- packet length(패킷 길이) : ip헤더를 포함하여 패킷의 전체 길이
- time to live(생존 시간) : 패킷의 생존 시간, 라우터를 거칠 때마다 1씩 감소되며 0이되면 네트워크에서 강제로 제거
- transport(전송 프로토콜) : ip프로토콜에 데이터 전송ㅇ을 요구한 전송계층의 프로토콜
- header checksum : 전송 과정에서 발생할 수 있는 헤더 오류 검출
- option : 네트워크 관리나 보안처럼 특수 용도로 이용 가능
- padding : ip 헤더의 크기는 32비트 워드가 크기가 4의 배수가 되도록 설계
2. 패킷 분할
- 다양한 유형의 네트워크를 통해 패킷을 중개하려면, IP 프로토콜이 패킷을 각 네트워크에서 처리하는 크기로 분할
2) 분할의 예
- IP 헤더를 제외한 전송 데이터의 크기는 380바이트
- 패킷은 최대 크기가 128비트라고 가정
3. DHCP 프로토콜
- IP주소부족 등의 이유로 IP주소를 여러 컴퓨터에서 공유해서 사용
> DHCP 프로토콜의 주요 메시지
- DHCP_DISCOVER : 클라이언트가 DHCP 서버를 찾기위해 전송하는 브로드캐스트 메시지
- DHCP_OFFER: 클라이언트의 DHCP_DISCOVER 메시지에 대한 응답으로 DHCP 서버가 응답하는 메시지
- DHCP_REQUEST: 권고한 주소를 사용한다고 알림
- DCHP_ACK : 권고한 IP부소가 최종적으로 사용한지 판단후, 사용가능하면 D_HCP_ACK 전송
- DHCP_NACK : 클라이언트가 DHCP_DISCOVER 과정을 다시하도록함
'Major > Computer Network' 카테고리의 다른 글
[웹서비스컴퓨팅] 병렬 처리의 개요 (0) | 2022.04.09 |
---|---|
[웹서비스컴퓨팅] 웹 서비스 (0) | 2022.04.08 |
[쉽게 배우는 데이터 통신과 네트워크] 6장 개념정리 (0) | 2021.11.25 |
[쉽게 배우는 데이터 통신과 네트워크] 5장 개념정리 (0) | 2021.11.18 |
[쉽게 배우는 데이터 통신과 네트워크] 1장 개념정리 (0) | 2021.10.12 |