![]() by 지호입니다 메뉴릿
카테고리
최근 등록된 덧글
이 리졸버는 캐쉬와 같은..
by 김교수 at 05/27 UDP는 정말 전달계층에 .. by 김교수 at 05/27 재전송은..... 송신시.. by 김교수 at 05/27 그리고 ack응답이 처음에.. by 김교수 at 05/27 여자 친구 생겼다니..... by 김교수 at 05/14 예, tracert에 답변해 .. by 김교수 at 05/14 ARP의 기본개념을 잡아 .. by 김교수 at 04/15 가상강좌에 풀이를 올려 .. by 김교수 at 04/15 배고파서 죽는 줄 알았다... by 김교수 at 04/15 예..시험보기 전에 다시.. by 지호입니다 at 04/15 최근 등록된 트랙백
이전블로그
이글루링크
이글루 파인더
|
블로그를 세어보니..-_-;;
11주치...2개가 부족하다.. 5주차 예습과 6주차 예습 .. 우선 5주차 배운 내용은 서브넷이다.......... 이미 기말고사까지 치룬 나로서는 이제 서브넷을 보면 우습다.. 서브넷은 IP주소를 좀더 효율적으로 사용하기 위해서 호스트주소를 더 나누어서 서브넷 주소로 만든다. 이렇게 하면 남는 호스트 수가 더 적어진다. 하는 방법은 필요한 네트워크 수와 호스트 수가 필요하다. 그러니까 내가 써야되는 네트워크가 5개이고 호스트가 28이라고 가정하고 C클래스의 네트워크 주소가 하나 주어졌다고 가정할때 원래는 하나의 네트워크에 모든호스트주소(254개)가 주어져야 되는데 호스트의 앞에 3비트를 서브넷 주소로 사용하면 총 8개의 서브넷 주소가 나오고 각 서브넷 주소당 호스트 주소가 32개 씩나온다. 이렇게 하면 된다 . 물론 여기서 8개의 서브넷 주소에서도 2개는 네트워크자체를 뜻하고 하나는 전체 브로드캐스트 주소를 뜻하므로 사용하지 못한다..하지만 이것은 라우터가 서브넷마스크값을 읽을 수 있으면 사용할 수 있게된다. 호스트 주소도 32개중에서 2개는 사용못한다. 하나느 네트워크 자체를 뜻하는 주소고 다른 하나는 브로드캐스트 주소를 뜻한다.
저번시간에도 IP라우팅을 배웠는데...
멀 배운지 잘 모르겠다. 라우팅 테이블을 배운것 같기는 한데 . . CCNA시간에 많이 배웠던 내용이라 와닫지 않은것일까? 아무튼 그렇다. 뒷장에 보니까.. VLSM과정이 나온다. 이것은 CCNA시간에 한번 풀어봤으므로 .. 다시 확인 하기 위해서 여기서 풀어봐야겠다. 호스트가 각각 2, 7, 14, 28, 28로 5개의 서브네팅이 필요하다. 네트워크 주소는 204. 15. 5. 0으로 C클래스이다. 클래스의 개념이 필요한지는 모르겠지만 서브넷마스크를 알기 위해서 사용해야겠다. 그러면 내가 사용할 수 있는 호스트 수는 254개이다. VLSM으로 나눠보자. 우선 호스트 숫자가 많은 것부터.. 28개의 호스트가 필요한 네트워크가 2개가 있다. 여기에 서브넷주소 + 브로드캐스트 주소가 더해져야 함으로 30개가 필요하다고 생각하자. 그러면 서브넷마스크 255.255.255.0이였던 것을 3개의 비트를 서브넷주소로 하여서 프리픽스랭스/27로 해준다. 그러면 32개의 호스트를 부여해줄 수 있다. 이렇게 하면 204.15.5.0 ~ 204.15.5.31까지 그리고 204.15.5.32 ~204.15.5.63까지 서브넷 해준다. 그러면 가장 큰것 두개는 해주었고 이제 14,7,2가 남았다. 이것도 해주자. 14개의 호스트는 16개의 주소가 필요하다고 생각하고 프리픽스랭스를 /28로 해준다. 그러면 204.15.5.64 ~ 16개의 주소를 사용할 수 있다. 계산해서보면 204.15.5.79까지 사용하면된다. 그리고 7개도 서브넷주소 + 브로드 주소를 해줘야 함으로 9개가 필요하다 근데 이것은 .. 16개의 호스트 주소로부여 해야된다. 그러므로 위에서와 마찬가지로 204.15.5.80~204.15.5.95까지 부여해주면된다. 그리고 호스트가2개짜리인것은 4개의 주소가 필요하므로 프리픽스랭스를 /30으로 하여서 4개의 주소를 부여해주면된다. 즉 204.15.5.96~204.15.5.99까지 해주면된다. 글로적으서 다소 햇갈렸지만 예전같으면 5개 서브넷 하려면 8개로 서브넷팅해주고 해서 모든 서브넷당 32개의 주소가 들어가야됬지만 VLSM으로 하면 0~99까지의 사용만으로도 5개의 서브넷을 할당해줄 수 있었다.
이번시간에는 저번시간에 끝내지 못했던 HTTP실습이랑 IP라우팅을 배웠다!!
HTTP실습 역시나 쉽지 않았다. HTTP실습 절차는 웹에서 txt파일을 받아서 서버에 그파일 올리는 과정으로 진행됬다. wireshark로 TCP와 HTTP에 필터를 걸어서 업로드 과정을 캡쳐해보면 HTTP패킷과 TCP패킷이 보인다. 이걸 해석하면 HTTP는 내가 송신한 정보이고 TCP는 내가 수신한 ACK신호인 것을 확인 할 수 있었다. 처음에 3개의 패킷 HTTP 2개 TCP 1개 패킷을 보고 쓰리핸드 쉐이크 과정을 확인 할 수 있었다. HTTP패킷에 내가 SYN신호를 보내고 Seq넘버를 보낸다. 그러면 TCP패킷으로 ACK(송신 Seq+1)+SYN 신호가 날라오고 새로운 Seq넘버가 날라온다. 그리고 다음에 내가 보내는 HTTP송신신호에는 ACK신호를 보내고 Seq넘버(위에서 받았던 ACK(처음 Seq+1)신호)를 보냈다. 이렇게 해서 쓰리 핸드 쉐이크 과정을 확인 할 수 있었고, 다음은 데이터 전송과정 데이터 전송과정은 ACK신호를 Seq넘버로 하여서 시작한다. 즉 쓰리핸드쉐이크 과정의 마지막 Seq넘버와 같은 Seq값으로 하여서 데이터 전송이 시작된다. 처음 HTTP패킷은 이더넷의 MTU가 1500바이트인데 1500바이트가 되지 않았다. 이것은 처음보낸 패킷이 내가 보낸 데이터의 내용이 들어가 있는게 아니라 데이터의 정보 즉, 20061212alice라는 제목같은 정보가 들어가 있어서 그런것 같다. 그리고 다음HTTP패킷부터는 1500바이트씩 보낸걸 확인 할 수 있었다. 그런데 HTTP 7패킷은 1500바이트가 되지 않고 892바이트인걸 확인 할 수 있었다. 이것은 윈도우 XP의 클러스터가 8192바이트여서 그렇다고 한다. 클러스터란 하드디스크가 한번에 읽을 수 있는 데이터의 양을 말하는데 이것이 8192여서 7번째 데이터의 값이 1500바이트가 아닌 892바이트가 된것을 확인 할 수 있었다. 데이터 전송을 하면서 모든 HTTP패킷에 TCP패킷의 ACK신호가 온것은 아니였다. 중간에 오지 않은 ACK신호는 위 아래의 ACK신호를 보면서 생략 되었다고 할 수 있다. 쉽지않은 실험이였다. ! !
이제 드디어 진도를 찾았다.
HTTP실습!! 이거.. wireshark설정을 잘못해서 고생했다.. ccna시간에는 검은색 블록이 나오면 안된다고 해서 TCP와 UDP의 check sum 체크 없이 했는데 TCP에서도 이렇게 하면 될 줄 알고 했더니... 낭패였다.. 그래서 여러번의 자리를 옴겨서 시도한 끝에 결국 성공했다. 1~10까지 있는데 다른건 고민한게 많이 없는데 8번 재전송 부터 고민했다. 재전송 -_- TCP가 무엇을 보고 재전송 하는지 모르겠다. 세션플래그의 reset값이 있으면 재전송 하는거같은데 확실하지가 않다. 그리고 ack응답이 처음에는 http세그먼트 2개당 TCP세그먼트가 하나씩 왔는데 한 그렇게 두번 오가다 보니 다음부터는 http세그먼트 3개당 TCP세그먼트가 하나씩온다. 이건 잘 모르겠다. 그리고 처음 전송되는 데이터의 크기도 1460이 아닌 819인점도 이해가 안된다. 우선 분석은 그렇게 했는데 이해가 되질 않는다. 149K바이트의 데이터를 서버로 송신 하니까. 처음 세그먼트도 1460으로 되야 될거 같은데 그게 아니고 819로 세그먼트 됬다. 이거 다음실습시간에 완벽히 숙지해야겠다!!!!!!
|