1 장 컴퓨터 네트워크와 인터넷

34
Introduction 1-1 1 장 장장장 장장장장장 장장장

description

1 장 컴퓨터 네트워크와 인터넷. “실제” 인터넷 지연과 경로 (1). “ 실제” 인터넷 지연과 손실은 어떤가 ? Traceroute program: 근원지에서 목적지까지의 인터넷 경로상에 있는 라우터까지의 지연 측정을 제공한다 . 모든 i 에 대하여 : 목적지까지의 경로상에 있는 라우터 i 로 세개의 패킷을 송신 . 라우터 i 는 송신자에게 패킷을 되돌려보낸다 . 송신과 수신간의 간격 (round trip time) 을 측정. 3 probes. 3 probes. 3 probes. - PowerPoint PPT Presentation

Transcript of 1 장 컴퓨터 네트워크와 인터넷

Page 1: 1  장 컴퓨터 네트워크와 인터넷

Introduction 1-1

1 장컴퓨터 네트워크와인터넷

Page 2: 1  장 컴퓨터 네트워크와 인터넷

Introduction 1-2

“ 실제” 인터넷 지연과 경로 (1)

“ 실제” 인터넷 지연과 손실은 어떤가 ? Traceroute program: 근원지에서 목적지까지의

인터넷 경로상에 있는 라우터까지의 지연 측정을 제공한다 . 모든 i 에 대하여 : 목적지까지의 경로상에 있는 라우터 i 로 세개의 패킷을

송신 . 라우터 i 는 송신자에게 패킷을 되돌려보낸다 . 송신과 수신간의 간격 (round trip time) 을 측정 .

3 probes

3 probes

3 probes

Page 3: 1  장 컴퓨터 네트워크와 인터넷

Introduction 1-3

“ 실제” 인터넷 지연과 경로 (2)

1 cs-gw (128.119.240.254) 1 ms 1 ms 2 ms2 border1-rt-fa5-1-0.gw.umass.edu (128.119.3.145) 1 ms 1 ms 2 ms3 cht-vbns.gw.umass.edu (128.119.3.130) 6 ms 5 ms 5 ms4 jn1-at1-0-0-19.wor.vbns.net (204.147.132.129) 16 ms 11 ms 13 ms 5 jn1-so7-0-0-0.wae.vbns.net (204.147.136.136) 21 ms 18 ms 18 ms 6 abilene-vbns.abilene.ucaid.edu (198.32.11.9) 22 ms 18 ms 22 ms7 nycm-wash.abilene.ucaid.edu (198.32.8.46) 22 ms 22 ms 22 ms8 62.40.103.253 (62.40.103.253) 104 ms 109 ms 106 ms9 de2-1.de1.de.geant.net (62.40.96.129) 109 ms 102 ms 104 ms10 de.fr1.fr.geant.net (62.40.96.50) 113 ms 121 ms 114 ms11 renater-gw.fr1.fr.geant.net (62.40.103.54) 112 ms 114 ms 112 ms12 nio-n2.cssi.renater.fr (193.51.206.13) 111 ms 114 ms 116 ms13 nice.cssi.renater.fr (195.220.98.102) 123 ms 125 ms 124 ms14 r3t2-nice.cssi.renater.fr (195.220.98.110) 126 ms 126 ms 124 ms15 eurecom-valbonne.r3t2.ft.net (193.48.50.54) 135 ms 128 ms 133 ms16 194.214.211.25 (194.214.211.25) 126 ms 128 ms 126 ms17 * * *18 * * *19 fantasia.eurecom.fr (193.55.113.142) 132 ms 128 ms 136 ms

traceroute: gaia.cs.umass.edu to www.eurecom.frThree delay measements from gaia.cs.umass.edu to cs-gw.cs.umass.edu

* means no reponse (probe lost, router not replying)

trans-oceaniclink

Page 4: 1  장 컴퓨터 네트워크와 인터넷

Introduction 1-4

1 장 : 순서

1.1 인터넷이란 ?1.2 네트워크의 가장자리1.3 코어 네트워크1.4 접속네트워크와 물리매체1.5 ISP 와 인터넷 백본1.6 패킷교환망에서의 지연과 손실1.7 프로토콜 계층과 서비스 모델1.8 컴퓨터 네트워킹과 인터넷의 역사

Page 5: 1  장 컴퓨터 네트워크와 인터넷

Introduction 1-5

1.7.1 계층 구조

네트워크란 복잡한 거야 !

많은 “요소들” : 호스트 라우터 여러 종류의 매체의

링크 응용 프로그램 프로토콜 하드웨어 ,

소프트웨어

질문 : 이러한 네트워크의 구조를

조직적으로 할 방법은 없을까 ?

아니면 , 최소한 설명이라도 ?

Page 6: 1  장 컴퓨터 네트워크와 인터넷

Introduction 1-6

계층화의 이유 ?

복잡한 시스템을 다룸 : 명시적인 구조는 복잡한 시스템의 부문들의 식별과

관계설정을 가능 계층화된 참조모델

모듈화는 시스템의 유지와 보완을 용이 계층의 서비스의 구현 변경은 시스템의 다른

부분에 투명 예 . 탑승절차의 변경은 다른 항공시스템에 영향을

주지 않음 계층화가 득인가 실인가 ?

Page 7: 1  장 컴퓨터 네트워크와 인터넷

Introduction 1-7

OSI- 참조모델

OSI(Open Systems Interconnection) 계층모델

각 계층은 요구되는 통신기능의 일부를 수행 각 계층은 요구되는 서비스 제공을 위하여 바로

아래 계층의 서비스에 의존 각 계층은 바로 위 상위계층에 서비스 제공 한 계층에서의 변경은 다른 계층의 변경에 독립적

Page 8: 1  장 컴퓨터 네트워크와 인터넷

Introduction 1-8

OSI 환경

Page 9: 1  장 컴퓨터 네트워크와 인터넷

Introduction 1-9

OSI 프레임워크

Page 10: 1  장 컴퓨터 네트워크와 인터넷

Introduction 1-10

인터넷 프로토콜 스택

다양한 계층의 protocol 합 응용 : 네트워크 응용 프로그램 지원

• FTP, SMTP, STTP 트랜스포트 : 호스트간 데이터 전송

• TCP, UDP 네트워크 : 근원지에서 목적지까지

데이타그램의 경로설정• IP, 라우팅 프로토콜

링크 : 이웃 네트워크 요소간의 데이터 전송• PPP, Ethernet

물리 : “ 선”상의 비트

응용

트랜스포트

네트워크

링크

물리

Page 11: 1  장 컴퓨터 네트워크와 인터넷

Introduction 1-11

1.7.2 계층 , 메시지 , 세그먼트 , 데이터그램 , 프레임

단위 어플리케이션 계층 - 메시지 트랜스포트 계층 - 세그먼트 네트워크 계층 - 데이터그램 링크계층 - 프레임

Page 12: 1  장 컴퓨터 네트워크와 인터넷

Introduction 1-12

메시지세그먼트

데이타그램

프레임

근원지응용

트랜스포트네트워크

링크물리

HtHnHl M

HtHn M

Ht M

M

destination

응용트랜스포트네트워크

링크물리

HtHnHl M

HtHn M

Ht M

M

네트워크링크물리

링크물리

HtHnHl M

HtHn M

HtHnHl M

HtHn M

HtHnHl M HtHnHl M

라우터

스위치

캡슐화

Page 13: 1  장 컴퓨터 네트워크와 인터넷

Introduction 1-13

1 장 : 순서

1.1 인터넷이란 ?1.2 네트워크의 가장자리1.3 코어 네트워크1.4 접속네트워크와 물리매체1.5 ISP 와 인터넷 백본1.6 패킷교환망에서의 지연과 손실1.7 프로토콜 계층과 서비스 모델1.8 컴퓨터 네트워킹과 인터넷의 역사

Page 14: 1  장 컴퓨터 네트워크와 인터넷

Introduction 1-14

1.8 인터넷 역사 (1)

1961: Kleinrock – 패킷교환의 효율성을 보여줌

1964: Baran – 군용망에 패킷교환

1967: Advanced Research Projects Agency 에 의해 ARPAnet 태동

1969: 최초 ARPAnet 노드 동작

1972: ARPAnet 공공 시범 NCP (Network Control

Protocol) 최초 호스트간 프로토콜

최초 e-mail 프로그램 ARPAnet 15 노드 동작

1961-1972: 초기 패킷 교환 원리

Page 15: 1  장 컴퓨터 네트워크와 인터넷

Introduction 1-15

1.8 인터넷 역사 (2)

1970: 하와이에서 ALOHAnet 위성 네트워크

1973: Metcalfe 가 박사논문으로 이더넷 제안

1974: Cerf and Kahn – 네트워크간 인터네트워킹 구조

late70’s: 독점 네트워크 : DECnet, SNA, XNA

late 70’s: 고정 길이의 패킷 교환 (ATM 전신 )

1979: ARPAnet 이 200 노드 보유

Cerf and Kahn’s 인터네트워킹 원리 : 최소 , 자율 – 네트워크

연동에 내부 변경 없음 최대전송 노력 서비스

모델 l 무상태 라우터 분산제어

오늘날의 인터넷 구조를 정의

1972-1980: 인터네트워킹 , 새로운 독점 네트워크

Page 16: 1  장 컴퓨터 네트워크와 인터넷

Introduction 1-16

1.8 인터넷 역사 (3)

1990 초 : ARPAnet 임무 종료 1991: NSF NSFnet 의 상업적

사용의 제한철회 ( 1995 임무종료 )

1990 년대 초 : 웹 하어퍼텍스트 [Bush 1945,

Nelson 1960’s] HTML, HTTP: Berners-Lee 1994: Mosaic, 훗날

Netscape 1990 대 말 : 웹의 상업화

1990 년대 말 – 2000 년 : 더많은 킬러 응용 : instant

messaging, P2P file sharing

전방위 네트워크 보안 약 5 천만 호스트 , 1 억이상의

사용자 Gbps 로 동작하는 백본

링크들

1990, 2000’s: 상업화 , 웹 , 새로운 응용들

Page 17: 1  장 컴퓨터 네트워크와 인터넷

Introduction 1-17

2 장애플리케이션 ( 응용 )

계층

Page 18: 1  장 컴퓨터 네트워크와 인터넷

Introduction 1-18

2 장 : 애플리케이션 계층

2.1 애플리케이션 계층 프로토콜의 원리 2.2 웹과 HTTP 2.3 파일전송 ; FTP 2.4 인터넷 전자메일

SMTP, POP3, IMAP

2.5 DNS- 인터넷 디렉터리 서비스 2.6 P2P 파일공유 2.7 TCP 소켓 프로그래밍 2.8 UDP 소켓 프로그래밍 2.9 간단한 웹 서버 구축하기

Page 19: 1  장 컴퓨터 네트워크와 인터넷

Introduction 1-19

2 장 : 애플리케이션 계층“ 네트워크 응용은 컴퓨터 네트워크의 존재의 이유”

목표 : 네트워크 애플리케이션의

개념과 구현 측면을 공부 응용 계층 프로토콜 트랜스포트 계층

서비스 모델 클라이언트 - 서버 피어 - 피어 프로세스

잘 알려지 응용계층 프로토콜을 고찰 HTTP FTP SMTP / POP3 DNS

네트워크 응용 프로그래밍 소켓 API

Page 20: 1  장 컴퓨터 네트워크와 인터넷

Introduction 1-20

2 장 : 애플리케이션 계층

2.1 애플리케이션 계층 프로토콜의 원리 2.2 웹과 HTTP 2.3 파일전송 ; FTP 2.4 인터넷 전자메일

SMTP, POP3, IMAP

2.5 DNS- 인터넷 디렉터리 서비스 2.6 P2P 파일공유 2.7 TCP 소켓 프로그래밍 2.8 UDP 소켓 프로그래밍 2.9 간단한 웹 서버 구축하기

Page 21: 1  장 컴퓨터 네트워크와 인터넷

Introduction 1-21

인기있는 네트워크 응용

네트워크 애플리케이션은다른 종단 시스템에서 동작

전자메일 웹 인스턴트 메시징 원격 로그인 P2P 파일공유

여러 사용자 네트워크 게임

스티리밍 저장된 비데오 클립

인터넷 전화 실시간 화상회의

Page 22: 1  장 컴퓨터 네트워크와 인터넷

Introduction 1-22

네트워크 응용 개발

프로그램 작성은 상이한 종단 시스템에서 동작 네트워크상에서 통신 예 ., 웹 : 웹 서버 소프트웨어는 브라우저

소프트웨어와 통신

코어 네트워크 장비를 위한 프로그램이 아님

코어 네트워크 장비는 응용계층에서 동작 하는 것이 아님

application

transportnetworkdata linkphysical

application

transportnetworkdata linkphysical

application

transportnetworkdata linkphysical

Page 23: 1  장 컴퓨터 네트워크와 인터넷

Introduction 1-23

2.1.1 네트워크 애플리케이션 구조“ 애플리케이션 ( 응용 ) 계층 프로토콜은

네트워크 애플리케이션 ( 응용 ) 의 한 요소”

클라이언트 - 서버피어 -to-피어 (P2P) 클라이언트 - 서버와 P2P 의 혼합

Page 24: 1  장 컴퓨터 네트워크와 인터넷

Introduction 1-24

클라이언트 - 서버 구조 서버 :

항상 켜있음 고정 IP 주소 서버끼리는 통신 않음 확장성을 위해 서버 집단

(farm)

클라이언트 : 서버와 통신 일시적으로 연결 동적 IP 주소 클라이언트끼리 통신 않음

Page 25: 1  장 컴퓨터 네트워크와 인터넷

Introduction 1-25

순수 P2P 구조

항상 켜놓은 서버 없음 임의 종단 시스템간 통신 피어들은 임시적으로

연결되고 IP 주소도 변경도 됨

예 : 그누텔라 (Gnutella) 파일위치를 찾기위하여

질의하며 질의에 응답하고 질의를 전달

확장성 - 각자가 서버기능그러나 관리에 어려움

Page 26: 1  장 컴퓨터 네트워크와 인터넷

Introduction 1-26

클라이언트 - 서버와 P2P 의 혼합

넵스터 (Napster) 파일전송 P2P중앙집권된 파일 검색 :

• 피어들은 중앙 서버에 내용물들을 등록• 피어들은 내용물들의 위치를 중앙 서버에 질의

인스턴트 메시징두 사용자간의 대화는 P2P 존재 검색 /위치확인은 중앙집권화 :

• 사용자들은 접속시 중앙 서버에 자신의 IP 등록• 사용자는 대화상대의 IP 주소를 찾기 위하여 중앙서버에

접속

Page 27: 1  장 컴퓨터 네트워크와 인터넷

Introduction 1-27

2.1.2 프로세스간 통신

프로세스 : 호스트에서 돌아가는 프로그

램 . 같은 호스트 안에서는 , 두 프로세스들은 OS에서 정의된 inter-process communication 를 이용해 통신 .

다른 호스트간의 프로세스는 메시지교환을 통해 통신

클라이언트 프로세스 : 통신을 야기하는 프로세스

서버 프로세스 : 접속되기를 기다리는 프로세스

주 : P2P 구조를 갖는 응용들도 클라이언트 프로세스와 서버 프로세스를 갖는다 .

Page 28: 1  장 컴퓨터 네트워크와 인터넷

Introduction 1-28

소켓

프로세스는 자신의 소켓을 통해 메시지를 보내고 받는다 .

소켓을 문에 비유 송신 프로세스는 메시지를

문 밖으로 밀어 낸다 . 이 송신 프로세스는 수신

프로세스의 문으로 메시지를 보내기 위해 문 뒤편의 트랜스포트 구조에 의존한다 .

프로세스

버퍼 , 변수등의 TCP

소켓

호스트 또는서버

프로세스

버퍼 , 변수등의 TCP

소켓

호스트 또는서버

Internet

OS 에 의해제어

응용 개발자에의해 제어

API: (1) 트랜스포트 프로토콜 선택 ; (2) 매개변수의 설정 ( 최대버퍼 , 최대 세그먼트 크기 등 )

Page 29: 1  장 컴퓨터 네트워크와 인터넷

Introduction 1-29

프로세스 주소체계 한 프로세스가 메시지를 수신하기 위하여 , 식별자를

가져야 한다 . 호스트가 접속된 IP 주소 그 호스트상의 프로세스를 나타내는 포트번호 (port

numbers)

포트번호의 예 : HTTP 서버 : 80 메일 서버 : 25

후에 자세히 배운다 .

Page 30: 1  장 컴퓨터 네트워크와 인터넷

Introduction 1-30

2.1.3 응용계층 프로토콜

메시지를 보내는 방법 정의프로토콜은 다음의 내용을 정의

교환되는 메시지 타입 , 예 , 요구 와 응답 메시지 메시지 타입 문법 : 메시지에 무슨 필드가 있고 필드간 구별 필드의 의미 , 즉 , 필드 정보의 뜻 언제 어떻게 프로세스가 메시지를 전송하고 메시지에 응답을 하는지 결정

다양한 application layer protocol 은 RFC 에 명시 Ex) HTTP(Hyper Text Transfer Protocol) : RFC2616 www.ietf.org

Page 31: 1  장 컴퓨터 네트워크와 인터넷

Introduction 1-31

2.1.4 응용은 어떤 서비스를 필요로 하는가 ? 애플리케이션의 서비스 요구 사항

신뢰적인 데이터전송• 일부 응용들은 ( 예 . 오디오 ) 약간의 손실을 허용한다 .• 다른 응용들은 ( 예 . 파일전송 , 텔넷 ) 100% 신뢰적인 데이터

전송을 요구한다 .

밴드폭 • 일부 응용들은 ( 예 ., 멀티미디어 ) “ 유효” 하기 위하여 최소한의

일정 밴드폭을 요구한다 .• 다른 응용들은 (“ 유동성있는” ) 주어진 밴드폭을 사용한다 .

시간 (timing)• 일부 응용들은 ( 예 ., 인터넷 전화 , 대화식 게임 ) “ 유효” 하기

위하여 적은 지연이 요구된다 .

Page 32: 1  장 컴퓨터 네트워크와 인터넷

Introduction 1-32

일반 응용들의 전송 서비스 요구사항

응용

파일전송전자우편

웹문서실시간 오디오 / 비데오

저장 오디오 / 비데오대화식 게임

인스탄트 메시징

데이타손실

손실불허손실불허손실불허손실허용

손실허용손실허용손실불허

밴드폭

신축적신축적신축적오디오 : 5kbps-1Mbps비데오 :10kbps-5Mbps상동 수 kbps 정도신축적

시간민감도

없음없음없음있음 , 100’s msec

있음 , 수 초있음 , 100’s msec있음 / 없음

Page 33: 1  장 컴퓨터 네트워크와 인터넷

Introduction 1-33

2.1.5 인터넷 트랜스포트 프로토콜이 제공하는 서비스TCP 서비스 : 연결형 : 클라이언트 서버

프로세스간 연결설정 요구 신뢰적인 전송 : 송수신

프로세스간 흐름제어 : 송신자는

수신자에게 과하지 않게 함

혼잡제어 : 네트워크가 과부하시 송신자를 억제

제공하지 않는것 : 시간과 최소 밴드폭 보장

UDP 서비스 : 송수신 프로세스간

신뢰적이지 않은 데이타전송

제공하지 않는것 : 연결설정 , 신뢰성 , 흐름제어 , 혼잡제어 , 시간 및 밴드폭 보장

질문 : 그럼에도 왜 UDP를 사용하는가 ?

Page 34: 1  장 컴퓨터 네트워크와 인터넷

Introduction 1-34

인터넷 응용 , 응용계층 프로토콜 , 하위 전송프로토콜

응용

전자메일원격터이날접속

웹 파일전송

스트리밍멀티미디어

이너텟전화

응용계층 프로토콜

SMTP [RFC 2821]Telnet [RFC 854]HTTP [RFC 2616]FTP [RFC 959]독점( 예 . RealNetworks)독점( 예 , 다이알패드 )

하위 전송 프로토콜

TCPTCPTCPTCPTCP 또는 UDP

전형적으로 UDP