처음에서 MSB에서 3비트가 frag인데요 나머지 나머지 fragment offset
값입니다.(잘 아시겠지만 )
000xxxxxxxxxxxxx
첫번째 플래그는 얘약 비트입니다 . 그래서 항상 0이죠
두번째 비트는 DF (Don't Fragment) 이 비트값이 1이면 패킷을 자르지 못한다는 의미입니다.
세번째 비트는 MF(More Fragment) 이 비트 값이 1이면 잘려진 패킷이 더 있다는 의미죠
만약 Ethernet과 tonkring의 서로다른 대역폭을 갖는 네트웍에서 통신을 하려면 중간 변환 장치에서 대역폭이 큰곳에서 작은곳으로 전송될때 fragment(단편화)를 하게 되는데 이때 DF가 1로 셋이 되면 자를 수가 없읍니다. 즉 전송을 할수 가 없죠.
또 tcp의 windows 필트를 참조 해서 전송할 패킷을 최대 사이즈를 결정하는데요. 만약 10MByte를 한꺼번에 send를 하며 이패킷을 잘라서 보냅니다. (Ethernet의 MPU는 1514byte입니다 )
이때 잘려진 데이타의 첫번째 패킷의 ip헤더의 MF값은 1 , offset의 값을 0라고 적혀 있고 , 두번째 부터 중간 패킷들은 MF가 1로 셋팅되어 있고 offset값은 은 계속 증가 하게 됩니다.
그리고 마지막 잘려진 패킷을 값은 MF가 0이고 offset값을 잘려진 패킷의 특정위치를 가르키고 있겠죠.
즉 MF=1, Offset = 0 이면 처음 패킷
MF = 1, Offset = xxxx이면 중간 패킷
MF = 0, Offset = yyyy 이면 마지막 패킷이 되는 겁니다.
받는 host에서는 이 MF와 Offset을 이용하여 조립을 하게 되고요.
한나이 데이터엣 잘려진 각각의 패킷이다라는 것을 IP헤더에 있는 ID필드의 값을 이용해서 알수 있읍니다.
잘려진 패킷들의 ID필드는 모두 같습니다.
중복 포스팅은 하지 마시고 관련된 게시판 한 군데에만 글을 올리시기 바랍
중복 포스팅은 하지 마시고 관련된 게시판 한 군데에만 글을 올리시기 바랍니다. 자유게시판/강좌게시판/설치,활용질문 게시판에 올리신 글은 모두 지웠습니다.
음...
Flag와 Offset이 뭔지부터 알셔야 할꺼 같네요. ㅡ,.ㅡ;
H/W가 컴퓨터의 심장이라면 S/W는 컴퓨터의 영혼이다!
^^ TCP/IP책을 하나 구입해서보세요.. 또는 패킷 모니터링 툴을
ip 헤더의 flag비트는 다음과 같읍니다.
처음에서 MSB에서 3비트가 frag인데요 나머지 나머지 fragment offset
값입니다.(잘 아시겠지만 )
000xxxxxxxxxxxxx
첫번째 플래그는 얘약 비트입니다 . 그래서 항상 0이죠
두번째 비트는 DF (Don't Fragment) 이 비트값이 1이면 패킷을 자르지 못한다는 의미입니다.
세번째 비트는 MF(More Fragment) 이 비트 값이 1이면 잘려진 패킷이 더 있다는 의미죠
만약 Ethernet과 tonkring의 서로다른 대역폭을 갖는 네트웍에서 통신을 하려면 중간 변환 장치에서 대역폭이 큰곳에서 작은곳으로 전송될때 fragment(단편화)를 하게 되는데 이때 DF가 1로 셋이 되면 자를 수가 없읍니다. 즉 전송을 할수 가 없죠.
또 tcp의 windows 필트를 참조 해서 전송할 패킷을 최대 사이즈를 결정하는데요. 만약 10MByte를 한꺼번에 send를 하며 이패킷을 잘라서 보냅니다. (Ethernet의 MPU는 1514byte입니다 )
이때 잘려진 데이타의 첫번째 패킷의 ip헤더의 MF값은 1 , offset의 값을 0라고 적혀 있고 , 두번째 부터 중간 패킷들은 MF가 1로 셋팅되어 있고 offset값은 은 계속 증가 하게 됩니다.
그리고 마지막 잘려진 패킷을 값은 MF가 0이고 offset값을 잘려진 패킷의 특정위치를 가르키고 있겠죠.
즉 MF=1, Offset = 0 이면 처음 패킷
MF = 1, Offset = xxxx이면 중간 패킷
MF = 0, Offset = yyyy 이면 마지막 패킷이 되는 겁니다.
받는 host에서는 이 MF와 Offset을 이용하여 조립을 하게 되고요.
한나이 데이터엣 잘려진 각각의 패킷이다라는 것을 IP헤더에 있는 ID필드의 값을 이용해서 알수 있읍니다.
잘려진 패킷들의 ID필드는 모두 같습니다.
하휴 힘들다.. -.-.. 그럼 이만..
감사합니다 ^^
답변 감사드립니다~!*
댓글 달기