7. Network Layer Part1, Part2

이세진·2022년 4월 4일
0

Computer Science

목록 보기
70/74

생성일: 2021년 10월 16일 오후 5:20

7.1 네트워크층 서비스

Alice와 Bob 사이의 통신 요약도

  • 패킷화
    • 네트워크층의 첫 번째 의무 (우체국 같은 운반 서비스)
    • 근원지의 네트워크층 패킷에서 페이로드의 캡슐화와 목적지에서 네트워크층 패킷으로부터 페이로드의 캡슐을 제거
      • 즉, 발신지로부터 목적지까지 변경이나 활용 없이 페이로드를 운반 하는것이 임무
  • 라우팅
    • 발신지에서 목적지로 네트워크층 패킷을 라우팅
    • 가능 경로들 중에서 가장 좋은 것을 찾는 책임
  • 오류제어
    • 네트워크 계층에서 구현 가능, But 네트워크 계층에서 전달되는 데이터에 대해 오류제어 문제 무시. Why? 라우터에서 패킷이 파편화되어 네트워크 계층에서 오류검사는 비효율적
  • 흐름제어
    • 소스가 수신자의 능력을 초과하지 않고 보낼 수 있는 데이터의 양을 조절
    • 이를 위해 수신자는 발신자에게 데이터가 너무 많다는 것을 알리기 위해 피드백을 보낸다
  • 혼잡제어
    • 인터넷에 너무 낳은 데이터그램이 존재하는 상황에서 혼잡(congestion) 발생
    • 송신 컴퓨터에서 보낸 데이터그램의 수가 네트워크 또는 라우터의 용량을 초과하면 혼잡 발생 가능
  • 인터넷 서비스 품질 (Qos)
    • 멀티미디어 통신(오디오 등) 증가에 따라 더 중요해짐
    • 그러나 네트워크 계층은 변경 X ⇒ 상위 계층에서 구현
  • 보안
    • 비연결형 네트워크 계층에 대한 보안을 제공하기 위해 비연결 서비스를 연결 지향 서비스로 변경하는 또다른 가상 수준(virtual level)이 필요 ⇒ 이것을 IPSec이라 함

7.2 패킷 교환(Packet Switching)

  • 데이터그램 방식: 비연결형 서비스
    • 인터넷을 처음 만들 때, 네트워크 층 간소화를 위해 모든 패킷을 독립적으로 처리하는 비연결형 서비스를 제공하도록 설계

  • 가상회선 방식: 연결지향형 서비스
    • 한 메시지에 속한 모든 패킷은 연관성이 있다.

    • 메시지의 모든 데이터그램이 전송되기 전에 가상의 경로가 설정

    • 모두 같은 경로로 전송 가능

7.3 성능(Performance)

지연(delay), 처리량(throughput), 패킷 손실률(packet loss)로 측정 가능

혼잡 제어는 성능을 향상 시킬 수 있는 이슈

  • 지연(Delay) ⭐⭐
    • 패킷이 목적지까지 전송될 때 필연적으로 지연 발생
    • 전송 지연, 전파 지연, 처리 지연, 큐 내부의 지연 ⇒ 총 4가지 지연
    1. 전송 지연 (Transmission Delay)
      • 소스 호스트 또는 라우터는 즉시 패킷을 보낼 수 없다.
      • 패킷의 비트를 전송선에 하나 씩 넣어야 함
      • 전송 지연 = (마지막 비트가 전송선에 놓인 시간) - (첫 비트가 전송선에 놓인 시간)
      • Delaytr=(PacketLength)/(TransmissionRate)Delay_{tr} = (Packet Length)/(Transmission Rate)
    2. 전파 지연 (Propagation Delay)
      • A 지점에서 B 지점으로 비트가 이동하는데 걸리는 시간
      • 전파 속도에 따라 달라짐 (진공에서는 빠르다)
      • Delaypg=(Distance)/(PropagationSpeed)Delay_{pg} = (Distance)/(Propagation Speed)
  1. 처리 지연 (Processing Delay)

    • 라우터 또는 목적지 호스트가 입력 포트에서 패킷을 수신하고 헤더를 제거하고 오류 탐지 절차를 수행하고 패킷을 출력 포트로 전달하는데 필요한 시간
    • Delaypr=Delay_{pr} = Time required to process a packet
  2. 큐잉 지연 (Queuing Delay)

    • 대기열(Queuing) 지연은 일반적으로 라우터에서 발생
    • 라우터에는 입력 큐, 출력 큐가 있다
    • Delayqu=Delay_{qu} = Time a packet waits in input and output queues in a router
  • 총 지연 (Total Delay)⭐⭐
    • 발신자, 라우터 및 수신자에 대해 동일한 지연이 있다고 가정
    • 전체 경로에서 라우터의 수 n을 알면 패킷이 만나는 총 지연을 계산 가능

💡 Total Delay = (n + 1) (delaytr+delaypg+delayprdelay_{tr} + delay_{pg} + delay_{pr} ) + (n) (delayqudelay_{qu})

  • 라우터가 n개라면 링크는 (n + 1)개 ⇒ 전송지연, 전파지연, 처리지연

  • n개의 라우터와 관련된 큐잉지연

  • 처리량(Throughput)

    • 초당 한 지점을 지나는 비트 수 (실질적인 전송률)
    • 패킷은 서로 다른 전송률을 가진 다수의 링크를 통과
    • 이 경우 처리량은?
      • Throughput = minimum {처리량1, 처리량2, ... 처리량n}
  • 패킷 손실(Packet Loss)

    • 전송중 손실 되는 패킷의 수
    • 라우터가 다른 패킷을 처리하는 동안 수신되는 패킷은 입력 버퍼(Buffer)에서 대기해야 함
    • 그러나 라우터는 한정된 버퍼를 가지고 있다. ⇒ 버퍼가 꽉 차면 패킷 수신 못하고 폐기
    • 인터넷의 네트워크 층에서 패킷 손실이 발생하면 해당 패킷을 재전송 ⇒ 더 많은 Overflow와 패킷 손실을 일으킬 수 있다.

7.4 IPv4 주소

  • 인터넷에서 각 장치의 연결을 식별하기 위해 TCP/IP 프로토콜 그룸의 IP 계층에서 사용되는 식별자는 인터넷 주소 또는 IP주소라고 한다.
  • 32비트 주소
  • 장치가 다른 네트워크로 이동시 변경 됨 ⇒ 라우터나 호스트가 아닌 연결의 주소
  • 주소방식
    • 주소 공간을 가진다
    • 주소 공간 = 프로토콜에서 사용 가능한 전체 주소의 수
    • n 비트를 사용한다면 주소공간은 2n2^n
  • 주소지정 계층적인 주소 지정
    • 클래스 기반 주소지정
      • 전체 주소 공간은 5개의 클래스로 구분 (A to E)
    • 클래스없는 주소지정
      • 클래스 기반 주소지정에서 주소 고갈문제 해결 못함
      • 더 큰 주소 공간 필요성 ⇒ 클래스 없는 주소 지정 방식
      • 슬래시 표기법 : 슬래시 뒤의 숫자는 해당 IP주소의 비트 수 (prefix)
      • 접두사의 길이 = 32 - a (a는 주소에 필요한 공간)
  • 서브네팅(subnetting)
    • 서브네팅을 사용하여 더 많은 계층을 만들 수 있다.
    • 기관에 할당된 전체 주소의 수를 N, 접두사의 길이를 n, 각 서브넷에 할당된 주소의 수를 NsubN_{sub}, 각 서브넷의 접두사의 길이를 nsubn_{sub}로 가정
    • 각 서브넷의 주소의 수는 2의 제곱승
    • nsub=32long2Nsubn_{sub} = 32 - long_2N_{sub}
    • 각 서브넷의 첫 주소는 서브네트워크의 주소 수로 나눌 수 있어야 한다. ⇒ 더 큰 서브네트워크에 주소를 먼저 할당
  • 주소 집단화 Block 1~4에서 0부터 255까지 256개의 주소 할당됨 ⇒ nsub=32log2256=24n_{sub} = 32 - log_2256 = 24
  • 데이터그램 형식
    • IP가 사용하는 패킷을 데이터그램(datagram)이라 함

    • 데이터그램은 가변 길이의 패킷으로 헤더와 페이로드(데이터)로 이루어져 있다.

    • 헤더는 20~60 바이트 길이, 라우팅과 전송에 필수적인 정보를 가지고 있다. (고정부분은 20 바이트)

    • TCP/IP 에서는 헤더를 4바이트 부분으로 표현

    • 헤더필드 (1)

      • 버전 : 4 bits
      • 헤더 길이 (HLEN) : 4 bits
        • Length of data = total length - (HLEN) x 4 바이트
      • 서비스 유형 : 8 bits
      • 전체 길이 : 16 bits
    • 헤더필드 (2)

      • 식별자 : 16 bits
      • 플래그 : 3 bits
        • D : Do not fragment (1)
        • M : More fragment (0) ⇒ 0 이면 더이상의 단편이 없다는 의미
    • 헤더필드 (3)

      • 단편화 오프셋 : 13 bits
      • 수명 : 8 bits
      • 프로토콜 : 8 bits
    • 헤더필드 (3)

      • 헤더 검사합 : 16 bits
      • 근원지 주소 : 32 bits
      • 목적지 주소 : 32 bits
      • 선택사항
      • 패딩 : 32 비트 길이의 배수로 채움
      • 페이로드 : 상위 계층으로 부터 사용자 데이터 운반, 8비트 길이의 정수배
  • 단편화 (Fragmentation)
    • 각 라우터는 수신한 프레임에서 데이터그램을 역캡슐화하고 다른 프레임으로 캡슐화한다.
  • MTU (Maximum Transfer Unit)
    • 각 링크계층 프로토콜은 고유의 프레임 포맷을 가짐

    • 캡슐화 할 수 있는 페이로드의 최대크기가 정해짐

  • 옵션

    • IPv4 데이터그램의 헤더는 고정된 부분과 가변 부분 두가지로 구성
    • 고정 부분은 20바이트
    • 가변 부분은 최대 40바이트(4바이트의 배수)까지 될 수 있는 옵션으로 구성
      • 단일 바이트 옵션
      • 다중 바이트 옵션
    • 보안
      • 3가지 보안 이슈 : 패킷 도청, 패킷 변조, IP 스푸핑
  • ICMPv4

    • IPv4 에서 없는 오류 보고, 오류 정정, 호스트와 관리 질의를 위한 매커니즘을 추가
    • 메시지
      • 오류 보고 메시지 (error-reporting) 와 질의(query) 메시지로 나눌 수 있다.

    • 질의 메시지
      • 에코 요청 및 응답
      • 타임스탬프 요청 및 응답
      • 주소 마스크 요청 및 응답
      • 라우터 독립 및 광고
    • 오류 보고 메시지
      • 목적지 도달 불가
      • Source Quench (끄다)
      • 시간 초과
      • 매개변수 문제
      • 경로 재지정
    • ICMP 오류 보고에 대한 중요한 점
      • ICMP 오류 메시지는 ICMP 오류 메시지를 가진 데이터그램의 응답으로는 생성되지 않는다.
      • ICMP 오류 메시지는 첫 번째 단편이 아닌 단편화된 데이터그램을 위해서는 생성되지 않는다.
      • ICMP 오류 메시지는 멀티캐스트 주소를 가진 데이터그램을 위해서는 생성되지 않는다.
      • ICMP 오류 메시지는 127.0.0.1이나 0.0.0.0과 같은 특별한 주소를 가진 데이터그램을 위해서는 생성되지 않는다.
    • 디버깅 도구
      • ICMP는 핑(ping)과 트레이스루트(traceroute) 사용
  • IP 패킷의 포워딩 (Forwarding)

    • IP 주소의 역할에 대하여..
    • 포워딩은 패킷이 목적지로 향하도록 패킷을 배치하는 것
    • 즉, 패킷을 다음 홉으로 전달하는 것을 의미한다.
    • 목적지 주소기반 포워딩
      • 일반적으로 사용됨
      • 포워딩 테이블을 가진 호스트나 라우터 필요
    • 레이블 기반 포워딩
      • 연결 지향 네트워크에서 사용, 패킷에 부착된 레이블을 기반으로 패킷을 포워딩

7.5 IPv6

  • IPv4에서 IPv6로 이동한 주된 원인 : IPv4의 부족한 주소공간 때문

  • IPv6 주소는 128비트 또는 16바이트 길이로 IPv4 주소 길이의 4배이다.

  • 주소

    • 표현법
      • 이진수 128비트를 사람이 다루는 것은 어렵다 ⇒ 16진수 콜론 표기법 사용
    • 주소 공간
      • 21282^{128}개의 주소 공간
      • IPv4보다 2962^{96}배 많음
    • 주소 유형
      • 유니캐스트, 애니캐스트, 멀티캐스트 주소
    • 주소 공간 할당
      • IPv4의 주소 공간과 같이 다양한 크기의 여러 공간으로 나누며, 각 블록은 특수한 목적에 사용

        글로벌 유니캐스트 주소

    • 자동 구성
      • IPv4에서는 호스트와 라우터가 원래 네트워크 관리자에 의해 수동으로 구성
      • IPv6에서 DHCP 프로토콜은 여전히 호스트에 IPv6 주소를 할당하기 위해 사용될 수 있으나, 호스트 역시 자기 스스로 구성 가능
  • IPv6 특징

    • 더 좋은 헤더 형식
    • 새로운 선택사항
    • 확장 허용
    • 자원 할당을 위한 지원
    • 더 높은 보안을 위한 지원
  • 패킷형식

    • 기본 헤더와 페이로드로 구성

    • 기본 헤더는 40바이트를 차지, 확장 헤더와 상위 계층 데이터는 65,535 바이트까지의 정보 포함 가능

      IPv6 데이터그램

    • 버전 : 4 bits

    • 트래픽 분류 : 8 bits

    • 흐름 표지 : 24 bits

    • 페이로드 길이 : 16 bits

    • 다음 헤더 : 8 bits

    • 홉 제한 : 8 bits

    • 근원지 주소 : 128 bits

    • 목적지 주소 : 128 bits

  • ICMPv6

    • 버전 4와 목적과 방법 동일
    • ICMPv4에서 독립적인 프로토콜이 포함되고 유용성을 위해 새로운 메시지들이 추가되어 더 복잡해짐
    • 메시지
      • 오류 보고 메시지
        • 목적지 도달 불가 메시지
        • 패킷 너무 큼 메시지
        • 시간 초과 메시지
        • 파라미터-문제 메시지
    • 정보 메시지
      • 에코 요청, 에코 응답 메시지
    • 이웃 발견 메시지
    • 그룹 멤버십 메시지
profile
나중은 결코 오지 않는다.

0개의 댓글