36
데이터통신 Mokwon University Transmission Control Protocol (TCP)

Transmission Control Protocol (TCP)elearning.kocw.net/contents4/document/lec/2013/Mokwon/... · 2014-03-21 · Mokwon University 컴퓨터네트워크/TCP/IP TCP Flow Control Sliding

  • Upload
    others

  • View
    11

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Transmission Control Protocol (TCP)elearning.kocw.net/contents4/document/lec/2013/Mokwon/... · 2014-03-21 · Mokwon University 컴퓨터네트워크/TCP/IP TCP Flow Control Sliding

데이터통신

Mokwon University

Transmission Control Protocol (TCP)

Page 2: Transmission Control Protocol (TCP)elearning.kocw.net/contents4/document/lec/2013/Mokwon/... · 2014-03-21 · Mokwon University 컴퓨터네트워크/TCP/IP TCP Flow Control Sliding

Mokwon University 컴퓨터네트워크/TCP/IP

TCP Protocol

Page 3: Transmission Control Protocol (TCP)elearning.kocw.net/contents4/document/lec/2013/Mokwon/... · 2014-03-21 · Mokwon University 컴퓨터네트워크/TCP/IP TCP Flow Control Sliding

Mokwon University 컴퓨터네트워크/TCP/IP

Transport Protocol

응용프로그램과 네트워크 기능간의 인터페이스 제공

Transport Layer Duties

End-to-end Delivery

Addressing Reliable Delivery

Flow Control

Multiplexing

Page 4: Transmission Control Protocol (TCP)elearning.kocw.net/contents4/document/lec/2013/Mokwon/... · 2014-03-21 · Mokwon University 컴퓨터네트워크/TCP/IP TCP Flow Control Sliding

Mokwon University 컴퓨터네트워크/TCP/IP

Transport Protocol …

Page 5: Transmission Control Protocol (TCP)elearning.kocw.net/contents4/document/lec/2013/Mokwon/... · 2014-03-21 · Mokwon University 컴퓨터네트워크/TCP/IP TCP Flow Control Sliding

Mokwon University 컴퓨터네트워크/TCP/IP

Process-to-Process Communication

Page 6: Transmission Control Protocol (TCP)elearning.kocw.net/contents4/document/lec/2013/Mokwon/... · 2014-03-21 · Mokwon University 컴퓨터네트워크/TCP/IP TCP Flow Control Sliding

Mokwon University 컴퓨터네트워크/TCP/IP

포트 번호(Port Number) 0 ~ 65,535 사이의 정수

TCP에 연결된 Client,Server 응용 프로그램을 구분

Page 7: Transmission Control Protocol (TCP)elearning.kocw.net/contents4/document/lec/2013/Mokwon/... · 2014-03-21 · Mokwon University 컴퓨터네트워크/TCP/IP TCP Flow Control Sliding

Mokwon University 컴퓨터네트워크/TCP/IP

소켓 주소(Socket Address)

소켓 주소 = IP주소 + 포트 번호

하나의 응용 프로그램을 유일하게 정의(구별)

Page 8: Transmission Control Protocol (TCP)elearning.kocw.net/contents4/document/lec/2013/Mokwon/... · 2014-03-21 · Mokwon University 컴퓨터네트워크/TCP/IP TCP Flow Control Sliding

Mokwon University 컴퓨터네트워크/TCP/IP

TCP 서비스

Stream Data Service

응용프로그램으로부터 문자 스트림을 수신하고, 수신된 스트림으로부터 세그먼트를 만들어 네트워크를 통하여 전송

수신된 세그먼트로 부터 데이터를 추출하고, 순서를 맞추고 데이터를 문자 스트림 형태로 응용프로그램으로 전달

전이중 서비스 데이터를 양방향으로 전송

신뢰성 서비스 데이터를 확인하기 위하여 확인응답 메카니즘

Page 9: Transmission Control Protocol (TCP)elearning.kocw.net/contents4/document/lec/2013/Mokwon/... · 2014-03-21 · Mokwon University 컴퓨터네트워크/TCP/IP TCP Flow Control Sliding

Mokwon University 컴퓨터네트워크/TCP/IP Figure 12-4

TCP 세그먼트 형식

Page 10: Transmission Control Protocol (TCP)elearning.kocw.net/contents4/document/lec/2013/Mokwon/... · 2014-03-21 · Mokwon University 컴퓨터네트워크/TCP/IP TCP Flow Control Sliding

Mokwon University 컴퓨터네트워크/TCP/IP

TCP Header Field Source port(16bits), Destination port(16bits)

Socket = IP address + port number

Socket pair -> two end points -> connection

Sequence number (32bits) Sequence number of the first data octets

Acknowledgement number (32bits) Piggybacked acknowledgement

Data offset(4bits) -> header length

Flags

Windows(16bits) -> Flow control credits in octets

Checksum(16bits)

Urgent Pointer(16bits)

Options(variable)

Page 11: Transmission Control Protocol (TCP)elearning.kocw.net/contents4/document/lec/2013/Mokwon/... · 2014-03-21 · Mokwon University 컴퓨터네트워크/TCP/IP TCP Flow Control Sliding

Mokwon University 컴퓨터네트워크/TCP/IP

제어 필드

Page 12: Transmission Control Protocol (TCP)elearning.kocw.net/contents4/document/lec/2013/Mokwon/... · 2014-03-21 · Mokwon University 컴퓨터네트워크/TCP/IP TCP Flow Control Sliding

Mokwon University 컴퓨터네트워크/TCP/IP

Options

Page 13: Transmission Control Protocol (TCP)elearning.kocw.net/contents4/document/lec/2013/Mokwon/... · 2014-03-21 · Mokwon University 컴퓨터네트워크/TCP/IP TCP Flow Control Sliding

Mokwon University 컴퓨터네트워크/TCP/IP

End of option

Page 14: Transmission Control Protocol (TCP)elearning.kocw.net/contents4/document/lec/2013/Mokwon/... · 2014-03-21 · Mokwon University 컴퓨터네트워크/TCP/IP TCP Flow Control Sliding

Mokwon University 컴퓨터네트워크/TCP/IP

No Operation

Page 15: Transmission Control Protocol (TCP)elearning.kocw.net/contents4/document/lec/2013/Mokwon/... · 2014-03-21 · Mokwon University 컴퓨터네트워크/TCP/IP TCP Flow Control Sliding

Mokwon University 컴퓨터네트워크/TCP/IP

Maximum Segment Size (MSS)

목적지에서 수신할 수 있는 데이터 세그먼트의 최대크기를 정의

연결설정 단계 동안 결정

Page 16: Transmission Control Protocol (TCP)elearning.kocw.net/contents4/document/lec/2013/Mokwon/... · 2014-03-21 · Mokwon University 컴퓨터네트워크/TCP/IP TCP Flow Control Sliding

Mokwon University 컴퓨터네트워크/TCP/IP

윈도우 확장인자

헤더의 window size가 충분하지 않는 경우

윈도우의 크기를 증가시키는 목적

Page 17: Transmission Control Protocol (TCP)elearning.kocw.net/contents4/document/lec/2013/Mokwon/... · 2014-03-21 · Mokwon University 컴퓨터네트워크/TCP/IP TCP Flow Control Sliding

Mokwon University 컴퓨터네트워크/TCP/IP

Timestamp

Round-trip time 계산 -> 재전송 타이머 값 결정

Page 18: Transmission Control Protocol (TCP)elearning.kocw.net/contents4/document/lec/2013/Mokwon/... · 2014-03-21 · Mokwon University 컴퓨터네트워크/TCP/IP TCP Flow Control Sliding

Mokwon University 컴퓨터네트워크/TCP/IP

Checksum

Page 19: Transmission Control Protocol (TCP)elearning.kocw.net/contents4/document/lec/2013/Mokwon/... · 2014-03-21 · Mokwon University 컴퓨터네트워크/TCP/IP TCP Flow Control Sliding

Mokwon University 컴퓨터네트워크/TCP/IP

TCP Flow Control

Sliding window mechanism

크레딧(Credit) 할당 방식

순서번호(Sequence number)는 세그먼트 데이터의 첫번째 옥텟의 바이트 단위

TCP Acknowledgement (A=i, W=j)

순서번호 i – 1 까지 옥텟은 잘 받았다는 응답

추가로 허용되는 윈도우(W)가 j 옥텟이고 이는 데이터를

i 옥텟에서 i + j –1 까지 응답받지 않고 보낼 수 있다는 의미

Page 20: Transmission Control Protocol (TCP)elearning.kocw.net/contents4/document/lec/2013/Mokwon/... · 2014-03-21 · Mokwon University 컴퓨터네트워크/TCP/IP TCP Flow Control Sliding

Mokwon University 컴퓨터네트워크/TCP/IP

TCP Flow Control…

고정 길이 윈도우 예

Page 21: Transmission Control Protocol (TCP)elearning.kocw.net/contents4/document/lec/2013/Mokwon/... · 2014-03-21 · Mokwon University 컴퓨터네트워크/TCP/IP TCP Flow Control Sliding

Mokwon University 컴퓨터네트워크/TCP/IP

TCP Flow Control…

Pointer를 이용한 sliding window

Page 22: Transmission Control Protocol (TCP)elearning.kocw.net/contents4/document/lec/2013/Mokwon/... · 2014-03-21 · Mokwon University 컴퓨터네트워크/TCP/IP TCP Flow Control Sliding

Mokwon University 컴퓨터네트워크/TCP/IP

TCP Flow Control…

윈도우의 증가

Page 23: Transmission Control Protocol (TCP)elearning.kocw.net/contents4/document/lec/2013/Mokwon/... · 2014-03-21 · Mokwon University 컴퓨터네트워크/TCP/IP TCP Flow Control Sliding

Mokwon University 컴퓨터네트워크/TCP/IP

TCP Flow Control…

윈도우의 감소

Page 24: Transmission Control Protocol (TCP)elearning.kocw.net/contents4/document/lec/2013/Mokwon/... · 2014-03-21 · Mokwon University 컴퓨터네트워크/TCP/IP TCP Flow Control Sliding

Mokwon University 컴퓨터네트워크/TCP/IP

TCP Flow Control …

Page 25: Transmission Control Protocol (TCP)elearning.kocw.net/contents4/document/lec/2013/Mokwon/... · 2014-03-21 · Mokwon University 컴퓨터네트워크/TCP/IP TCP Flow Control Sliding

Mokwon University 컴퓨터네트워크/TCP/IP

Effect of window size on performance

Page 26: Transmission Control Protocol (TCP)elearning.kocw.net/contents4/document/lec/2013/Mokwon/... · 2014-03-21 · Mokwon University 컴퓨터네트워크/TCP/IP TCP Flow Control Sliding

Mokwon University 컴퓨터네트워크/TCP/IP

윈도우 관리

Page 27: Transmission Control Protocol (TCP)elearning.kocw.net/contents4/document/lec/2013/Mokwon/... · 2014-03-21 · Mokwon University 컴퓨터네트워크/TCP/IP TCP Flow Control Sliding

Mokwon University 컴퓨터네트워크/TCP/IP

윈도우 관리…

Page 28: Transmission Control Protocol (TCP)elearning.kocw.net/contents4/document/lec/2013/Mokwon/... · 2014-03-21 · Mokwon University 컴퓨터네트워크/TCP/IP TCP Flow Control Sliding

Mokwon University 컴퓨터네트워크/TCP/IP

윈도우 관리…

Page 29: Transmission Control Protocol (TCP)elearning.kocw.net/contents4/document/lec/2013/Mokwon/... · 2014-03-21 · Mokwon University 컴퓨터네트워크/TCP/IP TCP Flow Control Sliding

Mokwon University 컴퓨터네트워크/TCP/IP

윈도우 관리…

Page 30: Transmission Control Protocol (TCP)elearning.kocw.net/contents4/document/lec/2013/Mokwon/... · 2014-03-21 · Mokwon University 컴퓨터네트워크/TCP/IP TCP Flow Control Sliding

Mokwon University 컴퓨터네트워크/TCP/IP

TCP Connection

발신지와 목적지 간의 가상 경로의 설정

확인응답과 재전송 매카니즘 동작

연결 설정

3-way handshaking

Server: passive open

Client: active open

연결 종료 4-way handshaking

Page 31: Transmission Control Protocol (TCP)elearning.kocw.net/contents4/document/lec/2013/Mokwon/... · 2014-03-21 · Mokwon University 컴퓨터네트워크/TCP/IP TCP Flow Control Sliding

Mokwon University 컴퓨터네트워크/TCP/IP

연결 설정: 3-way handshaking

ISN=1200 MSS option WSF option Ack=rISN+1

ISN=4800 MSS option WSF option Ack=rISN+1

Server: Passive Open Client: Active Open

Page 32: Transmission Control Protocol (TCP)elearning.kocw.net/contents4/document/lec/2013/Mokwon/... · 2014-03-21 · Mokwon University 컴퓨터네트워크/TCP/IP TCP Flow Control Sliding

Mokwon University 컴퓨터네트워크/TCP/IP

연결 종료: 4-way handshaking

Server: Passive Close Client: Active Close

더 이상 보낼 데이터가 없으면 FIN 전송

Ack=rISN+1

Ack=rISN+1

Page 33: Transmission Control Protocol (TCP)elearning.kocw.net/contents4/document/lec/2013/Mokwon/... · 2014-03-21 · Mokwon University 컴퓨터네트워크/TCP/IP TCP Flow Control Sliding

Mokwon University 컴퓨터네트워크/TCP/IP

TCP 동작

Encapsulation/De-capsulation

Multiplexing/De-multiplexing

Pushing Data

Urgent Data

Page 34: Transmission Control Protocol (TCP)elearning.kocw.net/contents4/document/lec/2013/Mokwon/... · 2014-03-21 · Mokwon University 컴퓨터네트워크/TCP/IP TCP Flow Control Sliding

Mokwon University 컴퓨터네트워크/TCP/IP

캡슐화와 역캡슐화

Page 35: Transmission Control Protocol (TCP)elearning.kocw.net/contents4/document/lec/2013/Mokwon/... · 2014-03-21 · Mokwon University 컴퓨터네트워크/TCP/IP TCP Flow Control Sliding

Mokwon University 컴퓨터네트워크/TCP/IP

TCP의 Queue

Page 36: Transmission Control Protocol (TCP)elearning.kocw.net/contents4/document/lec/2013/Mokwon/... · 2014-03-21 · Mokwon University 컴퓨터네트워크/TCP/IP TCP Flow Control Sliding

Mokwon University 컴퓨터네트워크/TCP/IP

Multiplexing/Demultiplexing