클라이언트 - 서버
프로토콜 계층
- 애플리 케이션에서 SOCKET라이브러리를 통해 전달
- TCP로 감쌈 + TCP 최적화 하기 위해 UDP 사용
- IP로 감싸 패킷으로 만듬
- 네트워크 인터페이스에서 이더넷 프레임으로 감싸 보냄
UDP(사용자 데이터그램 프로토콜 User Datagram Protocol)
패킷 구분용 PORT + 맞는지 검증해주는 체크섬
별 기능 없지만 변동 불가능한 TCP를 최적화하기 위해 추가적으로 사용하는 것
TCP(전송 제어 프로토콜 Transmission Control Protocol)
IP프로토콜 위에 살짝 올려 한계 극복
- 비연결성 : 도착지가 연결되어 있지 않아도 무조건 발송
- 연결을 하고 발송한다 TCP 3way handshake(가상연결)
- 비신뢰성 : 패킷이 예상대로 전송되지 않음
- 데이터 전달, 순서 보장
- 프로그램 구분 : 동시성에 구분이 안됨
구성 :
출발지 PORT, 목적지 PORT
전송제어, 순서, 검증 정보
* TCP 3way handshake
1. 클라이언트 → 서버 SYN : 접속요청 (싱크로나이즈)
2. 클라이언트 ← 서버 ACK : 응답 문자, 승인 요청 (acknowledgement code)
3. 클라이언트 → 서버 ACK + 데이터 전송 : 응답 문자, 승인 요청 (acknowledgement code)
IP(인터넷 프로토콜)
'IP 패킷'이라는 통신 단위로 지정 IP주소에 데이터를 전달
구성 : 출발지 IP, 목적지 IP, 기타
* 패킷 : 패키지(수화물) + 버킷(덩어리)
'CS > 프로그래밍 지식' 카테고리의 다른 글
[프로그래밍 지식] 개발자 도구 여는 모든 방법 (0) | 2024.02.10 |
---|---|
[프로그래밍 지식] 프로그래밍 관련 발음, 읽는 법, 말하는 방법 모음 (0) | 2024.01.12 |
[ 개발 지식 ] 컴퓨터 구조 Computer Architecture (0) | 2023.09.05 |
[ 개발 지식 ] 2진법 / 10진법 / 16진법 (0) | 2023.09.04 |
[ 개발지식 ] 결측치 Null, NA, NaN 한방에 정리 (0) | 2023.08.30 |