컴퓨터 네트워크 PART 02 프로토콜 (chapter 03 트랜스포트 계층) 임효택

Slides:



Advertisements
Similar presentations
TCP / IP. TCP & UDP  TCP (Transmission Control Protocol) - Connection-Oriented Protocol - Error 체크기능 - Sequencing - Acknowledgments - Flow Control -
Advertisements

16장 X.25 패킷 교환망 16.1 X.25 계층 구조 16.2 패킷 계층 프로토콜 16.3 요약.
Network Lab. Byoung-Son, Choi
7장. TCP와 UDP.
6 데이터 링크 계층.
파이프라인된 프로토콜 파이프라이닝: 송신자는 확인 응답을 기다리지 않고 여러 패킷을 전송하도록 허용
RTP,RTSP의 개요 및 동작과정 장민환 조효철.
22 장 프로세스간 전달 : UDP와 TCP 22.1 프로세스간 전달 22.2 사용자 데이터그램 프로토콜
3 장 OSI 기본 참조 모델 OSI : Open System Interconnection
제 1장 인터네트워킹.
24 장 TCP/IP 24.1 개요 24.2 네트워크층 24.3 주소 지정 24.4 서브넷팅틍
Chapter 11 Data Link Control.
VoIP (Voice Over Internet Protocol)
Chapter 5 링크 계층.
4.3 Managing TCP sessions 4조 임종철,임정묵,이규윤.
9장 데이터 링크층 개요 (Introduction To Data-Link Layer)
제 17 장 TCP : 전송 제어 프로토콜 정보통신연구실.
네트워킹 CHAPTER 13 Section 1 네트워킹의 개요와 java.net 패키지 Section 2 인터넷 주소와 URL
PART 02 프로토콜 컴퓨터 네트워크 chapter 06 트랜스포트 계층 임효택.
세미나.. NETWORK??!! 저자 : 장경칩 도전하라 창조의 세계로(SINCE 1992) - 장경칩.
15장 X.25 패킷 교환망 15.1 X.25 계층 15.2 X.25와 관련된 기타 프로토콜 15.3 요약.
Chapter 21 Network Layer: ARP, ICMP (IGMP).
제 19 장 TFTP 19.1 메시지 19.2 연결 19.3 데이터 전송 19.4 UTP 포트 19.5 TFTP 예제
TCP와 UDP.
10 장 데이터 링크 제어(Data Link Control)
13 장 광역 통신망(WAN) 13.1 점대점 WAN 13.2 교환형 WAN 13.3 ATM LAN 13.4 요약.
Socket Address Structure and Byte Ordering Functions
제 22 장 TCP Persist Timer.
17장 X.25 패킷 교환망 17.1 X.25 계층 17.2 X.25와 관련된 기타 프로토콜 17.3 요약.
Chapter 19 솔라리스 네트워크 관리 Solaris1 . TCP/IP 개요
Chapter 15 Transmission Control Protocol (TCP).
Telecommunications Management Lab.
U D P 전공 : 정보보호 학번 : 이름 : 배 지 태.
Trivial File Transfer Protocol (TFTP)
Network Security WireShark를 활용한 프로토콜 분석 I.
2장. 인터넷의 개념과 주소.
22 장 전송층(Transport Layer)
Contents 통신 프로토콜의 필요성 OSI의 7계층 참조 모델 계층적 프로토콜의 동작 TCP/IP 프로토콜
OSI Reference Model.
Transmission Control Protocol (TCP)
21 장 전송층(Transport Layer)
OSI 7계층 네트워크 프로토콜 OSI 7계층 구조.
제 12 장 전송 제어 프로토콜(TCP) 12.1 프로세스간 통신 12.2 TCP 서비스 12.3 세그먼트 12.4 옵션
6 데이터 링크 계층 학습 목표 오류 제어, 흐름 제어의 원리와 동작 방식을 이해한다.
Internet 데이터 전송 목표: 인터넷의 개요 및 기본 내용을 살펴보고 VB에서의 데이터 전송 프로그래밍에 대하여 학습한다. 주요내용 인터넷의 개요 인터넷 데이터 전송 인터넷 프로그래밍 Winsock Client Server 프로그래밍.
TCP/IP 네트워크 구조 TCP/IP 개요 TCP/IP 프로토콜 한빛미디어(주).
9 TCP의 이해 학습 목표 전송 계층 프로토콜이 제공하는 기능을 이해한다.
Chapter 01. OSI 계층 모델.
TCP/IP TCP/IP의 이해 TCP UDP IP 한빛미디어(주).
Network 네트워크 이론 및 실습 TCP / IP 4장.
Data Communications 제 4 장 OSI 참조 모델 정보보호학과 양 계 탁.
10 장 데이터 링크 제어(Data Link Control)
10 장 데이터 링크 제어(Data Link Control)
2 네트워크 모델 학습 목표 모듈 개념을 알아보고 계층 구조의 필요성을 이해한다.
6.2.3 OSI 계층화의 개념 학습내용 (N) 접속(connection) 데이터단위(Data Unit)
10 기타 전송 계층 프로토콜.
3 네트워크 기술 학습 목표 회선 교환 시스템과 패킷 교환 시스템의 차이와 원리를 이해한다.
Chapter 2 네트워크 모델 (Network Models).
Ping Test.
Chapter 27 Mobile IP.
7 IP 프로토콜의 이해 학습 목표 네트워크 계층의 필요성과 역할을 이해한다.
김 형 진 전북대학교 IT응용시스템공학과 네트워크의 기본 Chapter 김 형 진 전북대학교 IT응용시스템공학과.
학습내용 프로토콜 계층화 OSI 모델의 용어 및 기능 개체 서비스 접근점 (N) 프로토콜과 (N) 서비스 서비스 프리미티브
5.2.3 교환방식의 비교 학습내용 교환방식의 비교.
The OSI Model and TCP/IP Protocol Suite
Chapter 2 네트워크 모델 (Network Models).
4. IP 데이터그램과 라우팅 (6장. 인터넷과 IP) IP 데이터그램 : 특정 물리망에 종속되지 않은 가상의 패킷 형식.
컴퓨터 네트워크 PART 02 프로토콜 (chapter 03 트랜스포트 계층) 임효택
ARP.
Presentation transcript:

컴퓨터 네트워크 PART 02 프로토콜 (chapter 03 트랜스포트 계층) 임효택 E-mail : htlim@dongseo.ac.kr Home page : http://kowon.dongseo.ac.kr/~htlim

Chapter 03 트랜스포트 계층 OSI 트랜스포트 계층 개요 3.1.1 OSI 트랜스포트 계층의 개관 PART 02 프로토콜 Chapter 03 트랜스포트 계층 OSI 트랜스포트 계층 개요 3.1.1 OSI 트랜스포트 계층의 개관 네트워크 계층의 서비스를 이용하여 세션 계층에게 서비스 제공 엔티티 : 트랜스포트 계층의 기능을 수행하는것 중간에 여러 개의 망들을 포함하는 종단 간의 연결이다 3.1.2 제공 서비스 연결형, 비연결형 두 가지 서비스를 제공 서비스의 질(QOS) 연결 설정 시의 지연 효율 전달 지연 잔여 에러율 보호 우선 순위

Chapter 03 트랜스포트 계층 트랜스포트 서비스 프리미티브 [그림 3.3] 트랜스포트 계층 서비스의 사용 예 PART 02 프로토콜 Chapter 03 트랜스포트 계층 트랜스포트 서비스 프리미티브 [그림 3.3] 트랜스포트 계층 서비스의 사용 예

Chapter 03 트랜스포트 계층 3.1.3 트랜스포트 프로토콜 PART 02 프로토콜 Chapter 03 트랜스포트 계층 3.1.3 트랜스포트 프로토콜 트랜스포트 서비스는 두 트랜스포트 엔티티 간에 트랜스포트 프로토콜을 이용하여 제공 데이터링크 프로토콜과 매우 유사 트랜스포트 계층과 링크 계층의 차이점 데이터 링크 계층 - 하나의 전송 매체에 연결되어 있는 시스템을 연결 트랜스포트 계층 – 전체망의 종단에 연결되어 있는 시스템을 연결 [그림 3.4] 데이터 링크 계층과 트랜스포트 계층

Chapter 03 OSI 참조 모델과 인터넷 트랜스포트 프로토콜 네트워크 계층의 서비스 질을 판단하기 위한 기준 PART 02 프로토콜 Chapter 03 OSI 참조 모델과 인터넷 트랜스포트 프로토콜 네트워크 계층의 서비스 질을 판단하기 위한 기준 A : 패킷은 잘 전달하며, N-Reset 서비스 프리미티브도 없는 네트워크 B : 패킷은 잘 전달하며, N-Reset을 제공하는 네트워크 C : 패킷의 분실이나 복제가 생길 수 있으며, N-Reset을 제공하는 네트워크 트랜스포트 계층에서 제공하여야 하는 기능은 하위의 망에서 제공하는 서비스의 질에 따라 결정 트랜스포트 계층의 서비스는 [표 3.2]에서 볼 수 있는 것처럼 5개의 클래스로 나누어 서 제공 클래스 하위의 망 타임 이름 1 2 3 4 A B C 단순 클래스 기본 에러 회복 클래스 다중화 클래스 에러 회복과 다중화 클래스 에러 검출 및 회복 클래스 [표 3.2] 트랜스포트 프로토콜의 클래스

Chapter 03 OSI 참조 모델과 인터넷 클래스 0 – A 타입의 통신망 적용 대상 PART 02 프로토콜 Chapter 03 OSI 참조 모델과 인터넷 클래스 0 – A 타입의 통신망 적용 대상 에러검출, 에러 복구 기능, 흐름 제어 기능 제공 안됨 트랜스포트 연결회로 설정과 해제 기능을 가짐. 클래스 1 – B 타입의 통신망을 적용 대상 에러검출 안함, 에러 발생시 N-Reset서비스를 사용하여 상대 트랜스 트 계층과 동기를 다시 마춤 클래스 2 – A 타입의 통신망 적용 대상 에러 검출과 복구 기능 없음, 다중화 기능 제공 클래스 3 – B 타입의 통신망 적용 대상 클래스 1과 2를 합해 놓은 형태 클래스 4 – C 타입의 통신망 적용 대상 에러 검출 기능 및 발생한 에러으 복구 기능을 제공

Chapter 03 OSI 참조 모델과 인터넷 3.1.4 트랜스포트 계층의 기능 다중화(Multiplexing) PART 02 프로토콜 Chapter 03 OSI 참조 모델과 인터넷 3.1.4 트랜스포트 계층의 기능 다중화(Multiplexing) 하나의 네트워크 연결에 여러 개의 트랜스포트 연결을 설정하는 것 다중화를 이용하는 대표적인 예 X.25에서는 사용비용을 계살 할 때 가상회선의 연결 시간을 기준으로 한다. 분리(Splitting) 다중화와 반대로 하나의 트랜스포트 연결이 여러 개의 네트워크 연결을 사용 트랜스포트 연결에서 요구하는 데이터 양을 하나의 네트워크 연결로는 처리할 수 없는 경우 사용 분할(Segmentation) 송신측에서 하나의 TSDU를 여러 개의 TPDU로 나누어 송신하고, 수신측에서는 여러 개로 나누어서 수신된느 TPDU를 하나의 TSDU로 다시 조합하여 이를 상위 계층에게 전달

Chapter 03 OSI 참조 모델과 인터넷 연결(Concatenation) 연결형 서비스의 데이터 타입 PART 02 프로토콜 Chapter 03 OSI 참조 모델과 인터넷 연결(Concatenation) 연결형 서비스의 데이터 타입 10가지의 TPDU 타입을 사용한다.

Chapter 03 OSI 참조 모델과 인터넷 비연결형 서비스에서의 데이터 타입 비연결형 프로토콜을 사용 PART 02 프로토콜 Chapter 03 OSI 참조 모델과 인터넷 비연결형 서비스에서의 데이터 타입 비연결형 프로토콜을 사용 PDU의 형식은 연결형의 프로토콜에서 사용하는 것과 크게 다르지 않음 [그림 3.6] 트랜스포트 계층 비연결형 서비스를 위한 TPDU

Chapter 03 OSI 참조 모델과 인터넷 안정적인 데이터 전송 원리 [그림 3.7] 데이터 링크를 통한 통신 PART 02 프로토콜 Chapter 03 OSI 참조 모델과 인터넷 안정적인 데이터 전송 원리 [그림 3.7] 데이터 링크를 통한 통신

Chapter 03 OSI 참조 모델과 인터넷 3.2.1 Stop and Wait 프로토콜 PART 02 프로토콜 Chapter 03 OSI 참조 모델과 인터넷 3.2.1 Stop and Wait 프로토콜 수신측에서 프레임을 받을 때마다 송신측으로 ACK를 전송 한번에 한 개의 프레임만을 전송 프레임 I(정보), ACK(긍정응답) 동작 방식 Timeout Timeout 송신측 I(0) I(1) I(0) I(0) I(0) I(0) 1) I I ( ( 1) I I I ( I(1) 0) ( ( ( ( 0) ACK 0) 0) 0) ACK 수신측 I(0) I(1) I(0) I(0) I(0) 기본 동작 프레임 에러로 인한 재전송 ACK 프레임 에러로 인한 재전송

Chapter 03 OSI 참조 모델과 인터넷 Stop-and-Wait의 단점 송신측의 프레임이 분실되어진 경우, PART 02 프로토콜 Chapter 03 OSI 참조 모델과 인터넷 Stop-and-Wait의 단점 송신측의 프레임이 분실되어진 경우, 수신측에서는 ACK를 보내지 않고 송신측에서는 계속해서 ACK를 기다림 수신측의 ACK가 분실되어진 경우, 앞에서와 같은 상황이 발생 ACK가 훼손되어진 경우 중복된 프레임 전송 비효율적 [그림 3.9]

Chapter 03 OSI 참조 모델과 인터넷 3.2.2 Go-back-N 프로토콜 PART 02 프로토콜 Chapter 03 OSI 참조 모델과 인터넷 3.2.2 Go-back-N 프로토콜 수신측에서 패킷의 오류가 검출된 경우 NACK 신호를 보내게 되고 오류가 복구될 때까지 그 이후의 패킷은 수신하지 않는다. 송신측은 NACK를 수신하면 오류가 있는 패킷과 그 다음의 모든 패킷을 재전송 수신측이 전송된 패킷을 저장하거나 재전송된 패킷을 재배열시킬 필요가 없다. 재전송하는 패킷의 비율이 더 높게 되므로 망의 대역폭에 있어서는 손실 Go-back-N 사용 프로토콜: delta-t, XTP [그림 3.10] Go-back-N 방식의 예

Chapter 03 OSI 참조 모델과 인터넷 3.2.3 Selective Repeat 프로토콜 PART 02 프로토콜 Chapter 03 OSI 참조 모델과 인터넷 3.2.3 Selective Repeat 프로토콜 NACK를 수신한 패킷만 재전송하므로 go-back-N방식보다 재전송하는 패킷의 비율이 적어서 효율은 높다. 수신측은 재전송된 패킷을 재배열--오버헤드를 유발 사용 프로토콜 VMTP NETBLT XTP: Go-back-N과 Select Repeat 함께 사용 [그림 3.12] Selective repeat 방식의 예

Chapter 03 OSI 참조 모델과 인터넷 인터넷 트랜스포트 계층 PART 02 프로토콜 Chapter 03 OSI 참조 모델과 인터넷 인터넷 트랜스포트 계층 3.3.1 Transmission Control Protocol(TCP) TCP 연결-지향 서비스 연결-지향 데이터 전송 서비스 제공 양-방향(full-duplex)데이터 전송 서비스 이다 TCP가 제공하는 데이터 전송 서비스 [그림 3.14] [그림 3.14] TCP의 신뢰적인 양-방향 데이터 전송 서비스

Chapter 03 트랜스포트 계층 TCP 응용 많은 응용들은 TCP와 같은 연결-지향 데이터 전송 프로토콜이 제공하는 PART 02 프로토콜 Chapter 03 트랜스포트 계층 TCP 응용 많은 응용들은 TCP와 같은 연결-지향 데이터 전송 프로토콜이 제공하는 신뢰성 제어를 요구 TCP를 이용하는 응용[표 3.4] 서비스 포트 설명 Discard Chargen FTP Telnet SMTP X400 9 19 20 21 23 25 103 수신되는 사용자 데이터를 폐기 임의의 길이로 된 문자열을 반환 FTP 파일전송 동작을 구현 FTP 제어 절차를 구현 Telnet 서비스 구현 SMTP Email 서비스 구현 X400 Email 서비스 구현 [표 3.4] TCP를 사용하는 응용 서비스

Chapter 03 트랜스포트 계층 TCP 세그먼트 형식 TCP는 스트림-지향 데이터 전송 서비스를 제공 PART 02 프로토콜 Chapter 03 트랜스포트 계층 TCP 세그먼트 형식 TCP는 스트림-지향 데이터 전송 서비스를 제공 전송을 위한 옥텟 스트림을 세그먼트라고 하는 데이터 단위로 나눔 세그먼트는 전송될 때 IP 데이터그램에 포함되어 전송 세그먼트는 고정된 크기는 아니며 한쪽 TCP 사용자가 전송하는 옥텟은 전송되는 순서대로 다른 호스트 사용자에게 전달된다. [그림 3.15] IP 데이터그램과 TCP 세그먼트

PART 02 프로토콜 Chapter 03 트랜스포트 계층 [그림 3.16] TCP 세그먼트 형식

Chapter 03 트랜스포트 계층 TCP 프로토콜 메커니즘 연결 확립( Connection establishment) PART 02 프로토콜 Chapter 03 트랜스포트 계층 TCP 프로토콜 메커니즘 연결 확립( Connection establishment) TCP 연결 확립하기 위한 three-way 핸드쉐이킹 절차 데이터 전송(Data transfer) 오류 탐지 및 재전송(Error detection and retransmission) 흐름 제어(Flow control) 과잉밀집 제어(Congestion control) 연결 해제(Connection release)

PART 02 프로토콜 Chapter 03 트랜스포트 계층

TCP segment structure source port # dest port # application data PART 02 프로토콜 TCP segment structure source port # dest port # 32 bits application data (variable length) sequence number acknowledgement number rcvr window size ptr urgent data checksum F S R P A U head len not used Options (variable length) URG: urgent data (generally not used) counting by bytes of data (not segments!) ACK: ACK # valid PSH: push data now (generally not used) # bytes rcvr willing to accept RST, SYN, FIN: connection estab (setup, teardown commands) Internet checksum (as in UDP)

simple telnet scenario PART 02 프로토콜 TCP seq. #’s and ACKs Seq. #’s: byte stream “number” of first byte in segment’s data ACKs: seq # of next byte expected from other side cumulative ACK Q: how receiver handles out-of-order segments A: TCP spec doesn’t say, - up to implementor Host A Host B User types ‘C’ Seq=42, ACK=79, data = ‘C’ host ACKs receipt of ‘C’, echoes back ‘C’ Seq=79, ACK=43, data = ‘C’ host ACKs receipt of echoed ‘C’ Seq=43, ACK=80 time simple telnet scenario

TCP: retransmission scenarios PART 02 프로토콜 TCP: retransmission scenarios Host A Seq=92, 8 bytes data ACK=100 loss timeout time lost ACK scenario Host B X Host A Host B Seq=92, 8 bytes data Seq=100, 20 bytes data Seq=92 timeout ACK=100 Seq=100 timeout ACK=120 Seq=92, 8 bytes data ACK=120 time premature timeout, cumulative ACKs

TCP Connection Management: Three-way handshake PART 02 프로토콜 TCP uses three-way handshake for reliable connection establishment and termination Host 1 sends segment with SYN bit set and random sequence number Host 2 responds with segment with SYN bit set, acknowledgment to Host 1 and random sequence number Host 1 responds with acknowledgment TCP will retransmit lost segments Random sequence numbers ensure synchronization between endpoints

TCP Connection Management (cont) PART 02 프로토콜 TCP Connection Management (cont) TCP server lifecycle TCP client lifecycle

Chapter 03 트랜스포트 계층 3.3.2 UDP(User Datagram Protocol) UDP 비연결 서비스 PART 02 프로토콜 Chapter 03 트랜스포트 계층 3.3.2 UDP(User Datagram Protocol) UDP 비연결 서비스 UDP가 제공하는 서비스는 비연결 데이터 전달 서비스 이다. UDP는 신뢰성 있는 서비스를 제공할 수 없다. 사용자 프로그램 스스로 필요한 신뢰성 제어를 할 필요가 있다.

PART 02 프로토콜 Chapter 03 트랜스포트 계층 UDP 응용 TCP가 제공하는 신뢰성 제어를 제공받지 못한다.

Chapter 03 트랜스포트 계층 UDP 사용자 데이터그램 형식 UDP 데이터그램은 IP 데이터그램과 구분하기 위하여 흔히 PART 02 프로토콜 Chapter 03 트랜스포트 계층 UDP 사용자 데이터그램 형식 UDP 데이터그램은 IP 데이터그램과 구분하기 위하여 흔히 사용자 데이터그램이라고 부른다 [그림 3.20] UDP 사용자 데이터그램 형식 [그림 3.21] IP 데이터그램과 UDP 데이터그램

Chapter 03 트랜스포트 계층 UDP 프로토콜 메커니즘 PART 02 프로토콜 Chapter 03 트랜스포트 계층 UDP 프로토콜 메커니즘 하위의 IP 비연결 데이터 전송서비스가 제공하는 것들 이외의 특별한 메커니즘을 따로 구현하지 않는다. UDP 오류 점검 UDP 오버플로우(단점)