12 TCP 12 8 TCP 12 9 12

  • Slides: 61
Download presentation

제 12 장 전송 제어 프로토콜(TCP)(계속) 12. 8 TCP 타이머 12. 9 연결 12.

제 12 장 전송 제어 프로토콜(TCP)(계속) 12. 8 TCP 타이머 12. 9 연결 12. 10 상태 천이 다이어그램 12. 11 혼잡 제어 12. 12 TCP 동작 12. 13 TCP 설계 12. 14 요약 Http: //netwk. hannam. ac. kr HANNAM UNIVERSITY 2

TCP/IP 프로토콜 모음 Http: //netwk. hannam. ac. kr HANNAM UNIVERSITY 3

TCP/IP 프로토콜 모음 Http: //netwk. hannam. ac. kr HANNAM UNIVERSITY 3

12. 1 프로세스간 통신 Http: //netwk. hannam. ac. kr HANNAM UNIVERSITY 5

12. 1 프로세스간 통신 Http: //netwk. hannam. ac. kr HANNAM UNIVERSITY 5

12. 1 프로세스간 통신(계속) <포트 번호 Http: //netwk. hannam. ac. kr HANNAM UNIVERSITY 7

12. 1 프로세스간 통신(계속) <포트 번호 Http: //netwk. hannam. ac. kr HANNAM UNIVERSITY 7

12. 1 프로세스간 통신(계속) <잘 알려진(well-known) 포트 번호 Port ----7 9 11 13 17

12. 1 프로세스간 통신(계속) <잘 알려진(well-known) 포트 번호 Port ----7 9 11 13 17 19 20 21 Http: //netwk. hannam. ac. kr Protocol -----Echo Discard Users Daytime Quote Chargen FTP, Data FTP, Control HANNAM UNIVERSITY 8

12. 1 프로세스간 통신(계속) <잘 알려진(well-known) 포트 번호(계속) Port Protocol ----------- 23 TELNET 25

12. 1 프로세스간 통신(계속) <잘 알려진(well-known) 포트 번호(계속) Port Protocol ----------- 23 TELNET 25 SMTP 53 DNS 67 BOOTP 79 Finger 80 HTTP 111 RPC Http: //netwk. hannam. ac. kr HANNAM UNIVERSITY 9

12. 3 세그먼트(계속) <제어 필드 Http: //netwk. hannam. ac. kr HANNAM UNIVERSITY 16

12. 3 세그먼트(계속) <제어 필드 Http: //netwk. hannam. ac. kr HANNAM UNIVERSITY 16

12. 3 세그먼트(계속) <제어 필드의 플래그 종류 Flag ----- Description ------- URG Urgent pointer

12. 3 세그먼트(계속) <제어 필드의 플래그 종류 Flag ----- Description ------- URG Urgent pointer field is valid ACK Acknowledgment field is valid PSH Push the data RST Connection must be reset SYN Synchronize sequence numbers FIN Terminate the connection Http: //netwk. hannam. ac. kr HANNAM UNIVERSITY 17

12. 4 옵션(option) Ü최대 40 바이트 Http: //netwk. hannam. ac. kr HANNAM UNIVERSITY 19

12. 4 옵션(option) Ü최대 40 바이트 Http: //netwk. hannam. ac. kr HANNAM UNIVERSITY 19

12. 4 옵션(option)(계속) <옵션-끝(end of option) Ü맨 끝에 패딩을 위해 사용되는 한 바이트 옵션

12. 4 옵션(option)(계속) <옵션-끝(end of option) Ü맨 끝에 패딩을 위해 사용되는 한 바이트 옵션 Http: //netwk. hannam. ac. kr HANNAM UNIVERSITY 20

12. 4 옵션(option)(계속) <무 동작(no operation) Ü채우기(filler)로 사용되는 한 바이트 옵션 Http: //netwk. hannam.

12. 4 옵션(option)(계속) <무 동작(no operation) Ü채우기(filler)로 사용되는 한 바이트 옵션 Http: //netwk. hannam. ac. kr HANNAM UNIVERSITY 21

12. 4 옵션(option)(계속) <타임스탬프(timestamp) Ü 10바이트 길이 옵션 Ü왕복 시간(round-trip time) 계산에 사용 Http:

12. 4 옵션(option)(계속) <타임스탬프(timestamp) Ü 10바이트 길이 옵션 Ü왕복 시간(round-trip time) 계산에 사용 Http: //netwk. hannam. ac. kr HANNAM UNIVERSITY 24

12. 5 검사합 ÜUDP와 동일하며 필수 사항(mandatory) Ü의사 헤더(pseudoheader)를 세그먼트에 추가 Ü프로토콜의 값 :

12. 5 검사합 ÜUDP와 동일하며 필수 사항(mandatory) Ü의사 헤더(pseudoheader)를 세그먼트에 추가 Ü프로토콜의 값 : 6 Http: //netwk. hannam. ac. kr HANNAM UNIVERSITY 25

12. 6 흐름 제어(flow control)(계속) <포인터를 이용한 슬라이딩 윈도우 Http: //netwk. hannam. ac. kr

12. 6 흐름 제어(flow control)(계속) <포인터를 이용한 슬라이딩 윈도우 Http: //netwk. hannam. ac. kr HANNAM UNIVERSITY 27

12. 6 흐름 제어(flow control)(계속) <윈도우 크기 증가 Ü확인 응답 세그먼트 이용 Http: //netwk.

12. 6 흐름 제어(flow control)(계속) <윈도우 크기 증가 Ü확인 응답 세그먼트 이용 Http: //netwk. hannam. ac. kr HANNAM UNIVERSITY 28

12. 6 흐름 제어(flow control)(계속) <윈도우 크기 감소 Http: //netwk. hannam. ac. kr HANNAM

12. 6 흐름 제어(flow control)(계속) <윈도우 크기 감소 Http: //netwk. hannam. ac. kr HANNAM UNIVERSITY 29

12. 6 흐름 제어(flow control)(계속) <윈도우 관리 Ü목적지에서 증가 또는 감소 Http: //netwk. hannam.

12. 6 흐름 제어(flow control)(계속) <윈도우 관리 Ü목적지에서 증가 또는 감소 Http: //netwk. hannam. ac. kr HANNAM UNIVERSITY 30

12. 7 오류 제어(계속) <훼손 세그먼트 Http: //netwk. hannam. ac. kr HANNAM UNIVERSITY 35

12. 7 오류 제어(계속) <훼손 세그먼트 Http: //netwk. hannam. ac. kr HANNAM UNIVERSITY 35

12. 7 오류 제어(계속) <손실 세그먼트 Http: //netwk. hannam. ac. kr HANNAM UNIVERSITY 36

12. 7 오류 제어(계속) <손실 세그먼트 Http: //netwk. hannam. ac. kr HANNAM UNIVERSITY 36

12. 7 오류 제어(계속) <확인응답 손실 Http: //netwk. hannam. ac. kr HANNAM UNIVERSITY 37

12. 7 오류 제어(계속) <확인응답 손실 Http: //netwk. hannam. ac. kr HANNAM UNIVERSITY 37

12. 8 TCP 타이머 <TCP 타이머 종류 Http: //netwk. hannam. ac. kr HANNAM UNIVERSITY

12. 8 TCP 타이머 <TCP 타이머 종류 Http: //netwk. hannam. ac. kr HANNAM UNIVERSITY 39

12. 9 연결(계속) <3 단계 핸드쉐이크(three-way handshaking Http: //netwk. hannam. ac. kr HANNAM UNIVERSITY

12. 9 연결(계속) <3 단계 핸드쉐이크(three-way handshaking Http: //netwk. hannam. ac. kr HANNAM UNIVERSITY 45

12. 9 연결(계속) <4 단계 핸드쉐이크(four-way handshaking) Http: //netwk. hannam. ac. kr HANNAM UNIVERSITY

12. 9 연결(계속) <4 단계 핸드쉐이크(four-way handshaking) Http: //netwk. hannam. ac. kr HANNAM UNIVERSITY 47

12. 10 상대 천이 다이어그램 <유한 상태 기기(finite state machine) 이용 구현 <TCP 상태

12. 10 상대 천이 다이어그램 <유한 상태 기기(finite state machine) 이용 구현 <TCP 상태 State ----CLOSED LISTEN SYN-SENT SYN-RCVD ESTABLISHED FIN-WAIT-1 FIN-WAIT-2 CLOSING TIME-WAIT CLOSE-WAIT LAST-ACK Http: //netwk. hannam. ac. kr Description -------There is no connection The server is waiting for calls from the client A connection request is sent; waiting for acknowledgment A connection request is received Connection is established The application has requested the closing of the connection The other side has accepted the closing of the connection Both sides have decided to close simultaneously Waiting for retransmitted segments to die The server is waiting for the application to close The server is waiting for the last acknowledgment HANNAM UNIVERSITY 48

12. 10 상대 천이 다이어그램(계속) <상대 천이 다이어그램 Http: //netwk. hannam. ac. kr HANNAM

12. 10 상대 천이 다이어그램(계속) <상대 천이 다이어그램 Http: //netwk. hannam. ac. kr HANNAM UNIVERSITY 49

12. 12 TCP 동작 <캡슐화와 역 캡슐화 Http: //netwk. hannam. ac. kr HANNAM UNIVERSITY

12. 12 TCP 동작 <캡슐화와 역 캡슐화 Http: //netwk. hannam. ac. kr HANNAM UNIVERSITY 52

12. 12 TCP 동작(계속) <큐잉 Http: //netwk. hannam. ac. kr HANNAM UNIVERSITY 53

12. 12 TCP 동작(계속) <큐잉 Http: //netwk. hannam. ac. kr HANNAM UNIVERSITY 53

12. 12 TCP 동작(계속) <다중화와 역 다중화 Http: //netwk. hannam. ac. kr HANNAM UNIVERSITY

12. 12 TCP 동작(계속) <다중화와 역 다중화 Http: //netwk. hannam. ac. kr HANNAM UNIVERSITY 54

12. 13 TCP 설계 Ü전송 제어 블록(TCB : Transmission Control Block) Ü타이머(Timer) Ü메인 모듈(Main

12. 13 TCP 설계 Ü전송 제어 블록(TCB : Transmission Control Block) Ü타이머(Timer) Ü메인 모듈(Main Module) Ü입력 프로세스 모듈(Input Process Module) Ü출력 프로세스 모듈(Output Process Module) Http: //netwk. hannam. ac. kr HANNAM UNIVERSITY 55

12. 13 TCP 설계(계속) <TCP 설계 Http: //netwk. hannam. ac. kr HANNAM UNIVERSITY 56

12. 13 TCP 설계(계속) <TCP 설계 Http: //netwk. hannam. ac. kr HANNAM UNIVERSITY 56

12. 13 TCP 설계(계속) <전송 제어 블록(TCB) Ü연결 제어에 대한 정보 보관 Http: //netwk.

12. 13 TCP 설계(계속) <전송 제어 블록(TCB) Ü연결 제어에 대한 정보 보관 Http: //netwk. hannam. ac. kr HANNAM UNIVERSITY 57

12. 14 요약 Http: //netwk. hannam. ac. kr HANNAM UNIVERSITY 61

12. 14 요약 Http: //netwk. hannam. ac. kr HANNAM UNIVERSITY 61