Transmission Control Protocol (TCP)elearning.kocw.net/contents4/document/lec/2013/Mokwon/... ·...

Preview:

Citation preview

데이터통신

Mokwon University

Transmission Control Protocol (TCP)

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

TCP Protocol

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

Transport Protocol

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

Transport Layer Duties

End-to-end Delivery

Addressing Reliable Delivery

Flow Control

Multiplexing

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

Transport Protocol …

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

Process-to-Process Communication

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

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

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

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

소켓 주소(Socket Address)

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

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

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

TCP 서비스

Stream Data Service

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

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

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

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

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

TCP 세그먼트 형식

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)

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

제어 필드

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

Options

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

End of option

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

No Operation

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

Maximum Segment Size (MSS)

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

연결설정 단계 동안 결정

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

윈도우 확장인자

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

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

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

Timestamp

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

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

Checksum

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 까지 응답받지 않고 보낼 수 있다는 의미

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

TCP Flow Control…

고정 길이 윈도우 예

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

TCP Flow Control…

Pointer를 이용한 sliding window

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

TCP Flow Control…

윈도우의 증가

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

TCP Flow Control…

윈도우의 감소

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

TCP Flow Control …

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

Effect of window size on performance

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

윈도우 관리

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

윈도우 관리…

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

윈도우 관리…

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

윈도우 관리…

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

TCP Connection

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

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

연결 설정

3-way handshaking

Server: passive open

Client: active open

연결 종료 4-way handshaking

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

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

연결 종료: 4-way handshaking

Server: Passive Close Client: Active Close

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

Ack=rISN+1

Ack=rISN+1

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

TCP 동작

Encapsulation/De-capsulation

Multiplexing/De-multiplexing

Pushing Data

Urgent Data

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

캡슐화와 역캡슐화

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

TCP의 Queue

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

Multiplexing/Demultiplexing

Recommended