일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 | 29 |
30 | 31 |
- python
- command
- 프로그래밍
- column
- linux
- 플러터
- 디자인패턴
- 가상환경
- 개발자
- dart
- 수학 애니메이션
- 명령어
- 디자인
- 유데미 러닝크루
- 도서
- flutter
- vscode
- 개발자도서
- 개발
- Code Generation
- 리눅스
- 맥
- 한빛미디어
- 코딩
- 다트
- 유데미
- 파이썬
- 책
- 위젯
- manim
- Today
- Total
목록TCP (2)
승상의 코딩 블로그

통신 프로토콜에 대한 이해는 통신에 대한 이해도를 높여주고 디버깅 시에 유용하게 쓰인다. TCP 연결 종료 과정도 디버깅 시에 유용하게 쓰일 수 있다.연결 종료 단계일단은 TCP 가 어떻게 연결 종료되는지를 알아보자. A, B 두 프로그램이 TCP 통신을 하고 있다고 하자.A 가 연결 종료를 먼저 요청했다고 가정한다. A 에서 FIN 패킷을 보낸다. B 에서 A 의 FIN 패킷에 대한 ACK 패킷을 보낸다.B 에서도 FIN 패킷을 보낸다. (B 도 연결 종료를 요청)A 는 B의 FIN 패킷에 대한 ACK 패킷을 보낸다. 이 때, 2MSL(Maximum Segment Lifetime) 만큼 대기한다.2MSL (1~4분 정도) 를 대기하는 이유는 A -> B 로의 마지막 ACK 가 정상적으로 전송됨을 보장..

소켓 통신하는 프로그램을 만들어 왔을 때, 테스트 프로그램을 받지 못하는 경우가 종종 있다.인터넷이 안된다면 외부에서 테스트용 프로그램을 다운받아 확인하기도 어렵다. 이렇게 네트워크를 기반으로 테스트해야하는 경우 리눅스의 nc 명령어를 사용해보자.nc 는 netcat 의 약어로써 net 은 네트워크이고 cat은 리눅스 명령어 cat이다.network 로 출력해준다는 의미로 이해하면 좋을 듯하다. * nc 는 기본 패키지로 많이 제공된다. * cat은 concatenate 의 약어로 파일을 이어붙이는 명령어지만 파일의 내용을 출력하는데 더 활용된다.가정데이터를 받으면 그 데이터를 그대로 다시 응답하는 TCP 에코 서버를 테스트 한다고 하자.TCP 에코서버의 ip 는 192.168.64.8 이고 포트는 1..