1 장 컴퓨터 네트워크와 인터넷
description
Transcript of 1 장 컴퓨터 네트워크와 인터넷
Introduction 1-1
1 장컴퓨터 네트워크와인터넷
Introduction 1-2
“ 실제” 인터넷 지연과 경로 (1)
“ 실제” 인터넷 지연과 손실은 어떤가 ? Traceroute program: 근원지에서 목적지까지의
인터넷 경로상에 있는 라우터까지의 지연 측정을 제공한다 . 모든 i 에 대하여 : 목적지까지의 경로상에 있는 라우터 i 로 세개의 패킷을
송신 . 라우터 i 는 송신자에게 패킷을 되돌려보낸다 . 송신과 수신간의 간격 (round trip time) 을 측정 .
3 probes
3 probes
3 probes
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
Introduction 1-4
1 장 : 순서
1.1 인터넷이란 ?1.2 네트워크의 가장자리1.3 코어 네트워크1.4 접속네트워크와 물리매체1.5 ISP 와 인터넷 백본1.6 패킷교환망에서의 지연과 손실1.7 프로토콜 계층과 서비스 모델1.8 컴퓨터 네트워킹과 인터넷의 역사
Introduction 1-5
1.7.1 계층 구조
네트워크란 복잡한 거야 !
많은 “요소들” : 호스트 라우터 여러 종류의 매체의
링크 응용 프로그램 프로토콜 하드웨어 ,
소프트웨어
질문 : 이러한 네트워크의 구조를
조직적으로 할 방법은 없을까 ?
아니면 , 최소한 설명이라도 ?
Introduction 1-6
계층화의 이유 ?
복잡한 시스템을 다룸 : 명시적인 구조는 복잡한 시스템의 부문들의 식별과
관계설정을 가능 계층화된 참조모델
모듈화는 시스템의 유지와 보완을 용이 계층의 서비스의 구현 변경은 시스템의 다른
부분에 투명 예 . 탑승절차의 변경은 다른 항공시스템에 영향을
주지 않음 계층화가 득인가 실인가 ?
Introduction 1-7
OSI- 참조모델
OSI(Open Systems Interconnection) 계층모델
각 계층은 요구되는 통신기능의 일부를 수행 각 계층은 요구되는 서비스 제공을 위하여 바로
아래 계층의 서비스에 의존 각 계층은 바로 위 상위계층에 서비스 제공 한 계층에서의 변경은 다른 계층의 변경에 독립적
Introduction 1-8
OSI 환경
Introduction 1-9
OSI 프레임워크
Introduction 1-10
인터넷 프로토콜 스택
다양한 계층의 protocol 합 응용 : 네트워크 응용 프로그램 지원
• FTP, SMTP, STTP 트랜스포트 : 호스트간 데이터 전송
• TCP, UDP 네트워크 : 근원지에서 목적지까지
데이타그램의 경로설정• IP, 라우팅 프로토콜
링크 : 이웃 네트워크 요소간의 데이터 전송• PPP, Ethernet
물리 : “ 선”상의 비트
응용
트랜스포트
네트워크
링크
물리
Introduction 1-11
1.7.2 계층 , 메시지 , 세그먼트 , 데이터그램 , 프레임
단위 어플리케이션 계층 - 메시지 트랜스포트 계층 - 세그먼트 네트워크 계층 - 데이터그램 링크계층 - 프레임
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
라우터
스위치
캡슐화
Introduction 1-13
1 장 : 순서
1.1 인터넷이란 ?1.2 네트워크의 가장자리1.3 코어 네트워크1.4 접속네트워크와 물리매체1.5 ISP 와 인터넷 백본1.6 패킷교환망에서의 지연과 손실1.7 프로토콜 계층과 서비스 모델1.8 컴퓨터 네트워킹과 인터넷의 역사
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: 초기 패킷 교환 원리
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: 인터네트워킹 , 새로운 독점 네트워크
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: 상업화 , 웹 , 새로운 응용들
Introduction 1-17
2 장애플리케이션 ( 응용 )
계층
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 간단한 웹 서버 구축하기
Introduction 1-19
2 장 : 애플리케이션 계층“ 네트워크 응용은 컴퓨터 네트워크의 존재의 이유”
목표 : 네트워크 애플리케이션의
개념과 구현 측면을 공부 응용 계층 프로토콜 트랜스포트 계층
서비스 모델 클라이언트 - 서버 피어 - 피어 프로세스
잘 알려지 응용계층 프로토콜을 고찰 HTTP FTP SMTP / POP3 DNS
네트워크 응용 프로그래밍 소켓 API
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 간단한 웹 서버 구축하기
Introduction 1-21
인기있는 네트워크 응용
네트워크 애플리케이션은다른 종단 시스템에서 동작
전자메일 웹 인스턴트 메시징 원격 로그인 P2P 파일공유
여러 사용자 네트워크 게임
스티리밍 저장된 비데오 클립
인터넷 전화 실시간 화상회의
Introduction 1-22
네트워크 응용 개발
프로그램 작성은 상이한 종단 시스템에서 동작 네트워크상에서 통신 예 ., 웹 : 웹 서버 소프트웨어는 브라우저
소프트웨어와 통신
코어 네트워크 장비를 위한 프로그램이 아님
코어 네트워크 장비는 응용계층에서 동작 하는 것이 아님
application
transportnetworkdata linkphysical
application
transportnetworkdata linkphysical
application
transportnetworkdata linkphysical
Introduction 1-23
2.1.1 네트워크 애플리케이션 구조“ 애플리케이션 ( 응용 ) 계층 프로토콜은
네트워크 애플리케이션 ( 응용 ) 의 한 요소”
클라이언트 - 서버피어 -to-피어 (P2P) 클라이언트 - 서버와 P2P 의 혼합
Introduction 1-24
클라이언트 - 서버 구조 서버 :
항상 켜있음 고정 IP 주소 서버끼리는 통신 않음 확장성을 위해 서버 집단
(farm)
클라이언트 : 서버와 통신 일시적으로 연결 동적 IP 주소 클라이언트끼리 통신 않음
Introduction 1-25
순수 P2P 구조
항상 켜놓은 서버 없음 임의 종단 시스템간 통신 피어들은 임시적으로
연결되고 IP 주소도 변경도 됨
예 : 그누텔라 (Gnutella) 파일위치를 찾기위하여
질의하며 질의에 응답하고 질의를 전달
확장성 - 각자가 서버기능그러나 관리에 어려움
Introduction 1-26
클라이언트 - 서버와 P2P 의 혼합
넵스터 (Napster) 파일전송 P2P중앙집권된 파일 검색 :
• 피어들은 중앙 서버에 내용물들을 등록• 피어들은 내용물들의 위치를 중앙 서버에 질의
인스턴트 메시징두 사용자간의 대화는 P2P 존재 검색 /위치확인은 중앙집권화 :
• 사용자들은 접속시 중앙 서버에 자신의 IP 등록• 사용자는 대화상대의 IP 주소를 찾기 위하여 중앙서버에
접속
Introduction 1-27
2.1.2 프로세스간 통신
프로세스 : 호스트에서 돌아가는 프로그
램 . 같은 호스트 안에서는 , 두 프로세스들은 OS에서 정의된 inter-process communication 를 이용해 통신 .
다른 호스트간의 프로세스는 메시지교환을 통해 통신
클라이언트 프로세스 : 통신을 야기하는 프로세스
서버 프로세스 : 접속되기를 기다리는 프로세스
주 : P2P 구조를 갖는 응용들도 클라이언트 프로세스와 서버 프로세스를 갖는다 .
Introduction 1-28
소켓
프로세스는 자신의 소켓을 통해 메시지를 보내고 받는다 .
소켓을 문에 비유 송신 프로세스는 메시지를
문 밖으로 밀어 낸다 . 이 송신 프로세스는 수신
프로세스의 문으로 메시지를 보내기 위해 문 뒤편의 트랜스포트 구조에 의존한다 .
프로세스
버퍼 , 변수등의 TCP
소켓
호스트 또는서버
프로세스
버퍼 , 변수등의 TCP
소켓
호스트 또는서버
Internet
OS 에 의해제어
응용 개발자에의해 제어
API: (1) 트랜스포트 프로토콜 선택 ; (2) 매개변수의 설정 ( 최대버퍼 , 최대 세그먼트 크기 등 )
Introduction 1-29
프로세스 주소체계 한 프로세스가 메시지를 수신하기 위하여 , 식별자를
가져야 한다 . 호스트가 접속된 IP 주소 그 호스트상의 프로세스를 나타내는 포트번호 (port
numbers)
포트번호의 예 : HTTP 서버 : 80 메일 서버 : 25
후에 자세히 배운다 .
Introduction 1-30
2.1.3 응용계층 프로토콜
메시지를 보내는 방법 정의프로토콜은 다음의 내용을 정의
교환되는 메시지 타입 , 예 , 요구 와 응답 메시지 메시지 타입 문법 : 메시지에 무슨 필드가 있고 필드간 구별 필드의 의미 , 즉 , 필드 정보의 뜻 언제 어떻게 프로세스가 메시지를 전송하고 메시지에 응답을 하는지 결정
다양한 application layer protocol 은 RFC 에 명시 Ex) HTTP(Hyper Text Transfer Protocol) : RFC2616 www.ietf.org
Introduction 1-31
2.1.4 응용은 어떤 서비스를 필요로 하는가 ? 애플리케이션의 서비스 요구 사항
신뢰적인 데이터전송• 일부 응용들은 ( 예 . 오디오 ) 약간의 손실을 허용한다 .• 다른 응용들은 ( 예 . 파일전송 , 텔넷 ) 100% 신뢰적인 데이터
전송을 요구한다 .
밴드폭 • 일부 응용들은 ( 예 ., 멀티미디어 ) “ 유효” 하기 위하여 최소한의
일정 밴드폭을 요구한다 .• 다른 응용들은 (“ 유동성있는” ) 주어진 밴드폭을 사용한다 .
시간 (timing)• 일부 응용들은 ( 예 ., 인터넷 전화 , 대화식 게임 ) “ 유효” 하기
위하여 적은 지연이 요구된다 .
Introduction 1-32
일반 응용들의 전송 서비스 요구사항
응용
파일전송전자우편
웹문서실시간 오디오 / 비데오
저장 오디오 / 비데오대화식 게임
인스탄트 메시징
데이타손실
손실불허손실불허손실불허손실허용
손실허용손실허용손실불허
밴드폭
신축적신축적신축적오디오 : 5kbps-1Mbps비데오 :10kbps-5Mbps상동 수 kbps 정도신축적
시간민감도
없음없음없음있음 , 100’s msec
있음 , 수 초있음 , 100’s msec있음 / 없음
Introduction 1-33
2.1.5 인터넷 트랜스포트 프로토콜이 제공하는 서비스TCP 서비스 : 연결형 : 클라이언트 서버
프로세스간 연결설정 요구 신뢰적인 전송 : 송수신
프로세스간 흐름제어 : 송신자는
수신자에게 과하지 않게 함
혼잡제어 : 네트워크가 과부하시 송신자를 억제
제공하지 않는것 : 시간과 최소 밴드폭 보장
UDP 서비스 : 송수신 프로세스간
신뢰적이지 않은 데이타전송
제공하지 않는것 : 연결설정 , 신뢰성 , 흐름제어 , 혼잡제어 , 시간 및 밴드폭 보장
질문 : 그럼에도 왜 UDP를 사용하는가 ?
Introduction 1-34
인터넷 응용 , 응용계층 프로토콜 , 하위 전송프로토콜
응용
전자메일원격터이날접속
웹 파일전송
스트리밍멀티미디어
이너텟전화
응용계층 프로토콜
SMTP [RFC 2821]Telnet [RFC 854]HTTP [RFC 2616]FTP [RFC 959]독점( 예 . RealNetworks)독점( 예 , 다이알패드 )
하위 전송 프로토콜
TCPTCPTCPTCPTCP 또는 UDP
전형적으로 UDP