[HTTP] 인터넷 네트워크

Cherry·2022년 2월 7일
0
post-thumbnail

이 포스트는 모든 개발자를 위한 HTTP 웹 기본 지식-김영한 의 강의를 듣고 정리한 포스트입니다

인터넷 프로토콜 스택의 4계층

| 애플리케이션 계층-HTTP,FTP |
| 전송 계층-TCP,UDP |
| 인터넷 계층-IP |
| 네트워크 인터페이스 계층 |

인터넷 네트워크

  • 인터넷 통신
  • IP(Internet Protocol)
  • TCP,UDP
  • PORT
  • DNS

IP(Internet Protocol)

IP주소 부여,

IP의 역할지정한

IP주소에 데이터 전달

패킷이라는 통신 단위로 데이터 전달

IP패킷

출발지IP, 목적지 IP,전달할 내용 → (클라이언트 패킷 전달)클라이언트부터 서버까지의 노드들(인터넷)끼리 전달→(서버 패킷전달)출발지IP, 목적지 IP OK를 서버에서 클라이언트까지 노드들까지 통신하며 전달,,요청이랑 응답이랑 서로 다른 노드들이 사용될 수도 있음 (인터넷이 복잡하기 때문)

IP프로토콜의 한계

  • 비연결성: 패킷을 받을 대상이 없거나, 서비스 불능 상태여도 패킷 전송, 패킷 소실
  • 비신뢰성:중간에 패킷이 사라지거나 순서대로 오지 않으면?(메세지가 1500바이트 이상이면 패킷을 끊어서 보내는데 중간에 서로 다른노드들을 탈수도 있어서 도착하는 순서가 다름)
  • 프로그램 구분:같은 IP를 사용하는 서버에서 통신하는 애플리케이션이 둘 이상이면?
  • 이러한 한계를 해결해주는 것이 TCP,UDP

TCP, UDP

TCP 패킷 정보

출발지 포트, 목적지 포트, 전송 제어, 순서, 검증 정보, 안에 전송데이터

TCP 특징(전송제어 프로토콜)

  • 연결지향-TCP 3way handshake(가상연결, 개념적으로 연결, 물리적으로 연결X, 나를 위한 전용 랜선 보장X 논리적으로만 연결)
  • TCP 패킷 정보를 통한 데이터 전달 보증
  • TCP 패킷 정보를 통한 순서 보장
  • 신뢰할 수 있는 프로토콜
  • 현재는 대부분 TCP사용

TCP 3way handshake

  1. SYN(접속 요청)클→서
  2. SYN + ACK 서→클
  3. ACK(요청 수락)클→서
  4. 데이터 전송(요즘은 최적화 되어서 3,4번 동시에 진행됨)

시간 오래걸림

UDP 특징

  • 하얀 도화지에 비유(기능 거의 없음)
  • 연결지향-TCP 3way handshake X
  • 데이터 전달 보증 X
  • 순서 보장 X
  • 데이터 전달 및 순서가 보장되지 않지만, 단순하고 빠름
  • 정리
    • IP와 거의 같다 + PORT + 체크섬 정도만 추가
    • 애플리케이션에서 추가 작업 필요

PORT-같은 IP 내에서 프로세스 구분

한번에 둘 이상 연결해야된다면??

게임, 화상통화, 웹 브라우저 요청,,어 떻게 구분?

IP : 아파트, PORT:몇동 몇호??비유비유

  • 0~65535 할당 가능
  • 0~1023: 잘 알려진 포트, 사용하지 않는 것이 좋다

DNS-도메인 네임 시스템

IP는 기억하기 어렵고 변경될 수도 있음

  • 전화번호부같은 역할
  • 도메인 명을 IP주소로 변환

0개의 댓글