1. IOS Device의 Configuration 정보 검증

 

IOS Device, 즉 Router나 Switch의 내부 동작들은 그 장치들이 처한 환경이나 관리자의 요구에 따라 조금씩은 다르기 마련이다. 따라서 같은 장치라 할지라도 내주 구성 정보들은 조금씩 차이가 나기 마련이다. 위 명령어는 IOS Device내부에 저장된 구성 정보들을 확인 하는 명령어로서 장비의 구체적인 역할과 기능(서비스)들을 확인 하기 위해 사용되어 진다. 뿐만아니라 Troubleshooting을 위해 자주 참조되는 정보이기도 하다.IOS Device는 자신의 구성 정보들을 다음과 같이 두 가지 매체에 저장하는데 그 특징은 다음과 같다.

 

- NVRAM : IOS Device가 처음 부팅 시 이곳에서 구성 정보를 참조 하여 RAM에 로드 한다. RAM에 로드 된 구성 정보들은 실제 장비의 기능을 결정한다. 또한 NVRAM은 현재 RAM에서 동작하는 실제 구성 정보가 다음 부팅 시에도 참조 될 수 있도록 하는 구성 정보 저장 역할을 제공한다.

- RAM :현재 IOS Device의 실질적인 구성 정보들이 저장되어 있다. 즉 현재 IOS Device의 Memory에서 실제로 동작하는 기능들이 정의되어 있다. 예를 들어 현재 IOS Device 내부에서 제공되는 기능들의 특징을 확인하기 위해서는 다음과 같은 명령어를 실행한다. 이 명령어는 IOS Device를 구성하는 사용자가 구성 정보의 올바른 설정 확인을 위해 자주 사용 될 것이다.
Router#show running-config
만약 IOS Device의 구성 정보를 nvram에 저장하려면 다음과 같은 명령어가 필요하다.
Router#copy running-config startup-config 또는 Router#write
장비의 구성 정보가 다음 부팅 시에도 지속적으로 참조 되기를 바란다면 실습을 연습하는 과정에서 주기적으로 위 명령어를 실행해야 한다. 참고로 기존 IOS Device의 구성 정보를 제거하고 장비를 초기화 하는 방법은 다음과 같다.
Router#erasr startup-config -> nvram의 정보를 삭제한다.
Router#reload ->재부팅 한다.

 

2. Show running 명령어 활용

우리가 Lab을 하다 보면 가장 많이 사용하는 기본적인 IOS 명령어들 중에 하나가 ‘show running-config’일 것이다. 이 명령어는 현재 IOS Device에 적용된 명령어들이 잘 적용 되었는지, 또는 장비 구성의 문제점을 확인 하는데 있어서 아주 유용하다. 하지만 자주 사용하는 명령어인 만큼 효율적으로 사용하는 방법을 손에 익히는 것도 장비를 구성하는 숙달을 향상하는데 도움이 될 것이다.
“show run” 명령어는 장비의 구성 정보를 순차적으로 보여 주기 때문에 장비의 구성 정보가 많은 경우에는 몇 번의 페이지를 이동해서야 자신이 원하는 정보를 볼 수 있을 것이다. 그렇다면 순발력 있게 ‘show run’명령어를 사
용 하는 몇 가지 예제는 살펴보자.
1.Show run 을 실행 후 ‘/’key를 누르고 자신이 원하는 항목을 입력 후 엔터키를 누르면 바로 해당 항목의 정보부터 보여 준다.
2.Show run | begin <이곳에 입력한 항목부터 구성 정보를 보여 준다>
3.어떠한 Configuration Mode에서도 show 명령어를 실행한다.
router(config)#do show run

 

3. IOS Device의 식별을 위한 정보 설정

 

IOS Device를 구성하는데 있어서 가장 먼저 설정해 주는 것이 장비를 식별하기 위한 다음과 같은 정보들을 필요하다.
•Hostname 설정

IOS Device를 식별하기 위한 가장 기본적인 설정이다. Hostname을 설정하는 경우에는 장비의 역할이나 물리적 위치 정보, 또는 장비의 연결 순서와 같은 정보들을 이용하여 나름대로 정의 한다. CCIE Lab에서는 주로 장비의 연결 순서와 위치, 그리고 장비의 성격을 기반으로 하여 hostname을 정의한다.
Router(config)#hostname Host_Name

• Banner motd & description
Banner motd(message of the day)는 IOS Device에 관리 목적으로 접근하여 사용자들에게 보여질 문구를 정의하며, interface의 description은 많은 수의 interface를 관리해야 하는 장비에서 정의하면 도움이 된다.
만약 사용자가 정의하는 문구 중에 ‘?’가 들어가는 상황이라면 Ctrl + V Key를 누른 후 ‘?’를 입력한다.

• Domain lookup

IOS가 제공하는 CLI(Command Line Interface)는 User가 직접 입력하는 명령어를 즉시 해석하여 실행하는데, 만약 User가 입력한 명령어가 자신이 알지 못하는 문자(명령어)로 구성되어 있다면 이를 즉시 호스트 이름으로 간주하여 DNS 와 host table을 검색하여 연결 point를 찾으려 한다. 만약 User가 입력한 문자가 DNS나 host table에 정의된 것이라면 즉시 telnet 연결을 시도하겠지만, 그렇지 않은 경우라면 unknown command라는 에러 문자를 콘솔에 표시 할 것이다. 만약 User가 잘못된 명령어를 입력하더라도 그 명령어를 호스트 이름으로 간주하여 DNS를 찾는 시간적인 소모를 하지 않기를 원한다면 다음과 같은 명령어를 입력하면 된다.
Router(config)#ip domain-lookup
•잘못된 명령어 입력->DNS 검색 -> Host table 검색 -> 에러 출력
Router(config)#no ip domain-lookup
•잘못된 명령어 입력 -> Host table 검색 -> 에러 출력

 

4. IOS Device 접근 제한 설정

 

IOS Device에 접근을 제한하기 위한 기초적인 보안 설정은 다음과 같은 것들이 있다.

1. Console에 의한 접근 시 로그인 인증 정보 설정
Router(config)#line console 0
Router(config-line)login
Router(config-line)#password korea

2. Telnet에 의한 접근 시 로그인 정보 설정
Router(config)#line vty 0 4
Router(config-line)login
Router(config-line)#password korea

3. Priviliged Mode 접근 시 암호 설정
Router(config)#enable password korea
Router(config)#enable secret korea
CCIE Lab 에서 주로 사용하는 설정은 Priviliged Mode 접근에 필요한 Enable Password의 설정과 Telnet Password의 설정이 될 것이다. Console에 password 설정은 실습 시에 반드시 요구되는 것은 아니지만, Telnet 접속을 위한 password설정은 실습 중에 필요한 사항이다. 하지만 telnet은 line vty에 설정된 password뿐만 아니라 telnet으로 접속하려는 상대 Device에서 enable password도 설정되어야 한다. 만약 실습 중에 IOS Device에 telnet으로 접근함과 동시에 바로 privileged Mode로 진입 하기를 원한다면 다음과 같이 설정한다.
Router(config)#line vty 0 4
Router(config-line)#no login
Router(config-line)#privilege level 15

 

5. Console 설정 Option들

- Console Session Time 설정

Router(config)#line console 0
Router(config-line)exec-timeout 0 0

- Console Input 관련 설정

Router(config)#line console 0
Router(config-line)logging synchronous

- Console 인증 설정

Router(config)#Username student password korea
Router(config)#line console 0
Router(config-line)login local

- Console Line 설정

Router(config)#line console 0
Router(config-line)length 0

 

위 명령어들은 Console에 관련된 Option들이다.

1. 기본적으로 Console에서는 특정 시간 동안 아무런 명령어 입력이 없는 경우 보안을 위해 Console Session을 종료한다. 만약 사용자가 LAB을 위한 연습용 장비에서 이러한 기능을 원치 않는 경우라면 Session time을 조정한다.
Router(config)#line console 0
Router(config-line)exec-timeout 0 0

 

2. Console에서 명령어를 입력하다 보면 Console에서 제공하는 시스템 메시지와 사용자가 입력하는 명령어들이 겹치는 상황들을 만나게 된다. 이때 자신이 입력하던 명령어들이 시스템 메시지들과 겹치지 않고 원래의 상태로 console 화면에 표시되기를 바란다면 아래 명령어를 적용한다. 연습이 많은 LAB 환경에서 유용하게 사용될 것이다.
Router(config)#line console 0
Router(config-line)logging synchronous

3. Console 연결 시 Username와 Password를 요구하는 기능을 원한다면 다음과 같이 설정한다.
Router(config)#Username student password korea
Router(config)#line console 0
Router(config-line)login local

4. Console에서 특정 show 명령어를 수행하다 보면 화면에 보여지는 정보들이 25라인 단위로 한 페이지씩 출력되는 것을 볼 수 있다. 만약 사용자가 console에 표시되는 정보들이 페이지 단위로 보여지는 것을 원치 않는 다면 아래와 같은 명령어를 적용한다. 이 명령어는 장비의 구성 정보를 터미널 프로그램에서 캡쳐 해야 하는 경우 유용하게 사용된다.
Router(config)#line console 0
Router(config-line)length 0

'IT > CISCO' 카테고리의 다른 글

Frame-Relay Switching(1)  (0) 2017.02.07
Basic IOS Configuration(4)  (0) 2017.02.07
Basic IOS Configuration(2)  (0) 2017.02.06
Basic IOS Configuration(1)  (0) 2017.02.06
통신프로토콜 TCP(2)  (0) 2016.12.21

1. IOS의 부팅

① Power on self test (POST)
② bootstrap code의 로드와 실행
③IOS software의 위치 검색
④ IOS software의 로드
⑤ Configuration 정보 검색
⑥ Configuration 정보 로드 및 적용
⑦ 실행

 

라우터 부팅 시에 IOS가 로딩되는 순서는 아래와 같다.
1. 먼저 라우터의 전원이 켜지면 ROM에 있는 POST 기능이 하드웨어의 전반적인 테스트와 검증을 수행한다.

2. POST 수행이 종료된 후 다시 ROM에 내장된 Bootstrap code가 RAM에 로드 되어 NVRAM속 안에 있는 Configuration Register값의 boot field(뒤의 “IOS Configuration Register Value의 의미” 부분을 참조)를 검사하여 IOS Image를 어디서 참조 해야 하는지를 결정 한다.

3. Configuration Register값의 Boot field가 0x2에서 0xF이면 즉, Startup-config를 사용하도록 했다면 bootstrap code는 NVRAM속에 있는 Startup-config를 참조하고 그 정보에 IOS의 참조 위치를 별도로 지정하는 boot System 명령이 있는지를 검사한다. Boot system 명령어는 IOS image를 참조 하는 위치를 사용자가 지정하여 사용 할 수 있으며 다수의 boot system 명령어를 이용하여 하나의부팅 방법이 실패 했을 때 다른 부팅 방법을 선택 할 수 있는 융통성을 제공 할 수 도 있다.
이 명령어가 없다면 기본적으로 Local의 Flash에서 IOS를 로드 한다.
            - boot system flash [filename][1]
            - boot system rom[2]
            - boot system tftp [filename][server-address][3]

4. 만약 configuration(startup-config)에 boot system이라는 명령어가 존재하지 않으면, 라우터는 flash
속에 있는 첫 번째 파일을 로딩하고, 수행한다.

5. 만약, Flash안에서 적합한 파일이 존재하지 않으면, 라우터는 다운로드를 요구하기 위한 파일의 이름을 위한 포인터로써 boot filed값을 이용해서 net boot를 시도한다. 그러나, Net boot를 IOS를 로딩하기 위하여 거의 사용되지 않는 방법이다.

6. 만약 net boot가 실패하면, 라우터는 ROM속에 있는 RXBOOT(IOS Subnet, Mini IOS)를 이용하여 부팅할 것이다.
7.만약, RXBOOT도 없으면(손상되거나, 라우터에 따라서 원래 RXBOOT가 없는 것이 있고 이것이 최근의 추세이다),라우터는 ROM으로부터 ROM monitor(ROMMON) 모드로 로딩할 것이다.

 

[1] flash안의 여러 개의 파일 중 [filename]과 같은 것을 로드 하라는 명령.
[2] ROM속에 있는 IOS Subset을
[3] 원격지의 tftp server에 있는 파일을 로드 하라는 명령.

 

2. IOS 명령어

IOS가 제공하는 명령어를 사용하여 장비를 구성하려면 다음과 같은 공통적인 접근을 해야 한다.

1. 최초 IOS Device에 콘솔로 연결하면 User Mode로 접근하게 된다.
router>

2. User mode에서 privileged Mode로 이동 한다.
router>enable
router#

3. IOS Device에 특정 기능들을 설정하려면 반드시 Global Configuration Mode로 이동해야 한다.
router#config terminal 또는 config t
router(config)#

4. Global Configuration Mode에서 장비에게 필요한 기능에 따라 다양한 Mode로 진입 할 수 있다.
router(config)#router rip
router(config-router)#
또는
router(config)#interface ethernet0
rotuer(config-if)#

5. 각 Mode로 진입했다가 다시 상위 Mode로 이동하려면 exit 명령어 또는 Ctrl+Z key를 누른다.
router(config-if)#exit router(config)#
router(config-if)# ^Z router#

IOS는 CLI를 기반으로 User와 interaction하며, 계층적인 명령어 집합에 의한 다양한 configuration Mode가 제공된다. 앞으로 IOS기반의 장비들과 친숙해지면서 IOS의 다양한 명령어와 Configuration Mode들을 경험하게 될 것이다.

 

3. IOS의 기본 Resource 확인 명령

다음은 라우터의 상태 정보가 참조되는 위치와 그 정보를 확인 하는 방법에 대한 간략한 설명이다.

- show version :라우터의 하드웨어와 소프트웨어 구성의 기본 정보를 확인 할 수 있는 명령어이다. 프로세
서, 메모리, IOS version정보, 인터페이스의 수와 형식 등과 같은 정보를 참조 할 수 있으며 라우터의 부팅 방법에 대한 정보를 참조 할 수 있다.

- show flash or show interface : 라우터의 flash의 상태 정보를 참조 한다. 일반적인 경우에 라우터의 flash에는 IOS image가 저장되어 있으므로 이 명령어는 IOS의 이미지의 크기나 버전 정보 등을 참조할 때 사 용 한
다. Show interface는 라우터의 모든 인터페이스의 상태 정보들을 참조 할 수 있는데 인터페이스의 형식이나 속도, 그리고 link의 연결 상태와 트래픽 통계등과 같이 상당히 다양한 정보들을 확인 할 수 있다.

- show processes cpu : 현재 라우터에서 동작하는 프로세스들과 CPU time등과 같은 정보를 참조 할 수 있다. 일반적으로 라우터의 CPU 부하를 확인 하는데 자주 사용 한다.

- show memory :라우터의 전체적인 메모리 사용 현황을 확인 할 수 있다. IOS는 메모리의 영역을 크게 두개의 영역으로 나누어 관리하는데 I/O 작업을 위한 영역과 그 외에 다른 프로세스들을 위한 작업 영역들로 분할하여 관리한다.

- show protocols :라우터가 내장하고 있는 모든 인터페이스들의 설정된 모든 프로토콜의 상태 정보를 알려
준다.

- show startup-config :실제 라우터의 구체적인 역할에 대한 구성 정보는 RAM과 NVRAM에 저장되지만 그 역할
에는 커다란 차이가 있다. NVRAM에 저장된 정보는 라우터가 부팅 시에만 한번 참조하므로 사실상 구성 정보가 저장되는 백업 장소에 불과하다. 따라서 이곳에 저장된 구성 정보는 라우터의 실제 실행에는 직접적인 영향을 주지 않는다. 반면에 RAM에 저장되는 구성 정보는 라우터의 실행에 실질적인 영향을 주며 라우터에서 실행하는 모든 구성 명령어들은 이 곳에 저장되고 적용된다.

 

4. Router의 H/W & S/W 정보

-------------------------------------------------------------------------------------------------------

router#show version
Cisco Internetwork Operating System Software
IOS (tm) C2600 Software (C2600-J1S3-M), Version 12.2(15)T13, RELEASE SOFTWARE (fc2)
~ 중간 생략
ROM: System Bootstrap, Version 12.1(3r)T2, RELEASE SOFTWARE (fc1)
ROM: C2600 Software (C2600-J1S3-M), Version 12.2(15)T13, RELEASE SOFTWARE (fc2)
router uptime is 1 day, 21 minutes
System returned to ROM by power-on
System image file is "flash:c2600-j1s3-mz.122-15.T13.bin"
cisco 2621 (MPC860) processor (revision 0x200) with 59392K/6144K bytes of memory.
Processor board ID JAD05030797 (688858200)
M860 processor: part number 0, mask 49
Bridging software.
X.25 software, Version 3.0.0.
TN3270 Emulation software.
Basic Rate ISDN software, Version 1.1.
2 FastEthernet/IEEE 802.3 interface(s)
2 Serial(sync/async) network interface(s)
1 ISDN Basic Rate interface(s)
32K bytes of non-volatile configuration memory.
16384K bytes of processor board System flash (Read/Write)
Configuration register is 0x2102

-------------------------------------------------------------------------------------------------------

위 명령어는 IOS Device의 S/W및 H/W의 정보를 확인하는데 유용하게 사용된다. 예를 들어 위 예제에서 보여지는 다음과 같은 정보는 현재 Router에 설치된 IOS의 특징과 버전 정보를 아래와 같이 나타내고 있다.
System image file is "flash:c2600-j1s3-mz.122-15.T13.bin“
그 다음으로 현재 이 장치의 Platform 정보와 이 장치가 내장하고 있는 각종 하드웨어 사양을 확인 할 수 있다.
cisco 2621 (MPC860) processor (revision 0x200) with 59392K/6144K bytes of memory.
Processor board ID JAD05030797 (688858200)
M860 processor: part number 0, mask 49
Bridging software.
X.25 software, Version 3.0.0.
TN3270 Emulation software.
Basic Rate ISDN software, Version 1.1.
2 FastEthernet/IEEE 802.3 interface(s)
2 Serial(sync/async) network interface(s)
1 ISDN Basic Rate interface(s)
32K bytes of non-volatile configuration memory.
16384K bytes of processor board System flash (Read/Write)
위 정보를 통해 우리가 확인 할 수 있는 정보는 대략 다음과 같다. 이 장치의 Model은 Cisco 2621 Router이며, 64MB의 RAM과 16MB의 Flash를 장착하고 있다. 또한 이 장치가 제공하는 Interface들은 Fastethernet이 2개 , Serail이 2개, 1개의 ISDB bri port임을 알 수 있다.

 


'IT > CISCO' 카테고리의 다른 글

Basic IOS Configuration(4)  (0) 2017.02.07
Basic IOS Configuration(3)  (0) 2017.02.06
Basic IOS Configuration(1)  (0) 2017.02.06
통신프로토콜 TCP(2)  (0) 2016.12.21
통신프로토콜 (ICMP)(2)  (0) 2016.12.17

1. IOS란 무엇인가?

  • IOS는 운영 체제이다.
  • Cisco 장치의 하드웨어 자원을 관리한다.
  • 다양한 Network service 제공
  • 사용자 인터페이스 제공

IOS는 Cisco사가 생산하고 있는 라우터나 스위치등의 장비에 Embedded 소프트웨어 형태의 운영체제 플렛폼이며 하드웨어의 자원 관리와 사용자와 응용 프로그램들을 위한 인터페이스를 서비스한다. 또한 운영 체제들이 수행하는 일반적인 기능 외에도 아래와 같은 다양한 네트워크 서비스들을 제공한다.


• 네트워크 프로토콜들의 선택하고 그 기능을 활용하게 하는 특징
• 네트워크에 Telnet, TFTP, DHCP, NAT(Network Address Translation), VPN(VirtualPrivate Network), Firewall, IDS(Intruder detection System)와 같은 서비스를 제공
• 네트워크 장치들 사이에 고속으로 트래픽을 전송하기 위한 연결 능력
• 네트워크의 불법적인 사용을 방지하고, 네트워크 자원에 대한 접근을 제한하는 보안 능력
• 네트워크의 성장에 따라 필요로 하는 능력이나 인터페이스를 추가함으로써 확장성 제공
• 네트워크화된 자원들에 접근을 보장하기 위한 신뢰성 제공 Cisco IOS는 기본적으로 콘솔 연결을 기본으로 하는 Command Line Interface를 사용자에게 제공한다. 이 명령어 인터페이스는 CLI (Command Line Interface)라고 하며, 콘솔, 모뎀, Telnet Session을 통해 접근이 가능하다. Cisco에서 제공하는 운영 체제는 크게 두 가지 형태가 있는데 저-성능 스위치들과 대부분의 라우터에서 사용하는 IOS기반의 운영 체제와 고-성능 스위치에서 사용하는 Set기반 운영 체제가 있다. 하지만 현재의 대부분의 장비들은 IOS 기반으로 만들어지는 추세이다.

 

2.IOS Device의 하드웨어 구성요소

 

CPU : 중앙처리장치로 운영체제와 응용 프로그램들을 실행하고 각종 주변 장치들을 제어하는 역할을 한다 .

RAM : Random Access Memory 각종 소프트웨어나 데이터 구조들을 담고 있는 실제적인 작업 영역이다. RAM
에서 기동되는 가장 기초적인 소프트웨어가 Cisco IOS Image와 Programs, Buffer, Tables, Active
Configuration File들이다.

ROM : Read-only Memory로 IOS Devcei가 부팅 시에 필요로 하는 기능들을 제공하고, 시스템을 유지 보수하기
위한 microcode들이 들어있다. Microcode란 소프트웨어가 하드웨어 형태(ASIC)형태로 있는 것을 말한다.

Bootflash :일부 고성능 IOS device들은 부팅 시에 제공되는 기본적인 소프트웨어의 사이즈가 커서 ROM속에 모든 필요 기능들을 넣지 못하는 경우가 있다. 때문에 POST 루틴이나 Bootstrap등과 같은 기능들은 Bootflash라
는 곳에 보관하여 쉽게 갱신할 수 있도록 한다.

Flash Memory : IOS image를 저장하고 있는 곳으로 일반 PC의 HDD나 FDD와 비교 할 수 있다. 대부분의 IOS는 Flash에 Image형태로 있다가 필요에 따라 RAM에 로드 되어 기동된다.

NVRAM :NVRAM은 Non-volatile RAM의 약자로 별도로 연결된 배터리에 의해 전원 공급을 유지 한다. 주로 IOS
Device의 Configuration을 저장하는 용도로 사용한다.

Configuration register : 이 값은 NVRAM에 저장되며, IOS Device가 어떻게 부팅을 할 것인가를 제어하기 위해 사용한다.

Interfaces :라우터나 스위치가 물리적으로 연결하기 위한 어댑터들을 말한다. Ethernet, Fast Ethernet, Gigabit
Ethernet, 10 Gigabit Ethernet, Asynchronous Serial, Synchronous Serial, HSSI, Token-Ring, FDDI, ATM,
Console과 Auxiliary Port와 같은 Line, 내부적으로 정의해서 사용하는 Loopback, Tunnel, Null 등이 있다.

–  Backplane :하드웨어 구성 요소들이 연결된 system Bus 를 의미한다. 고성능 장비 일수록 분산되고 구조화된
backplane이 제공되며 처리 능력 또한 높다.

Switch Fabric : 각각의 네트워크의 종류에 따라 NPU가 만든 프레임들을 각각의 다른 NPU에게 병목 없이 빠르게 전달해 주는 기능을 담당한다. Switch Engine이라고도 하며 Co-Processor 수준으로 볼 수 있다.

 

 

3.IOS Device의 소프트웨어 구성 요소

 

라우터와 스위치의 Software의 기본 구성 요소는 다음과 같은 것들이 있다.
- BootRom
Boot ROM은 하드웨어 ROM이나 Bootflash 속에 포함 되어 있으며 시스템 부팅시에 필요한 소프트웨어를
ASIC형태로 ROM이나 Bootflash속에 저장하고 있는 소프트웨어를 말한다. PC로 이야기 하면 AMD와 같은 회사가 만드는 BIOS와 같은 개념이다. Boot ROM을 구성하는 4가지 핵심 마이크로코드(microcode)의 구성 요소는 다음과 같다.

•Bootstrap Code: 라우터나 스위치에서 부팅 시에 초기화 작업을 수행하는데 있어서 라우터나 스위치의 부팅 방법을 결정하기 위한 기능을 제공한다. NVRAM에 저장된 Configuration register값을 참조하여 어떻게 IOS를 로딩 할 것인지를 결정한다.

•Power-on self test code: 라우터나 스위치에 전원이 연결되면 라우터나 스위치에 장착된 하드웨어 구성 요소들을 알아내고, 그것들의 기능성을 검사하여 이상 유무를 알려 준다.

 

 

•ROM Monitor: 가장 저-수준의 운영체제로 일반적으로 공장에서 생산하는 단계에서 시스템 검사용으로 사용하거나, 최악의 경우에는 IOS 로딩 문제와 같은 상황에 대해 문제 해결을 위한 용도로 사용한다. 라우터 시작 시 콘솔에서 CTRL-Break를 누르면 이 모드로 진입 할 수 있다. 이 모드에서는 라우터에 따라서 ‘>’ 나 ‘rommon>’ 등의 프롬프트를 제공한다.

•Mini IOS:이것은 IOS의 subnet이다. 이 Mini IOS는 Flash Memory에 새로운 소프트웨어 이미지를 로드하기 위하여 사용되거나, 기본적인 유지보수와 관련된 작업을 수행할 수 있다. 때때로 이 IOS의 subnet은 RXBOOT code나 bootloader라고 불리우기도 하며 ‘Router(boot)>’와 같은 프롬프트를 나타낸다. Configuration Register값을 0x2101으로 설정하거나, FULL IOS가 손상되었을 때, 또는 라우터 부팅시에 콘솔에서 CTRL-Break key를 누르면 이모드로 진입 할 수있다.고성능 라우터나 스위치인 경우 초기 부팅시 필요한 기능의 용량이 커서 ROM안에 그러한 기능들을 모두 설정 할수 없는 경우, 그리고 자주 그 내용을 갱신할 필요가 있을 경우에는 Bootflash라는 저장 공간에 저장하기도 한다.

- IOS(Internetworking Operating System)
IOS는 일반적으로 라우터 내부의 Flash Memory에 이미지 형태로 저장되어 있다가 부팅 시 메모리에 로드되어 실행된다.
- Applications
IOS와 함께 여러 가지 부가 기능들을 제공하는 소프트웨어를 말한다. 보통은 이러한 기능들을 IOS Feature라고도 호칭하며 그 안에는 상당히 많은 내용의 기능들이 소개되어 있어서 라우터나 스위치들의 고유 기능 외에 네트워크에서 필요한 IP 서비스와 보안과 같은 고급 기능들이 소개되어 있다. 예를 들어 Firewall, DHCP, Proxy Server, VPN을 위한 Encryption등의 기능들이 그것이다.

 

4. IOS Device로의 접근 방식

 

시스코의 라우터나 스위치 장치에 연결하여 초기 구성을 설정하는 방법은 4가지 정도가 있다.
• Console연결이나 Telnet연결을 통한 명령어 입력
• Console연결이나 Telnet연결을 통한 메뉴방식
• Web Interface
• TFTP 서버를 이용한 Configuration
• Auxiliary Port를 이용한 Dial-up 연결 등
이 중에서 가장 기본이 되는 것이 Console 연결을 통한 명령어 입력방식이다.

 

5. IOS Device에 Console 연결하기

 

IOS Device에 접근하기 위한 가장 일반적인 방법이 Console 연결을 통한 명령어 입력방식이며, IOS Device를 구성하기 위한 Console접속을 위해서는 다음과 같은 구성 요소들을 준비해야 한다.

• COM Port(Serial Port, RS-232C Port)를 가진 컴퓨터: 대부분의 PC에는 내장 되어 있으나 일부 PC에서는 USB만 지원하는 경우가 있어 연결에 어려움이 있을 수 있다. 이런 경우에는 USB에 연결이 가능한 serial cable변환
기를 장착 할 수 있다.

• Terminal Emulation Software: VT-100, TTY와 같은 Terminal을 지원하는 프로그램으로 Windows에서 제공하는 하이퍼터미널이나 새롬 데이터맨-프로, SecureCRT등과 같은 프로그램을 준비 한다.

•DB-9/25 to RJ-45 Adapter: RJ-45 UTP Cable을 RS-232C에서 사용하는 9 Pin이나 25 Pin 연결로 바꾸어 주는 아답터로 내부적으로 Straight Connection(Labeled TERMINAL, female DTE Adapter)과 Rolled Connection(Labeled MODEM, mail DCE Adapter) 등 두 가지가 있는데 우리는 주로 Straight Connection(Labeled TERMINAL, female DTE Adapter) 준비한다.

•RJ-45 to RJ-45 Rollover Cable:UTP Straight나 Crossover와 비교되는 특수한 연결로 유독 Cisco 장비에서만 볼 수 있는 연결 방식이다.

 

6. Access Router를 이용한 장비 연결

 

기본적으로 IOS Device들은 최초 구성 시에 Console로 연결하여 구성 작업을 진행한다.하지만 다수의 여러 장비를 구성해야 하는 CCIE Lab 환경에서는 각 장비마다 console cable을 별도로 연결하면서 진행하는 실습에 따르는 불편함이 많을 것이다. Access Router는 이러한 불편함을 덜어주기 위해 사용자가 특정 장비(access router)에만
접근하면 다른 나머지 장비들의 console에 모두 연결이 가능한 구성을 가능하게 한다. Dl 장비를 사용함에 있어서 실습 중에 잦은 console 연결의 이동과 그에 따른 고장 가능성을 줄여 줄 수 있으며 하나의 point에서 다수의 장비를 관리 할 수 있는 장점을 갖게 된다. 위 access router장비는 최대 16개의 line을 제공하는 장비이다. 즉 최대 16대의 IOS Device에 Console을 연결하여 관리가 가능하다는 의미이다.

 

7. Reverse Telnet 구성 요령

● Access Server의 Ethernet Interface에 Telnet 접근이 가능한 IP 주소를 설정한다.
● Telnet command에 Port 2000+N으로 port 번호를 명시한다. N은 Access server의 Line number이다.

 

Access Router는 자신의 line에 연결된 각 장치들을 연결하기 위한 Reverse telnet 구성을 필요로 한다. 원래 reverse telnet은 Access Router의 line에 연결된 Mode들의 초기화 명령을 처리하기 위해 필요했던 구성 이였다.
Reverse telnet은 장치 내부에서만 사용하며 TCP port 2000을 사용하도록 예약되어 있으며, 각 line 에 연결된 장치마다 2000 + line number 형식으로 telnet용 tcp port number를 할당하면 된다. Access router에 연결된 장치에 접근하는 방식은 다음과 같다.

1.Access router에 tcp port 23로 telnet 접속 후 다시 연결된 장비로 reverse telnet으로 접근한다.
2.Access router를 통해 직접 원하는 장비에 연결한다. 이런 경우에는 23번 포트를 사용하지 않고 위 그림처럼 Reverse telnet용으로 사용하는 port number를 직접 이용하여 접근한다.

'IT > CISCO' 카테고리의 다른 글

Basic IOS Configuration(4)  (0) 2017.02.07
Basic IOS Configuration(3)  (0) 2017.02.06
Basic IOS Configuration(2)  (0) 2017.02.06
통신프로토콜 TCP(2)  (0) 2016.12.21
통신프로토콜 (ICMP)(2)  (0) 2016.12.17

1. UDP 와 TCP의 특징을 비교

차이점:

TCP

⦁ Connection-oriented(연결 지향형)

⦁ 잃어버리면 안되는 중요한 Data전송(신뢰성 있는 Data전송)

⦁ Data송·수신 전 TCP 연결을 우선 적으로 함

UDP

⦁ Connection-less(비 연결 지향형)

⦁음성, 영상과 같은 실시간 Data전송

⦁ Data송·수신 전 연결을 하지 않음

공통점 :

⦁ Ephemeral port와 well-known port를 사용함

 

2. TCP 패킷

 

Source port number

19923

Destination Port number

8080

Sequence number

0

ACKnowledgement number

0

Offset/(Header Length)

28

 Reserved

URG

ACK

PSH

RST

SYN

FIN

0

0

0

0

1

0

Window Size

 8192

Checksum 

 0XF301

  Urgent Pointer

 0

  Options

8byte

MSS(4byte)

No-operation(1byte)

No-operation(1byte)

TCP SACK Permitted option:true(2byte) 

 

- 위 패킷은 Retranmission 패킷으로 연결하기 위한 패킷인 것을 알 수 있다. 자신의 source port번호는 Ephemeral port로 49923, Destination port번호는 8080이다.(web server접속 시 183.177.70.69:8080 으로 연결하여 Destination port번호가 8080이 뜬다. web server가 존재하는 web server에 접속하면 Destination port번호는 80이 들어가게 된다.) Sequence nuber는 0으로 이것은 최초 연결을 접속하기 위하여 발생한 패킷이기 때문이다. ack도 마찬가지로 이 패킷이 발생 하기 전 data를 주고 받은 내역이 없기 때문에 ack값도 0이다. Header length는 28로 총 28byte의 크기를 가지고 있는 패킷인 것을 알 수 있고. flag영역이 SYN영역에만 1이고 다른 모든 부분이 0인 이유는 최초로 접속을 시도하는 패킷이기 때문이다. Window Size는 buffer가 수신 가능한 data의 용량을 나타내고 checksum은 패킷 전체에 대한 checksum결과를 나타낸다. Urgent Pointer영역이 0인 이유는 flag영역의 URG영역의 값이 0인 데에 있다.(최초 연결을 위해 발생한 패킷이기 때문) option영역에는 MSS와 option영역의 크기를 4byte 배수로 맞추기 위한 No-operation과 2byte크기의 TCP SACK Permitted option:true 영역이 들어가 있다. 이 option영역은 패킷에 대해서 고정적이지 않고 가변적이다.

 

 3. web server를 이용한 TCP 연결 설정/종료 과정 실습

 

- ACK 패킷

 

TCP 연결 설정을 위한 3-way handshaking하는 과정에 수집된 패킷은 제일 처음 SYN 패킷을 보면 Source port는 49323이고 Destination port는 80이 되어 있다. TCP 서버의 well known port번호가 80이기 때문에 Destination port번호가 80이 되게 되고 Source port번호는 Ephemeral port번호로 임의의 포트번호가 들어가게 된다. 또 여기서 Seq값과 Ack 값은 0이다. 이 이유는 최초 TCP 연결을 하는 상황에서 처음 발생하는 패킷이기 때문에 각각 0의 값이 들어간다. SYN 패킷인 것을 나타 내어 주는 flag값을 보면 SYN영역에만 1이고 다른 부분은 0이 되어 있다.

그 후, SYN, ACK 패킷을 보면 Source port와 Destination port가 서로 바뀌어 있는 것을 알 수 있다. 이것은 최초 발생한 SYN 패킷에 대하여 응답하는 패킷이기 때문이다. 이 패킷의 Seq값과 ACK은 각각 0과 1으로 되어 있다. 이 이유는 처음 발생한 SYN 패킷에서 Seq값은 0으로 패킷을 보냈기 때문에 이것을 수신한 수신측은 SYN, ACK 패킷을 송신할 때 다음 1번 data를 전송하라는 것을 나타내기 위해 ACK값을 1로 하여 전송하고 SYN영역이 0인 이유는 SYN, ACK패킷을 송신하는 측에서 보내는 첫 번째 data이기 때문에 0이 들어가게 된다. 이 패킷의 flag값을 보면 ACK와 SYN영역만 1이 들어가게 되고 ACK와 SYN영역을 제외한 영역은 모두 0이 들어가게 된다.

마지막으로 ACK 패킷은 SYN, ACK패킷에 대한 응답 패킷으로 처음 발생한 SYN 패킷과 마찬가지로 Source port와 Destination port가 저장되어 있고 SYN과 ACK는 각각 1이 저장되어 있다. 그리고 flag영역은 ACK 패킷인 것을 나타내어 주는 ACK영역에만 1이 되어 있고 ACK를 제외한 영역은 모두 0의 값이 저장되어 있다.

 

- 4-way handshaking 발생한 패킷

 

- TCP 연결 해제를 위한 4-way handshaking하는 과정에 수집된 패킷들의 header부분은 data송·수신이 끝나고 TCP 연결을 해제하기 위해서 처음 발생하는 FIN패킷을 보면 Source port는 web server의 port의 번호인 80이고, Destination port의 번호는 Ephemeral port번호가 되어 있다. flag영역을 보면 FIN 패킷을 나타내어 주는 FIN영역만 1로 설정되어 있지 않고 ACK영역의 값도 1로 설정되어 있다. ACK영역의 값이 1인 이유는 data송·수신이 끝나고 난 후 해제 하는 것이기 때문에 이전에 받은 data에 대한 패킷의 ACK도 포함 되어 있기 때문이다.

 

 그 후, client는 수신한 FIN패킷에 대한 응답으로 ACK가 발생하는데 ACK가 발생하고 난 후 바로 연결이 해제 되지는 않는다. 이때의 패킷의 Source port와 Destination port는 서로 바뀌게 된다. client가 연결 해제 준비가 완료 되면 FIN, ACK 패킷을 발생하는데 이전에 발생한 ACK패킷과 flag영역을 제외한 영역은 모두 같은 값이 저장되어있다. flag값은 이제 자신도 연결 해제할 준비가 되었다는 것을 알리기 위해 FIN영역이 1로 저장된다.

 

마지막으로 FIN, ACK 패킷을 받은 web server는 마지막으로 ACK 패킷을 발생하게 된다. 이 ACK 패킷은 단순 응답 패킷이므로 flag영역의 ACK영역만 1이 되어 있다. 그 후, TCP 연결은 완전히 해체가 된다.

 

4. ftp server를 이용한 TCP 연결 설정/종료 과정 실습

ftp 설치법 : yum install –y vsftpd ftp 명령어 입력하여 설치

vi/ etc/ sysconfig/ iptables에 들어가서 아래 내용 추가 후 저장

-A INPUT –m state —state NEW –m tcp –p tcp —dport 20 –j ACCEPT

 -A INPUT –m state —state NEW –m tcp –p tcp —dport 21 –j ACCEPT

-A OUTPUT –m state —state NEW –m tcp –p tcp —dport 21 –j ACCEPT

위의 내용 추가 저장 후에 service iptables restart 명령어 입력

⦁ setsebool –p ftp_home_dir=1 입력하고 service vsftpd restart 명령어 입력

⦁ ftp 입력 후 ‘ftp>’ 뜨면 “open IP+주소(FTP 서버 주소)” 치고 접속 성공 후 name에는           anonymous, 비밀번호는 아무거나 입력(※ 연결 끊을 때 exit)

⦁ ftp server로의 접속을 종료하여 TCP 연결 종료 실습 (조원들 컴퓨터 사이의 TCP연결 설정)

 

- 3-way handshaking 발생한 패킷

 

→ ftp server를 이용한 TCP 연결 과정에 수집된 패킷들의 header영역은 web server를 이용한 TCP 연결 과정과 차이점은 port가 ftp port번호인 21이 들어가게 된다.(web server port 번호는 80이다.) 그 외에는 web server를 이용한 TCP 연결 과정과 같다. 최초 SYN 패킷이 발생하게 되고 flag영역은 SYN 패킷인 것을 알려주는 SYN 영역만 1이 들어가게 되고 나머지는 0의 값이 들어가게 된다. 그 후, ftp server에서 발생시키는 SYN, ACK 패킷을 보면 Source port는 자신의 ftp port번호인 21이 들어가게 되고 Destination port번호는 ftp client port번호인 Ephemeral port번호가 들어가게 된다. 그리고, flag영역은 ACK영역과 SYN영역만 1이 저장되고 나머지 영역은 0이 들어가게 된다. 마지막으로 ftp client가 발생시키는 ACK 패킷을 보면 Source port번호는ftp client port번호인 Ephemeral port번호가 들어가고 Destination port번호는 ftp server port번호인 well known port번호 21이 들어가게 된고 ACK 패킷을 나타내기 위해 flag영역의 ACK영역만 1이 저장되게 된다.

* 따라서 web server와 ftp server를 이용한 TCP 연결 과정에서 나타나는 패킷들의 차이점은 port번호가 차이난다. client는 Ephemeral port번호를 사용하고 server측은 well known port번호를 사용하는데 ftp는 21, web은 80을 사용한다.

 

- 4-way handshaking 발생한 패킷

 

- ftp접속 해체를 통하여 TCP연결 해체를 위한 4-way handshaking과정에서 수집된 패킷들의 header영역은 수집된 패킷들의 header영역의 값들도 web server를 통하여 수집된 패킷들의 header영역의 값과 비슷하다. 차이점은 위에서 말했다 시피 port번호가 차이가 있다. ftp를 통하여 수집된 패킷이기 때문에 ftp server의 port는 21이 되어있고 client는 ephemeral port로 되어있다.  동작 과정은 web server에서의 TCP연결 해체와 동일하다.

 

5. TCP 리셋 메시지 송신 실습

 

- Reset Message는 server가 TCP 연결이 된 상태에서 server가 down이 되고 난후 client가 server에게 data를 전송하면 server는 down이 되어 TCP연결정보가 없는 상태 이기 때문에 client에게 Reset Message를 전송하게 된다.

 

- 또, TCP 연결 후 data의 수신이 일정 시간 동안 한번도 일어나지 않게 되면 probe message를 보내게 되는데 이때 probe message에 응답이 없으면 수신 받는 쪽은 Reset message를 보내게 된다.

 

- 마지막으로 Server에 잘못된 접속을 요구하는 SYN packet을 수신하면 client에게 Reset Message를 보낸다.

'IT > CISCO' 카테고리의 다른 글

Basic IOS Configuration(4)  (0) 2017.02.07
Basic IOS Configuration(3)  (0) 2017.02.06
Basic IOS Configuration(2)  (0) 2017.02.06
Basic IOS Configuration(1)  (0) 2017.02.06
통신프로토콜 (ICMP)(2)  (0) 2016.12.17

1. time exceeded로 인해 error가 발생되었음을 알리는 ICMP 패킷 발생 확인

 

 -Time Exceeded로 인하여 발생한 Time Exceeded Message은 192.168.52.72로 송신자 측의 ip가 저장되어 있고 Destination측은 106.10.212.150으로 kr.yahoo.com의 ip가 적혀있다. 그리고 이 패킷의 Type은 11이고 Code는0이다. 이 Type과 Code는 Time to live equals 0 during transit으로 “TTL의 값이 0이 되어 패킷을 버렸다” 라는 것을 송신측에 알려주기 위하여 발생하는 패킷이다.

 

 

2. unreachable ICMP 패킷 수집 실습

 

unreachable ICMP 패킷을 수집하기 위하여 CMD창에서 기본게이트 웨이주소를 통하여 tftp 192.168.52.1 GET a.txt 명령어를 실행 시켰다. tftp는 Trivial File Transfer Protocol의 약자로서 간단한 파일을 전송 시킬 때 사용하는 프로토콜이다.

 

⦁ Unreachable ICMP 패킷이 수집되는 이유

 

Destination Unreachable(Port Unreachable) ICMP 패킷은 Type은 3이며, Code는 3이다. Type 3, Code 3은 목적지의 포트가 없거나 포트가 차단되어 있을 때 발생하는 패킷이다. tftp의 포트번호는 69번으로 192.168.52.1은 기본게이트웨이 주소로 이 목적지에 해당 69번 포트가 없거나 차단되어 이 Destination Unreachable(Port Unreachable)ICMP 패킷이 발생하였다.

 

(UDP) port unreachable을 알리는 ICMP 패킷 발생 확인

 

 - tftp 192.168.52.1 GET a.txt 명령어를 CMD에서 실행 시킨 후 Wireshark에 수집된 Destination unreachable(Port unreachable) ICMP 패킷들이다. tftp의 포트번호는 69번으로 192.168.52.1은 기본게이트웨이 주소로 이 목적지에 해당 69번 포트가 없거나 차단되어 이 Destination Unreachable(Port Unreachable)ICMP 패킷이 발생하였다.

 

4. 웹 서버가 설치되어 있지 않은 컴퓨터에 웹브라우저로 접속 실습

 ⦁ 컴퓨터로부터 응답되는 ICMP 패킷의 종류가 무엇인지 확인 (Unreachable ICMP 패킷)

 

Unreachable ICMP 패킷의 Type은 3이다. 이 3이 뜻하는 것은 Destination Unreachable이 발생하였다는 뜻으로 이것은 목적지를 찾을 수가 없다라는 것을 뜻한다. 이 Type 3에 해당하는 code는 0~15번 까지 16개가 있다.

- 0번 : Network unreachable : 라우터에서 목적지로 가는 네트워크 경로를 찾지 못한 경우에 생성된다.

- 1번 : Host unreachable : 패킷이 목적지 단말 직전의 라우터 까지 송신이 되었지만 그 후에 목적지 까지 가능 방법을 모르는 경우에 생성된다.

- 2번 : Protocol unreachable : 패킷이 목적지 까지 도착하였지만 목적지에서 패킷을 열었을 때 패킷에 해당하는 전송프로토콜을 사용할 수 없을 경우에 생성된다.

- 3번 : Port unreachable : 목적지 단말에서 해당 포트가 막혀있거나 해당 포트가 없을 경우 즉, 해당 포트를 사용 할 수 없을 경우에 생성된다.

 

- 4번 : Fragmentation needed for DF=1 : 패킷의 크기가 매우커서 Fragment(분할)이 필요하지만 DF=1(Don’t Fragment=1로 이 패킷을 분할 할 수 없다)의 값이라 패킷을 분할하지 못할 경우 생성된다.

 

- 10번 : Destination host administratively prohibited : 관리자에 의하여 목적지에 접근이 거부된 것을 알려주는 것이다. 이 패킷은 보안상의 문제로 목적지 관리자 호스트에 의하여 접근이 제한되었을 경우 생성된다.

 

웹 서버가 설치되어 있지 않은 컴퓨터에 접속할 때 발생하는 상태이다.

- 이 때 발생하는 패킷의 Type은 3이며, Code는 10이다.

- 이 값은 Destination host administratively prohibited를 뜻한다. 이 패킷은 목적지 호스트와 통신이 차단되었을 때 발생하는 패킷이다. 이 패킷은 보안상의 문제 때문에 목적지 호스트에서 발생시키는 패킷이다.

웹서버가 설치되어 있는 컴퓨터에 웹브라우저로 접속했을 때의 사진이다. 이 때 ICMP Message는 발생하지 않는다. 그 이유는 ICMP Message는 네트워크에 오류가 생기거나 송신측에서 목적지 측의 네트워크가 살아있는지 죽었는지 확인하기 위해 ping을 사용할 때 발생하는데 위와 같은 상황은 정상적으로 웹브라우저에 접속이 가능했기 때문에 ICMP Message는 발생 하지 않는다.

 

 

8. 연습문제 풀이

 

[1] Tracert를 사용하는 단말 에서는 ICMP ______ 패킷을 송신하고, ICMP  ______ 패킷을 수신한다.

 

a) Echo Reply, Time Exceed   b) Source Quench, Time Exceed

c) Time Exceed, Echo Reply   d) Echo Request, Time Exceed

 

→ Tracert는 라우터의 정보와 목적지 단말의 정보를 알아 낼 수 있고 또, 송신측에서 목적지 단말까지 몇 개의 라우터를 거쳐지나갔는지 알 수 있다. 알아 낼 수 있는 이유는 송신측에서 처음 ICMP Request Message를 보낼 때 패킷 안의 TTL의 값을 1로 해서 보낸다. 이 패킷이 라우터를 지나 갈 때 TTL의 값은 –1씩 줄어들고 이 값이 0이 되면 해당 라우터는 송신측으로 Time Exceeded Message를 보낸다. 이 Message를 받은 송신측은 다은 ICMP Request Message를 보낼 때 TTL의 값을 +1증가시켜 보낸다. 이런 식으로 반복하여 라우터 정보와 목적지 단말의 정보를 알아내며 지나간 라우터의 개수도 알아낸다.

 

[2] 라우터에 혼잡이 발생하면, ICMP_____패킷을 _____ 에게 송신한다.

 

a) Echo Reply, 다음라우터   b) Source Quench, 이전라우터  

c) Source Quench, 발신지   d) Time Exceed, 발신지

 

→ 라우터에 혼잡이 발생하면 Source Quench를 보낸다. 이 Source Quench는 패킷 전송속도를 줄여달라고 송신측 즉, 패킷 발신지로 보내는 Message이다. Echo Reply는 Echo Request에 응답하는 Message이며 Time Exceed는 1번에서 설명했다시피 TTL이 0이 되면 발생하는 Message이다.

 

[3] 자신이 라우터임을 알리는 ICMP 패킷은 ______이다.

 

a) Router Advertisement     b) Source Quench

c) Ping                      d) Router Solicitation

 

→ Router Advertisement는 자신이 라우터라는 것을 알리는 패킷으로 이 패킷의 Type은 9이며, Code는 0이다. Source Quench는 Type은 4이며, Code는 0이다. Router Solicitation은 단말이 라우터를 찾을 때 생기는 Message이다. 이 패킷은 Type은 10이고, Code는 0이다.

 

[4] 자신의 망에 있는 라우터들을 탐색하는 용도로 사용되는 ICMP 패킷은  ______이다.

 

a) Router Advertisement     b) Traceroute

c) Ping                      d) Router Solicitation

 

→ 1번에서 설명한 것처럼 Traceroute는 송신측과 목적지 사이의 라우터의 정보와 목적지 단말의 정보를 알아내며, 목적지 까지 몇 개의 라우터를 거치는지 알아낼 수 있는 기능을 한다.

 

[5] 수신된 IP헤더부분에 오류가 발견되면, ICMP _____ 패킷을   _____에 송신한다.

 

a) Echo Reply, 다음라우터    b) Parameter Error, 다음라우터  

c) Parameter Error, 발신지   d) Time Reply, 발신지

 

→ Parameter problem on a datagram 은 무효한 헤더 영역이 있는 것을 송신측에 알려주는 Message이다. “무효한 헤더 영역이 있다.” 라는 것은 헤더부분에 오류가 발견 된 것을 의미하며 헤더 부분에 오류가 있는 것을 송신측에 알려 재 송신하게 만든다. 따라서 발신지에 송신한다.

 

[6] 수신된 IP의 TTL값이 1인 경우에는 ICMP _____패킷을   _____에 송신한다.

 

a) Echo Reply, 다음라우터    b) Time Exceed, 다음라우터

c) Time Exceed, 발신지   d) Time Reply, 발신지

 

→ 라우터에서 수신한 패킷의 TTL의 값이 1이면 이 TTL의 값은 라우터를 거칠 때 마다 –1을 하므로 이 값은 0이 된다. TTL의 값이 0이 되면 이 패킷은 버려지게 되고 라우터에서 패킷을 버린 것을 송신측에 알려야 하기 때문에 Time Exceeded Message를 만들어 송신측에 송신한다. 따라서 Time Exceed패킷을 발신지에 송신하게 된다.

 

[7] ICMP 패킷은 _______ 에 수납되어 전송된다.

 

a) ARP   b) IP   c) UDP   d) MAC 프레임

 

→ ICMP은 망 계층인 IP와 트랜스포트 계층인 TCP/IP사이에 있다ICMP는 망 계층의 IP를 기반으로 된 프로토콜로 IP에 수납되어 전송된다.

 

[8] 목적지가 3개의 라우터를 거친 다음에 연결되어있는 경우, Tracert 시험시  ___회 의 Echo Request패킷의 전송에 의해 목적지까지의 경로를 파악할 수 있다.

 

a) 2   b) 3  c) 4   d) 5

 

→ 라우터를 각각 A, B, C라고 칭하고 목적지를 D라고 칭하였을 때 Tracert를 시행하였을 때 처음 생성되는 ICMP Request Message의 TTL값은 1이다. 이 패킷은 A라우터에 가게 되고 TTL의 값은 0이 된다. A라우터는 이 패킷을 버리고 Time Exceeded Message를 생성하여 송신측에 송신한다. 그 후 Time Exceeded Message를 받은 송신측은 다시 ICMP Request Message를 만드는데 이때 TTL의 값을 +1상승시켜 2의 값을 주어 패킷을 만든다. 이 패킷이 A라우터를 거칠떄 TTL의 값은 –1되어 1 이되고 B라우터를 거칠 때 0이 된다. 그럼 B에서 또 패킷을 버리게 되고 다시 Time Exceeded Message를 송신측에 송신한다. 그 후 송신측은 다시 TTL값을 +1시켜 TTL값이 3이 되어잇는 ICMP Request Message를 만들어 송신한다 그럼 A거칠 때 TTL 값은 2가 되고 B거칠 때 TTL값은 1이 되고 C도착하였을 때 TTL값은 0이 된다. 그럼 C에서 다시 Time Exceeded Message를 만들어 송신측에 송신한다. 마지막으로 송신측은 TTL값을 +1상승시켜 TTL값이 4인 ICMP Request Message를 만들어 송신한다. 그럼 A에서 TTL=3 B에서 TTL=2 C에서 TTL=1이 되고 TTL이 0이 아니기 때문에 목적지 D까지 갈 수 있다. 따라서 ICMP Request Message는 총 4회 생성된다.

'IT > CISCO' 카테고리의 다른 글

Basic IOS Configuration(4)  (0) 2017.02.07
Basic IOS Configuration(3)  (0) 2017.02.06
Basic IOS Configuration(2)  (0) 2017.02.06
Basic IOS Configuration(1)  (0) 2017.02.06
통신프로토콜 TCP(2)  (0) 2016.12.21

+ Recent posts