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

Slides:



Advertisements
Similar presentations
AMAN2002 를 이용한 TCP/IP 프로토콜 분석 및 네트워크 프로그래밍 www. nms4you.com 1 AMAN2002 추가 기능 실습 Chapter 13:
Advertisements

1 비동기와 동기 전송 (Asynchronous and Synchronous Transmission) 전송링크를 통해 전송하기 위해 두 장치 사이의 긴밀한 협조와 동의가 필요 — 송 수신기간에 동기 (synchronize ) 를 맞추기 위한 비트들의 Timing( 전송률,
TCP / IP. TCP & UDP  TCP (Transmission Control Protocol) - Connection-Oriented Protocol - Error 체크기능 - Sequencing - Acknowledgments - Flow Control -
멀티미디어 서비스를 위한 IP 네트워크 순천향대학교 정보기술공학부 이 상 정
제 20 장 TCP 대용량 데이터 흐름.
Chapter 03. 네트워크 보안 : 길을 지배하려는 자에 대한 저항
TCP/IP 통신망 특론 3장 인터넷프로토콜( IP ).
Internet Protocol Version4
2 장 인터넷의 구성 및 접속.
Chapter 8 Authorization
Chapter 13 전송층 개요.
7장. TCP와 UDP.
파이프라인된 프로토콜 파이프라이닝: 송신자는 확인 응답을 기다리지 않고 여러 패킷을 전송하도록 허용
Asymmetric Link 분석.
Chapter 06. 프로토콜.
22 장 프로세스간 전달 : UDP와 TCP 22.1 프로세스간 전달 22.2 사용자 데이터그램 프로토콜
IPsec 석진선.
제 9 장의 구성 9.1 원천부호화(source coding) 9.2 채널부호화(channel coding)
TCP/IP Socket Cover Slide 조태문.
1. 왜 의사헤더를 추가하나? 1 / 32 UDP 데이터그램이 목적지에 제대로 전송됐는지 확인하기 위해
제 1장 인터네트워킹.
20 장 네트워크층 프로토콜 : ARP, IPv4, ICMP, IPv6, ICMPv6
Internet Control Message Protocol (ICMP)
TCP/IP Socket Cover Slide 조태문.
Network 네트워크 이론 및 실습 TCP / IP 4장.
PART 01 개념 컴퓨터 네트워크 Chapter 3 OSI 참조모델과 인터넷 임효택.
10. About TCP / IP SPARCS 08 우성필.
제 18 장 TCP/IP 연결 확립과 종료 정보통신연구실.
Chapter 11 Data Link Control.
네트워크 보안 TCP/IP 네트워크통신 개념.
Chapter 02 네트워크에 대한 이해.
Chapter 8 목차 8.1 네트워크 보안이란 무엇인가? 8.2 암호학의 원리 8.3 메시지 무결성 8.4 종단점 인증
Chapter 2 OSI 모델과 TCP/IP 프로토콜.
JAVA 프로그래밍 12장 네트워킹(Networking).
Chapter 8 목차 8.1 네트워크 보안이란 무엇인가? 8.2 암호학의 원리 8.3 메시지 무결성 8.4 종단점 인증
RS-485 Protocal 설계 Overveiw
S N M P (Simple Network Management System).
One-Stop Solution for Device Networking
11장 데이터 링크 제어 (DLC: Data Link Control)
Chapter 05 목록화.
1. 연결종료 1 / 38 4way handshake와 상태 천이
세미나.. NETWORK??!! 저자 : 장경칩 도전하라 창조의 세계로(SINCE 1992) - 장경칩.
제 14 장 도메인 네임 시스템 정보통신연구실.
PART 01 개념 컴퓨터 네트워크 Chapter 3 OSI 참조모델과 인터넷 임효택.
제 21 장 TCP 타임아웃과 재전송.
Department of Computer Engineering
제 21 장 TCP 타임아웃과 재전송 정보통신연구실.
컴퓨터 네트워크 PART 02 프로토콜 (chapter 03 트랜스포트 계층) 임효택
TCP/IP와 인터넷 제 1 장 인터넷 개요 및 역사.
TCP/IP 통신망 특론 2장 Link Layer 컴퓨터 네트워크 실험실 이희규.
Network Programming(1)
Chapter 15 Transmission Control Protocol (TCP).
제 24 장 그 밖의 TCP 기능과 성능 정보통신연구실.
IPv 이 동 주 HONGIK UNIVERSITY.
네트워크와 소켓 프로그래밍 Chapter 01. * 학습목표 TCP/IP 프로토콜의 동작 원리를 개관 소켓의 기본 개념을 이해
TCP / IP 소켓 프로그래밍 3주차 ( Ch.10 ~ Ch.14 ).
Transmission Control Protocol (TCP)
User Datagram Protocol (UDP)
Chapter 04. OSI 참조 모델.
TCP/IP 네트워크 구조 TCP/IP 개요 TCP/IP 프로토콜 한빛미디어(주).
Internet Protocol Objectives Chapter 8
10 장 데이터 링크 제어(Data Link Control)
기술가정 2학년 2학기 4.컴퓨터와 생활 > 2) 인터넷의 활용 > 1/7 인터넷이란 무엇일까.
컴퓨터 개론 √ 원리를 알면 IT가 맛있다 쉽게 배우는 컴퓨터 기본 원리 한빛미디어 교재출판부.
Internet & WWW Protocols
김 형 진 전북대학교 IT응용시스템공학과 네트워크의 기본 Chapter 김 형 진 전북대학교 IT응용시스템공학과.
제 11장 User Datagram Protocol(UDP)
Part TCP / IP 1. TCP / IP 프로토콜 2. 기본 프로토콜.
컴퓨터 네트워크 PART 02 프로토콜 (chapter 03 트랜스포트 계층) 임효택
Department of Computer Engineering
Presentation transcript:

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

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

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

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

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

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

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

PART 02 프로토콜 연결형 서비스의 데이터 타입 10가지의 TPDU 타입을 사용한다.

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

PART 02 프로토콜 안정적인 데이터 전송 원리 [그림 6.7] 데이터 링크를 통한 통신

6.2.1 Stop and Wait 프로토콜 - stop-and-wait 방식의 시나리오 (a) (c) (b) (d) PART 02 프로토콜 6.2.1 Stop and Wait 프로토콜 - stop-and-wait 방식의 시나리오 (a) (c) (b) (d)

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

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

PART 02 프로토콜 6.2.2 Go-back-N 방식의 동작 예

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

Selective Repeat 방식의 동작 예 PART 02 프로토콜 Selective Repeat 방식의 동작 예

6.2.4 재전송 방식의 분석 Stop-and-wait 동작 [그림 6.14] 참조 PART 02 프로토콜 6.2.4 재전송 방식의 분석 [그림 6.14] 참조 RTT(Round Trip Time): 두 종단 시스템 사이의 왕복전파지연 R : 전송률 L : 패킷크기 Stop-and-wait 동작

PART 02 프로토콜 6.2.4 재전송 방식의 분석 Pipelined 동작

6.3 인터넷 트랜스포트 계층 6.3.1 Transmission Control Protocol(TCP) PART 02 프로토콜 6.3 인터넷 트랜스포트 계층 6.3.1 Transmission Control Protocol(TCP) TCP 연결-지향 서비스 연결-지향 데이터 전송 서비스 제공 양-방향(full-duplex)데이터 전송 서비스 이다 TCP가 제공하는 데이터 전송 서비스 [그림 6.16] [그림 6.16] TCP의 신뢰적인 양-방향 데이터 전송 서비스

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

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

TCP segment 구조 source port # dest port # application data PART 02 프로토콜 TCP segment 구조 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: 긴급데이터 (사용안함) 데이터의 바이트 수로 계산 ACK: ACK # valid PSH: push data now (사용안함) 수신자가 받을수 있는 바이트 수 RST, SYN, FIN: connection estab (setup, close commands) Internet checksum (UDP와 동일)

TCP seq. 번호와 ACK 번호 Host A Host B time 간단한 telnet 시나리오 ‘C’ 입력 PART 02 프로토콜 TCP seq. 번호와 ACK 번호 Seq. number: “number” of first byte in segment’s data Ack. number: 상대방에게서 받게 되는 다음 바이트의 seq number cumulative ACK Host A Host B ‘C’ 입력 Seq=42, ACK=79, data = ‘C’ ‘C’의 수신을 ACK하고 ‘C’를 다시 보냄 Seq=79, ACK=43, data = ‘C’ ‘C’의 수신을 ACK Seq=43, ACK=80 time 간단한 telnet 시나리오

TCP: 재전송 시나리오 X loss time time premature timeout, lost ACK scenario PART 02 프로토콜 TCP: 재전송 시나리오 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 establishment) PART 02 프로토콜 TCP 프로토콜 메커니즘 연결 확립( Connection establishment) TCP 연결 확립하기 위한 three-way 핸드쉐이킹 절차 데이터 전송(Data transfer) 오류 탐지 및 재전송(Error detection and retransmission) 흐름 제어(Flow control) 과잉밀집 제어(Congestion control) 연결 해제(Connection release)

TCP FSM(Finite State Machine) PART 02 프로토콜 TCP FSM(Finite State Machine)

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

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

PART 02 프로토콜 UDP 응용 TCP가 제공하는 신뢰성 제어를 제공받지 못한다.

UDP 사용자 데이터그램 형식 UDP 데이터그램은 IP 데이터그램과 구분하기 위하여 흔히 사용자 데이터그램이라고 부른다 PART 02 프로토콜 UDP 사용자 데이터그램 형식 UDP 데이터그램은 IP 데이터그램과 구분하기 위하여 흔히 사용자 데이터그램이라고 부른다 [그림 6.22] UDP 사용자 데이터그램 형식 [그림 6.23] IP 데이터그램과 UDP 데이터그램

UDP checksum Goal: 전송되는 세그먼트내의 에러 탐지 Receiver: Sender: PART 02 프로토콜 UDP checksum Goal: 전송되는 세그먼트내의 에러 탐지 Receiver: 수신된 16-bit integer들로 구성된 세그먼트와 함께 checksum 을 더함 더한 결과값이 모두 1이면 no error 로 판단 한 비트라도 1이면 error 발생 Sender: 세그먼트를16-bit integer들로 나눔 checksum: 16-bit integer들의 합에 대한 1’s complement 송신자는 checksum 값을 UDP checksum 필드에 포함

PART 02 프로토콜 Checksum Example 주의 더할때, 가장 왼쪽비트의 덧셈에서 생긴 carry는 결과에 다시 더함 Example: two 16-bit integers 1 1 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 1 1 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 1 1 0 1 1 1 0 1 1 1 0 1 1 1 0 1 1 1 1 0 1 1 1 0 1 1 1 0 1 1 1 1 0 0 1 0 1 0 0 0 1 0 0 0 1 0 0 0 0 1 1 Carry-out Kurose and Ross forgot to say anything about wrapping the carry and adding it to low order bit sum checksum

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