L3 관점에서 능동적인 역할을 하는 net wrok 요소
라우터는 패킷의 생성 혹은 소비하는 일 없이 중간에서 packet을 전달한다.
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 제한이 있는거야)
datagram network
- 네트워크는 패킷을 기준이로 데이터를 전송한다는 의미이다 이는 패켓 단위로 데이터를 나누어서 전송하는 매커니즘을 이용하는 모든 네트워크를 이루는 말이다
- connectionless service 를 제공하는 L3 이말이 무슨 말이냐면 패킷을 목적지로 전달할 때 정해진경로로만 보내는 것이 아니라 네트워크 상황에 맞는 경로를 설정해서 패킷을 전송한다는 것이다 일허게 되면 유동적으로 경로를 설정하는것이 가능해서 일부의 네트워크 장애가 발생하더라고 이를 무시하고 패킷을 전달하는것이 가능하다
layer 3 protocol의 한 예시이다(itef)
connectionless operation
상대방 entity와 연결으 맺는 개념이 없고 그때 때 도달하는 packet을 기준으로 동작한다
flexable 하면서도 동작 측면에서 overhead가 덜하다
동작예시
rourting protocol : forwarding table 형성
ip protocol은 datagram 전달
icmp protocol 관리를 위한 부가적 절차
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 수준에서 같은 영역에 있다

- 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이다

### IP Assigment
- 한 subnet 안에 포함 될 수 있는 host 수
- prefix 를 제외한 나머지 IP 주소 bit 가 표현 가능한 개수
- block of address에 대한 할당
- ISP(인터넷 제공 업체) 가 가진 IP를 기관이 할당받는다
-

- 각 host가 ip 주로를 받는 방식
- 기관 담당자에게 직접 신형해서 수동으로 설정
- Dynamic Host Configuration Protocol(DHCP)에 의해 자동으로 할당 받는다
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를 이용한다
-

4000파이트의 파일 전종하는데 상대방의 MTU 가 1500 바이트인 경우 이를 쪼개는데 이 과정을 표로 나타낸것이다
옵션을 제외한 헤더의 길이가 20바이트이고 1500바이트씩 data gram을 잘라야해기 때문에 이를 만들기 위해서 1480바이트씩 잘랐다
offset- 에는 fragmentation이 일어난 부분이 표시되는데 1st프레그먼트는 0
2nd fragmentation은 185이다 offset에서는 바이트를 8로나눈 값으로 표현된
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
address space exhaustion: IP 주소가 턱없이 모자르다
requirements for new types of service
- 다양한 service에 대한 Quality of service (QoS) 지원 필요
- voice , video streaming
아이피 주소가 확장되었음
40byte 고정크기의 header로 정의 :option mechanism 개선
flow labeling and priority
fragmentation 은 라우터에선 불가능하고 소스와 목적지 에서만 가능하다
헤더 체크섬은 존재하지 않는다