일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- tomcat
- 액세스회선
- LAN어댑터
- post
- Linux
- ansible
- Pipeline
- Java
- gradle
- Set
- 방화벽
- jdk
- docker
- 허브
- sonarQube
- DevOps
- container
- IntelliJ
- mybatis
- 캐시서버
- Jenkins
- 소켓
- cloud
- STREAM
- Collection
- AOP
- map
- 라우터
- Spring
- JPA
- Today
- Total
목록소켓 (4)
거북이-https://velog.io/@violet_evgadn 이전완료
ps ◎ 명령어 ps ps는 현재 프로세스의 목록 및 상태를 확인하는 명령어이다. ps는 단독으로 사용하기보다는 옵션, 특히 "-ef"라는 옵션을 붙여 활용하며, 서버 측에서 실행되고 있는 프로세스가 많을 것이기 때문에 grep을 활용하여 프로세스 리스트 중 원하는 프로세스를 찾는 방식으로 많이 활용한다. ps [Option] ps 옵션 -a : 데몬 프로세스처럼 터미널에 종속되지 않은 모든 프로세스를 출력 -u : 특정 사용자의 프로세스 정보를 확인할 때 사용. 사용자를 지정하지 않으면 현재 사용자를 기준으로 정보 출력 -x : 로그인 상태에 있는 동안 완료되지 않은 프로세서들을 보여줄 때 사용 유닉스 시스템에선 사용자가 로그아웃을 해도 프로세서가 계속 동작하게 할 수 있는데 이러한 터미널이 없음에도 ..
서버 접속 ◎ 서버 접속이 필요한 이유 클라이언트 쪽에 소켓을 만들었으니 웹 서버 쪽에 존재하는 소켓과 연결하는 과정이 필요하다. 이는 Socket 라이브러리의 "connect" 함수를 통해 수행할 수 있다. 그런데 생각해 보자. 과연 이 연결하는 과정이 왜 필요할까? 이미 클라이언트 PC와 웹 서버가 존재하는 컴퓨터는 케이블로써 연결되어 있는 상태이므로 언제든 통신이 가능한 상태이다. 즉, 물리적으로 이미 통신을 보낼 수 있는 상황에서 왜 소켓을 만들고 소켓끼리 연결하는 과정이 필요할까? 이를 알기 위해선 애플리케이션 프로그램 사이에서 데이티 송/수신을 진행할 때 "프로토콜 스택"을 사용한다는 것을 알아야 한다. 소켓을 만든 직후 애플리케이션에서 데이터 송신을 수행할 경우 프로토콜 스택은 어떤 상황일까..
프로토콜 스택 데이터를 송/수신하는 과정에서 OS에 내장된 프로토콜 스택은 큰 역할을 담당하고 있다. 브라우저가 프로토콜 스택에 송신을 의뢰하면 프로토콜 스택(네트워크용 소프트웨어)과 LAN 어댑터(네트워크용 하드웨어)가 연동하여 네트워크 상에 메시지를 송/수신한다. 그렇다면 TCP/IP 계층 구조가 어떻게 데이 송/수신을 진행하는지 그림으로 알아보자. 위 사진에서 위쪽에 있는 계층이 작업을 의뢰하면 아래쪽에 있는 계층이 그 작업을 수행하는 방식으로 구성되어 있다. 물론 이 상하 관계가 확실하지 않거나 상황에 따라 역전되는 경우도 있으므로 그렇게까지 엄밀히 생각할 필요는 없다. ◎ 네트워크 애플리케이션 가장 위에 있는 계층은 네트워크 애플리케이션으로써 브라우저, 메일러(메일을 쓰는 SW), 웹 서버, 메..
데이터 송/수신 동작 개요 ◎ 개요 이제 브라우저는 Request Message도 만들었고 OS에 메시지 송신을 의뢰하기 위해 IP 주소도 찾아냈다. 남은 것은 브라우저 측에서 OS 내부에 있는 프로토콜 스택에 데이터(Request Message)를 목적지(웹 서버 IP 주소)까지 보내달라고 의뢰하는 단계이다. OS 내부 프로토콜 스택에 메시지 송신을 의뢰할 때에도 이전에 사용했던 "Socket 라이브러리"를 활용한다. 하지만 IP 주소를 조회할 때는 메서드 1개(gethostbyname)만 사용한 것과 반면에 이 단계에선 여러 개의 메서드를 순서대로 사용해야 한다. 즉, OS 내부 프로토콜에 메시지 송신을 의뢰할 때는 라이브러리에 존재하는 복수의 프로그램을 결정된 순번대로 실행시켜야 하기 때문에 훨씬 ..