안녕하세요.. 하루종일 회의실에앉아서..계획을만들고..이걸 하루하루에 짜맞추고..분석하고..토론하고....생각만해도 지겨우시죠?? ^^ 저역시 그렇습니다..조금 갑갑하죠... 근데 오늘, 그리고 내일 연속으로 워크샵과 회의가 있어서..그것도 8부터... 암튼 오늘은 어제 하려다 맛도못보고 끝난 TCP의 통신방식에 대해서 알아보려고 합니다...

TCP는 어제 말씀드린대로 connection oriented 방식이죠..따라서 통신전에 통신을 하려는 두녀석간에 무언가 교감(?)을 주고받습니다. 요녀석이 나랑 통신할 준비가 된 녀석인지를 확인해 보는거죠...^^

사람들도 처음 만나면 대화를 하기전에 악수를 먼저하죠..?? ^^ TCP역시 받듯하게 자란 장남이다보니..서로 만나면 악수를 하는데..이걸 3way handshake 라고 합니다. 3 냐면..3번 하거든요.. 자 아래 그림 보이시죠?? ^^

사용자 삽입 이미지

  먼저 보내고자 하는 A라는 녀석이 SYN 이란걸 보냅니다. 말하자면 100번부터 순차적으로 sync를 하자는 의미죠...

두번째악수에서 B란 녀석이 이걸 제대로 받았을 경우입니다..B A가 보낸 SYN에 대한 응답으로 101을 보내는겁니다. 이건 100을 잘받았고 이제 101을 보내라는 의미로 보심 됩니다. 따라서 101 ack 가되는 겁니다. 그러면서 자기도 SYN 하나를 보내는데 여기서는 이걸 sequence 300 으로 보냈죠??

둘간에 동기화를 위한거라고 생각하심 쉬울겁니다.

세번째 악수에서 A는 B에게 101 sequence number , 그리고 301 ack number로 보냈습니다.

이렇게 세번의 악수가 제대로 이루어지면 A는 ' B란 녀석이 데이터를 받을 준비가 됬구나..' 라고 생각한다음 데이터를 전송하게 되는 겁니다.

모든 TCP통신에서 이러한 3way handshake 가 이루어지기때문에 TCP통신이 UDP에 비해 더 신뢰가 있다고 하는거죠...하지만 TCP의 이러한 특성을 이용한 헤킹역시 문제가 되기도 합니다.

암튼 그건 담번에 기회가 되면 알아보기로하구요..^^ 오늘은 TCP통신에서는 통신전에 3번의 악수가 이루어진다... 머 여기까진 알아두심 되겠네요..^^ 자 그럼 오늘도 즐겁고..신나는 하루 되세요..^^ 안녕.

2007/05/03 19:37 2007/05/03 19:37

트랙백 주소 :: http://thinkit.or.kr/network/trackback/247

댓글을 달아 주세요