Socket 통신 정리, TCP/IP 정리
(1) HTTP 통신
- 클라이언트의 요청이 있을 때만 서버가 응답
- JSON, HTML, Image 등 다양한 데이터를 주고 받을 수 있음
- 서버가 응답한 후 연결을 바로 종료하는 단방향 통신이지만 Keep Alive 옵션을 주어 일정 시간동안 커넥션을 유지할 수 있다.
(2) 소켓 통신
- 클라이언트와 서버가 특정 포트를 통해 양방향 통신을 하는 방식
- 데이터 전달 후 연결이 끊어지는 것이 아니라 계속해서 연결을 유지 → HTTP에 비해 더 많은 리소스 소모
- 실시간 동영상 스트리밍이나 온라인 게임 등에 사용
- 단방향 통신인 Http 통신
Http 통신은 Client의 요청이 있을 때만 Server가 응답하여 해당 정보를 전송하고 곧바로 연결을 종료하는 방식입니다. Client가 요청을 보내는 경우에만 Server가 응답하는 단방향 통신으로 반대로 Server가 Client에게 요청을 보낼 수는 없습니다.
- 양방향 통신인 Socket 통신
Server와 Client가 특정 Port를 통해 실시간으로 양방향 통신을 하는 방식입니다. Http 통신과는 다르게 Server와 Client가 특정 Port를 통해 연결되어 있어서 실시간으로 양뱡향 통신을 할 수 있습니다.
소켓은 응용프로그램에서 TCP/IP를 이용하는 창구 역할을 하며, 두 프로그램이 네트워크를 통해 서로 통신을 수행할 수 있도록 양쪽에서 생성되는 링크의 단자입니다. 두 소켓이 연결되면 서로 다른 프로그램이 서로 데이터를 전달할 수 있게 됩니다.
이러한 Socket 통신은 일련의 규칙이 정해져 있는데요.
- 먼저 기다리는 측을 Server라고 하며, Server에서는 Port를 열고 Client의 접속을 기다립니다.
- 그리고 접속하는 측을 Client라고 하며, Server의 IP와 Port에 접속하여 통신이 연결됩니다.
- Server와 Client 간의 통신은 Send, Receive의 형태로 주고받습니다.
- 그리고 통신이 끝나면 close()로 접속을 끊습니다.
https://wildeveloperetrain.tistory.com/122
자바 소켓 통신(Socket)을 사용하는 이유와 동작 원리 및 코드
Java 소켓 통신(Socket)을 사용하는 이유 먼저 자바에서 소켓 통신은 C 또는 C++ 언어로 구현된 프로젝트와의 통신에 많이 사용됩니다. 이유는 Java와 C의 데이터 개념이 다르기 때문인데요. C에서는
wildeveloperetrain.tistory.com
TCP/IP(Transmission Control Protocol/Internet Protocol)
: 컴퓨터 네트워크에서 데이터 통신을 위한 프로토콜 스위트입니다. 이는 전 세계적으로 사용되는 표준 네트워크 프로토콜로, 인터넷에서 데이터를 전송하는 데 널리 사용됩니다.
TCP (Transmission Control Protocol):
- 연결 지향적인 프로토콜로, 데이터의 안정성을 보장합니다.
- 데이터를 여러 패킷으로 나누어 보내고, 수신 측에서는 이를 재조립합니다.
- 에러 검출 및 재전송 기능을 제공하여 신뢰성 있는 데이터 전송을 가능하게 합니다.
IP (Internet Protocol): IP 주소는인터넷에 연결된 모든 디바이스에 할당되는 고유 식별 번호입니다.
- 패킷 스위칭 네트워크에서 데이터를 전송하기 위한 주소 지정 및 라우팅을 담당합니다.
- 패킷은 출발지 IP 주소와 목적지 IP 주소를 포함하며, 중간 라우터들을 통해 목적지로 전달됩니다.
* IP주소, MAC주소는 네트워크에 연결된 모든 장치에 부여되는 값입니다. 하지만 두 주소는 쓰이는 범위가 다릅니다.
- MAC 주소 : 같은 네트워크(LAN)
- IP 주소 : 다른 네트워크
같은 네트워크는 스위치를 통해 이동하며, 다른 네트워크는 라우터를 통해 이동합니다. 라우팅 테이블에는 IP 주소 테이블이 있습니다.
https://yozm.wishket.com/magazine/detail/2005/
주니어 개발자를 위한 TCP/IP 주요 프로토콜 알아보기 | 요즘IT
이전 글 ‘주니어 개발자를 위한 엄청 쉬운 TCP/IP 4계층 이야기’에서, 컴퓨터와 컴퓨터의 통신이 올바르게 이루어지기 위해 데이터가 각각 어떤 계층에서 캡슐화되어야 하는지 알아보았습니다.
yozm.wishket.com
https://yozm.wishket.com/magazine/detail/1956/
주니어 개발자를 위한 엄청 쉬운 TCP/IP 4계층 이야기 | 요즘IT
이번 글에서는 이전 글 “택배 배송 과정으로 알아보는 엄청 쉬운 컴퓨터 네트워크”를 컴퓨터에서 일어나는 일로 가져와 설명해보도록 하겠습니다. 이전 글에서 저는 데이터가 4단계에 걸쳐
yozm.wishket.com