Download presentation
Presentation is loading. Please wait.
1
TCP/IP 통신망 특론 3장 인터넷프로토콜( IP )
2
목 차 (1/2) 3.1. 개 요 3.2. IP 헤더 3.3. IP 라우팅 3.4. 서브넷 주소지정 3.5. 서브넷 마스크
목 차 (1/2) 3.1. 개 요 3.2. IP 헤더 3.3. IP 라우팅 3.4. 서브넷 주소지정 3.5. 서브넷 마스크 3.6. 특수한 경우의 IP 주소 3.7. 서브넷 예제
3
목 차 (2/2) 3.8. ifconfig 명령어 3.9. netstat 명령어 3.10. IP의 미래 3.11. 요약
4
1. 개 요 IP 특징 RFC791 모든 TCP,UDP,ICMP,IGMP에서 사용
1. 개 요 IP 특징 RFC791 모든 TCP,UDP,ICMP,IGMP에서 사용 unreliable (상위층에서 신뢰성 보장) connectionless (예:전송순서A,B도착순서 B,A)
5
2. IP 헤더(1/9) Size 전송순서 20byte (Option 제외)
0-7, 8-15, 16-23, 비트 순서 big endian = network byte order little endian
6
2. IP 헤더(2/9)
7
2. IP 헤더(3/9) IP 헤더 필드 프로토콜 버전(4bit) - IPv4 헤더 길이 (4bit)
Option+ Header length 60바이트까지 제한 서비스 유형 필드(TOS: Type-of service-8bit) 선행필드(3bit) - 현재 무시 TOS(4bit) 최소지연, 최대 처리율, 최대 신뢰성, 최소 비용 하나만 선택가능 4bit 모두 0일 시 표준서비스 제공 비사용 비트(1bit=0)
8
2. IP 헤더(4/9) TOS 권고 필드 값
9
2. IP 헤더(5/9) TOS Example minimum delay (빠른응답 요구)
Telnet, rlogin maximum throughput (최대 처리율 요구) FTP maximum reliability (최대 신뢰성 요구) SNMP, routing protocol minimize monetary cost (최소 비용 요구) NNTP
10
2. IP 헤더(6/9) 16 비트 전체 길이 16 비트 식별자 3 비트 플래그
IP 데이터그램의 총 바이트 길이(최대65535byte) 전체길이-헤더 길이= 데이터 부분의 시작 16 비트 식별자 한 호스트에 의해 보내지는 각 데이터그램을 식별하기 위해 사용 데이터그램을 보내는 순서에 따라 1씩 증가 3 비트 플래그 D : Don’t fragment, M:More fragment, unused
11
2. IP 헤더(7/9) 13 비트 분할 옵셋 TTL(Time-to live:8bit) 프로토콜(8bit)
fragment의 시작 위치를 표시(11장에서 설명) TTL(Time-to live:8bit) 데이터그램의 수명을 제한(라우터 경유시 1씩 감소) Why ? 패킷이 라우팅 과정에서 루프에 빠지는 것을 방지하기 위한것 프로토콜(8bit) 어느 프로토콜이 IP로 데이터를 보냈는 가를 구분 하기 위한것 Why ? Demultiplexing을 하기 위하여
12
2. IP 헤더(8/9) header checksum(16bit)
IP 헤더만 checksum Source IP address and destination IP address (각각 32bit) PAD (Option 부분) IP 헤더가 32 비트의 배수가 되도록 하기 위하여 사용
13
2. IP 헤더(9/9) option 데이터그램에 대한 가변길이 정보
보안과 제한 사항 (군사 응용에 관한것은 RFC 1108을 참조) 레코드 route (각 router가 자신의 IP address 기록) time stamp (각 router가 자신의 IP address와 time 기록) loose source routing (데이터그램이 거쳐야 하는 IP address 기록) strict source routing (데이터그램은 기록된 IP address를 따라 목적지까지 가야함)
14
3. IP Routing(1/9) Routing 개념 If
호스트와 목적지가 직접연결되어 있거나 공유된 네트워크(예:Ethernet, token ring)일 경우 then 목적지로 직접 전송 else 데이터그램을 디폴트 라우터로 보낸 후, 라우터가 목적지로 직접전송
15
3. IP Routing(2/9) memory 내의 routing table 검사 후 전송
IP layer가 상위 계층(TCP, UDP, ICMP, IGMP) 혹은 Network Interface로부터 datagram을 받았을 때 memory 내의 routing table 검사 후 전송 If 수신 datagram의 IP address = 자신의 IP address 혹은 broadcast address then protocol 모듈에게 전달 else 1) IP layer가 router로 동작할 수 있도록 구성되었다면 데이터그램 전송 2) 그렇지 않다면 discard
16
3. IP Routing(3/9) Routing table이 갖고 있는 정보
Destination IP address : host or network address next-hop router 혹은 직접 접속된 네트워크의 IP address flags destination IP address가 network인지 host인지를 식별 next-hop router address가 실제 router인지 직접 접속된 interface인지를 식별(9장에서 설명) 전송을 위해 datagram을 넘겨 줄 network interface specification
17
3. IP Routing(4/9) routing table의 예 svr4 % netstat -rn Routing tables
Destination Gateway Flags Refcnt Use Interface UGH emd0 UH lo0 default UG emd0 U emd0
18
3. IP Routing(5/9) IP routing routing table search
If destination IP address = IP address then next-hop router나 직접 접속된 interface로 packet을 send If destination network ID=network ID Routing table에서 “default”를 찾는다. 만일 찾았다면 지시된 next-hop router로 packet을 send 위의 과정에서 일치하는 것이 없다면 datagram은 폐기되고 “host unreachable” or “network unreachable” message가 해당 application에게 return
19
3. IP Routing (6/9) Examples
bsdi( )에서 sun( )으로 IP datagram을 보내는 경우 routing table search 같은 subnet임을 확인 ARP 수행 후 전달
20
3. IP Routing(7/9) bsdi( )가 ftp.uu.net( )로 IP datagram을 보내는 경우
21
3. IP Routing(8/9) bsdi routing table search. Host or network entry와 match되지 않음. 따라서 default를 사용. ARP후 sun에게 전달. sun destination address가 자신이 아니고 router의 기능을 갖고 있으므로 datagram을 forward. routing table search. Host or network entry와 match되지 않음. 따라서 default를 사용하여 netb에게 전달. netb sun과 동일한 절차를 따름. 단 default를 사용하여 gateway에게 전달하고자 할 때 ARP를 사용하여 Enet. Address를 구함.
22
3. IP Routing(9/9) gateway 이전의 두 router와 동일한 절차를 따름. Default를 사용하여 next-hop router인 에게 datagram을 forward. Key points 모든 host와 router는 default를 사용 destination IP address는 변경되지 않으며, 모든 routing의 기준이 됨. 각 link별로 다른 link header와 link address가 사용됨.
23
4. Subnet Addressing(1/2) RFC 950
host ID부분을 subnet ID와 host ID로 나누어 사용. 예) Class B: 16bits bits bits - 254개의 subnet과 subnet당 254개의 host를 가질 수 있다 Subnet 장점- routing table의 크기를 줄일 수 있다. Example network의 외부 Internet router에게는 subnet이 transparent하게 보인다. 이는 로 시작하는 어떤 호스트에 도달하기 위해서는 무조건 로 routing을 하기 때문이다.
24
4. Subnet Addressing(2/2)
25
5. Subnet Mask(1/3) subnet mask는 subnetID와 hostID에 몇 bit가 할당되는 지를 결정하기 위해 사용( 32-bit) 일반적으로 IP address는 dotted-decimal notation으로 표기하나 subnet mask는 hexadecimal로 표현.
26
5. Subnet Mask(2/3) IP address와 subnet mask를 이용하면 (1) 같은 subnet인지,
(2) 같은 network의 다른 subnet인지, (3) 다른 network인지를 알 수 있다. Example host address: , subnet mask가 일 때 destination IP address가 면 같은 network의 다른 subnet이다. destination IP address가 면 같은 subnet이다. destination IP address가 이면 다른 network이다.
27
5. Subnet Mask(3/3)
28
6. 특수한 경우의 IP 주소 0all 0, -1 all 1, 공백 not 서브넷팅
29
7. 서브넷 예제(1/3) gateway svr4 sun bsdi slip Internet
.66 .65 gateway svr4 sun bsdi slip Internet Ethernet,subnet 140,252,1 Ethernet,subnet 140,252,13.32 SLIP subnet .35 .33 .34 Author’s subnet 140,252,13 .4
30
7. 서브넷 예제(2/3) Variable-length subnet Net ID = 140.252 Subnet ID
Host ID Class B = 0xffffffe0 = Subnet mask 5 bits 11 bits 8 bits = 13
31
7. 서브넷 예제(3/3) Author’s subnet의 IP Address
32
8. ifconfig 명령어(1/2) 물리적 네트워크 인터페이스 및 할당된 인터페이스 주소에 대한 정보 제공 Option
인터페이스 정상적 동작? 패킷 수신 준비 ? 네트워크 인터페이스 소프트웨어가 정상적으로 설치? Option -a : 모든 인터페이스를 알려줌(Only SunOS 존재)
33
8. ifconfig 명령어(2/2) Sun % /usr/etc/ifconfig -a
le0: flags=63<UP,BROADCAST,NOTRAILERS,RUNNING> inet netmask ffffffe0 broadcast sl0: flags=1501<UP,POINTTOPOINT,RUNNING,LINK0> inet netmask ffffff00 lo0: flags=49<UP,LOOPBACK,RUNNING> inet netmask ff000000 bsdi % /sbin/ifconfig we0 we0: flags=863<UP,BROADCAST,NOTRAILERS,RUNNING,SIMPLEX> inet netmask ffffffe0 broadcast bsdi % /sbin/ifconfig sl0 sl0: flags=1011<UP,POINTTOPOINT,LINK0> inet > netmask ffffffe0
34
9. netstat 명령(1/2) 시스템 인터페이스에 대한 정보를 제공 Option
MTU, 입력 패킷 개수, 입력 에러 개수, 출력 패킷 개수, 출력 에러 개수, 충돌 개수, 현재 출력 큐의 크기 Option -i : 인터페이스 정보를 출력 -n : 호스트 이름 대신 IP 주소 출력
35
9. netstat 명령(2/2) Sun % netstat -in
Name Mtu Net/Dest Address Ipkts Ierrs Opkts Oerrs Collis Queue le sl lo
36
10. IP의 미래(1/2) IP의 세 가지 문제점 IPng : SIP, PIP, TUBA , TP/IX
32비트 주소공간이 장기적으로 부적당 현재의 라우팅 구조에서 라우팅 테이블의 크기 증가 문제 - CIDR에서 대안 제시(10.8) IPng : SIP, PIP, TUBA , TP/IX
37
10. IP의 미래(2/2) IPv4 IPv6 32bit address 사용
TCP, UDP, ICMP, IGMP를 위한 패킷전송 서비스제공 멀티캐스팅 옵션으로 제공 IPv6 IPv4를 대신하기 위하여 1990년대 중반에 설계 128bit address TCP, UDP, ICMPv6를 위한 패킷 전송 서비스제공 멀티캐스팅 필수 (No 브로드 캐스팅 기능) ICMPv6=ICMP+IGMP+ARP
38
11. 요약 헤더 라우팅 서브넷 서브넷 마스크 ifconfig 와 netstat 차세대 IP
Similar presentations