TCP는 신뢰성 있는 연결을 하는 프로토콜입니다. UDP랑 다르게 연결을 시작할 때도 복잡한 과정을 거칩니다. 연결을 시작하기전에, 송신/수신의 상태를 확인하는 과정이 필요합니다. 2-way handshake TCP 연결을 수립하는 방법 중 하나입니다. 클라이언트에서 연결을 하고싶다고 제안하면, 서버 측에서 승낙하는 방식입니다. 동작 방식 클라이언트가 서버에게 연결을 요청합니다. 이때 Headr의 SYN bit를 1로 설정하여 보냅니다. 서버가 연결이 가능할 경우, 클라언트에게 응답을 보냅니다. TCP header의 ACK,SYN bit를 1로 설정하여 보냅니다. 클라이언트가 서버로 부터 받은 ACK 패킷과, SYN 패킷을 확인하고, 데이터를 전송합니다. 설명의 편의를 위해서 왼쪽을 A, 오른쪽을 B라고..
TCP는 이제 설명하기 너무 입 아픕니다. 그저 간단하게 설명하자면 데이터의 신뢰성 있는 연결이 가능한 프로토콜입니다. TCP 프로토콜의 특징 point- to - point 하나의 sender는 하나의 receiver와 통신한다. Reliable, in-order byte system 데이터는 순서대로 applicaton layer로 넘겨지고, 데이터를 byte단위로 처리하기에, message의 맥락을 신경 쓰지 않는다. full duplex data 데이터 통신을 할 때 양방향으로 흐른다. cumulative ACKs 데이터의 신뢰성과 정확성을 확보, 안정적인 데이터 전송을 지원 pipelining TCP congetsion, flow cotrol이 window size를 결정함. connection..
Socket 컴퓨터 네트워크에서 프로세스 간 통신을 가능하게 해주는 소프트웨어 인터페이스이다. 서버와 클라이언트 간 통신에 사용된다. 클라이언트 -> 서버 (데이터 요청) 서버 -> 클라이언트 (응답) Application Layer와 Transport Layer 사이에 존재한다. 소켓은 주로 IP주소와 포트번호를 사용해서 데이터를 주고받는다. 소켓은 2가지의 타입이 있다. UDP 데이터의 신뢰성이나 연결 지향성을 보장하지 않습니다. 그렇기에 빠른 전송이 필요하거나, 데이터 손실이 허용되는 경우에 주로 사용됨. 실시간 멀티미디어 애플리케이션(음성, 비디오) 간단한 조회 및 상태 요청, 네트워크 게임 데이터 그램 단위로 전송. 비연결성 프로그램 (connect가 없음) 데이터 그램 단위로 교환하는 것을 알..
Application Layer는 프로토콜 스택에서 가장 상위 계층이다. Application layer는 eny system 들에게 여러 가지 서비스를 제공받거나 받는 부분을 책임진다. 즉, 이메일, 파일전송, 웹 서핑 등과 같은 서비스를 제공하고 제공받기 위해서 어떤 형식으로 메시지를 주고받아야 하는지의 프로토콜이 ㅁ여있는 계층이라고 생각하면 편합니다. Application Layer는 두가지 구조가 있습니다. Client - Server 구조와 P2P 구조가 있습니다. Client - Server 구조 컴퓨터와 컴퓨터가 통신하는 구조. 클라이언트가 요청하면 서버가 응답하는 방식. Client 서비스를 제공받는(요청하는) 호스트 ex) 데스크톱 , 스마트폰, 노트북, 태블릿 Server 서비스를 제공..