4.3 managing tcp sessions

8
4.3 Managing TCP sessions 4조 조조조 , 조조조 , 조조조

Upload: kiaria

Post on 05-Jan-2016

40 views

Category:

Documents


6 download

DESCRIPTION

4.3 Managing TCP sessions. 4 조 임종철 , 임정묵 , 이규윤. ◎ 목차. 4.3.1 TCP 세그먼트의 재조합 4.3.2 TCP 재전송 4.3.3 TCP 의 응답과 흐름제어 4.3.4 TCP 혼잡제어 와 세그먼트 손실 최소화. 4.3.1 TCP 세그먼트의 재조합. TCP 서비스를 이용 데이터를 전송할 때 에는 순차번호 ( Sequence numbers ) 를 헤더에 지정하여 보낸다 . - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: 4.3 Managing TCP sessions

4.3 Managing TCP sessions

4 조임종철 , 임정묵 ,

이규윤

Page 2: 4.3 Managing TCP sessions

◎ 목차

4.3.1 TCP 세그먼트의 재조합

4.3.2 TCP 재전송

4.3.3 TCP 의 응답과 흐름제어

4.3.4 TCP 혼잡제어 와 세그먼트 손실 최소화

Page 3: 4.3 Managing TCP sessions

4.3.1 TCP 세그먼트의 재조합• TCP 서비스를 이용 데이터를 전송할 때 에는 순차번호 (Sequence

numbers) 를 헤더에 지정하여 보낸다 .• 세션이 준비되는 동안 최초의 순차번호 ISN (Initial sequence Num

ber) 가 설정되고 이 순차번호는 수신자가 받는 바이트의 초기값이 된다 .

• 순차번호는 데이터 스트림의 순차성을 보장한다 . • 송신된 데이터는 분실될 수도 있고 , 부주의로 중복될 수도 있고 ,

순서에 어긋나게 배달될 수도 있으며 , 또는 손상될 수도 있다 이때 수신자측은 순차번호를 확인하여 수신자측에 재전송을 요구한다 .

다음 그림과 같이 세그먼트를 재조합하고 받은 세그먼트들을 정리하는 과정을 거쳐 데이터 전송에 신뢰성을 높인다 .

Page 4: 4.3 Managing TCP sessions

TCP 재전송• ACK 와 NAK 기반의 트래픽 제어 트래픽 제어의 가장 기본적인 방식으로 , 전달된 데이터 블록에

대한 수신측 응답이 ACK (ACKnowledge) 이면 정상 수신이고 , NAK (Negative ACK) 이면 비 정상 수신 ( 에러 ) 을 의미한다 .

송신자측은 일정시간내에 ACK 값을 받지못하거나

수신자측으로부터 NAK 코드 값을 받은 경우에는 데이터를 재송신한다 .

다음 그림은 ACK 의 요청을 나타낸것으로 순차번호는 그 데이터의 첫바이트를 나타내고 ACK 는 그 다음 순차번호의 데이터를 요청한다 .

Page 5: 4.3 Managing TCP sessions

TCP 재전송• 자동 재전송요구 (ARQ : Automatic Repeat Request) 수신측에서 받은 프레임에 에러가 감지되어 NAK 를 응답할 경우

자동으로 해당 프레임을 재전송하는 즉 , 에러를 복구하는 방식이다 .• go-back-N ARQ NAK 로 응답 받은 프레임부터 다시 전송을 시작하는 방식으로

송신단에 윈도우 크기 * 최대 프레임 크기의 버퍼 (buffer) 를 두어 NAK 시 재전송할 수 있도록 전송된 프레임을 보관한다 .

• selective reject ARQ NAK 로 응답 받은 프레임만 다시 전송하는 방식이다 . 송신단에 윈도우 크기 * 최대 프레임 크기의 버퍼 (buffer) 를 두어

NAK 시 재전송할 수 있도록 전송된 프레임을 보관하고 , 수신단에 역시 윈도우 크기 * 최대 프레임 크기의 버퍼를 두어 수신된 프레임을 일시 보관하여 에러 발생 시 재 전달 받은 프레임에 의해 어긋난 프레임의 수서번호를 재조정하도록 한다

Page 6: 4.3 Managing TCP sessions

4.3.4 TCP 혼잡제어 와 세그먼트 손실 최소화• Flow control( 흐름제어 )• 흐름제어란 수신 스테이션의 용량 이상으로 데이터가 넘치지

않도록 송신 스테이션을 제어하는 기술• Window size?• 수신 단말기로부터의 긍정응답을 기다리지 않고 연속적으로 • 논리적 통신로를 통하여 송출할수 있는 프레임의 수 .

• 최초의 윈도우 사이즈는 • 3000byte 로 설정• 최초 3000byte 송신후• 수신자의 응답을 기다림• 수신확인이 되면 그다음• 데이터를 전송• 만약 응답이 없거나 딜레이• 가 생기면 송신자는 그 세션• 을 위해 데이터송신을 중지

Page 7: 4.3 Managing TCP sessions

Windowing• Windowing 이란 ? 슬라이딩 윈도우라고도 불리는 기술로서

인터넷의 TCP에 의해 두 개의 컴퓨터 또는 네트웍 호스트간에 패킷흐름을 제어하기 위한 방법으로 사용

• 슬라이딩 윈도우는 하나의 확인으로 다수의 패킷 데이터를 확인할 수 있는 방법이다 .

• 일단 윈도우 ( 메모리버퍼 의 일정 영역 ) 에 포함되는 모든 패킷을 전송하고 , 그 패킷들의 전달이 확인되는대로 이 윈도우를 옆으로 옮김(slide) 으로서 그 다음 패킷들을 전송하는 방식이다

• TCP 가 통지를 받으면 TCP 는 윈도우를 데이터 흐름을 가로질러 움직이고 (slide), 다음 메시지를 전송한다 . 이로써 다중의 메시지를 작업함으로써 TCP 는 동시에 많은 정보를 데이터 흐름으로 밀어넣을 수 있는 것이다 . TCP 가 통지를 기다리기 전에 몇 개의 메시지를 전송하기 때문에 TCP 는 효율성과 전송 - 통지 사이클의 처리량을 크게 향상시킨다 .

• 이같은 방법으로 보내는 측과 받는측은 3 개의 패킷 폭을 가지는 슬라이딩 윈도우를 사용한다 . 그러므로 보내는측은 아무런 통지 메시지를 기다리지 않고 , 3 개의 패킷을 보낸다 .

Page 8: 4.3 Managing TCP sessions

• TCP 는 또한 TCP 연결 사이의 데이터 흐름을 협정해서 네트웍 대역폭을 최적화한다 .

• TCP 는 TCP 연결 전체를 통해서 데이터 흐름의 비율을 협상한다 . 이 협상 동안 TCP 는 확장하고 , 슬라이딩 윈도우의 폭과 접촉한다

• 인터넷의 데이터 이동량이 별로 없고 , 교통 밀집이 적으면 TCP 는 슬라이딩 윈도우의 폭을 확장한다 . 이렇게 함으로써 TCP 는 데이터를 통신 채널에 좀더 빠른 비율로 보낼 수 있다 . 더 많은 데이터가 채널을 통해 차례로 처리량이나 네트웍 대역폭을 증가시킨다