본문 바로가기
웹기초

[웹기초] 인터넷 네트워크

by H.초보개발자 2023. 10. 19.
반응형

이 글은 인프런 김영한 강사님에 모든 개발자를 위한 http웹 기본지식의 강의 내용을 바탕으로 작성되었습니다.

 

모든 개발자를 위한 HTTP 웹 기본 지식 - 인프런 | 강의

실무에 꼭 필요한 HTTP 핵심 기능과 올바른 HTTP API 설계 방법을 학습합니다., [사진] 📣 확인해주세요!본 강의는 자바 스프링 완전 정복 시리즈의 세 번째 강의입니다. 우아한형제들 최연소 기술

www.inflearn.com

기본적으로 인터넷 통신을 할 경우 서버에서 클라이언트에게 메시지를 전달하기 위해서는 수많은 노드를 거쳐가야 합니다.

클라이언트와 서버 사이의 수많은 노드들

수많은 노드 사이에 정확하게 서버나 클라이언트에게 메시지가 정확하게 전달되려면 ip 프로토콜 이란 것을 활용해야 합니다.

 

-ip 프로토콜이란?

ip 주소

먼저 통신을 하기 위해서는 클라이언트와 서버는 ip 주소를 부여받아야 합니다.

다음은 인터넷 프로토콜 역할입니다.

  • 지정한 IP주소에 데이터 전달
  • 패킷이라는 통신 단위로 데이터 전달

데이터를 전송할 때는 패킷에 대한 규칙이 있습니다. 규칙에는 출발지 ip, 목적지 ip 등이 포함되어 있습니다.

그렇게 되면 인터넷에서 노드에서 ip주소로 패킷을 전달하다 서버에 전송하게 됩니다.

서버에서 정상적인 메시지를 잘 받았으면 ok라는 메시지를 만들어 클라이언트에게 던져 주면 됩니다. 그렇게 되다면 클라리언트에게 정상적으로 도착하게 됩니다.

하지만 ip프로토콜에는 한계가 있습니다

  • 비연결성
    • 보내는 ip에 대한 pc가 꺼져있는 경우나 서비스가 불가능한 상태여도 패킷 전송
  • 비신뢰성
    • 중간에 패킷이 사라진다면?
    • 패킷이 순서대로 안 오면?
  • 프로그램 그분
    • 같은 ip를 사용하는 서버에서 통신하는 애플리이션이 둘 이상이면?

이러한 ip프로토콜의 한계를 극복하기 위해 TCP/UDP 프로토콜 방식이 나왔습니다

 

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

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

프로토콜 계층

프로토콜 계층

TCP/IP 패킷 정보

TCP/ IP 패킷 정보

TCP 특징

전송 제어 프로토콜

  • 연결지향 - TCP 3 way handshake(가상 연결)
  • 데이터 전달 보증
  • 순서 보장
  • 신뢰할 수 있는 프로토콜
  • 현재 대부분 TCP 사용

TCP 3 way handshake란?

3 way handshake

 

데이터 전달 보증

 

순서 보장

UDP 특징

사용자 데이터그램 프로토콜

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

PORT란?

하나의 pc에서 여러 인터넷을 사용할 때 사용하는 지정 번호

port 번호란

  • 0 ~ 65535 할당 가능
  • 0 ~ 1023 잘 알려진 포트, 사용하지 않는 것이 좋음
    • FTP - 20, 21
    • TELNET - 23
    • HTTP - 80
    • HTTPS - 443

 

DNS(Domain Name System)란?

ip는 기억하기 어렵기 때문에 도메인 주소로 접속 가능하게 하는 기술

  • 전화번호부
  • 도메인 명을 ip 주소로 변환

반응형

'웹기초' 카테고리의 다른 글

[웹기초] HTTP 상태 코드  (1) 2023.11.04
[웹기초] HTTP 메서드 활용  (1) 2023.11.02
[웹기초] HTTP 메서드  (0) 2023.10.31
[웹기초] HTTP 기본  (0) 2023.10.31
[웹기초] URL와 웹 브라우저 요청 흐름  (1) 2023.10.27