Internet protocol

박진은·2022년 5월 5일
0

컴퓨터 네트워크

목록 보기
8/12

Internet protocol

  • network layer 라고도 부른다
    • 1:1 이 아닌 여러 구성들이 얽혀 있는 네크워크 구조에서 제역할을 하는 layer이다
  • network에서의 end to end 로 packet 전달해 주는 역할
    • 각 packet 이 제 경로를 찾는 역할
    • L4 전에 ip기 준으로 패킷의 경로를 설정해준다 인터넷은 다른 기기들을 거쳐서 데이터가 전달되기 때문에 주의가 필요하다
  • 주요 기능이 sub - network 간 이동이다
    • h1 → h2 로 data를 전달해야하면
  • Router: packet forwarding을 주 역할로 하는 구성요소
  • network 내에서 적절한 방향으로 전달
  • sub - network 간 packet 전달

역할

  • forwarding: input prot 로 들어오는 packet을 다른 out pot 로 전송하는 동작(경로 강에서의 부분 통과)
    • data plane 유저의 데이터를 전송하는 트래픽이다, Router-local action
    • 데이터 영역 (Data plane) : 라우터는 제어 영역의 프로토콜 정보를 RIP(Routing Information Base)와 FIB(Forwarding Information Base)에 넣고, 데이터 단계에서 소프트웨어 또는 ASIC이 FIB 구조체를 이용하여 트래픽을 전송
  • Routing : path 를 파악하기 위한 제어 동작(경로를 찾는 동작이다)
    • Control plane(패킷 경로설장, 관리 제어하는 기능 담당), network wide process
    • 제어 영역 (Control plane) : 이웃하는 라우터와 전체 네트워크 토폴로지를 찾는 OSPF, EIGRP, BGP 등의 라우팅 프로토콜이 동작하는 단계

router

L3 관점에서 능동적인 역할을 하는 net wrok 요소

라우터는 패킷의 생성 혹은 소비하는 일 없이 중간에서 packet을 전달한다.

  • forwarding table(혹은 routing table)
    • router 들이 각각 보유한 것으로, inprot로 들어온 packet에 대해 outport로 내보낼 규칙을 가진다
  • Router 는 forwardin을 할때, packet의 header 내 정보를 보고,
    • forwarding table 와의 대조를 통해서 어느 경로로 packet을 내보낼 지 정한다.
  • router가 table을 만드는 방법
    • routing protocol 및 routing algorithm을 통해 이루어 진다ㅏ
    • 주변router 들과 협업을 통해 구축한다
      • 방대한 양이 router들이 스스로 협력해서 network 를 구성해서 forwarding을 하는 것을 실형해준다. 라우터 들이주변 노드들의 위치를 알려줘서 포워딩 테이블이 생성되는 거나
  • routing algorithm
    • forwarding table을 만들기 위한 각 router의 동작 매커니즘
      • Routing protocol에 의한 메시지를 수신하여 생성한다
    • human engineer가 일일이 설정해야하는 부분을 자동으로 해준다

hub vs router

  • Hub : layer 1 domain device
    • Physical layer 신호가 여과 없이 그대로 연결되 모든 end node에 전달된다 아무판단하지않고 그대로 내보내는 거여
  • router: layer 3 device
    • ip address 를 보고 판단해서 전달한다 허브랑 차이점임
  • switch : layer 2 domain device
    • link interface 수준에서 전달
    • medium access control address
  • router : layer device
    • net work wide 관점에서 path결정

net work service model

  • 일반적으로 network layer 상위 계층에게 보장해주는 service는 아래의 경우가 있다
    • guaranteed delivery packet이 상대방에게 전달하는것을 보장한다

    • guaraneted deliver with bounded delay 상대방에게 전달될 뿐만아니라 특정 지연 시간 기준내에 반드시 전달한다.

    • in order packet delivery : packet이 순서대로 전달된다.

    • guaranteed minimal bandwith 최소한의 전송률을 보장한다 아마도 속도를 보장한다는거 같ㅇ아용

    • guaranteed maximum jitter: packetdml inter arrival packet 이 일정하게 들어오는 수준보장(최대로 자를 수 있는 inter arrival time 제한이 있는거야)

      net work service model

    • datagram network
      - 네트워크는 패킷을 기준이로 데이터를 전송한다는 의미이다 이는 패켓 단위로 데이터를 나누어서 전송하는 매커니즘을 이용하는 모든 네트워크를 이루는 말이다
      - connectionless service 를 제공하는 L3 이말이 무슨 말이냐면 패킷을 목적지로 전달할 때 정해진경로로만 보내는 것이 아니라 네트워크 상황에 맞는 경로를 설정해서 패킷을 전송한다는 것이다 일허게 되면 유동적으로 경로를 설정하는것이 가능해서 일부의 네트워크 장애가 발생하더라고 이를 무시하고 패킷을 전달하는것이 가능하다

      internet protocol

    • layer 3 protocol의 한 예시이다(itef)

      • drapa internet project를 통해 최초로 개발되었다
      • 우리에게 익숙한 internet 이 ip를 layer 3 prorocol로 사용
      • 거의 대부분의 통신시스템 네트워크가 ip를 사용하무로 오늘날 net woerk 상에 서 통신을 하려면 ㅁ반드시 필여한 protocol임
    • connectionless operation

      • 상대방 entity와 연결으 맺는 개념이 없고 그때 때 도달하는 packet을 기준으로 동작한다

      • flexable 하면서도 동작 측면에서 overhead가 덜하다

      • 동작예시

        • 서도다른 링크 완경 L1, L2도 IP network를 형성 시켜줄 수 있는 강력한 호환겅을 가진다.
      • rourting protocol : forwarding table 형성

      • ip protocol은 datagram 전달

      • icmp protocol 관리를 위한 부가적 절차

        datagram format

      • IPv4 datagram: IP protocol 동작상의 핵심존재이다
        - version number: IPv4 or IPv6 6는 최근에 나온기술이긴한데 도태되고 있다 헤더파일이 너무 무거워진다는 단점이 존재한다
        - header length: option 부분을 포함한 길이이다
        - type of service(TOS): IP datagram 유형
        - Datagram length: data를 포함한 길이
        - identifier 데이터그램이 조각화되면 특정 IP 데이터그램과 특정 IP 데이터그램의 모든 조각을 식별합니다. 데이터 프래그먼 테이션이 일어난면 같은 pdu인지 구분하기 위해서 존재한다.
        - flag - fragmentation 유무를 비트 단위로 기록한것
        - 13 - bit framentation offset - 프레크맨테이션이 발생했더면 데이터를 어디서잘랐는지 기록한 데이터이다.
        - time to live 이 데이타 그램의 수명을 기록한거고 몇 hob단위로 기록이 되어있다고 한다.
        - upper layer protocol 상위레이어 명시
        - header checksum
        - ip address: IP protocol 에서 사용하는 주소
        - source IP address : 보내는 end node 이 주소이다
        - destination IP address : 받는 end node의 주소이다
        - domain name server(DNS)에 ㅣ의해 전환되는 주소이다
        - 예를 들어서 naver.com은 123123123123dlek

            ### IPv4 addressing
            
            - IP에서 사용하는 32비트 주소이다
                - host 나 router의 interface별로 존재한다
                - 40억개 2의 23승개 가 존자한다
                - dot decimal notation
                    - 1. 이와 같은 구조를 가지고 있다.<aaa.bbb.ccc.ddd >
                    - 2. 각 소문자(aaa~ddd) 별로 들어갈 수 있는 숫자는 1~255 사이이다.
                    - ex) 닷 데시멀 노테이션 표기
                    - 192.168.0.1
                    - ex) [2진수](https://ko.wikipedia.org/wiki/%EC%9D%B4%EC%A7%84%EB%B2%95) 표기법을 닷 데시멀 노테이션 표기로 변환11111111.11111111.10000000.00000000 > 255.255.128.0
                - 일반적으로 internet내에서 globally unique하다
                    - nat 영역은 locally unique 하면된다( 와이파이 안에 있는 애들은 와이파이 안에서만 유니크한 아이디를 가지고 있으면 된다.)
            - IP 망 구성 예시
                - subnet: network 과점에서 그룹으로 묶이는 주변의 host 그룹
                    - 물리적으로 비슷한 위치에 있고 L1/L2 수준에서 같은 영역에 있다
                        
                        ![스크린샷 2022-04-17 오전 11.31.38.png](https://s3-us-west-2.amazonaws.com/secure.notion-static.com/8e307c32-486c-44a3-bf94-b91f2f5aaa64/스크린샷_2022-04-17_오전_11.31.38.png)
                        
        - A Class : 0 ~ 127 (0.0.0.0 ~ 127.255.255.255)
        - B Class : 128 ~ 191 (128.0.0.0 ~ 191.255.255.255)
        - C Class : 192 ~ 223 (192.0.0.0 ~ 223.255.255.255)
        - D Class : 224 ~ 239 (224.0.0.0 ~ 239.255.255.255)
        - E Class : 240 ~ 255 (240.0.0.0. ~ 255.255.255.255)
        
        ### Classless Interdomain Routing(CIDR)
        
        - Subnet : IP 주소 앞부분(prefix)로 지칭
            - 223.1.0/24: 앞부분 24bit( x.y.z.c)라고 하면 앞에 3개 (ㅌ.ㅛ.ㅋ)가 prefix IP가 subnet주소에 해당된다
            - subnet 에 속하는 host 들의 IP 주소 앞부분은 subnet IP 주소와 동일하다
                - [223.1.1.xxx](http://223.1.1.xxx) 형태이다
            - subnet간 routing 은 이 subnet prefix로만 판단될 수 있다
        - Gateway: subnet 에서의 대문 역할
            - subnet에 유입되는 packet을 가장 먼저 받아서 처리한다
            - subnet 네서 생선된 packet이 최종적으로 나가는 관문이다
            - 보통 아이피 끝자리가 1이다
            
            ![스크린샷 2022-04-17 오전 11.57.08.png](https://s3-us-west-2.amazonaws.com/secure.notion-static.com/fcd4eb39-a3a8-48a4-af23-9c38c91f6d1a/스크린샷_2022-04-17_오전_11.57.08.png)
            
        
        ### IP Assigment
        
        - 한 subnet 안에 포함 될 수 있는 host 수
            - prefix 를  제외한 나머지 IP 주소 bit 가 표현 가능한 개수
        - block of address에 대한 할당
            - ISP(인터넷 제공 업체) 가 가진 IP를 기관이 할당받는다
            - 
                
                ![스크린샷 2022-04-17 오후 12.00.53.png](https://s3-us-west-2.amazonaws.com/secure.notion-static.com/49ed85ad-1ad2-4a03-a712-8578ea071271/스크린샷_2022-04-17_오후_12.00.53.png)
                
        - 각 host가 ip 주로를 받는 방식
            - 기관 담당자에게 직접 신형해서 수동으로 설정
            - Dynamic Host Configuration Protocol(DHCP)에 의해 자동으로 할당 받는다

        IP datagram fragmentation

      • IP는 공통된 layer 인 반면 하위 계층은 다양한 방식이 존재한다
        - L1 - L2방식에 따라 기본 전송 단위 bit 수가 다를 수 있다
        - L2별로 서로 다른 Maximum Transmission Unit(MTU) 존재
        - IP datagram 은 MTU보다 작아야 L2전송이 가능해진다
        - Router 입장에서는 서로 다른 MTU의 link가 각 interface에 존재하면
        - 한쪽에서 큰 IP datagram이 들어와서 더 작은 MTU의 interface로 전달해야 하는 경우가 발생한다
        - 이 겨우 Router 는 fragmentation을 해야한다 data gram을 네트워트 MTu 에 맞게 짤라서 보내는 과정을 라우터가 수행해야한다
        - 필요시 router는 ip datagram을 쪼개는데 여러개의 fragment로 나눈다
        - destination의 ip의 service 계층으로 올리기 전에 reassemable이 되어야 한다(PROTOCOL TRANSPARANCY)
        - IP header 의 identification flag, fragmentation offset field를 이용한다
        -

            ![스크린샷 2022-04-17 오후 12.19.12.png](https://s3-us-west-2.amazonaws.com/secure.notion-static.com/650d981a-ad67-496f-9473-75a7d13b95dd/스크린샷_2022-04-17_오후_12.19.12.png)
            
            4000파이트의 파일 전종하는데 상대방의 MTU 가 1500 바이트인 경우 이를 쪼개는데 이 과정을 표로 나타낸것이다
            
            옵션을 제외한 헤더의 길이가 20바이트이고 1500바이트씩 data gram을 잘라야해기 때문에 이를 만들기 위해서 1480바이트씩 잘랐다
            
            offset- 에는 fragmentation이 일어난 부분이 표시되는데 1st프레그먼트는 0
            
            2nd fragmentation은 185이다 offset에서는 바이트를 8로나눈 값으로 표현된
            

        Internet control message protocol(ICMP)

      • host 혹은 router 간 layer 3 수준에서 message 를 주고 받게 하는 프로토콜

      • 실제 data를 전달하는 용도가 아닌, network 관리 측면에서 주로 활용됨
        - 주로 net work layer과점에서의 IP 연결성 생태를 확인해보기 위해서 사용하느데 활용한다
        - application 이 network 문제로 인해 동작을 안하는 것처럼 보이는 경우
        - icmp를 이용해서 ip 단에서 packet 송수신이 되는지 확인할 수 있는 거임
        - ICMP message: 일반 IP datageam 형태의 payload 부분에 담겨있음
        - e.g.)ping : echo
        - type 8/0 , code 0

        NextIP: IPv6

      • address space exhaustion: IP 주소가 턱없이 모자르다

        • 2 level addressing(network/ host)는 비효율 적이다
        • 연결되지 않은 IP는 사용못한다
        • IP를 사용하고자 하는 host가 점점 많아진다
      • requirements for new types of service
        - 다양한 service에 대한 Quality of service (QoS) 지원 필요
        - voice , video streaming

        IPv6 datagram format

      • 아이피 주소가 확장되었음

        • 32bit - 128 bit
      • 40byte 고정크기의 header로 정의 :option mechanism 개선

      • flow labeling and priority

        • flow 별 quality of service 관기
      • fragmentation 은 라우터에선 불가능하고 소스와 목적지 에서만 가능하다

      • 헤더 체크섬은 존재하지 않는다

profile
코딩

0개의 댓글