궁금한게 많은 열아홉
article thumbnail
Published 2022. 8. 24. 16:44
[CS] TCP/IP를 알아보자 CS

인터넷 프로토콜 스택의 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 문제 : 기억이 어려움, 변경될 수 있다.(접근 안됨)

그래서 도입!(전화번호부와 같은 역할을 한다.)

profile

궁금한게 많은 열아홉

@jjin502

포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!