1_개요

Transport_Layer/$_Basic 2014. 2. 14. 11:22

1. Transport Layer

 -> Internet 5계층의 한 Layer를 담당한다.

 -> 서로 다른 Host간에 작동되는 App Process간에 논리적인 통신을 담당한다.

  : Host내에서 구동된 Process사이의 연결을 확립해준다.

 -> Network Layer가 제공하지 못하는 신뢰적인 전송을 제공한다.

2. 작동

 -> End System에서 작동한다.

  : Network 끝에서 데이터를 발생시키는 발생지 또는 데이터를 받는 목적지 역할을 한다.

  : End System을 사용하는 사용자를 End User라고 한다.

3. Sender

 -> 상위 Layer로부터 Message를 받아 Segment를 생성한다.

 -> 만든 Segment를 하위 Layer로 전송한다.

4. Receiver

 -> 하위 Layer로부터 Segment를 받아 Message를 추출한다.

 -> 추출한 Message를 상위 Layer로 전송한다.

5. 대표적 Protocol

 -> TCP (Transmission Control Protocol)

  : Sender가 하는 Congestion Control(혼잡제어)

  : Receiver가 하는 Flow Control(흐름제어)

  : 연결지향

 -> UDP (User Datagram Protocol)

  : Best Effor Delivery Service

  : Data 전달에 최선을 다하지만 어떠한 보장도 하지 않는다.

Posted by 훈승오승훈
l

1. Pipelining

 -> 한 번의 데이터를 많이 보내는 것을 의미한다.

 -> Sender는 보낸 packet에 응답packet(ACK)을 받지 않아도 전송할 수 있다. 

2. Persistent with Pipelining

 -> 한 번의 TCP Connection을 통해 여러 개의 Object를 받을 수 있다.

 -> Pipelining을 사용한다.

3. 연결방법

 -> 3-Way-Handshaking을 통해 접속을 맺는다.

 -> Client는 Request Message를 보낸다.

  : 기존과 다른점은 하나씩 Object를 받고자 했다면

  : 이번에는, Client가 내가 받고자 하는 크기만큼 보내달라고 요청한다.

 -> Server는 Client가 원하는 크기의 Object 만큼 보내게 된다.

 -> 모든 Object를 받은 경우, 접속을 해제한다.

4. 예

 -> Web Server로부터 5개의 Object를 받는다고 가정해본다.

 -> Nonpersistent는

  : 총 다섯 번의 TCP Connection이 이루어지며

  : 각각의 Connection마다 Socket을 생성한다.

 -> Persistent without Pipelining

  : 한 번의 TCP Connection이 이루어지지만 (Socket은 하나)

  : 5번의 Request Message를 날려야 한다.

 -> 그렇다면 Persistent with Pipelining

 -> 한 번의 TCP Connection으로 5개의 Object를 받을 수 있다.

  : Socket을 한 번만 생성되서 Resource를 조금 사용하게 되며

  : Request Message를 하나보내면서 5개의 Object를 받을 수 있다.

5. 전송시간

 -> Nonpersistent는

  : RTT + RTT + Trans Time + RTT + RTT + Trans Time + RTT + RTT + Trans Time + RTT + RTT + Trans Time + RTT + RTT + Trans Time 이다.

  : 10개의 RTT + 5개의 Trans Time

  : Trans Time은 - 1개의 Object를 보내는 시간이다.

 -> Persistent without Pipelining은

  : RTT + RTT + Trans Time + RTT + Trans Time + RTT + Trans Time + RTT + Trans Time + RTT + Trans Time 이다.

  : 6개의 RTT + 5개의 Trans Time

  : Trans Time은 - 1개의 Object를 보내는 시간이다.

 -> Persistent with Pipelining은

  : RTT + RTT + Trans Time

  : 2개의 RTT + 1개의 Trans Time

  : Trans Time은 - 5개의 Object를 보내는 시간이다.

'Application_Layer > %_Web / HTTP' 카테고리의 다른 글

5_지속연결(Persistent)_2  (0) 2014.02.06
4_지속연결(Persistent)_1  (0) 2014.02.05
3_비지속연결(Nonpersistent)  (0) 2014.02.05
2_HTTP Overview  (0) 2014.02.05
1_Web and HTTP  (0) 2014.02.05
Posted by 훈승오승훈
l

1. Pipelining

 -> 한 번의 데이터를 많이 보내는 것을 의미한다.

 -> Sender는 보낸 packet에 응답packet(ACK)을 받지 않아도 전송할 수 있다. 

2. Persistent without Pipelining

 -> 한 번의 TCP Connection을 통해 여러 개의 Object를 받을 수 있다.

 -> Pipelining은 사용하지 않는다.

3. 연결방법

 -> 3-Way-Handshaking을 통해 접속을 맺는다.

 -> Client는 Request Message를 보낸다.

 -> Server는 해당 Object 하나를 담은 Response Message 보내게 된다.

 -> Client는 Nonpersistent와는 다르게 연결을 끊지 않고

  : 다시 한 번, Request Message를 보낸다.

  : Server는 Object 하나를 담은 Response Message를 보내게 된다.

 -> 모든 Object를 받은 경우, 접속을 해제한다.

4. 예

 -> Web Server로부터 3개의 Object를 받는다고 가정해본다.

 -> Nonpersistent는

  : 총 세 번의 TCP Connection이 이루어지며

  : 각각의 Connection마다 Socket을 생성한다.

 -> 그렇다면 Persistent without Pipelining은???

 -> 한 번의 TCP Connection으로 3개의 Object를 받을 수 있다.

  : Socket은 한 번만 생성되기 때문에 Nonpersistent보다 Resource를 조금 사용하게 된다.

5. 전송시간

 -> 위 예와 같이 3개의 데이터를 보낼 때 발생하는 전송시간은 얼마가 될까?

 -> 이전에 Nonpersistent의 전송시간은 1개의 데이터를 보낼 때 발생한 전송시간은

  : RTT +  RTT + Trans Time이였다.

 -> 만약 Nonpersistent로 3개의 Object를 보냈다면

  : RTT + RTT + Trans Time + RTT + RTT + Trans Time + RTT + RTT + Trans Time이 걸린다.

 -> 그렇다면 Persistent without Pipelining으로 보냈다면??

  : RTT + RTT + Trans Time + RTT + Trans Time + RTT + Trans Time 으로 줄어든다.

 -> * 해당 예에서 4-Way-Handshaking은 포함되지 않았다.

'Application_Layer > %_Web / HTTP' 카테고리의 다른 글

6_지속연결(Persistent)_3  (0) 2014.02.06
4_지속연결(Persistent)_1  (0) 2014.02.05
3_비지속연결(Nonpersistent)  (0) 2014.02.05
2_HTTP Overview  (0) 2014.02.05
1_Web and HTTP  (0) 2014.02.05
Posted by 훈승오승훈
l