1장 컴퓨터 그래픽스 - IVIS · 2018. 11. 12. · 1장. 컴퓨터 그래픽스 학습목표 • 분야별로 컴퓨터 그래픽스가 응용되는 사례를 이해한다. •
Module 1 – Network Topics. Objectives 네트워크 architecture 를 이해한다. 프로토콜의...
-
Upload
alaina-flowers -
Category
Documents
-
view
235 -
download
0
Transcript of Module 1 – Network Topics. Objectives 네트워크 architecture 를 이해한다. 프로토콜의...
Module 1 – Network Topics
Objectives
• 네트워크 architecture 를 이해한다 .• 프로토콜의 계층에 대해 알아본다 .• OSI 7 계층 모델에 관해 알아본다 .• TCP/IP 와 주요 통신 프로토콜에 대해 이해한다 .• IPv6 의 주소체계 및 protocol stack 에 대해 이해한다 .• 분산 어플리케이션상에서의 클라이언트 / 서버 모델 구조에 대해 이해한다 .• 네트워크 프로그래밍의 요구사항에 대하여 알아본다 .
Network Architecture
High-speed
Proprietary
Network
Ethernet or Token, FDDI, …
• 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/2IBM PS/2IBM PS/2
IBM PS/2
IBM PS/2
IBM PS/2 IBM PS/2IBM PS/2
IBM PS/2
IBM PS/2
IBM PS/2IBM PS/2
bus 구조 star 구조 ring 구조
Topology 에 따른 분류
계층화 된 프로토콜 구조
Data
Layer 3
Layer 2
Layer 1
Data
Data
Data
Data
Layer 3
Layer 2
Layer 1
Data
Data
Data
Connection Medium
The OSI 7 Layer Model
• Layer Structure
Application
Presentation
Session
Transport
Network
Data Link
Physical
OSI 참조 모델
1
3
4
5
2
7
6
Applications servicesData representation and encoding
Physical characteristics of communications medium
Access to communications medium, framing
Machine-machine communication and routing
End-to-end communication
Session Management
The Client-Server Model
• 서버는 클라이언트의 요구를 처리하는 프로세스• 클라이언트는 서버에 요구를 요청하는 프로세스
Server
request
response
Client
Iterative and Concurrent Server• Iterative
• Concurrent
Request 1Request 2
Listen and
process requests
Request 1Request 2
Listen for requests
ProcessRequest 1
ProcessRequest 2
TCP/IP Protocol Suite
Token Ring
Ethernet
GatewayWide Area Link for example X.25
Gateway
Internet
TCP/IP Protocol Stack
Application
Transport
Network
Data LinkOSI Layer 1 - 2
OSI Layer 3
OSI Layer 4
OSI Layer 5 - 7
TELNET, FTP
TCP, UDP
IP, ICMP, ARP, RARP
Ethernet, Token Ring, FDDI
Classified IP addressing
0
1 0
1 1 0
1 1 1 0
netid7 bits
netid14 bits
netid21 bits
hostid
hostid
hostid
multicast address
24 bits
16 bits
8 bits
28 bits
Class A
Class B
Class C
Class D
Subnet 의 구성 방법• Subnet mask
– IP 주소의 효율적인 사용을 위해 고안– Host 수가 매우 적은 망의 경우– 한 개의 Major Class 망 주소를 여러 개의 망 주소로 나누어서 사용
1 0 netid14 bits
hostid10 bits
Class B6 bits
subnetid
subnet mask
Subnet 의 구성 방법11111111111111111111111100000000
11111111111111111111111111000000
< 일반적인 클래스 C>
255 255255 0
255 255255 192
<subnet 으로 2bit 사용 >
구 분 서브네팅 주소로 사용한 비트 수
나누지 않았을 때
2 bit 를 사용 3 bit 를 사용
Subnet mask 255.255.255.0
255.255.255.192
255.255.255.224
서브네트의 수 1 4-2 = 2 8-2 = 6
각 서브네트 내의 호스트 수
256-2 = 254 64-2 = 62 32-2 = 30
배정 가능한 총 IP 주소 254 2x62 = 128 6x30 = 180
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
connectedsocket
connectedsocket
server
{ *. 21 , * . * }listeningsocket
206.62.226.35206.62.226.66
server (child 1)
{ 206.62.226.35.21 , 198.69.10.2.1501 }
fork
client 1
{ 198.69.10.2.1500 , 206.62.226.35.21 }
198.62.10.2
connection
server (child 2)
{ 206.62.226.35.21 , 198.69.10.2.1500 }
fork
client 2
{ 198.69.10.2.1501 , 206.62.226.35.21 }
connection
Layer Structure
TCP UDP
ICMP IP ARP RARP
Hardware interface(Ethernet, FDDI, SLIP, PPP)
User Process User Process Application Layer
Transport layer
Internet Layer
Network Access Layer
TCP/IPProtocolSuite
각 계층별 데이터 구조
Application Layer
Transport Layer
Internet Layer
Network Access Layer
TCP UDP
stream message
segment datagram
packet
frame
Data Encapsulation
• 각각의 layer 는 데이터에 제어 정보를 추가– Header 정보
Application Layer
Transport Layer
Internet Layer
Network Access Layer
Header Data
Data
Header Data
Header Data
TCP/IP Services
SMTPFTP
telnet DNS BOOTPTFTP
Network Access Level
TCP UDP
IP,IPv6, ICMP, IGMP
ARP RARP
SNMP
RTCPRSVP,
DiffServRTSP SAP
SDP
SIPH.323 RTP
Media(H.261, MPEG)
IP Protocol Header
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
TCP 와 UDP
• TCP– 연결형 방식– 보장성 서비스 제공
flow control error control congestion control
– byte-oriented (stream-oriented)• UDP
– 비연결형 방식– 비보장성 서비스 제공– datagram-oriented
TCP Protocol Header
0 31
source port destination port
sequence number
acknowledgment number
HLEN reserved code bits window
checksum urgent pointer
options padding
data
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)SYN_RCVD
ESTABLISHED
(connect returns)
ESTABLISHED
(accept returns)
(accept)
TCP 연결 해제client server
FIN M
ACK M+1
FIN N
ACK N+1
(close)
FYN_WAIT_1
CLOSE_WAIT
(read returns 0)
FYN_WAIT_2
TIME_WAIT
(close)
LAST_ACK
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
Source port number Destination port number
length checksum
Data
arp, ping commands• arp – address resolution display and control
• ping – send ICMP ECHO_REQUEST packets to network hosts
sys% arp -aNet to Media TableDevice IP Address Mask Flags Phys Addr------ -------------------- --------------- ----- ---------------le0 bapark.konkuk.ac.kr 255.255.255.255 00:50:bf:0f:b1:aele0 ipv62.konkuk.ac.kr 255.255.255.255 00:e0:4c:c0:c3:63le0 saylove.konkuk.ac.kr 255.255.255.255 00:50:bf:0f:b4:0a
sys% ping yahoo.co.krPinging yahoo.co.kr [211.32.119.151] with 32 bytes of data:
Reply from 211.32.119.151: bytes=32 time=10ms TTL=245Reply from 211.32.119.151: bytes=32 time<10ms TTL=245Reply from 211.32.119.151: bytes=32 time<10ms TTL=245Reply 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 -alo0: flags=849<UP,LOOPBACK,RUNNING,MULTICAST> mtu 8232 inet 127.0.0.1 netmask ff000000le0: flags=863<UP,BROADCAST,NOTRAILERS,RUNNING,MULTICAST> mtu 1500 inet 203.252.134.46 netmask ffffff00 broadcast 203.252.134.255
sys% netstat -inName Mtu Net/Dest Address Ipkts Ierrs Opkts Oerrs Collis Queuelo0 8232 127.0.0.0 127.0.0.1 5523 0 5523 0 0 0le0 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.comtraceroute 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 ms10 206.132.112.153 (206.132.112.153) 507 ms 482 ms 484 ms11 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 ms13 fgc-he.he.net (206.132.121.18) 472 ms 467 ms 469 ms14 gige-g0-0.gsr12008.fmt.he.net (216.218.130.6) 484 ms * 458 ms15 kr.argo.he.net (216.218.214.197) 457 ms 442 ms 418 ms
Connection-oriented and Connectionless protocol• Connection-oriented protocols
• Connectionless protocols
Proc 1 Proc 2
Logical Connection
Data Transfer
Proc 1 Proc 2
Data Packet
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
IPv4 vs. IPv6IPv4 IPv6
주소 체계 32bit(4octet) 128bit(16octet)
주소 개수 Over 109 (42 억개 ) Over 1038 (3.40E38 개 )
패킷 헤더 Fixed Size Variable Size (40 octet)
주소 할당 방법 A, B, C, D( 멀티캐스트 )클래스 CIDR
CIDR 기반 계층적으로
주소 유형 UnicastMulticastbroadcast
Unicast - link-local address - site-local address - globl addressMulticastAnycast
QoS Defined(ToS), but not generally used
Flow LabelTraffic Class
Security Limited Ipsec built-in
Configuration Manual Configuration Auto-Configuration
• 표현방법– 주소체계 : 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
Interface IDSLA IDNLA2NLA1sTLA0x2001
16 19 6 7 16 64 bits
IPv6 표현 방법 및 계층 구조
IPv4 Header vs. IPv6 Header
• IPv6 header format
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
Version(4)
Traffic Class(4)
Flow Label(24)
Payload Length(16) Next Header(8)
Hop Limit(8)
Source Address(128)
Destination Address(128)
IPv4
IPv6
IPv6 로의 Migration
• IPv6 망의 도입 시 발생될 수 있는 문제점– IPv6 는 IPv4 와 자연스럽게 호환되지 않음
– 현재 수 천만개의 호스트가 IPv4 로만 동작
– 상당기간 동안 IPv4 와 IPv6 는 상호 공존해야 함
– 어떤 곳은 영원히 IPv6 로 업그레이드하지 않을 수도 있음
– IPv4 에서 IPv6 로 점진적인 업그레이드가 요구됨
• IPv4 와 IPv6 사이에서의 호환성 요구
IPv4 / IPv6 Dual Stack
IPv4 mapped
::FFFF:192.168.30.3
IPv6
3ffe:b00:c18:1::10
IPv4 client
192.168.30.3
IPv6 client
3ffe:b00:c18:1::10
IPv4 mapped
::FFFF:192.168.30.3
IPv6
3ffe:b00:c18:1::10
IPv4 client
192.168.30.3
IPv6 client
3ffe:b00:c18:1::10
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)