인터넷 프로토콜 스택의 4계층
왼쪽은 컴퓨터 간 패킷 통신을 위해 거쳐야하는 7개의 계층을 의미합니다. 인터넷 프로토콜은 TCP/IP 프로토콜 통신 과정에 4계층으로 나눠져있습니다. 각 층은 아래와 같습니다.
- 애플리케이션 - HTTP,FTP 프로토콜 웹브라우저, 네트워크 게임, 채팅 프로그램, SOCKET 라이브러리
- 전송 - TCP, UDP :: OS(운영체제)
- 인터넷 - IP :: OS(운영체제)
- 네트워크 인터페이스 - LAN
IP 패킷의 구성
- 출발지, 목적지, 기타
- 전송데이터
TCP/IP 패킷
- 출발지 포트, 목적지 포트, 전송제어, 순서, 검증정보
특징
전송제어 프로토콜
- 연결지향 - TCP 3 way handshake(가상연결)
- 데이터 전달 보증
- 순서 보장
- 신뢰성있는 프로토콜
- 현재에 대부분 쓰임
연결 지향
- SYN : 요청
- ACK : 요청 수락
- 연결이 되고 나면 메세지를 보낼 수 있다
*그냥 클라이언트와 서버가 논리적으로 연결된 거구나(나를 위한 전용랜선이 보증된게 아님!)
데이터 전달 보증
- 데이터 전송 후 잘 받았다는 응답을 보냄 -> 내가 이해할 수 있음
순서 보장
- 1,2,3 순서로 전송 -> 1,3,2로 도착
- 다 버리고 2번부터 다시 보내라고 응답
- 전송제어 정보, 순서, 검증 정보 덕분에 가능한거임
UDP
TCP와 같은 계층
- 기능이 없음(하얀 도화지)
- 연결 지향 아님
- 데이터 전달 보증 안됨
- 순서 보장 안됨
- 단순하고 빠름
- IP와 거의 같다 + PORT + checksum
왜?
TCP가 조금 느리기 때문에 최적화를 위해 사용한다. 현재 TCP가 90%이상 점유하고 있다. 그러나 요즘 UDP가 각광받는 중이다. 그
이유는 HTTP 3 에서 최적화를 위해 UDP를 사용했기 때문이다.
한번에 둘 이상 연결해야 한다면?
게임하면서 화상통화 -> 클라이언트는 여러개 서버와 통신해야함
그런데, 각 클라이언트와 서버를 어떻게 구분하는가?
TCP : 출발지 포트, 목적지 포트
포트 - 같은 IP내에서 프로세스 구분
- 0 ~ 65535 - 할당가능
- 0 ~ 1023: 잘 알려짐. 사용 자제
Domian name system
IP 문제 : 기억이 어려움, 변경될 수 있다.(접근 안됨)
그래서 도입!(전화번호부와 같은 역할을 한다.)
'CS' 카테고리의 다른 글
아직도 동기와 비동기를 이해 못하는 너에게 (2) | 2023.03.18 |
---|---|
[CS] CSR, SSR 그리고 SSG에 대해 이해하기 (0) | 2023.03.11 |
[CS] 쿠키와 세션 그리고 브라우저 저장소 (0) | 2023.03.08 |
[OS] 운영체제 기초 활용하기 (0) | 2022.08.28 |
[CS] 클라이언트와 서버가 통신하는 아주 간단한 방법 - IP (0) | 2022.08.23 |