2014 년도 1 학기 (961805-501) 컴퓨터네트워크 2014.04.30 장문정 (cathmjang@gmail.com) 홍익대학교게임소프트웨어전공
네트워크계층 이장의목표 : 네트워크계층서비스에대한기본원리를이해 네트워크계층서비스모델 포워딩 (forwarding) vs. 라우팅 (routing) 네트워크계층프로토콜 : IP, DHCP, ICMP 등 라우팅알고리즘 ( 경로선택 ) 라우팅프로토콜들 : RIP, OSPF, BGP 브로드캐스트 (broadcast) & 멀티캐스트 (multicast) 라우팅 2
네트워크계층 ( 인터넷계층 ) 네트워크상의패킷전송제어 데이터그램 ( 패킷 ) 을정확한수신지로전송송신측 상위계층에서전달받은패킷에 IP 주소를포함하는헤더를추가 하위계층인데이터링크계층으로전달수신측 하위계층으로부터전달받은패킷의헤더정보를확인 송신측의네트워크계층에서추가된헤더를제거 전송계층으로전달 라우터 입력링크의 IP 데이터그램의헤더필드를조사하여출력링크로전달 application transport application transport 3
네트워크계층 모든호스트와라우터에내장되어있음 예 : IP, ICMP, IGMP 등 4
네트워크계층의주요기능 포워딩 라우터의입력링크에도착한패킷을적절한출력링크로이동 라우팅 출발지에서목적지까지의경로 (path) 를결정 라우팅알고리즘 링크상태라우팅알고리즘 거리벡터라우팅알고리즘 5
라우팅과포워딩간상호작용 라우팅알고리즘 local forwarding table header value output link 0100 0101 0111 1001 3 2 2 1 routing algorithm determines end-end-path through forwarding table determines local forwarding at this router value in arriving packet s header 0111 3 2 1 6
네트워크서비스모델 개별데이터그램을위한서비스 보장된전달특정지연시간 ( 예, 40ms) 이내의보장된전달비연결형서비스 데이터그램흐름 (flow) 을위한서비스 순서화 (in-order) 된데이터그램전달보장된최소대역폭과보장된패킷간간격연결형서비스 7
데이터그램네트워크 네트워크계층에서의콜설정이없음 라우터는종단간연결에대한상태정보가없음 네트워크측면에서 연결 개념이없음 패킷은목적지호스트 IP 주소를사용하여전달됨 application transport 1. send datagrams 2. receive datagrams application transport 8
데이터그램네트워크 포워딩테이블 모든가능한목적지주소마다하나의엔트리를갖는다면, 아 주큰테이블이필요 40 억개이상의주소 구현불가! HOW? 9
IP 주소 ( 인터넷주소 ) 인터넷상에서각호스트를식별할수있는유일한주소! 10
IP 주소 IP 의이해 네트워크에접속되어있는각컴퓨터에고유한식별번호가부여되어야정확한데이터송수신이가능 인터넷에연결되어있는모든컴퓨터에게고유의주소를부여 현재사용하고있는 IP 주소체계는 IPv4 (IP Version 4) 8비트크기의필드 4개를이용하여총 32비트크기로주소를표현 11
IP 주소 IP 주소체계 네트워크주소 (Net ID) 와호스트주소 (Host ID) 로구분 네트워크주소 전체네트워크를보다작은네트워크로분할하여각호스트가속한네트워크를대표하는데사용 8비트, 16비트, 24비트의크기로분류 호스트주소 네트워크주소로표현되는네트워크내부에서각호스트의주소를표현전체 32비트에서네트워크주소를제외한나머지에해당 12
IP 주소 IP 주소의효율적인배정을위하여설계시, 클래스 (class) 라는개념을도입클래스에는 A, B, C, D, E 다섯가지종류 D 클래스 : IP 멀티캐스팅용 E 클래스 : 자원확보를위한예비용 실제사용하는것 : A, B, C 클래스 13
IP 주소 A 클래스 네트워크주소로 8 비트, 호스트주소로 24 비트를사용 가장왼쪽비트가 0 & NETID로 2 7 (= 128) 중 126개사용 (2개는특수목적에사용 ) 2 24 (= 16,777,216) 중 16,777,214개가호스트를구분하기위해사용 (HOSTID가모두0인것과모두1인것은특별한의미를갖는주소 ) 대형기관및대형기업 14
IP 주소 B 클래스 B 클래스를구분하는데사용되는식별자 : 10 으로시작 네트워크주소로 16 비트, 호스트주소로 16 비트를사용 가장왼쪽 2 비트가 10 이며, NETID 로 2 14 (= 16,384) 개 사용 2 16 (= 65,536) 개중 65,534 개호스트 ( 라우터 ) 사용가능 (2 개는특별한주소 ) 중형기업및기관 15
IP 주소 C 클래스 C 클래스를구분하는데사용되는식별자 : 110 으로시작 가장왼쪽 3 비트가 110 2 21 (= 2,097,152) 개의 NETID 를가질수있음 HOSTID 로 2 8 (=256) 개중 254 개의호스트 ( 라우터 ) 를가질 수있음 소규모기관사용 16
IP 주소 10 진표기법을이용한클래스 : 각클래스의네트워크수와호스트수 17
IP 주소 D 클래스 IP 주소시작은 224~239 까지 멀티캐스트용도 E 클래스 E 클래스의 IP 주소시작은 240~255 까지 미래를위해남겨놓은주소 255.255.255.255는전체컴퓨터에대한브로드캐스트주소로사용사설주소 : IP 주소중인터넷에서사용하지않는주소 클래스 사설주소 A 10.0.0.0~10.255.255.255 B 172.16.0.0~172.31.255.255 C 192.168.0.0~192.168.255.255 18
데이터그램네트워크 포워딩테이블 4 개링크를가지는라우터의예 19
데이터그램네트워크 포워딩테이블 앞의예는 4개의엔트리를갖는포워딩테이블을구성목적지주소의프리픽스 (prefix) 를테이블엔트리와대응 Destination Address Range 11001000 00010111 00010*** ********* 11001000 00010111 00011000 ********* 11001000 00010111 00011*** ********* otherwise Link interface 0 1 2 3 예제 ) DA: 11001000 00010111 00010110 10100001? DA: 11001000 00010111 00011000 10101010? 최장프리픽스대응규칙 (longest prefix matching rule) 20
인터넷프로토콜 (IP) 21
IPv4 데이터그램구조 네트워크계층의패킷 = 데이터그램 (datagram) 데이터그램 가변길이의패킷헤더와데이터부분으로구성헤더의크기 : 20~60 바이트헤더는패킷을전달하는데필 요한모든정보를포함 22
IPv4 데이터그램구조 버전 : 현재버전 4 헤더길이 : 데이터그램헤더의전체길이서비스유형 (TOS) 라우터가처리해야하는데이터그램에대한규정 현재인터넷은이필드를사용하지않음! 총길이 바이트로계산한 IP 데이터그램의전체길이 ( 헤더 + 데이터 ) D: 최소지연 T: 높은처리율 R: 높은신뢰성 C: 최소비용 일반적으로 1,500 바이트를넘지않음 23
IPv4 데이터그램구조 16- 비트식별자 플래그 각데이터그램마다고유하게설정되는데이터그램의번호 3 비트로구성되며, 패킷분할을제어 첫번째비트는사용하지않으며, 두번째와세번째비트만사용 단편화오프셋 (fragment offset) 단편화된패킷을재결합할때, 플래그필드와 16- 비트식별자필드를결합하여사용 원본데이터에서분할된조각이위치하는자리를표시하는필드 (13 비트 ) 24
IPv4 데이터그램구조 라이프타임 (TTL) 패킷이네트워크상에서생존할수있는시간을규정 데이터그램이통과하는최대라우터수를제어하기위해사용 데이터그램이라우터를통과할때마다 1 씩감소 필드값이 0 이면라우터는해당데이터그램을폐기 사용자가정하는게아니며, 운영체제에이미정해져있음 ( 상위계층 ) 프로토콜 IP 계층의서비스를사용하는상위계층 ( 트랜스포트계층 ) 의프로토콜정의 최종목적지에도착했을때만사용됨 검사합 (Checksum) 패킷전송중에발생하는헤더부분의오류검사 25
IP 단편화와재결합 (Fragmentation & Reassembly) 링크계층이전달할수있는패킷의최대크기 MTU (Maximum Trans mission Unit) 링크계층프로토콜마다 MTU 는다름 fragmentation: in: one large datagram out: 3 smaller datagrams 네트워크에서큰 IP 데이터그램을분할 ( 단편화 ) 하나의데이터그램 여러조각의데이터그램 reassembly 최종목적지에서재결합 조각과순서를구분하기위해 IP 헤더정보를이용 26
IP 단편화와재결합의예 4000 바이트데이터그램 MTU = 1500 bytes length =4000 ID =x fragflag =0 offset =0 one large datagram becomes several smaller datagrams 1480 bytes in data field length =1500 ID =x fragflag =1 offset =0 offset = 1480/8 length =1500 ID =x fragflag =1 offset =185 length =1040 ID =x fragflag =0 offset =370 27