[쉽게 배우는 데이터 통신과 네트워크] 7장 개념정리

2021. 11. 25. 16:55·Major/Computer Network
728x90

* 쉽게 배우는 데이터 통신과 네트워크(개정판) 책을 바탕으로 작성하였습니다.

데이터 통신과 컴퓨터 네트워크(쉽게 배우는)(개정판)(IT CookBook 209) | 박기현 | 한빛아카데미 - 교보문고 (kyobobook.co.kr)

 

데이터 통신과 컴퓨터 네트워크 - 교보문고

도서 장점① 데이터 통신과 컴퓨터 네트워크의 상호 연관된 부분을 함께 학습할 수 있습니다.② 복잡한 데이터 통신 과정은 생략하고, 친숙한 TCP/IP 인터넷을 중심으로 쉽게 설명합니다.③ 개정

www.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 프로토콜

- 거리벡터 방식의 내부 라우팅 프로토콜 중 가장 간단하게 구현된 것

- 소규모 네트워크 환경에 적합, 현재 가장 많이 사용됨

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 과정을 다시하도록함

 

728x90
저작자표시 비영리 (새창열림)

'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
'Major/Computer Network' 카테고리의 다른 글
  • [웹서비스컴퓨팅] 병렬 처리의 개요
  • [웹서비스컴퓨팅] 웹 서비스
  • [쉽게 배우는 데이터 통신과 네트워크] 6장 개념정리
  • [쉽게 배우는 데이터 통신과 네트워크] 5장 개념정리
BeNI
BeNI
코딩하는 블로그
  • BeNI
    코딩못하는컴공
    BeNI
  • 전체
    오늘
    어제
    • Menu (254) N
      • My profile (1)
      • 회고 | 후기 (8)
      • Frontend (66) N
        • Article (11)
        • Study (36) N
        • 프로그래머스 FE 데브코스 (19)
      • Backend (0)
      • Algorithm (58)
        • Solution (46)
        • Study (12)
      • Major (111)
        • C&C++ (23)
        • Java (20)
        • Data Structure (14)
        • Computer Network (12)
        • Database (15)
        • Linux (6)
        • Architecture (3)
        • Lisp (15)
        • OS (1)
        • Security (2)
      • etc (2)
  • 링크

    • 깃허브
    • 방명록
  • 인기 글

  • 최근 댓글

  • 최근 글

  • 태그

    lisp
    자료구조
    프로그래머스
    react
    파일처리
    데브코스
    Algorithm
    백준
    C++
    리팩토링
  • hELLO· Designed By정상우.v4.10.2
BeNI
[쉽게 배우는 데이터 통신과 네트워크] 7장 개념정리
상단으로

티스토리툴바