2009년 05월 28일
HTTP 실습을 통해서 이해한점
일반적으로 HTTP는 클라이언트와 서버사이에서 이루어지게 되는데 클라이언트가 서버측에 요청을 하면 서버가 응답하는 방식으로 이루어진다. 요청하는 방식에는 GET과 POST의 방식이 있는데 GET은 일반적인 형태이고 POST는 FORM을 이용한 형태이다. 예를 들면 로그인하는것을 상상하면 된다.
Wireshark를 통해서 HTTP의 요청을 POST의 방식을 사용해서 패킷 캡쳐를 해보았는데, 먼저 three-handshake 가 이루어지고 세션을 만드게 된다.그런데 요청을 하나만 할수 도 있지만 한 요청을 받는시간을 이용해서 여러개의 요청을 할수 있다. 그런데 서버측에서는 일일이 하나씩 다 잘받았다고 ack을 해주는 것이 아니라 중간 중간 하나씩 응답을 해주는 방식을 사용한다.
RTT는 전송시간과 도착시간의 평균값을 말한다.
9장에서 배웠듯이 데이터의 크기가 아무리 커도 window size가 작게 되면 window size에 맞는 형태로 전송해야 된다.
window XP 운영체제에서 하드디스크에서 데이터를 불러오는 단위를 클러스터라고 하는데 클러스터의 크기는 8192byte이다.
그런데 이더넷에서 보낼수 있는 데이터그램의 최대크기가 1500byte이긴한데 이더넷헤더와 TCP헤더의 총 40byte를 제거한 1460을 한번에 보낼수 있다. 그래서 8192 = 1460+1460+1460+1460+892 로 된다. 데이터 재전송 여부를 확인하는것은 똑같은 squence number가 전송됐는지 여부를 확인하면 된다.
thourgh put을 구하는 방법은 총데이터의 평균값 과 RTT/2 를 나누어주면 단위시간당 thourgh put을 구할수 있게된다.
# by | 2009/05/28 14:26 | TCP/IP수업을 듣고 이해한점 | 트랙백 | 덧글(0)



