2006-11-02 경북대학교컴퓨터공학과 1 제 8 장인터넷프로토콜 : IP 데이터그램 단편화 검사합 옵션 IP 설계
IP 프로토콜 2006-11-02 경북대학교컴퓨터공학과 2
2006-11-02 경북대학교컴퓨터공학과 3 네트워크계층프로토콜 IP (Internet Protocol) TCP/UDP 세그먼트를받아서패킷별로경로선택 ICMP (Internet Control Message Protocol) IP 에서발생하는문제를처리하기위한프로토콜 ARP (Address Resolution Protocol) IP 주소를물리적주소로번역해주는프로토콜 IGMP (Internet Group Multicasting Protocol) 멀티캐스트서비스를위한프로토콜
2006-11-02 경북대학교컴퓨터공학과 4 인터넷프로토콜 (IP) 라우팅기능수행 데이터그램 (Datagram) 방식 각데이터그램은독립적으로처리 각데이터그램은서로다른경로로전달될수있음 각데이터그램은순서가바뀌어전달될수있음 상위계층의세그먼트를네트워크가요구하는크기의패킷으로분할하여전송 신뢰성없는비연결형데이터그램프로토콜 Best effort service 오류검사및추적기능을수행하지않음 패킷폐기시 ICMP 메시지 를송신호스트에전송
2006-11-02 경북대학교컴퓨터공학과 5 IP 데이터그램 (datagram) 가변길이패킷 헤더와데이터부분으로구성 헤더 : 20 ~ 60 바이트길이, 라우팅과전달에필요한정보
2006-11-02 경북대학교컴퓨터공학과 6 IP 데이터그램 ( 계속 ) 버전 (Ver) - IP 프로토콜버전 (4 비트 ) 헤더길이 (HLEN) - 헤더길이를 4 바이트단위 로표시 (4 비트 ) 우선순위 (precedence): 3 bit (000 ~ 111) 버전 4 에서는사용하지않음 혼잡문제가발생하였을경우데이터그램의우선순위정의 전체길이 (total length): IP 데이터그램의전체길이를바이트단위로표시 (65,535 까지표현 ) 데이터길이 = 전체길이 헤더길이 플래그 (flag), 단편옵셋 (fragmentation offset) 단편화에사용 수명 (time to live) 데이터그램의수명 프로토콜 (protocol) 상위계층프로토콜 발신지주소 (source address) 및목적지주소 (destination address) 검사합 (checksum) 오류확인
2006-11-02 경북대학교컴퓨터공학과 7 예제 Q: IP 패킷의처음 8 비트가 01000010 일경우, A: 헤드길이가 8 바이트 => 폐기 Q: HLEN = 1000 일경우옵션필드의크기는? A: 헤드길이가 32 바이트이므로 12 바이트가옵션필드
2006-11-02 경북대학교컴퓨터공학과 8 예제 Q: HLEN = 5 16 이고 total length field = 0028 16 필드의크기는? 일경우, 데이터 A: 헤드길이 = 20, 전체길이 = 40, 따라서데이터필드 = 20 바이트
2006-11-02 경북대학교컴퓨터공학과 9 예제 Q: IP 패킷이 45000028000100000102... (16) 일경우, 몇개의홉을지나갈수있는가? 또한상위계층프로토콜은? A: time-to-live field = 01 ( 하나의홉 ) protocol field = 02 (IGMP)
2006-11-02 경북대학교컴퓨터공학과 10 IP 데이터그램 ( 계속 ) 서비스유형 (Type of Service) 라우터가패킷을어떻게처리할것인가를규정
2006-11-02 경북대학교컴퓨터공학과 11 Type of Service 응용프로그램들의기본서비스유형값 Protocol TOS 비트 Description ICMP 0000 Normal BOOTP 0000 Normal NNTP 0001 Minimize cost IGP 0010 Maximize reliability SNMP 0010 Maximize reliability TELNET 1000 Minimize delay FTP (data) 0100 Maximize throughput FTP (control) 1000 Minimize delay TFTP 1000 Minimize delay SMTP (command) 1000 Minimize delay SMTP (data) 0100 Maximize throughput DNS (UDP query) 1000 Minimize delay DNS (TCP query) 0000 Normal DNS (zone) 0100 Maximize throughput
2006-11-02 경북대학교컴퓨터공학과 12 Fragmentation/Reassembly 서브넷의하부데이터링크프로토콜에따라최대전송길이 (MTU: Maximum Transfer Unit) 가다르기때문에단편화필요 재조립은최종목적지에서만수행
2006-11-02 경북대학교컴퓨터공학과 13 MTU: Maximum Transfer Unit Protocol MTU Hyperchannel 65,535 Token Ring (16 Mbps) 17,914 Token Ring (4 Mbps) 4,464 FDDI 14,352 Ethernet 1,500 X.25 576 PPP 296
2006-11-02 경북대학교컴퓨터공학과 14 단편화 (Fragmentation) 식별자 (identification) 동일한세그먼트에서분할된단편들은같은식별자값을가짐 플래그 (flag) 3 비트필드 (D, M 비트 ) 단편화옵셋 : 13 비트필드 전체데이터그램에서단편의상대적인위치 (8 바이트단위 )
2006-11-02 경북대학교컴퓨터공학과 15 예제 Q: offset = 100, HLEN = 5, total length field = 100 일경우, 첫바이트와마지막바이트의번호는? A: 처음바이트의번호는 100 8 = 800 total length = 100 header length = 20 80 bytes in this datagram 마지막바이트의번호는 879
단편화예 2006-11-02 경북대학교컴퓨터공학과 16
단편화예 ( 계속 ) 2006-11-02 경북대학교컴퓨터공학과 17
2006-11-02 경북대학교컴퓨터공학과 18 검사합 1 의보수를이용한검사합
2006-11-02 경북대학교컴퓨터공학과 19 검사합 보통 n=16
2006-11-02 경북대학교컴퓨터공학과 20 체크섬 1. 패킷을 N 비트짜리섹션으로분할 2. 모든섹션을 1의보수연산으로더한다 3. 결과의보수를취하여체크섬으로함
2006-11-02 경북대학교컴퓨터공학과 21 옵션 IP 데이터그램헤더내의가변부분 네트워크의시험또는디버깅목적 옵션형식 코드필드 (8 비트 ) : 고정길이 복사 (copy): 단편화할때옵션을포함시킬것인지를제어 클래스 (class): 옵션의목적을나타냄 번호 (number): 옵션유형 (6 개 ) 길이필드 (8 비트 ) : 옵션의전체길이 데이터필드 : 옵션필드에필요한제어데이터 ( 가변길이 )
옵션 2006-11-02 경북대학교컴퓨터공학과 22
2006-11-02 경북대학교컴퓨터공학과 23 옵션유형 1 바이트옵션 다중바이트옵션 - 길이와데이터필드필요
2006-11-02 경북대학교컴퓨터공학과 24 Record Route 옵션 데이터그램을처리한라우터의주소기록 최대 9 개의 IP 주소기록가능 ( 출구 IP 주소기록 ) 포인터 : 첫번째빈공간을가르킴
Record Route 옵션 2006-11-02 경북대학교컴퓨터공학과 25
2006-11-02 경북대학교컴퓨터공학과 26 Example 13 We can also use the ping utility with the -R option to implement the record route option. $ ping -R fhda.edu PING fhda.edu (153.18.8.1) 56(124) bytes of data. 64 bytes from tiptoe.fhda.edu (153.18.8.1): icmp_seq=0 ttl=62 time=2.70 ms RR: voyager.deanza.fhda.edu (153.18.17.11) Dcore_G0_3-69.fhda.edu (153.18.251.3) Dbackup_V13.fhda.edu (153.18.191.249) tiptoe.fhda.edu (153.18.8.1) Dbackup_V62.fhda.edu (153.18.251.34) Dcore_G0_1-6.fhda.edu (153.18.31.254) voyager.deanza.fhda.edu (153.18.17.11) The result shows the interfaces and IP addresses.
2006-11-02 경북대학교컴퓨터공학과 27 Strict Source Route 옵션 데이터그램이거쳐야할경로를미리지정하기위해사용 데이터그램은옵션에정의된모든라우터방문
Strict Source Route 옵션 2006-11-02 경북대학교컴퓨터공학과 28
2006-11-02 경북대학교컴퓨터공학과 29 Loose Source Route 옵션 Strict source route 옵션과비슷하지만리스트에없는라우터도방문가능
2006-11-02 경북대학교컴퓨터공학과 30 Timestamp 옵션 라우터가데이터그램을처리하는시간기록 (ms 단위 ) Overflow: 필드가없어서시간을기록하지못한라우터의수 Flag: 방문한라우터의의무표시
Timestamp 옵션 2006-11-02 경북대학교컴퓨터공학과 31
2006-11-02 경북대학교컴퓨터공학과 32 타임스탬프예 Code=68, 길이 =28 바이트, 포인터 =5, Flag=1
2006-11-02 경북대학교컴퓨터공학과 33 No operation 옵션 옵션사이의여백을채워줌 ( 다음옵션을 16 또는 32 비트경계에위치하기위하여 )
2006-11-02 경북대학교컴퓨터공학과 34 종료옵션 (End of Option) 옵션필드의패딩목적으로사용 ( 마지막옵션으로만사용가능 )
IP 구현구조 2006-11-02 경북대학교컴퓨터공학과 35