Presentation is loading. Please wait.

Presentation is loading. Please wait.

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

Similar presentations


Presentation on theme: "컴퓨터 네트워크 PART 02 프로토콜 (chapter 03 트랜스포트 계층) 임효택"— Presentation transcript:

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

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

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

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

5 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] 트랜스포트 프로토콜의 클래스

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

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

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

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

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

11 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 프레임 에러로 인한 재전송

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

13 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 방식의 예

14 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 방식의 예

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

16 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 서비스 구현 X400 서비스 구현 [표 3.4] TCP를 사용하는 응용 서비스

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

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

19 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)

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

21 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)

22 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

23 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

24 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

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

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

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

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

29 PART 02 프로토콜 UDP checksum Goal: detect “errors” (e.g., flipped bits) in transmitted segment Receiver: compute checksum of received segment check if computed checksum equals checksum field value: NO - error detected YES - no error detected. But maybe errors nonetheless? More later …. Sender: treat segment contents as sequence of 16-bit integers checksum: addition (1’s complement sum) of segment contents sender puts checksum value into UDP checksum field

30 Internet Checksum Example
PART 02 프로토콜 Internet Checksum Example Note When adding numbers, a carryout from the most significant bit needs to be added to the result Example: add two 16-bit integers wraparound Kurose and Ross forgot to say anything about wrapping the carry and adding it to low order bit sum checksum

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


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

Similar presentations


Ads by Google