1 / 39

21 장 네트워크 계층 : 주소 매핑 , 오류 보고 및 멀티캐스팅

21 장 네트워크 계층 : 주소 매핑 , 오류 보고 및 멀티캐스팅. 20.1 Address Mapping (ARP/RARP) 20.2 ICMP: 오류 보고 및 질의 20.3 IGMP: 멀티캐스트 그룹 관리 ( 간단히 개념만 설명 ). 이 장에서 학습할 프로토콜. 학습 내용 : ARP, ICMP, IGMP. 21.1 Address Mapping. Address Mapping 필요성 아래 그림에서 A 는 디폴트 라우터 S1 의 f1 으로 프레임을 전달한다 .

brock-diaz
Download Presentation

21 장 네트워크 계층 : 주소 매핑 , 오류 보고 및 멀티캐스팅

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 21장네트워크 계층: 주소 매핑, 오류 보고및 멀티캐스팅 20.1 Address Mapping (ARP/RARP) 20.2 ICMP: 오류 보고 및 질의 20.3 IGMP: 멀티캐스트 그룹 관리 (간단히 개념만 설명)

  2. 이 장에서 학습할 프로토콜 학습 내용: ARP, ICMP, IGMP

  3. 21.1 Address Mapping • Address Mapping 필요성 • 아래 그림에서 A는 디폴트 라우터 S1의 f1으로 프레임을 전달한다. • 하지만 S1의 라우팅 테이블에는 디폴트 라우터의 IP 주소만 존재한다. 이 경우에 물리적으로 S1의 f1 인터페이스로 전달이 가능한가?

  4. Address Mapping ? • Address Mapping 필요성 • 논리적인 IP 주소로는 물리적인 프레임 전달이 불가능하다. • 즉 현재 전달하고자 하는 타겟 IP 주소를 전송 가능한 물리 주소로 변환할 필요가 있다. • Address Mapping 두 가지 방법 • Static Mapping (정적 매핑) • 관리자가 변환 테이블(논리주소 <-> 물리주소)을 정적으로 작성하는 방법 • Dynamic Mapping (동적 매핑) • 논리 또는 물리 주소 중 하나를 알 경우, 매핑 프로토콜을 사용하여 동적으로 다른 하나의 주소를 찾아내는 방법

  5. ARP (Address Resolution Protocol) TCP/IP 프로토콜에서 동적 주소 매핑을 담당하는 프로토콜 ARP 동작 방식

  6. ARP 패킷 및 ARP 캐시 • ARP 패킷 종류 • ARP Request: 로컬 망에 타켓 H/W 주소를 찾기 위해 브로드캐스트 방식으로 전송 • ARP Reply: 로컬 망에서 유니캐스트 방식으로 ARP request 한 노드로 전송 • ARP 캐시 메모리 • 한 번 매핑한 주소를 매번 다시 ARP Request/Reply 전송할 필요는 없다. • 캐쉬를 이용하여 이미 알아낸 주소 쌍(물리/논리 주소)을 임시 보관한다. • 각 ARP 엔트리의 수명 시간은 일반적으로 20~30분 정도로 지정함 • 수명 시간 내에 엔트리의 주소(물리/논리 주소가 동일한 프레임을 수신)로부터 수신이 발생할 경우, 다시 refresh 된다.

  7. ARP 패킷 형식

  8. 필드 설명 및 인캡슐레이션 H/W Type: 물리 주소의 종류를 표시, ethernet인 경우는 1 Protocol Type: 논리 주소(프로토콜) 종류를 표시, IPv4는 0x0800 H/W length: 물리 주소 길이, ethernet인 경우는 6 Protocol length: 논리 주소 길이, IPv4인 경우는 4 Operation: ARP 패킷 종류, Req: 1, Rep: 2 Sender H/W addr: 송신자의 H/W 주소 Sender Protocol addr: 송신자의 논리(IP) 주소 Target H/W addr: 타켓 H/W 주소, Req 경우에는 0으로 채움 Target Protocol addr: 타켓 논리 주소 ARP 인캡슐레이션

  9. ARP 사용 예제

  10. 여러 가지 ARP 사용 경우

  11. Proxy ARP • 서브네팅을 감추어주는 기능을 수행 • 실제로는 subnetting을 했지만, 하지 않은 것처럼 망을 관리함 • ARP Proxy(Agent)는 자신이 관할하는 노드들의 ARP 요청을 대신하여 처리한다.

  12. 물리주소 -> 논리 주소 매핑 ARP: 상대 IP 주소로 상대 H/W 주소 획득 RARP: 자신의 H/W 주소로 자신의 IP주소 획득 • 자신의 H/W 주소는 알지만 논리 주소(IP 주소)를 모르는 경우 • 디스크가 없는 컴퓨터: 네트워크 서버로 부터 부팅 이미지를 가지고 와서 부팅하는 disklessworkstation 등 • 필요에 따라서만 인터넷 접속을 허용하는 호스트 관리: 전체 호스트 개수보다 실제 사용 가능한 IP 주소가 모자라는 경우 • RARP: Reverse ARP • ARP와 동일한 패킷(operation 3: RARP Req, 4: RARP Rep) 형식 사용 • 자신의 MAC 주소로 로컬 망에 RARP request 브로드캐스트 • RARP 서버가 유니캐스트로 RARP reply 전송

  13. RARP의 문제점 및 BOOTP, DHCP • RARP 문제점 • 정상적인 인터넷설정을 위해서는 IP 주소 뿐 아니라, subnet mask, default 라우터, DNS 서버 주소 등의 정보가 필요함 • 이와 같은 문제점 때문에 RARP는 거의 사용되지 않음 • BOOTP(Boot Protocol), DHCP(Dynamic Host Configuration Protocol) • 둘 다 응용 계층(IP/UDP에 인캡슐됨)에서 동작하는 프로토콜, 프로토콜 형식도 매우 흡사 • IP 주소 외에 subnet mask, default router 등의 네트워크 설정에 필요한 정보를 전달 • BOOTP: 디스크 없는 호스트를 위한 서버의 부팅 이미지 디렉토리 등의 정보 제공 • DHCP: 동적 주소 할당/해제 등을 위한 부가 기능 제공

  14. 참고: DHCP 프로토콜 형식

  15. 21.2 ICMP: Internet Control Message Protocol • IP는 Best-effort 서비스만 제공, IP 데이터그램 전달 시에 오류가 발생하면 복구 등을 수행하지 않고,IP 전달을 종료함 • 최소한의 오류 발생 등을 송신자에게 통보할 필요가 있음 • 이를 ICMP에서 담당함 • ICMP 기능 • Error Reporting: IP 데이터그램 전달 시에 발생한 오류를 보고하는 기능 수행 • Query: 네트워크 설정/검사 등에 필요한 질의/응답 수행

  16. ICMP 프로토콜 형식 • Type: ICMP 기능 형식을 정의 • Code: 각 ICMP type에 따른 부가 정보를 전달 • Rest of header: ICMP type에 따른 세부 기능에 따라 서로 다른 형태를 가짐 • 필요하지 않는 경우에는 0으로 채움 • Data section: 부가적인 데이터 전달

  17. ICMP 프로토콜 종류

  18. ICMP Error Reporting • IP 전달 과정에서 발생한 오류가 발생하면, 일반적으로 그 패킷을 폐기한 후, 그 패킷의 송신자에게 오류 발생을 통보한다. • 예) • 목적지로의 더 이상 경로가 없음 • TTL 값이 0가 되었음 • IP 헤더에 비정상적인 값이나 Header checksum 에러 발생

  19. ICMP 오류 메시지 인캡슐레이션 ICMP 메시지는 IP 데이터 그램에 인캡슐되어 송신지로 전달 된다. ICMP 오류 메시지의 data section에는 오류를 발생시킨 IP 패킷의 IP 헤더와 상위 계층의 8 바이트 정보가 포함되어 송신지로 전달된다.

  20. ICMP 프로토콜의 계층에 대한 고찰 • ICMP는 OSI 7 계층 개념에서 몇 계층에 해당되는 프로토콜 일까? • 기능적으로는 계층 3이다. 왜냐하면, ICMP는 IP를 보조하는 기능을 가진 프로토콜이기 때문에… • 인캡슐되는 측면에서 보면 계층 4로 보인다. ICMP는 IP에 실려서 전달된다. (UDP, TCP와 흡사함) • 결론은 계층 3이지만 인캡슐 방식은 기억할 필요가 있음 • OSI 7계층과 같이 엄격한 계층 구분을 하는 프로토콜 스택에서는 용인되지 않는 형태임 • IP를 보조하는 또 다른 프로토콜인 ARP는 IP에 캡슐화되지 않는데, ICMP는 왜 IP에 캡슐화 될까?

  21. ICMP 오류가 발생되지 않는 경우 ICMP 오류 메시지를 포함한 IP 패킷에 대해서는 ICMP 오류 메시지를 발생시키지 않는다. IP 단편들 중, 첫 번째 단편에 대해서만 ICMP 오류 메시지가 발생된다. 다른 단편에 대해서는 오류 메시지를 발생하지 않음 IP 멀티캐스트 패킷에 대해서는 ICMP 오류 메시지를 발생하지 않는다. 127.0.0.1, 0.0.0.0과 같은 특별 주소를 가진 IP 패킷에 대해서는 ICMP 오류 메시지를 발생하지 않는다.

  22. ICMP Destination Unreachable • 목적지 도달 불가능 할 경우 발생하는 오류 보고 • 라우터나 목적지 호스트가 더 이상 IP 데이터그램을 전달하지 못하는 경우에 발생하는 오류 보고 메시지 • 라우팅 테이블에 엔트리가 없음, 호스트나 라우터의 단절, 계층 4의 목적 port 주소가 없음 등

  23. ICMP Source Quench • 인터넷의 IP 계층에서는 망의 혼잡(congestion) 발생을 방지하거나 경감시키는 congestion control 기능이 없음 • 목적지 호스트에서 필요한 흐름 제어 기능을 IP 계층에서는 제공하지 않음 • ICMP Source Quench 메시지는 • IP 패킷이 전달되는 경로 상에서 congestion 발생으로 패킷이 폐기되었음을 송신자에게 통보 • 그러므로 더 이상의 패킷 전송을 중단하라는 경고를 통보

  24. ICMP Time Exceed • 시간 초과에 의한 IP 패킷 폐기를 송신지에게 통보 • Code 1: TTL 필드 값이 0가 되어서 IP 패킷을 폐기했음 • Code 2: 정해진 시간을 기다려도 모든 IP 단편(fragment)들이 도착하지 않았음

  25. ICMP Parameter problem Code 1: 메인 헤더에서 오류 발생 Code 2: 옵션 헤더에서 오류 발생 IP 헤더에 모호한 값 또는 인식할 수 없는 심각한 문제가 발생할 경우, 패킷을 폐기하고 이 사실을 송신지에게 통보

  26. ICMP Redirection • IP 패킷을 잘못된 라우터로 보냈을 경우, 이를 통보하여 잘못된 라우팅 테이블을 갱신하기 위해 사용됨 • 이때 IP 패킷은 폐기되지 않는다. – 라우터가 올바른 라우터로 전달하여줌 • 오류로 볼 수도 있지만, 네트워크 구조 상 이런 오류를 고의적으로 묵인하는 경우도 있음

  27. ICMP Redirection 프로토콜 형식

  28. ICMP Query • ICMP Query 용도 • 네트워크 정보를 획득하기 위해 라우터나 호스트에게 필요한 정보를 질의하여 응답을 받음 • 예) 특정 호스트가 연결 가능한가?, 특정 호스트로 전달 가능한 시간은 얼마나 될까?, 이 로컬 망의 라우터는 ? 등 …

  29. ICMP Query 캡슐화 • ICMP Query 메시지도 IP에 인캡슐레이션 되어 전달된다.

  30. ICMP echo request/reply • 특정 노드의 도달 가능성(reachability)를 검사하는 수단으로 사용 • ICMP request 메시지를 받은 호스트는 무조건 ICMP reply 메시지로 응답해야 함 • 대부분의 컴퓨터에서 ping이라는 명령어를 제공하며 이 ping 명령어가 ICMP request/reply 메시지를 사용함

  31. ICMP Timestamp Request/Reply • 두 시스템 간에 IP 데이터그램이 오고 가는데 필요한 왕복 시간 결정 • 그리니치 표준시 자정으로 부터 시간을 ms 단위로 표현 • 참고 자료만으로 활용: 많이 활용되지 않음

  32. ICMP Address Mask Request/Reply • 네트워크가 설정되지 않은 호스트가 현재 로컬 망에 설정된 네트워크 마스크를 요청하여 응답 받기 위한 용도로 사용 • 많이 활용되지 않음

  33. ICMP Router Solicitation/Advertisement • 자신의 로컬 망에 존재하는 라우터의 주소를 얻기 위해 사용되는 ICMP 질의 메시지 • Router Solicitation: 호스트가 라우터 주소를 요청하기 위해 로컬 망에 브로드캐스트 되는 메시지 • Router Advertisement: 라우터가 자신의 존재와 주소를 알려주기 위해 사용되는 메시지 • Unsolicited RA: 주기적으로 라우터 정보를 로컬 망에 브로드캐스트 • Solicited RA: RS 메시지 수신에 의해 요구한 호스트에게 유니캐스트로 응답함 • 실제 많이 활용되지 않음

  34. ICMP RS, RA 형식 • RA (Router Advertisement) RS (Router Solicitation)

  35. ICMP checksum 기존 IP 헤더 체크섬과 동일한 방법을 사용, 다만 ICMP는 전체 ICMP 헤더와 데이터에 대한 checksum을 수행 [예제 21.2] 간단한 ICMP Echo Request 메시지의 checksum

  36. 간단한 네트워크 진단 도구 (1/2) ping

  37. 간단한 네트워크 진단 도구 (2/2) • traceroute • 특정 목적지까지 경로 상에 존재하는 라우터의 정보를 획득하기 위해 사용 • TTL 값 조정한 IP 메시지 전송과 이에 따른 ICMP Time Exceed 메시지 수신을 이용

  38. 21.3 IGMP (Internet Group Management Protocol) • IP 멀티캐스트(class D: 224~239로 시작되는 주소) 전송을 지원하는 프로토콜 • 멀티캐스트 주소는 일반적으로 동적으로 관리된다 • IP 멀티캐스트를 지원하기 위해서는 • 멀티캐스트 그룹 관리(특정 호스트가 특정 멀티캐스트 그룹에 가입 여부) 기능이 필요: IGMP • 멀티캐스트 라우팅 프로토콜을 지원하는 라우터가 필요 • IGMP • 로컬 망의 호스트와 라우터 사이에서 동작 • 로컬 망에 특정 멀티캐스트 그룹 구성원 목록 생성/갱신을 지원

  39. IGMP 메시지 형식 • IGMPv2 메시지 형식 General Query: 라우터가 로컬 망에 브로드캐스트 함. 특정 멀티캐스트 그룹에 소속된 호스트들은 Membership report로 보고해야 함 Special Query: 특정 호스트에게 멀티캐스트 그룹 소속 여부를 질의함(유니캐스트) Membership Report: 호스트가 라우터에게 소속된 멀티캐스트 그룹을 통보 Leave Report: 호스트가 라우터에게 멀티캐스트 그룹 탈퇴를 통보

More Related