22
1 성성성 성성성 SungKyunKwan Univ. 정정정정정정정 TCP/IP TCP/IP 성성성성 성성성성 정 9 정 IP 정정정

TCP/IP 네트워크

Embed Size (px)

DESCRIPTION

TCP/IP 네트워크. 제 9장 IP 라우팅. 목차. 1. 개요 2. 라우터의 기본 원칙 3. ICMP 호스트 및 네트워크 도달불가 에러 4. 전송 또는 전송하지 않음 5. ICMP 재지정 에러 6. ICMP 라우터 발견 메시지 7. 요약. 1. 개 요. IP 층이 어떻게 라우팅을 결정하는가 라우팅은 IP 기능 중 가장 중요한 기능들증의 하나 일반적인 사용자 프로세스는 라우팅 데몬 UNIX 시스템은 일반적으로 routed 와 gated 라는 프로그램 사용 - PowerPoint PPT Presentation

Citation preview

Page 1: TCP/IP  네트워크

1성균관 대학교

SungKyunKwan Univ.

정보통신연구실

TCP/IP TCP/IP 네트워크네트워크

제 9 장 IP 라우팅

Page 2: TCP/IP  네트워크

2성균관 대학교

SungKyunKwan Univ.

정보통신연구실

1. 개요

2. 라우터의 기본 원칙

3. ICMP 호스트 및 네트워크 도달불가 에러

4. 전송 또는 전송하지 않음

5. ICMP 재지정 에러

6. ICMP 라우터 발견 메시지

7. 요약

목차목차

Page 3: TCP/IP  네트워크

3성균관 대학교

SungKyunKwan Univ.

정보통신연구실

1. 1. 개 요개 요

• IP 층이 어떻게 라우팅을 결정하는가

• 라우팅은 IP 기능 중 가장 중요한 기능들증의 하나

• 일반적인 사용자 프로세스는 라우팅 데몬

UNIX 시스템은 일반적으로 routed 와 gated 라는

프로그램 사용

• 라우팅 테이블은 IP 가 수시로 액세스하여 경로에 대한

정보를 조회시 사용하며 라우팅 데몬이 주기적으로

라우팅 테이블을 개정

• ICMP redirect 메시지와 route 명령어에 의해 갱신

• 라우팅 테이블 출력을 위해 netstat 명령어 사용

Page 4: TCP/IP  네트워크

4성균관 대학교

SungKyunKwan Univ.

정보통신연구실

IPIP 계층에서 수행되는 처리과정계층에서 수행되는 처리과정

라우팅데몬

Netstat명령어

Route명령어

ICMP

TCPUDP

우리의 패킷인가 ?(IP 주소가 우리 것인가 ? 아니면 브로드캐스트 주소인가 ?)

IP 옵션 처리

IP 입력 큐

IP 출력 :다음 홉 라우터를계산 ( 만약 필요하다면 )

라우팅테이블

네트워크 인터페이스

인접 라우터로부터 라우팅 테이블 갱신

ICMP 재지정 yes

no

소스 라우팅

데이터그램을 전송

( 만약 전송 가능하면 )

IP 층

Page 5: TCP/IP  네트워크

5성균관 대학교

SungKyunKwan Univ.

정보통신연구실

2. 2. 라우터의 기본원칙라우터의 기본원칙

• IP 가 행하는 라우팅 결정은 라우팅 테이불에 있는 정보에 의존• IP 는 다음과 같은 순서로 라우팅 테이블을 조회 .

- 일치되는 호스트 어드레스가 있는지를 조사 .- 일치되는 네트워크 어드레스가 있는지를 조사 .- default entry 가 있는지 조사 .

( default entry 는 네트워크 ID 가 0 인 네트워크 엔트리 )

• routing mechanism : IP 가 라우팅 테이블을 검색해서 , 어느 인터페이스로 패킷을 보낼 것인가를 결정하는 동작• routing policy : 어떤 경로를 라우팅테이블에 저장할 것인가• IP 는 routing mechanism 실행• 라우팅 데몬은 보통 routing policy 제공 .

Page 6: TCP/IP  네트워크

6성균관 대학교

SungKyunKwan Univ.

정보통신연구실

Portion of the class B network 140.252 used Portion of the class B network 140.252 used for all the examples in the text All the hosts for all the examples in the text All the hosts are in the tuc.noao.edu domainare in the tuc.noao.edu domain

aix gemini gateway

netb

svr4sunbsdislip

solaris

modem

modem

AIX3.2.2 Solaris2.2 SunOS4.1.1인터넷.104.1

시스코라우터

.1.4

TelebitNetBlazer

BSD/386 1.0 BSD/386 1.0 SunOS 4.1.3 SVR4

.13.34.13.33.13.35.13.66.13.65

SLIP (dialup)

.1.92 .1.32 .1.11

.1.183

.1.29

이더넷

이더넷

SLIP

Page 7: TCP/IP  네트워크

7성균관 대학교

SungKyunKwan Univ.

정보통신연구실

svr4 % netstat -rnRouting tablesDestination Gateway Flags Refcnt Use Interface140.252.13.65 140.252.13.35 UGH 0 0 emd0127.0.0.1 127.0.0.1 UH 1 0 lo0default 140.252.13.33 UG 0 0 emd0140.252.13.32 140.252.13.34 U 4 25043 emd0

간단한 라우팅 테이블간단한 라우팅 테이블

• Flag.- U : 로컬 네트워크를 표현 .- G : 경로가 라우터를 향함 .- H : 호스트에 대한 경로 정보 나타냄 . 목적지는 완전한 호스트 주소임- D : 경로가 redirect에 의해서 생성 .- M : 경로가 redirect에 의해서 수정 .

Page 8: TCP/IP  네트워크

8성균관 대학교

SungKyunKwan Univ.

정보통신연구실

• Refcnt ( reference count ): TCP와 같은 연결 지향 프로토콜에서 유지하고 있는 연결의 수 .• Use : 해당 경로로 보내진 패킷의 수 . • Interface: local interface 의 이름 .• 첫째줄 : 목적지로 보내기 위해 게이트 웨이로 보냄• 둘째줄 : 루프 백 인터페이스• 셋째줄 : 디폴트 경로 지정• 넷째줄 : 같은 이더넷 상에 있는 호스트에대한 라우팅

간단한 라우팅 테이블간단한 라우팅 테이블

Page 9: TCP/IP  네트워크

9성균관 대학교

SungKyunKwan Univ.

정보통신연구실

라우팅 테이블 초기화라우팅 테이블 초기화

• 인터페이가 초기화 될때 (ifconfig 명령어로 설정 ) 자동으로 초기화됨 . ( 점대점 링크 , 루프백 인터페이스 에 대해서 그 경로는 호스트가 됨 - 즉 H flag 설정 ) • route 명령어를 사용하여 라우팅 테이블을 초기화 . 호스트 svr4 의 경우

route add default sun 1route add slip bsdi 1

default router 를 /etc/defaultrouter 와 같은 화일에 표기하기도 함 .• 라우팅 테이블의 복잡성 네트워크 토폴로지 (topology) 에 의존 .

Page 10: TCP/IP  네트워크

10성균관 대학교

SungKyunKwan Univ.

정보통신연구실

sun % netstat -rnRouting tablesDestination Gateway Flags Refcnt Use Interface140.252.13.65 140.252.13.35 UGH 0 171 le0127.0.0.1 127.0.0.1 UH 1 766 lo0140.252.1.183 140.252.1.29 UH 0 0 sl0default 140.252.1.183 UG 1 2955 sl0140.252.13.32 140.252.13.33 U 8 99551 le0

Sun % ifconfig sl0sl0 : flags=1051<UP, POINTPOINT, RUNNING> inet 140.252.1.29 --> 140.252.1.183 netmask ffffff00

복잡한 라우팅 테이블복잡한 라우팅 테이블

Page 11: TCP/IP  네트워크

11성균관 대학교

SungKyunKwan Univ.

정보통신연구실

목적지로 가는 경로가 없는 경우목적지로 가는 경로가 없는 경우

• default 경로가 없고 목적지 경로에 대한 정보가 없을 때 • 호스트에서 생성된 것이라면 송신자에게 host unreachable 또는 network unreachable 에러 메시지가 돌아옴• 데이터 그램이 전송된 것이라면 ICMP 호스트 도달불가 에러 메시지를 돌려보냄

Page 12: TCP/IP  네트워크

12성균관 대학교

SungKyunKwan Univ.

정보통신연구실

3. 3. ICMP ICMP 호스트 및 네트워크 도달호스트 및 네트워크 도달 불가 에러불가 에러

Svr4 에서 절단되어 있는 다이얼업 SLIP 링크의 반대쪽에 있는 호스트에대해서 ping 을 실행

svr4 % ping geminiICMP host unreachable from gateway sun (140.252.13.33)ICMP host unreachable from gateway sun (140.252.13.33)^? 종료하기 위해 인터럽트 키를 누름

1. 0.0 svr4 > gemini : icmp : echo request2. 0.00 ( 0.00 ) sun > svr4 : icmp : host gemini unrechable

3. 0.99 ( 0.99 ) svr4 > gemini : icmp : echo request4. 0.99 ( 0.00 ) sun > svr4 : icmp : host gemini unrechable

Ping 에 응답한 ICMP 호스트 도달불가

Page 13: TCP/IP  네트워크

13성균관 대학교

SungKyunKwan Univ.

정보통신연구실

3. 3. ICMP ICMP 호스트 및 네트워크 호스트 및 네트워크 도달불가 에러도달불가 에러

인터넷에 연결되어 있지 않은 IP 주소에 ping 을 실행하면 에러가 생기며에러가 돌아오기 전에 패킷이 인터넷을 통해 어디까지 갔는지를 알수 있다 .

sun % ping 192.82.148.1 이 Ip 주소는 인터넷에 연결되어 있지 않다 .PING 192.82.148.1 : 56 data bytesICMP host unrechable from gateway enss142.UT.westnet.net (192.31.39.21 )for icmp from sun ( 140.252.1.29 ) to 192.82.148.1

a top-level routing domain : default 처리 없이 모든 인터넷 경로 정보 유지 : NSFNet, CIX, NSI, Sprintlink, EBONE (1995. 4 기준 )

Page 14: TCP/IP  네트워크

14성균관 대학교

SungKyunKwan Univ.

정보통신연구실

host

R2R1

(1) IP datagram

(3) ICMP redirect

(2) IP datagram

ICMP 재지정 예

5. 5. ICMP ICMP 재지정 재지정 에러에러

4. 4. 전송 또는 전송하지 않음전송 또는 전송하지 않음

•호스트는 라우터로 구성할 경우를 제외하고는 IP forwarding 또는 이와 유사한 이름을 갖는 커널 변수를 이용해 IP 데이터 그램을 전송하지 않도록 구성할 수 있다 .

Page 15: TCP/IP  네트워크

15성균관 대학교

SungKyunKwan Univ.

정보통신연구실

Ping을 실행하기 전의 라우팅 테이블

solaris % netstat -rnRouting tablesDestination Gateway Flags Refcnt Use Interface127.0.0.1 127.0.0.1 UH 0 848 lo0140.252.1.0 140.252.1.32 U 3 15042 le0224.0.0.0 140.252.1.32 U 3 0 le0default 140.252.1.4 UG 0 5747 le0

V 옵션을 사용하면 호스트에 의해 수신되는 ICMP 메시지를 볼 수 있다 .Solaris % ping -sv bsdiPING bsdi: 56 data bytesICMP Host redirect from gateway gateway (140.252.1.4) to netb ( 140.252.1.183) for bsdi (140.252.13.35)64bytes from bsdi ( 140.252.13.35) : icmp_seq=0. time=383. ms64bytes from bsdi ( 140.252.13.35) : icmp_seq=0. time=383. ms 64bytes from bsdi ( 140.252.13.35) : icmp_seq=0. time=383. Ms^? type interrupt key to stop------------------bsdi PING statistics --------4 packets transmitted, 3 packets received, 25 % packet loss round-trip (ms) min/avg/max = 353/366/383

ICMP ICMP 재지정의 예재지정의 예

Page 16: TCP/IP  네트워크

16성균관 대학교

SungKyunKwan Univ.

정보통신연구실

solaris % netstat -rnRouting tablesDestination Gateway Flags Refcnt Use Interface127.0.0.1 127.0.0.1 UH 0 848 lo0140.252.13.35 140.252.1.183 UGHD 0 2 le0140.252.1.0 140.252.1.32 U 3 15045 le0224.0.0.0 140.252.1.32 U 3 0 le0default 140.252.1.4 UG 0 5749 le0

ICMP 재지정에 의해 새로운 경로가 추가되었음을 알수 있다 .D 옵션은 ICMP재지정에 의해 설정되어졌다는 것을 의미한다 .

ICMP ICMP 재지정의 예재지정의 예

Page 17: TCP/IP  네트워크

17성균관 대학교

SungKyunKwan Univ.

정보통신연구실

유형 (5) 코드 (0) 검사합

라우터의 인터넷 주소

8 bytes

0 7 8 15 16 31

IP header (including options) + first 8 bytes of original IP datagram data

코드 설 명

0123

네트워크에 대한 재지정호스트에 대한 재지정서비스 유형과 네트워크에 대한 재지정서비스 유형과 호스트에 대한 재지정

ICMP 재지정 메시지

ICMP 재지정 메시지의 서로다른 코드값

그 밖의 자세한 정보그 밖의 자세한 정보

Page 18: TCP/IP  네트워크

18성균관 대학교

SungKyunKwan Univ.

정보통신연구실

4.4BSD 는 라우터로 작동될 때 다음 사항을 점검한다 .

1. 송신 인터페이스는 수신 인터페이스와 같아야 한다 .

2. 송신 데이터 그램의 경로는 ICMP 재지정에 의해 생성 , 수정되지 않아야 하고 , 또 라우터의 디폴트 경로가 되어서는 안된다 .

3. 데이터그램은 소스 라우트가 되어서는 않된다 .

4. 커널은 재지정을 송신하도록 설정되어야 한다 .

4.4BSD 호스트는 라우팅테이블을 갱신하기전 다음 사항을 점검한다 .

1. 새로운 라우터는 직접 연결된 네트워크 상에 있어야 한다 .

2. 재지정은 그 목적지에 대해 현재의 라우터로 된 것이어야 한다 .

3. 재지정은 호스트에 대해서 자신을 라우터로 이용하도록 지시해서는 안된다 .

4. 수정된 경로는 간접경로이어야 한다 .

그 밖의 자세한 정보그 밖의 자세한 정보

Page 19: TCP/IP  네트워크

19성균관 대학교

SungKyunKwan Univ.

정보통신연구실

• 라우팅 테이블을 초기화하기위한 새로운 방법으로 ICMP router advertisement 와 solicitation 메시지 규정 (RFC1256 )

• 부팅후 호스트가 라우터 청원 메시지를 브로드 캐스트 또는 멀티 캐스트 한다 . 하나 또는 그 이상의 라우터가 광고 메시지로 응답한다 . 추가적으로 라우터는 정기적으로 라우터 광고를 브로드 캐스트 또는 멀티 캐스트 하므로 이를 수신한 호스트가 라우팅 테이블을 갱신한다 .

6. 6. ICMP ICMP 라우터 발견 메시지라우터 발견 메시지

Page 20: TCP/IP  네트워크

20성균관 대학교

SungKyunKwan Univ.

정보통신연구실

유형 (10) 코드 (0) 검사합

사용하지 않음 (0 으로 보냄 )

8 bytes

8 bytes

0 7 8 15 16 31

0 7 8 15 16 31

유형 (9) 코드 (0) 검사합

주소의 개수 주소 엔트리 길이

생존시간

라우터 주소 [1]

우선권 레벨 [1]

라우터 주소 [2]

우선권 레벨 [2]

. . .

ICMP 라우터 청원 메시지 형식

ICMP 라우터 광고 메시지 형식

Page 21: TCP/IP  네트워크

21성균관 대학교

SungKyunKwan Univ.

정보통신연구실

라우터 동작 - 450 ~ 600 초 간격으로 라우터 주소 광고 (advertisement)

- 라우터 청원 (solicitation) 패킷에 응답 - 30 분이 기본 유효 시간 ( 만약 0 분으로 설정시 인터페이스 down 통보임 )

호스트 동작- 부트시 3 초간격으로 3 번 라우터 청원 (solicitation) 패킷 전송- 인접 라우터의 공표 주소 인식- default 라우터는 보통 10 분 간격으로 공표하며 이때 유효시간을 30 분으로 공표하기때문에 호스트의 default 정보가 누락되는 경우가 발생하지않음

구 현- 사용자 발견 메시지는 사용자 프로세스에 의해서 생성 ( solaris 2.X 시스템만 지원 , 다른 시스템은 지원하지않음 )

Page 22: TCP/IP  네트워크

22성균관 대학교

SungKyunKwan Univ.

정보통신연구실

7. 7. 요 약요 약

IP 라우팅 동작은 TCP/IP 가 동작하는 시스템에 대해 기본적인 것이다 .

라우팅 테이블 엔트리는 최대 5 개의 플래그 비트 , 목적지 IP주소 , 다음 홉 라우터 IP 주소 ( 간접 경로의 경우 ) 또는 로컬 인터페이스 IP 주소 ( 직접 경로의 경우 ), 그리고 사용되는 로컬 인터페이스의 포이터로 구성된다 .

라우팅 테이블 검색은 IP 데이터 그램을 생성 , 또는 전송할때에 행하며 라우팅 데몬 또는 ICMP 재지정에 의해 갱신된다 .

이장에서는 한대의 시스템이 라우팅 테이블을 어떻게 이용하는가에 중점을 두었다 .