목차
1. 소켓?
2. 어떻게 이루어져 있나?
3. 소켓확인 방법
1. 소켓?
- 네트워크에서 전송계층와 응용계층을 이어주는 역할을 하는 인터페이스
네트워크를 통해 통신을 진행할 때 전송계층에서 바로 응용프로그램에 보내지 않는다. 전송계층까지 온 데이터를 응용계층의 프로세스까지 전달할 수 있어야 하는데 그 역할을 소켓이라는 것을 통해 진행한다.
소켓은 프로그램이 통신을 시도할 때 생성하며 통신에 필요한 정보를 가지고 있다.
2. 어떻게 이루어져 있나?
1) 인터넷 프로토콜
2 ) IP
3 ) PORT
4 ) 상태
소켓의 현재 상태를 의미하고 다음과 같은 유형이 있다
LISTEN | 서버 소켓이 클라이언트의 연결 요청을 기다리는 상태 |
SYN_SENT | 클라이언트 소켓이 서버로 SYN 패킷을 보낸 상태. |
SYN_RECEIVED | 서버 소켓이 클라이언트로부터 SYN 패킷을 받고, SYN-ACK 패킷을 보낸 상태. |
ESTABLISHED | 클라이언트와 서버 간의 연결이 성립된 상태. |
FIN_WAIT, CLOSE_WAIT, LAST_ACK등 | 연결 종료 |
3. 소켓확인 방법
소켓은 컴퓨터에서도 확인이 가능하다. 해당 명령을 프롬프트 또는 터미널에 입력하면 통신에 필요한 소켓을 확인할 수 있다.
netstat
해당 명령어 만으로도 소켓을 볼 수 있지만 옵션을 통해 필요한 정보만 표시할 수도 있다.
-l | Listen중인 소켓을 표시 |
-p | 소켓의 pid와 프로그램의 이름을 표시 |
-n | 주소를 숫자로 표시 |
-i | 인터페이스 정보표시 |
-t | tcp 소켓을 표시 |
-u | udp소켓을 표시 |
-r | 라우팅 소켓을 표시 |
-a | 모든 소켓 표시 |
-c | 매 초 명령실행 |
또한 소켓 말고 통신시 데이터 전송에 사용되는 버퍼도 표시된다.
- Recv-Q : 전송받은 데이터 중 처리하지 못한 데이터
- Send-Q : 전송은 되었으나 처리되지 않고 대기하는 데이터
참고자료
https://blog.naver.com/tescom9/50041179020
netstat 의 Send-Q, Recv-Q의 의미
netstat 의 Send-Q, Recv-Q의 의미Posted 2007/10/16 21:09 by ijbaek QUESTION:netstat 의 ...
blog.naver.com
https://reakwon.tistory.com/221
[리눅스] socket의 상태를 확인 - netstat 명령어 개념과 사용 방법 모음
리눅스 네트워크 프로그래밍에 관한 더 많은 정보와 예제를 담은 리눅스 교재를 배포했습니다. 아래의 페이지에서 리눅스 교재를 받아가세요. https://reakwon.tistory.com/233 리눅스 프로그래밍 note 배
reakwon.tistory.com
'네트워크' 카테고리의 다른 글
요청헤더 내용분석 (0) | 2024.06.07 |
---|---|
네트워크의 내 주소 IP (0) | 2024.06.02 |
HTTP? (0) | 2024.06.01 |
어디로 접속해야돼?...PORT (0) | 2024.05.30 |
TCP vs UDP (0) | 2024.05.26 |