※정처기 공부할 때 뭔지 몰라서 일단 외웠는데. 현재 진행하고 있는 프로젝트에서 TCP와 UDP의 개념을 알아야 하기 때문에 정리해 본 내용.※정처기 공부할 때 뭔지 몰라서 일단 외웠는데. 현재 진행하고 있는 프로젝트에서 TCP와 UDP의 개념을 알아야 하기 때문에 정리해 본 내용.출처 : https://dev-coco.tistory.com/144 – 매우 알기 쉽다!출처 : https://dev-coco.tistory.com/144 – 매우 알기 쉽다!출처 : https://dev-coco.tistory.com/144 – 매우 알기 쉽다!① close를 실행한 클라이언트가 FIN(나는 다 보냈어!이제 끊어!)을 보냈다가 FIN-WAIT-1의 상태로 대기한다.② 서버는 CLOSE-WAIT로 바꾸고 응답 ACK( 알았다!잠깐만요~)을 전한다.동시에, 해당 포토에 접속되는 어플리케이션에 CLOSE을 요청한다.③ ACK을 받은 클라이언트는 위상을 FINI-WAIT-2로 변경한 ④ close요청을 받은 서버 애플리케이션은 종료 프로세스를 진행, FIN(나도 끊을 것이다!)을 클라이언트에 보내고 LAST_ACK상태로 바꾼다.⑤ FIN을 받은 클라이언트는 ACK( 알았다!)를 서버에 다시 전송하고 TIME-WAIT에 상태를 바꾼다.TIME-WAIT에서 일정 시간이 지나면 CLOSE이다.ACK를 본서버도 포트를 CLOSED에서 내린다.<용어 정리>TIME-WAIT:먼저 연결을 끊측에서 생성되는 소켓에서 만일 전송 실패에 대비하기 위해서 존재하는 소켓이며 TIME-WAIT이 없으면 패킷 손실이 발생하거나 통신자 간 연결 해제가 제대로 이뤄지지 않을 수 있다.ESTABLISHED:접속 수립이 완료된 상태 서로 데이터를 교환할 수 있다.FIN-WAIT-1:자신이 보낸 FIN에 대한 ACK를 기다리거나 상대의 FIN을 기다리다.CLOSE-WAIT:상대의 FIN(종료 요청)을 받은 상태, 상대의 FIN에 대한 ACK을 보내고 애플리케이션에 종류를 안다.LAST-ACK:CLOSE-WAIT상태를 처리한 뒤 자신의 FIN요청을 보낸 뒤 FIN에 대한 ACK를 기다리고 있는 상태 TIME-WAIT:모든 FIN에 대한 ACK을 받고 연결 종류가 완료된 상태.새로운 접속과 겹치지 않도록 일정 시간 기다렸다가 CLOSED에 전이한다.CLOSED:접속 확립을 시작하기 전의 기본 상태(접속되지 않는 상태)5)TCP Flow6) TCP Header 정보6) TCP Header 정보필드 내용 사이즈 송신자의 포트 번호 TCP에 연결되는 가상 회선 양의 송수신 프로세스에 할당되는 포트 주소 16시퀀스 번호(Sequence Number)송신자가 지정하는 순서 번호 송신되는 바이트 수를 기준으로 증가.SYN=1:초기 시퀀스 번호이다.ACK번호는 이 값에 1을 더한 값. SYN=0:현재 세션의 이 세그먼트 데이터의 첫 바이트 값의 누적시 크잉즈 번호 32응답 번호(ACK Number)수신 과정이 올바른 수신한 바이트 수를 응답하기 위해서 사용 32데이터 오프셋(Data Offset)TCP세그먼트의 시작 위치를 기준으로 데이터의 시작 위치를 표현(TCP헤더 크기)4예약 필드(Reserved)을 사용하지 않지만 나중을 위한 예약 필드이며 0에서 충족되어야 한다.6제어 필드(Flag Bit)SYN, ACK, FIN등의 제어 번호 6윈도우 사이즈(Window)수신 윈도의 버퍼 크기를 지정할 때 사용. 0이면 송신 프로세스의 전송 중단 16체크 섬(Checksum)TCP세그먼트에 포함되는 프로토콜 헤더와 데이터에 대한 에러 검출 용도 16긴급 위치(Urgent Pointer)긴급 데이터를 처리하기 때문에 URG플래그 비트가 지정되어 있는 경우만 유효 163. TCP vs UDP ※ 개인적으로 그림을 보고 바로 이해할 수 있다. 사랑하다.TCP유디피드프로토콜 종류TCPUDP연결 방식 연결형 서비스 비연결형 서비스 패킷 교환 방식가상 회선 방식데이터그램 방식 전송 순서 보장 전송 순서가 바뀔 가능성이 있다수신 여부 확인수신 여부 확인하지 않는 통신 방식1:1통신1:1/1:N/N:M통신 신뢰성 높은 낮은 속도 늦었습니다프로토콜 종류 TCPUDP 연결방식 연결형 서비스 비연결형 서비스 패킷 교환방식 가상 회선 방식 데이터그램 방식 전송 순서 보장 전송 순서가 바뀔 수 있다 수신여부 확인 수신여부 확인 하지 않는 통신 방식 1:1 통신 1:1/1:N/N:M 통신 신뢰성 높음 낮은 속도 느림출처 : https://kldp.org/node/58368출처 : https://www.gpgstudy.com/forum/viewtopic.php?t=4000<出典>https://dev-coco.tistory.com/144 :グルメ店! 見て分かりやすい文章の中でトップだった。https://mangkyu.tistory.com/15 :上のおいしいお店と一緒に見ると理解もしやすくシナジー効果がプンプン!https://nordvpn.com/ko/blog/tcp-udp-comparison/https ://velog.io/ @hidaehyunlee/TCP-%99%80-UDP-%9D%98-%EC%B0%A8%EC%9D%B4htps://inpa.tistory.com/entry/NW-%F0%9F%8C%90-%EC%95%84%EC%A7%81%EB%8F%84-%EB%AA%A8%ED%98%B8%ED%95%9C-TCP-UDP-%EA%B0%9C%EB%85%90-%E2%9D%93-%EC%89%BD%EA%B2%8C-%EC%9D%B4%ED%95%B4%ED%95%98%EC%9E%90https ://velog.io/ @mysprtlty/TCP-UDP%EB3%84-9ED946%EB CESC-8%