1992.10.27

SUBJECT: Network Layer = Internetwork Protocol(IP)

MEANING OF THIS MEMO:
TCP/IP의 network layer에 대해 설명한다.

DESCRIPTION:
* internetwork란 network들이 여럿 연결되 있는 것을 표현하는 개념이다.
  즉 networ의 network이다.
  이 layer는 internetwork내에서 packet들이 어떻게 교환되고 route되는지를 결정한다.
  즉 network상의 node들이 어떻게 internet address로 주소화하고 또 어떻게 이들
  internet address가 physical address인 ethernet address로 변환되는지를 정의한다.
* 이 layer는 flow control 또는 sequencing 없는 system간에 정보를 전달한다.(?)
  전달되는 정보란 gateway를 한번씩 통과할 때마다 감소하는 "time to live"를 포함하여
  접수, 발송이 기록되는 것을 의미한다.
* 이 layer를 Sun Networking Model에선 IP layer라 한다.
  ARP는 routing을 제어하는데 사용된다.
* packet 전송시  network layer의 역할:
  - machine atom(internet address 192.9.10.105)이
    machine sparc(internet address 192.9.10.101)에 접속을 시도한다면,
    atom의 network layer는 두 machine의 internet address를 확인,
    atom과 sparc이 192.9.10이라는 동일 network에 있음을 알게 된다.
  - 만약 같지 않다면 route table을 참조하여 여기 등록되 있는 적절한 gateway를 통해
    destination network로 packet을 보낸다.
    destination IP address의 network이 source network과 같은지 여부를 
    이 layer에서 확인하는 것이다.
    물론 중간의 gateway 역시 IP address까지 확인하는 절차를 밟는다.
    즉 gateway도 network layer까지 packet을 encapsulation하여 routing을 수행하는 것이다.
  - machine atom은 자신의 arp table에 machine sparc의 physical address를 
    미리 가지고 있지 않다면 local network상의 모든 system에 sparc의
    internet address를 가진 packet을 broadcast하고
    machine sparc가 자신의 ethernet address를 보내주길 기다리다 받게 되면
    atom 자신의 arp table에 이를 등록한다.
  - 그리고 나서 data가 machine sparc로 보내진다.
    결국 "arp는 internet address(IP address)를 ethernet address로 mapping해 주는 것"
    이라고 (rarp와 대비하여) 설명할 수 있다.
* "arp" command를 사용하여 확인해 볼 수 있다.
   % arp -a (처음 booting시)
   % ping sparc
   % arp -a (sparc에 관한 정보가 add되 있음)
     sparc (192.9.10.101) at 8:0:20:8:a:85
* rarp
  RARP는 machine이 자신의 ethernet address를 broadcast하여
  자신의 internet address를 받는다. 
  이는 server로 부터 diskless client를 booting하는데 사용하는 mechanism이다.
* "arp" command의 용법
  1) arp table 내용을 보려면:
       # arp -a
  2) arp table의 entry를 지우는 경우: 
       # arp -d sparc
       sparc(192.9.10.10) deleted
  3) arp table의 entry를 바꾸는 경우:
       # arp -a
         sparc (192.9.10.101) at 8:0:20:8:a:85
       # arp -s sparc 8:0:20:8:a:11 (다른 system의 ethernet address)
       # arp -a
         sparc (192.9.10.101) at 8:0:20:8:a:11 permanant
       # arp -s sparc 8:0:20:8:a:85
       # arp -a
         sparc (192.9.10.101) at 8:0:20:8:a:85 permanent

* "etherfind" command의 용법
  etherfind로 ethernet상의 활동들을 monitor해 볼 수 있다.
  보고자하는 통계를 option으로 지시하면
  packet의 header를 조사하여 output을 보여 준다.
       # etherfind -arp
       Using interface le0
                                                   icmp type
        lnth proto         source     destination   src port   dst port
          60  arp    192.9.10.212          jamsil
          60  arp          jamsil    192.9.10.212
          60  arp    192.9.10.210          jamsil
          60  arp          jamsil    192.9.10.210
          42  arp            atom            choi (다른 window에서 ping choi를
          42  arp            atom            choi  수행 하면서 나타남)
          42  arp            atom            choi


                                    
Revision History
Created        on Nov. 18 ,1992