Download presentation
Presentation is loading. Please wait.
Published byMaude Francis Modified over 8 years ago
1
Internet 개요 Internetworking : an overview of concepts, terminology, and technology underlying the TCP/IP Internet protocol suite and the architecture of an internet based on “Introduction to TCP/IP and Internetworking” by Douglas Comer http://www.cs.purdue.edu/people/comer
2
다루는 내용 인터넷 용어 TCP/IP 인터넷 모델 개념 인터넷 구조와 라우팅의 기본 TCP 와 IP 등의 프로토콜 기능
3
다루지 않는 내용 벤더, 하드웨어 제품, 소프트웨어 제품, 서비스, 비교, 또는 가격에 대한 리스트 IPX, AppleTalk 등의 다른 기술 등
4
목 차 개요 네트워크 하드웨어와 물리적 주소기법 인터넷 모델과 개념 인터넷 주소 상위레벨 프로토콜과 계층화 원리 인터넷 구조와 라우팅 프로토콜 예 응용 서비스
5
Internet Architecture Board 연구개발자들 사이의 정보교환 포럼 1989 년에 재편 1992 년에 Internet Society 와 합침 이전에는 Internet Activities Board 라 부름
6
IAB 조직 IAB – Board that oversees and arbitrates IRTF(Internet Research Task Force) –TCP/IP 와 internetworking 에 대한 연구 조정 –Internet Research Steering Group – 여러 연구 그룹들로 구성
7
계 속 IETF(Internet Engineering Task Force) – 프로토콜과 인터넷 engineering 을 조정 – Internet Engineering Steering Group –8 개의 area 로 분류 Application, General, Operation and Management Internet, Routing, Transport, Security, User Services –working group(WG) 들로 구성
8
Internet Society 연구, 학술교류, 공동작업 등에 인터넷 사 용을 장려하기 위한 국제 조직 1992 년 조직 비영리 단체 Board of Trustees 에 의해 지도 http://www.isoc.org
9
Request For Comments(RFCs) TCP/IP 프로토콜, Internet, 관련 기술들 에 대한 보고서 Edited, not refereed surveys, proposals, measurements 그리고 protocol standard 를 포함 Numbered in chronological order Always evolving Available on-line
10
For Your Information Notes(FYIs) Subset of RFCs TCP/IP 와 Internet 에 관련된 일반적인 정 보를 제공 초보자를 대상으로 하며, 표준이 아님 RFC 1177 : –FYI On Questions and Answers to Commonly Asked “New Internet User” Questions
11
Best Current Practices(BCP) Subset of RFCs 인터넷 community 를 위한 정보와 힌트를 포함 IESG 가 리뷰하고 승인 프로토콜 표준이 아님 RFC 1818 참조
12
TCP/IP 표준 Internet Official Protocol Standards RFC – 년 4 회 발간 – 모든 TCP/IP 프로토콜의 현상태를 나열 Standard Track –proposed standard –draft standard –full standard
13
Internet Drafts Preliminary RFC IETF WG 들이 작성 Available on-line 6 개월 내에 RFC 가 되거나 없어짐 @Internet Monthly Reports –ftp://ftp.isi.edu/in-notes/imr
14
What Is Internetworking? 매우 성공적인 컴퓨터 통신 기술 Primarily S/W, not H/W Universal interconnection 프로토콜 표준 서비스 – 응용 계층 – 네트워크 계층
15
인터네트워킹의 목표 To maximize interoperability of distributed computations across vendors and products
16
An Internetwork (Internet) Collection of interconnected, cooperative networks 모든 컴퓨터가 통신을 위해 공통의 언어 ( 프로토콜 ) 을 사용 하나의 통신망 시스템처럼 작동
17
TCP/IP 기술의 로칼과 글로발 사용 로칼 환경 –On single machine for inter-process communication –Among some of the machines on a local net –Among machines at multiple sites within a given organization 글로발 환경 –To connect machines at a given site to the rest of the world
18
TCP/IP 인터넷 Spans all over the world Original R&D (ARPA by DoD) later funded by NSF 현재는 상용화 단계 매년 100% 의 신장률
19
TCP/IP 서비스 응용 서비스 신뢰성있는 전송 서비스 비연결성 패킷 전송 서비스
20
네트워크 레벨 TCP/IP 서비스 최하위 레벨 ( 패킷 전달 ) – 비연결성 –best-effort 서비스 트랜스포트 레벨 ( 스트림 전송 ) – 가상회선 연결 사용 –reliable delivery – 흐름 제어
21
응용 계층 TCP/IP 서비스 전자메일 네트워크 뉴스 파일 전송 원격 로그인 원격 수행 원격 파일 접속 브라우징을 위한 정보 아카이브 비디오와 오디오 통신
22
네트워킹 H/W 기본과 정의 다룰 내용 – 기본적인 네트워크 개념 리뷰 –Physical Network 기술 예제 –Physical (hardware) addressing 소개
23
하드웨어의 사용 TCP/IP 는 소프트웨어로 구성 TCP/IP 는 heterogeneous 네트워크를 수용 TCP/IP 는 모든 종류의 네트워크 하드웨 어를 사용할 수 있도록 설계됨
24
네트워크 H/W 의 두 가지 분류 Connection oriented Connectionless
25
Connection Oriented (Circuit Switched Technology) Lease a “connection” through the network 고정대역폭 보장 효율성을 최대화할 수 없다. 실시간 응용에 필요 예 : 전화시스템
26
Connectionless (Packet Switched Technology) Accepts and delivers “packets” of data 각 패킷은 독립적으로 전달됨 각 패킷에 목적지 식별자를 포함 효율성 (utilization) 의 증가가 동기 각 패킷은 서로 다른 크기를 갖을 수 있음 최대 패킷 크기 고정 ( 예 : less than 1500B)
27
패킷 교환망의 구분 패킷 교환망 구분 –Local Area Network(LAN) –Wide Area Network(WAN) Categories are informal and qualitative
28
Local Area Networks Engineered for high speed 컴퓨터간의 직접 연결 일반적으로 커다란 패킷 크기 거리의 제한 오류율이 낮음
29
Wide Area Networks (Long Haul Networks) LAN 보다 상대적으로 느린 속도 특정 용도의 하드웨어 사용 일반적으로 작은 패킷 크기 거리상의 제한이 없음 오류율이 높음
30
패킷 교환망의 예 Wide Area Nets –ARPANET, NSFNET –Common carrier services 전용선 서비스 –Point-to-point 연결 Local Area Nets –Ethernet, Token Ring
31
ARPANET(1968-1989) Internet 의 오리지날 백본 WAN around which TCP/IP was developed Initial funding from Advanced Research Project Agency 1968-1989 까지 존재 Packet Switched Node(PSNs) 교환기들간 의 전용선 연결 56K bps 회선 속도
32
NSFNET(1987-1992) Funded by National Science Foundation 동기 : 모든 과학자와 공학자를 연결 3 개 레벨의 계층 –Wide area backbone spanning U.S. –Many mid-level(regional) networks that attach to backbone –Campus networks at lowest level Became ANSNET and vBNS
33
Common Carrier 가 제공하는 PSS Value-added packet switching services 고객은 회선에 대한 것이 아니라 서비스 에 대해 지불 예 –SMDS –Frame Relay –ISDN –ATM
34
LAN 예 : Ethernet 10 Mbps over coaxial cable or twisted pair 케이블 세그먼트당 500m 길이 제한 노드들은 모든 패킷을 수신하고 자신의 것만을 필터링 IEEE 802.3 Twisted pair 사용 : 10Base-T Fast Ethernet : 100 Mbps
35
패킷 포멧 (Ethernet) DestinationSourceTypeData 50-1500 octet data field 2-octet type field 6-octet source address 6-octet destination address
36
이더넷 프레임 예 02 07 01 00 27 ba 08 00 2b 0d 44 a7 08 00 45 00 00 54 82 68 00 00 f f 01 35 21 80 0a 02 03 80 0a 02 08 08 00 73 0b d4 6d 00 00 04 3b 8c 28 28 20 0d 00 08 09 0a 0b 0c 0d 0e 0f 10 11 12 13 14 15 16 17 18 19 1a 1b 1c 1d 1e 1f 20 21 22 23 24 25 26 27 28 29 2a 2b 2c 2d 2e 2f 30 31 32 33 34 35 36 37 $Octets of frame in hexadecimal $Destination : 02.07.01.00.27.ba $Source : 08.00.2b.0d.44.a7 $Frame type : 08.00 (IP)
37
Bridge 두개이상의 LAN 을 연결하고 이들을 하 나의 LAN 으로 보이도록 하는 장비 한 LAN 으로부터 다른 LAN 으로 모든 패 킷을 전송 (repeat) 1 packet-time 지연 Does not forward collisions or noise Does forward all broadcast packets Called “level 2” interconnect Makes multiple LANs appear to be a single, large LAN
38
Point-to-Point “Network” 두 노드간의 직접 연결 일반적으로 serial line 과 모뎀 사용 링크 레벨 프로토콜 –data link (framing) format –error detection/recovery scheme 여러 전송 매체 –twisted pair 혹은 coax –microwave/satellite –dial-up connection –optical fiber
39
Physical Network Address 패킷망에 연결된 각 노드는 하나의 unique physical 주소를 할당 받는다. 송신자는 패킷을 전송할 때 목적지 주소 를 제공해야 한다. 소스 주소도 제공 각자의 주소체계를 정의
40
Physical Addressing Static –Assigned by hardware vendor Configurable –Assigned by customer Dynamic –assigned by software at startup
41
Physical Network Addressing 예 이더넷 –Static 48-bit address : 장치가 제조될 때 배정 –All 1s address reserved for broadcast –One-half of the addresses reserved for multicast; assigned by customer
42
How Adaptive Ethernet Bridge Uses Addresses Bridge begins with no knowledge of which machines connect to which wire; it forwards all packets Bridge watches source address in packets to form list of which machines reside on each side Bridge uses destination address and location list to decide whether to forward packet Bridge always forwards broadcast and multicast packets
43
Bridge Adapting 예 123 456 bridge 호스트 1 : 02C 호스트 4 : F4D 호스트 2 : 1B6 호스트 5 : 871 호스트 3 : 39A 호스트 6 : 5EA
44
( 그림 설명 ) Address lists when bridge boots Lists after hosts 1 and 3 communicate Lists after hosts 2 and 5 communicate -- 02C 39A - 02C 39A 1B6 871
45
TCP/IP 가 본 Physical Networks The TCP/IP protocols accommodate all types of physical networks. TCP/IP runs across a local area network such as a Token Ring, a wide area network, a point-to-point link between two machines, or a set of bridged LANs
46
인터넷 모델과 인터네트워킹의 기초 목표 : To maximize interoperability of distributed computations across vendors and products 필요요건 –Universal connectivity – 정보교환을 위한 과정과 포멧 협정 – 서비스, 장치 등을 위한 이름과 주소 협정
47
TCP/IP 인터넷 아이디어 표준 네트워크 하드웨어 사용 physical network 들의 연결 network hardware, physical addresses, 라우 팅의 상세사항을 숨기는 추상화 (abstractions) 고안
48
TCP/IP 인터넷의 개념도 User’s view Actual connections
49
Architectural Model Hosts connect to physical networks Dedicated computers called IP gateways or IP routers interconnect networks
50
Addressing Model Abstract Internet address(IP address) assigned to every host or router that connects to an Internet Application software on hosts and routers uses Internet addresses when sending and delivering packets Software in the operating system maps Internet addresses into physical hardware addresses automatically
51
호스트의 패킷 전송 Host forms a packet to be sent including the destination Internet address If host can reach the destination directly, it sends the packet over the physical network to its destination If host can not reach the destination directly, it sends the packet to the nearest router
52
라우터의 패킷 핸들링 If router can reach the destination directly, it sends the packet over the physical network to its destination If router can not reach the destination directly, it chooses another router that it can reach directly and sends the packet to that router
53
라우팅 소개 Net 1 Net 2 Net 3 R1R2 라우팅 테이블
54
인터넷 주소 방식의 특성 Compact Universal Works with any network hardware Supports efficient decision making –Test whether a destination can be reached directly –Decide which router to use for indirect delivery –Choose next router along a path to the destination
55
TCP/IP 인터넷 주소 방식 32bit, hardware independent address Prefix of the address uniquely identifies the network to which the host attaches(all machines on the same net share the same prefix) Prefixes assigned by central authority(IANA) Suffix of the address gives a unique id for the network Suffixes assigned by local network administrator
56
인터넷 주소의 Prefix 와 Suffix 분리 How should division be made? –Large prefix, small suffix means many possible networks, but each is limited in size –Large suffix, small prefix means each network can be large, but there can only be a few networks Internet address scheme designed to accommodate both possibilities
57
The Classes of IP Addresses 0 101 001 0111 01111 netidhostid netidhostid netidhostid IP multicast reserved Class A Class E
58
Why Partition Internet Address Into Network and Host Portions? Each address must be unique Want to make routing efficient Partition allows us to assign unique id to each network, so we can do routing using network portion and delivery using unique host portion
59
Dotted Decimal Notation Syntactic form for expressing 32-bit address Used throughout the Internet and associated literature Represents each byte in decimal separated by periods (dots) 예 : 32-bit number in binary –10000000 00001010 00000010 00000011 –dotted decimal notation 128.10.2.3
60
Network Prefixes and Dotted Decimal Form Prefix is an exact multiple of octets –1 octet for Class A –2 octets for Class B –3 octets for Class C Dotted decimal makes reading easy
61
IP Address Conventions When used to refer to a network –Host field contains all 0 bits Broadcast on the local wire –Network and host fields both contain all 1 bits Directed broadcast : broadcast on specific (possibly remote) network –Host field contains all 1 bits –Nonstandard for: host field contains all 0 bits
62
Illustration of IP Addressing Rest of the Internet R1 H1 R3 R2 Hosts and routers using other addresses Site with three networks Example host 128.10.0.0 192.5.48.0 128.211.0.0 128.211.0.9 Router to site
63
Subnet Addressing Not part of original TCP/IP address scheme Allows a site to use a single network address for multiple physical networks Subdivides the hostid portion of an address into a pair of fields for physical network and host Interpreted only by routers and hosts at the site; treated like normal address elsewhere Like the IP address scheme in miniature
64
Subnet Addressing 예 Class B 인터넷 주소 포멧 The form of one possible subnet interpretation netidhostid 01631 02416 netid physical net host 31
66
Subnet Address Details Each physical network is assigned subnet mask Mask covers netid portion plus zero or more bits of hostid portion When mask is applied to a destination address, it gives the address of a subnet Site may choose a different mask for each of its networks (not advisable) Site may assign all 1’s or all 0’s subnet (not advisable)
67
Fixed-length IP Subnet Addressing Advantages –Uniformity –Ease of debugging/maintenance Disadvantages –Number of nets fixed for entire organization –Size of physical net fixed for entire organization
68
Using Fixed-Size Subnets with a Class B Address Bits in mask # subnets #hosts/subnet 16 1 65534 24 254 254 30 16382 2 Notes –24-bits mask uses third octet for subnetting(typical) –All 0s and all 1s values omitted
69
Variable-Length Subnetting Advantages –Increased flexibility –Mixture of small and large nets –More complete use of address space Disadvantages –Difficult administration –Potential for problems Address ambiguity Topology restrictions Excessive routes
70
Classless Inter-Domain Routing (CIDR) Problem –Exponential Internet growth –Limited IP addresses (esp. Class B) –Will exhaust address space in a few years Solution to problem –Assign organization multiple Class C address instead of a single Class B –Temporary fix until Ipng –Backward compatible
71
CIDR 계속 New Problem –Excessive entries in route tables –Large volume of data during routing update Solution –Classless Inter-Domain Routing Use network address and count Abbreviation for “this network and the next n”
72
Binding IP Addresses to Physical H/W Addresses Must use physical addresses to send and receive packets Therefore, must map IP addresses to physical addresses Method depends on underlying H/W technology S/W to perform mapping built into network interface S/W in the O/S
73
Static Address Binding Useful when H/W addresses chosen from small, dense set Key ideas : –Local site administrator is free to choose host portion of an IP address –Choose IP address that encodes H/W address in its host portion –Mapping becomes trivial
74
Dynamic Address Binding Useful when hardware addresses are large and fixed Requires hardware broadcast Best for local area network Key ideas: –Maintain a table of pairs (Ia, Ha) where Ia is Internet address and Ha is H/W address for machine A –Use the network to obtain new bindings
75
Internet Address Resolution Protocol (ARP) Internet standard for dynamic address binding Allows machine A to find machine B;s physical address knowing only B’s Internet address Uses hardware broadcast ARP only used to map addresses within a single physical network, never across multiple networks
76
ARP 계속 Machine A broadcasts ARP request with B’s IP address All machines on local net receive broadcast Machine B replies with its physical address Machine A adds B’s address information to its table Machine A delivers packet directly to B
77
ARP request and reply messages A broadcasts request for B (across local net only) B replies to request AXBY YBXA
78
ARP Packet Format when used with Ethernet Hardware-type Protocol-type HLENPLENOperation Sender HA (octets 0-3) Sender HA (octets 4-5)Sender IA (octets 0-1) Sender IA (octets 2-3)Target HA (octets 0-1) Target HA (octets 2-5) Target IA (octets 0-3) 0 8 16 31
79
Algorithm for Processing ARP Requests Extract sender’s pair, (Ia, Ha) and update local ARP table If this is a request and the target is “me” –Fill in target h/w address –Exchange sender and target entries –Set operation to reply –Send reply back to requester
80
ARP details ARP table is merely a cache Entries should time out and be invalidated Machine can broadcast new binding when it boots
81
Comments on Address Binding Conceptual purpose –Isolates h/w addresses at low level –Allows application programs to work with Internet addresses only Consequences –Occurs at lowest level of system –Should not be used for routing –Provides uniform, virtual network interface
82
Internet Protocol (IP) Provides a connectionless packet delivery service Defines the format of packets for the (virtual) Internet Specifies routing
83
IP Datagram Basic unit of Internet transfer Analogous to physical network packet Composed of –Header that contains source and destination Internet addresses, datagram type field, etc. –Data area that contains data being carried
84
IP Datagram Format VERSLEN Type of service Total length IdentFragment offset TimeProto Header Checksum Source IP Address Destination IP Address OptionsPadding Data ….. 0 4 8 16 1924 31 Flags
85
Encapsulation IP datagram travels in physical network packet or frame Complete datagram is treated as data by the hardware TCP/IP defines standards for encapsulation on most network hardware
86
Datagram Encapsulated in Physical Network Frame Complete IP datagram is treated as data in physical network frame Encapsulation occurs in network interface s/w as the last step before the datagram is transmitted IP HeaderIP DATA Frame DATAFrame Header
87
Example Datagram Encapsulated in an Ethernet Frame 02 07 01 00 27 ba 08 00 2b 0d 44 a7 08 00 45 00 00 54 82 68 00 00 f f 01 35 21 80 0a 02 03 80 0a 02 08 08 00 73 0b d4 6d 00 00 04 3b 8c 28 28 20 0d 00 08 09 0a 0b 0c 0d 0e 0f 10 11 12 13 14 15 16 17 18 19 1a 1b 1c 1d 1e 1f 20 21 22 23 24 25 26 27 28 29 2a 2b 2c 2d 2e 2f 30 31 32 33 34 35 36 37 IP header follows Ethernet from header and contains twenty octets IP source : 128.10.2.3 (800a0203) IP destination : 128.10.2.8 (800a0208) IP type : 01 (ICMP)
88
Routing in an Internet Host delivers datagrams to directly connected machines Host sends datagrams that can not be delivered directly to router Routers forward datagrams to other routers Final router delivers datagram directly
89
Efficient Routing Routing decisions based on table lookup Routing tables keep only network portion of addresses (size proportional to number of networks, not number of hosts) Algorithm is efficient and “easy” to understand Easy to automate routing table update
90
EX Routing Table Found in an IP Router to reach net route to this addr 20.0.0.0 deliver direct 30.0.0.0 deliver direct 10.0.0.0 20.0.0.5 40.0.0.0 30.0.0.7 Net 10.0.0 20.0.0.0 30.0.0.0 40.0.0.0 S Q R 20.0.0.5 10.0.0.520.0.0.6 30.0.0.7 30.0.0.5 40.0.0.7
91
Network MTU Each network h/w technology imposes a fixed limit on the maximum size of a packet Size limit called Maximum Transmission Unit (MTU) Encapsulated datagram must be less than network MTU
92
Possible Ways to Accommodate Networks with differing MTUs Force datagram to be less than smallest possible MTU –Inefficient –Cannot know minimum MTU Choose initial datagram size that seems appropriate and handle problems later IP uses the latter
93
Datagram Fragmentation Needed when datagram larger than network MTU over which it must travel Performed by routers Divides datagram into several, smaller datagrams called fragments Each fragment routed as independent datagram Final destination reassembles fragments
94
Illustration of Fragmentation Hosts A and B send datagrams of up to 1500 octets Router R1 fragments large datagrams from Host A before sending over Net 2 Router R2 fragments large datagrams from Host B before sending over Net 2 Host A Host B R1R2 Net 2 MTU=440 Net 1 MTU=1500 Net 3 MTU=1500
95
Datagram Fragmentation Details Each fragment is a datagram Router replicates initial datagram header for all fragments Offset field in header gives offset in original datagram for data in this fragment Fragment bit in header indicates this is a fragment Additional bit set in header to indicate last fragment
96
Example of Fragmentation Original datagram header Data1 400bytes Data2 400bytes Data3 400bytes header1 Data1 header3 Data3 header2 Data2 Fragment #1 (offset of 0) Fragment #2 (offset of 400) Fragment #3(offset of 800)
97
계속 Offset specifies where data belongs in original datagram Offset actually stored as multiples of 8 octets Last fragment bit turned on in header of fragment #3
98
Best Effort Delivery IP uses best-effort delivery –IP makes an attempt to deliver –IP does not guarantee delivery In an internet, routers become overrun or change routes, meaning that: –Datagrams can be lost –Datagrams can be duplicated –Datagrams can arrive out of or or scrambled Motivation : allow IP to operate over the widest possible variety of physical networks
99
In Practice IP works extremely well Errors are the exception, not the rule IP is designed to tolerate errors in the underlying hardware; it does not introduce them
100
Error Detection and Reporting Mechanisms IP header checksum to detect transmission errors Error reporting mechanism to distinguish between lost datagrams and incorrect addresses Higher level protocols(e.g. TCP) must handle all other problems
101
Error Reporting Mechanism Integral part of IP Internet Control Message Protocol(ICMP) Used mostly by routers to report delivery or routing problems to original source Uses IP to carry control messages No error messages about error messages
102
Example ICMP Message Format (Destination Unreachable) Type CodeChecksum UNUSED (Must be Zero) Internet header + 64 bits of data
103
Example ICMP Error Messages Destination Unreachable Source Quench Redirect (change route) Time Exceeded Echo Request Echo Reply Address Mast Request Address Mask Reply
104
ICMP Message Encapsulation ICMP message has header and data areas Complete ICMP message is treated as data in IP datagram Complete IP datagram is treated as data in physical network frame ICMP message IP dataIP header Frame dataFrame header
105
Ex of ICMP Encapsulation in an Ethernet Frame 02 07 01 00 27 ba 08 00 2b 0d 44 a7 08 00 45 00 00 54 82 68 00 00 f f 01 35 21 80 0a 02 03 80 0a 02 08 08 00 73 0b d4 6d 00 00 04 3b 8c 28 28 20 0d 00 08 09 0a 0b 0c 0d 0e 0f 10 11 12 13 14 15 16 17 18 19 1a 1b 1c 1d 1e 1f 20 21 22 23 24 25 26 27 28 29 2a 2b 2c 2d 2e 2f 30 31 32 33 34 35 36 37 ICMP header follows IP header, and contains eighty bytes ICMP type field specifies echo request message(08) ICMP sequence number is zero
106
Protocol, Layering, and Network-Level Services Problems –Communication is difficult –Many details to handle addressing, routing, flow control error detection and correction out-of-order delivery, duplicated packets multiple application programs multiple protocols
107
The Solution Divide the problem into pieces Solve subproblems separately Combine into integrated whole
108
Protocol Layering Conceptual separation of functionality Each layer solves one part of the communication problem Intended primarily for designers Set of layers is called a protocol stack End users may be aware of layering (not desirable)
109
Examples of Layering ISO 7-layer reference model –Application, Presentation, Session –Transport, Network –Data Link, Physical Internet reference model –Application –Transport, Internet –Network interface, Physical
110
The Layering Principle Software implementing layer n at the destination receives exactly the message sent by software implementing layer n at the source
111
How Data Passes through Protocol Layers Application Transport Internet Network Interface Network Interface Application Internet Transport Physical net Identical message Identical Packet Identical Datagram Identical frame Host A Host B
112
Layering In an Internet Application Transport Internet Network Interface Network Interface Application Internet Transport Physical net1 Identical message Identical Packet Identical Datagram Identical frame Identical Datagram Physical net2 Network Interface Internet Identical frame
113
Ex of two protocols at network interface layer: SLIP and PPP Used to send IP across serial lines or dialup –Serial Line IP –Point to Point Protocol Each defines standards for –Framing (encapsulation) –Addressing Incompatible
114
Demultiplexing Among Software Modules at each layer IP moduleARP moduleRARP module Demultiplexing Based on Frame type Frame arrives
115
계속 ICMP moduleUDP moduleTCP module IP Module Datagram arrives
116
계속 Application 1Application 2Application n TCP Module Segment arrives TCP is part of OS Transfer to application program must cross OS boundary
117
Interface Between Internet Protocol S/W in the OS and Application programs Operating system specific Defines exactly how application programs interact with protocol s/w Called the socket interface in many systems(BSD UNIX) System may have library of procedures that simulate socket interface AT&T System V includes an alternative called the Transport Layer Interface(TLI)
118
User Datagram Protocol(UDP) Provides application programs with ability to send and receive datagrams Provides for multiple, concurrent application programs on a single machine Includes (optional) checksum for data transferred Offers unreliable, connectionless transport
119
UDP Details Defines format of messages application programs send Each message includes small integer protocol port numbers to distinguish among multiple application programs Messages are encapsulated in IP datagrams for delivery
120
UDP Message Format Source PortDestination Port LengthUDP checksum Data…... 0 1631
121
Demultiplexing Based on protocol port number Port 1Port 2Port 3 UDP: Demultiplexing IP Module UDP datagram arrives
122
Transmission Control Protocol Major transport service in the TCP/IP suite Reliable transfer Stream paradigm Full duplex connections Flow control Uses IP for datagram transmission
123
TCP Details Allows sender to generate a stream of bytes in convenient chunks Divides stream into small segments for transmission Sends each segment in IP datagram Receiving TCP returns acknowledgement upon successful receipt of data Sender starts timer after segment sent, and retransmits unless positive acknowledgement arrives
124
TCP Retransmission Designed for internet environment –Delays on one connection vary over time –Delays vary widely between connections Fixed value for timeout will fail –Waiting too long introduces unnecessary delay –Not waiting long enough wastes network bandwidth with unnecessary retransmission Retransmission strategy must be adaptive
125
Adaptive Retransmission TCP keeps estimate of round trip time on each connection Round trip estimate derived from observed delay between sending segment and receiving acknowledgement Timeout for retransmission based on current round trip estimate Heuristics can sometimes fail(e.g., round trip delay changes quickly)
126
TCP Details Segment contains checksum for data being sent Receiver acknowledges highest byte received, not each specific segment Protocol port numbers used to distinguish among multiple application programs Receiver controls flow by telling sender size of currently available buffer Called window advertisement Each segment contains advertisement, including data segments
127
계속 Receiver can send additional acknowledgements whenever buffer space becomes available Sender backs off when congestion occurs Data flow may be shut down in one direction Connections started reliably, and terminated gracefully Connection established (and terminated) with a 3-way handshake
128
3-Way handshake for Connection Startup Event at site 1 Network message Event at sit 2 Send SYN seq=x Receive SYN segment Send SYN seq=y, ACK x+1 Receives SYN+ACK segment Send ACK y+1 Receive ACK segment
129
TCP Segment Format Offset specifies header size (offset of data) in 32- bit words Code bits specify urgent, ack, push, reset, syn, or fin Source port Destination port Sequence Number Acknowledgement number Off.Res.CodeWindow ChecksumUrgent Pointer Options Data…... Padding 0 816 31
130
TCP Acknowledgement EX Sending Application IUYTRQWE Net Interface IP TCP Receiving Application IURQWE Net Interface IP TCP Internet * Assume octets 5 & 6 lost * Sender transmits octets 7 & 8 * Receiver acknowledgers octets 1-4
131
EX Packet Trace for TCP Connection Machines A, B, G boot P1 forms TCP connection to P2, sends one octet of data, and closes connection G P1 P2 Monitor point IP addr=Ig Ether addr=Eg IP addr=Ig2 Ether addr=Eg2 IP addr=Ia Ether addr=Ea TCP port 99 IP addr=Ib Ether addr=Eb TCP port 25 A B
132
계속 Hardware frame Address Resolution Message Src Dst Typ Op Snd IP Snd E Tar IP Tar E 1 Ea. ARP REQ Ia Ea Ig ? 2 Eg Ea ARP RSP Ig Eg Ia Ea Hardware frame IP datagram TCP segment Src Dst Typ Src Dst Typ Src Dst Typ 3 Ea Eg IP Ia Ib TCP 99 25 SYN 4 Eg Ea IP Ib Ia TCP 25 99 SYN+ACK 5 Ea Eg IP Ia Ib TCP 99 25 ACK 6 Ea Eg IP Ia Ib TCP 99 25 DAT 7 Eg Ea IP Ib Ia TCP 25 99 ACK 8 Ea Eg IP Ia Ib TCP 99 25 FIN+ACK 9 Eg Ea IP Ib Ia TCP 25 99 ACK 10 Eg Ea IP Ib Ia TCP 25 99 FIN+ACK 11 Ea Eg IP Ia Ib TCP 99 25 ACK
133
Conceptual Layering Reliable Steam (TCP) User Datagram (UDP) Internet (IP) Network Interface
134
Assignment of Protocol Ports Need globally fixed ports for globally known services Need dynamically allocated ports for other services Accommodate with two port types –Statically assigned ports –Dynamically assigned ports Note: servers use statically assigned ports; clients use dynamically assigned ports
135
Statically Assigned Ports Called “well-known” Used for services like e-mail Fixed by IANA Use “small” values In UNIX, values less than 1000 reserved for privileged programs
136
Dynamically Assigned Ports Available for user applications Operating system chooses when application begins Programmer responsible for devising mechanism to inform other programs Use “large” values
137
Program Interface to Port Assignment Port numbers should not be encoded in programs as literal constants Most systems provide Database of service names Library routines that use the database to map names into protocol port numbers (e.g., getservbyname) Site can add local definitions to the database
138
Ex Database for Service Mapping (/etc/services in UNIX) echo 7/tcp echo 7/udp ftp 21/tcp telnet 23/tcp smtp 25/tcp time 37/tcp nameserver 53/tcp nameserver 53/udp foobar 2001/udp
139
Internet Architecture and Protocols for propagating routing information Internet Routing –IP implements datagram routing –Both hosts and routers have an IP module and both route datagrams –IP routing is table-driven
140
How/When are IP routing table built? Depends on size/complexity of internet Static routing –Fixes routes at boot time –Useful only for simplest cases Automatic routing –Table initialized at boot time –Values inserted/updated by protocols that propagate route information –Necessary in large internets
141
Host Routing EX #1 Architecture: hosts on an isolated Ethernet Static routing Host routing table Destination Route 128.10.0.0 direct 128.10.0.0
142
Host Routing Ex #2 Architecture: hosts on an Ethernet with one router Static routing host routing table Destination Route 128.10.0.0 direct default 128.10.0.200 128.10.0.0 To Internet 128.10.0.200
143
Host Routing Ex #3 128.10.0.0 r1r2 128.10.0.200 128.10.0.209 $ Architecture: host on an Ethernet with two routers $ Static routing + ICMP redirects $ Initial host routing table destination 128.10.0.0 default128.10.0.200 direct route
144
계속 Host generates datagram for 192.5.48.3, which lies beyond r2 Host routes datagram to r1 ICMP redirect from r1 update host’s routing table 128.10.0.0 r1r2 128.10.0.200 128.10.0.209 destination 128.10.0.0 192.5.48.0128.10.0.209 direct route default128.10.0.200
145
Routing Tables In Routers A router must be able to reach all networks At least one router must know all possible destinations explicitly Having all routers (or hosts) know routes for all destinations does not scale
146
Solution #1 Make a small set of “core” routers have complete information Allow other routers to know only local destinations and use the core as central router Works only for medium size internets
147
Solution #2 Have core routers know routes to all locations Devise a mechanism that allows other routers to contact the core to learn routes (spread necessary routing information automatically)
148
Historical View Of Core Routers and Backbone Network TCP/IP was initially developed for an architecture that included –A backbone network –Core routers attaching sites Backbone network r1rnr2 Lan 1Lan 2Lan n Core routers
149
Ex Route Propagation Protocol(GGP) Gateway to gateway protocol Used only by original Internet core routers Allows routers to exchange routing information Distance vector algorithm
150
Vector Distance Algorithm One router sends its routing table to another Table contains pairs of destination network and distance Receiver replaces entries in its table by routes to the sender if routing through the sender is less expensive than the current route
151
Alternative Routing Algorithms Used by later generations of Internet core routers Invented to avoid instabilities and other problems of distance vector algorithms Link-state algorithm
152
Link-State Algorithm Participating routers know topology Think of routers as nodes in a graph, and networks connecting them as edges or links All routers propagate status of directly connected links periodically All routers recompute routes from their copy of link information Also called Shortest Path First(SPF)
153
Noncore Router Any router that is not part of the core system Does not participate directly in core’s routing information propagation algorithm Will not choose optimal routes if it uses the core except for local delivery
154
Extra Hop Problem Noncore router picks one core router to use as router(e.g., r2) Noncore router routes all packets to r2 across backbone Router r2 routes some packets back across backbone to r1 Lan 1 backbone Lan 2 r3 r1 r2 Core router Noncore router
155
Solving The Extra Hop Problem Not all routers can participate in a sing routing exchange algorithm (does not scale) Even nonparticipating routers should make routing decisions Need mechanism that allows nonparticipating routers to obtain routes automatically
156
Network Advertisement Routers that engage in active route propagation may not directly attach to all networks Need mechanism that allows them to learn about destinations to which they do not attach
157
Autonomous System Group of networks under one administrative authority Free to choose internal routing update mechanism Can not use Internet core as central router
158
Exterior Gateway Protocol (EGP) Standard Internet Protocol Solves two problems –Allows noncore router to advertise networks hidden in its autonomous system –Allows noncore routes to learn routes from the core Designed for communication with the Internet core system Now used primarily between pairs of AS
159
Illustration of EGP r1r2 Common network EGP used
160
EGP Details Router in one autonomous system becomes the peer (neighbor) of a router in another AS The two peers periodically poll each other Protocol keeps test of whether neighbor is alive separate from reachability update
161
계속 Polling rates may be asymmetric EGP supports messages for –Neighbor acquisition –Liveness test –Poll for update –Route update
162
The Truth about EGP EGP is still used in many parts of the Internet EGP does not interpret network distances EGP is used only to establish a path to a given network EGP provides reachability information, not routing information
163
Limitations of EGP Entire routing update must fit into one datagram No universal agreement on interpretation of distances Does not allow multiple paths to a destination
164
Border Gateway Protocol (BGP) Newer alternative to EGP for exterior route propagation Originally used inside NSFNET Separate policies for –Internal routing –Transit routing Current version BGP-4 Supports CIDR
165
BGP Details Provides routing among AS Border routers designated by each AS Uses reliable transport (i.e., TCP) Keepalive messages Propagates path information Can prevent routing loops
166
Use of BGP at NAPs Routing arbiter (route server) –Stores routing information –Provides third-party routes –Accessed via BGP –Does not handle data traffic NSP 1 NSP 2 NAP Routing arbiter Bgp used
167
Exchanging Routing Information within an AS Mechanisms called interior gateway protocols, IGPs Choice of IGP is made by AS A router in the AS advertises network reachability to other Ass with exterior protocol
168
Illustration of IGPs r1 r2 IGP1 EGP IGP2
169
Ex IGPs RIP HELLO OSPF Proprietary protocols provided by vendors
170
Routing Information Protocol (RIP) Implemented by UNIX program routed Uses hop count metric distance vector protocol Relies on broadcast Assumes low-delay local area network Uses split horizon and poison reverse techniques to solve inconsistencies RIP does not include subnet mask
171
Slow Convergence Problem (Count To Infinity) Net N R1R2R3 Routers with routes to net N Net N R1R2R3 R1 erroneously routes to R2 after failure
172
RIP Update Format Uses family field to support multiple protocols Message travels in UDP datagram commandversionreserved Family of net 1Net 1 addr. Octets 1-2 Net 1 address, octets 3-6 Net 1 address, octets 7-10 Net 1 address, octets 11-14 Distance of network 1 Family of net 1Net 2 addr., octets 1-2 Net 2 address, octets 3-6 Net 2 address, octets 7-10 Net 2 address, octets 11-14 Distance of network 2 …...
173
HELLO Protocol Mostly of historical interest Developed by Dave Mills Used by NSFNET fuzzballs Uses metric based on delay
174
How HELLO works Participants keep track of delay between pairs of routers HELLO propagates delay information across net Route chosen to minimized total delay
175
OSPF (Open SPF) Relatively new protocol Developed by IETF working group Uses SPF (link-state) algorithm More powerful than most predecessors More complex to install and manage
176
Why Distance Interpretation Is Difficult Each autonomous system free to choose an IGP for its internal use No universal agreement on distance metric among IGPs Given AS can receive updates from other systems via EGP Impossible to have meaningful comparison
177
Metric Interpretation with EGP Allows IGPs to use small numbers (e.g, less than 128) Maps small distances to higher numbers when crossing AS boundary (e.g, 128 to 192) Forces datagrams to remain inside AS if possible
178
Gated Program Originally for BSD UNIX Supports multiple IGPs (e.g, RIP and HELLO) as well as EGP Uses configuration file to decide which networks to advertise with EGP Maps distances to higher values when crossing EGP boundary
179
국내 인터넷 구성 한국 인터넷 교환 노드 (KIX) – 인터넷 교환 노드 한국통신, 데이콤, 아이넷 기술 – 비영리기관 : 3 개기관 연구망, 교육망, 초고속 국가망인터넷, 정보공공기관 인터넷 (KOSINET) –94 개 정보공공기관 가입
180
초고속 국가망 인터넷 – 국외망연동 : 한국전산원 미국 : 10M(Global one) 일본 : 2M(Imnet) 유럽 : 2M(Btnet) – 국내가입자망연동 : 한국통신 – 전국백본망 구축 : 5 개지역 서울, 대전, 부산, 대구, 광주
181
망구성도 ‘98.1 backbone KIX Pubnet Global Gateway KT IX Dacom IX KOSINET KREN KREONET PUBNET I-NET IX US 일본 UK
182
주요추진내용 NMS 시스템 구축 –24 시간 monitoring KIX 연동회선 고속화 –IX-Seoul 45M 회선연동 Router Server 구축운영 KIX 운영정책적용
183
향후 추진 계획 High Speed Backbone 국외회선 증속 ATM 연동 서비스 고도화 지역 인터넷 교환노드 구축 / 운영
Similar presentations
© 2024 SlidePlayer.com Inc.
All rights reserved.