440 likes | 612 Views
Module 1 – Network Topics. Objectives. 네트워크 architecture 를 이해한다 . 프로토콜의 계층에 대해 알아본다 . OSI 7 계층 모델에 관해 알아본다 . TCP/IP 와 주요 통신 프로토콜에 대해 이해한다 . IPv6 의 주소체계 및 protocol stack 에 대해 이해한다 . 분산 어플리케이션상에서의 클라이언트 / 서버 모델 구조에 대해 이해한다 . 네트워크 프로그래밍의 요구사항에 대하여 알아본다. High. -. speed. Proprietary.
E N D
Objectives • 네트워크 architecture를 이해한다. • 프로토콜의 계층에 대해 알아본다. • OSI 7계층 모델에 관해 알아본다. • TCP/IP와 주요 통신 프로토콜에 대해 이해한다. • IPv6의 주소체계 및 protocol stack에 대해 이해한다. • 분산 어플리케이션상에서의 클라이언트/서버 모델 구조에 대해 이해한다. • 네트워크 프로그래밍의 요구사항에 대하여 알아본다.
High - speed Proprietary Network Ethernet or Token, … FDDI, Network Architecture
규모에 따른 분류 • LAN(Local Area Network) • 빌딩, 연구소, 학교와 같은 규모(반경 수 Km)내의 근접한 컴퓨팅 장비들을 연결한 망 • LAN을 위한 기술로 Ethernet(10 Mbps), Token-Ring(16 Mbps), FDDI(100 Mbps) • WAN(Wide Area Network) • 도시와 도시, 국가와 국가를 연결하는 규모 • 데이터 속도 • 수 Kbps ~ 수 Mbps
IBM PS/2 IBM PS/2 IBM PS/2 IBM PS/2 IBM PS/2 IBM PS/2 IBM PS/2 IBM PS/2 IBM PS/2 IBM PS/2 IBM PS/2 IBM PS/2 IBM PS/2 bus구조 star 구조 ring 구조 Topology에 따른 분류
Data Data Layer 3 Layer 3 Data Data Layer 2 Layer 2 Data Data Layer 1 Layer 1 Data Data 계층화 된 프로토콜 구조 Connection Medium
Application Applications services 7 Presentation Data representation and encoding 6 Session Session Management 5 Transport End-to-end communication 4 Network Machine-machine communication and routing 3 Data Link Access to communications medium, framing 2 Physical Physical characteristics of communications medium 1 OSI 참조 모델 The OSI 7 Layer Model • Layer Structure
request response Server Client The Client-Server Model • 서버는 클라이언트의 요구를 처리하는 프로세스 • 클라이언트는 서버에 요구를 요청하는 프로세스
Listen and process requests Request 2 Request 1 Listen for requests Request 2 Request 1 Process Request 1 Process Request 2 Iterative and Concurrent Server • Iterative • Concurrent
Internet Ethernet Wide Area Link for example X.25 Gateway Token Ring Gateway TCP/IP Protocol Suite
TCP/IP Protocol Stack Application TELNET, FTP OSI Layer 5 - 7 Transport OSI Layer 4 TCP, UDP Network OSI Layer 3 IP, ICMP, ARP, RARP Data Link OSI Layer 1 - 2 Ethernet, Token Ring, FDDI
24 bits 7 bits 0 netid hostid Class A 14 bits 16 bits Class B 1 0 netid hostid 21 bits 8 bits Class C 1 1 0 netid hostid 28 bits Class D 1 1 1 0 multicast address Classified IP addressing
14 bits 6 bits 10 bits Class B 1 0 netid subnetid hostid subnet mask Subnet의 구성 방법 • Subnet mask • IP 주소의 효율적인 사용을 위해 고안 • Host 수가 매우 적은 망의 경우 • 한 개의 Major Class 망 주소를 여러 개의 망 주소로 나누어서 사용
<일반적인 클래스 C> 11111111 11111111 11111111 00000000 255 255 255 0 <subnet으로 2bit 사용> 11111111 11111111 11111111 11000000 255 255 255 192 Subnet의 구성 방법
TCP/IP port number FTP : TCP Port number 21 telnet : TCP Port number 23 sendmail : TCP Port number 25 tftp : UDP Port number 69 ...
TCP/IP port addressing 206.62.226.35 206.62.226.66 198.62.10.2 server client 1 listening socket { *. 21 , * . * } connection fork { 198.69.10.2.1500 , 206.62.226.35.21 } server (child 1) client 2 connected socket { 206.62.226.35.21 , 198.69.10.2.1500 } connection fork { 198.69.10.2.1501 , 206.62.226.35.21 } server (child 2) { 206.62.226.35.21 , 198.69.10.2.1501 } connected socket
Layer Structure User Process User Process Application Layer Transport layer TCP UDP TCP/IP Protocol Suite ICMP IP ARP RARP Internet Layer Network Access Layer Hardware interface(Ethernet, FDDI, SLIP, PPP)
Application Layer Transport Layer Internet Layer Network Access Layer 각 계층별 데이터 구조 TCP UDP stream message segment datagram packet frame
Application Layer Data Transport Layer Data Header Internet Layer Data Header Network Access Layer Data Data Encapsulation • 각각의 layer는 데이터에 제어 정보를 추가 • Header 정보 Header
IP,IPv6, ICMP, IGMP ARP RARP TCP/IP Services Media (H.261, MPEG) SDP H.323 SIP RTSP RSVP, DiffServ RTCP RTP SAP FTP SMTP telnet DNS TFTP BOOTP SNMP TCP UDP Network Access Level
0 31 version IHL type of service total length identification fragment flags & offset time to live protocol header checksum 32-bit source address 32-bit destination address options + padding IP Protocol Header
TCP와 UDP • TCP • 연결형 방식 • 보장성 서비스 제공 • flow control • error control • congestion control • byte-oriented (stream-oriented) • UDP • 비연결형 방식 • 비보장성 서비스 제공 • datagram-oriented
source port destination port sequence number acknowledgment number HLEN reserved code bits window checksum urgent pointer options padding data TCP Protocol Header 0 31
TCP 서비스 • 연결형 서비스 • 점대점 통신 • 보장형 서비스 • Full duplex 통신 • 스트림 전송 • Graceful 연결 해제
TCP 보장성 서비스 • Segment 단위의 전송 • 타이머 관리 • ACK 전송 • Checksum • 순서 보장 • 중복 패킷 방지 • 흐름 제어(flow control) • 체증 제어(congestion control)
initiator receiver SYN (seq = x) SYN (seq=y, ACK=x+1) SYN (seq=x+1, ACK=y+1) TCP 연결 설정 • 3-way handshake SYN_SENT (connect) (accept) SYN_RCVD ESTABLISHED (connect returns) ESTABLISHED (accept returns)
client server FIN M ACK M+1 FIN N ACK N+1 TCP 연결 해제 (close) FYN_WAIT_1 CLOSE_WAIT (read returns 0) FYN_WAIT_2 (close) LAST_ACK TIME_WAIT CLOSED
TCP 전송 방식 • stream-oriented • 데이터는 TCP 연결을 통해서 segment 단위로 전송한다. • 하지만 데이터는 stream of bytes로서 취급된다. • 따라서 모든 bytes는 번호가 붙여진다.(modulo 2**32) • sequence number 사용 • 모든 세그먼트는 sequence number를 갖는다. • 이 번호는 데이터에서 해당 세그먼트가 차지하는 위치의 byte 번호를 의미한다.
TCP 전송 방식 • 버퍼 사용 • 응용 프로그램으로부터 데이터를 받았을 때 송신측 TCP는 그것을 바로 세그먼트로 전송하지 않고 버퍼에 두었다가 일정 크기 이상이 되면 세그먼트로 만들어 전송한다. • 수신측 TCP도 세그먼트가 도착하였을 경우 이것을 바로 응용 프로그램에 전달하지 않고 버퍼에 보관하였다가 일정 크기가 될 때 이것을 응용 프로그램에 전달한다. • 물론 이것은 구현상에서 차이가 있을 수 있다.
UDP Protocol Header 0 31
arp, ping commands • arp – address resolution display and control • ping – send ICMP ECHO_REQUEST packets to network hosts sys% arp -a Net to Media Table Device IP Address Mask Flags Phys Addr ------ -------------------- --------------- ----- --------------- le0 bapark.konkuk.ac.kr 255.255.255.255 00:50:bf:0f:b1:ae le0 ipv62.konkuk.ac.kr 255.255.255.255 00:e0:4c:c0:c3:63 le0 saylove.konkuk.ac.kr 255.255.255.255 00:50:bf:0f:b4:0a sys% ping yahoo.co.kr Pinging yahoo.co.kr [211.32.119.151] with 32 bytes of data: Reply from 211.32.119.151: bytes=32 time=10ms TTL=245 Reply from 211.32.119.151: bytes=32 time<10ms TTL=245 Reply from 211.32.119.151: bytes=32 time<10ms TTL=245 Reply from 211.32.119.151: bytes=32 time<10ms TTL=245 Ping statistics for 211.32.119.151: Packets: Sent = 4, Received = 4, Lost = 0 (0% loss), Approximate round trip times in milli-seconds: Minimum = 0ms, Maximum = 10ms, Average = 2ms
ifconfig, netstat commands • ifconfig – configure network interface parameters • netstat – show network status sys% /sbin/ifconfig -a lo0: flags=849<UP,LOOPBACK,RUNNING,MULTICAST> mtu 8232 inet 127.0.0.1 netmask ff000000 le0: flags=863<UP,BROADCAST,NOTRAILERS,RUNNING,MULTICAST> mtu 1500 inet 203.252.134.46 netmask ffffff00 broadcast 203.252.134.255 sys% netstat -in Name Mtu Net/Dest Address Ipkts Ierrs Opkts Oerrs Collis Queue lo0 8232 127.0.0.0 127.0.0.1 5523 0 5523 0 0 0 le0 1500 203.252.134.0 203.252.134.46 5588 7 5152 211 2004 0
traceroute command • traceroute • print the route packets take to network host sys% traceroute korea.support.hp.com traceroute to kr.argo.he.net (216.218.214.197), 30 hops max, 40 byte packets 1 203.252.134.254 (203.252.134.254) 2 ms 1 ms 1 ms 2 203.252.150.2 (203.252.150.2) 2 ms 1 ms 2 ms 3 203.252.166.9 (203.252.166.9) 1 ms 2 ms 1 ms 4 210.123.31.209 (210.123.31.209) 3 ms 3 ms 3 ms 5 168.126.104.1 (168.126.104.1) 2 ms 3 ms 2 ms 6 aphub2-ge3.kornet.net (211.192.47.66) 4 ms 3 ms 3 ms 7 apgate5-ge4.kornet.net (211.216.216.68) 3 ms 4 ms 2 ms 8 pos1-0-la1-kt.kornet.net (211.48.63.250) 147 ms 146 ms 145 ms 9 pos9-1-0.ar2.LAX1.gblx.net (64.210.19.89) 141 ms 142 ms 140 ms 10 206.132.112.153 (206.132.112.153) 507 ms 482 ms 484 ms 11 pos9-0-2488M.cr2.SNV2.gblx.net (208.50.169.82) 476 ms 505 ms * 12 pos5-0-0-155m.br1.snv2.gblx.net (208.50.169.109) 482 ms 495 ms 478 ms 13 fgc-he.he.net (206.132.121.18) 472 ms 467 ms 469 ms 14 gige-g0-0.gsr12008.fmt.he.net (216.218.130.6) 484 ms * 458 ms 15 kr.argo.he.net (216.218.214.197) 457 ms 442 ms 418 ms
Logical Connection Proc 1 Proc 2 Data Transfer Proc 1 Proc 2 Data Packet Connection-oriented and Connectionless protocol • Connection-oriented protocols • Connectionless protocols
Other characteristics of communications services • Sequencing • Is data received in the same order as it was sent? • Error control • How are errors detected (if at all)? • Flow control • Is it possible for a sender to overwhelm a receiver? • Congestion control • Byte stream or message based • Full duplex or half duplex
Introduction • IPv4가 가지는 문제점 • 주소 고갈의 문제 • CIDR • NAT • DHCP • 차세대 인터넷 도입을 위해 보다 장기적, 궁극적인 해결책이 요구 • QoS 지원의 요구 • 그 외 네트워크 서비스가 증가함에 따라 IP상에서의 다양한 지원을 요구 • IPv6의 필요성 • NAT, DHCP등을 사용하여도 근본적 문제는 해결되지 않기 때문에 IPv6의 도입이 필요
IPv6 추가 기능 • 주소체계의 대폭적인 확장 • 멀티미디어 데이터의 실시간 처리 기능 • Security • QoS • Network Management • Improved support for options/extensions
0x2001 sTLA NLA1 NLA2 SLA ID Interface ID 16 19 6 7 16 64 bits IPv6 표현 방법 및 계층 구조 • 표현방법 • 주소체계 : 128비트 • 표현방법 : 16진수 형태로 16비트씩 끊어서 8단위의 ":"으로 표시 • 계층구조 • 2001: IPv6 공식주소 프리픽스 값 • sTLA ID : sub Top levle Aggregator Identifier • NLA ID : Next level Aggregator Identifier • SLA ID : Site level Aggregator Identifier • Interface ID
version IHL type of service total length identification fragment flags & offset time to live protocol header checksum 32-bit source address 32-bit destination address options + padding IPv4 Header vs. IPv6 Header • IPv6 header format IPv4 IPv6
IPv6로의 Migration • IPv6 망의 도입 시 발생될 수 있는 문제점 • IPv6는 IPv4와 자연스럽게 호환되지 않음 • 현재 수 천만개의 호스트가 IPv4로만 동작 • 상당기간 동안 IPv4와 IPv6는 상호 공존해야 함 • 어떤 곳은 영원히 IPv6로 업그레이드하지 않을 수도 있음 • IPv4에서 IPv6로 점진적인 업그레이드가 요구됨 • IPv4와 IPv6 사이에서의 호환성 요구
IPv6-in-IPv4 Tunneling • Networks –Tunneling • Gateway – IPv4/IPv6 Translating
Routing Protocol • Interior Routing protocol • RIP • OSPF • IGRP • Exterior Routing Protocol • EGP (Exterior Gateway Protocol) • BGP (Border Gateway Protocol)