인터넷 네트워크

bird.j·2021년 5월 20일
0

HTTP

목록 보기
1/7

앞으로의 http 기록은 인프런의 모든 개발자를 위한 HTTP 웹 기본 지식강의를 바탕으로 한다.

클라이언트 --- 인터넷 --- 서버
많고, 복잡한 인터넷 망을 어떻게 헤쳐서 목적지에 도착할 수 있을까?

💡 IP(인터넷 프로토콜)


🎈 IP 프로토콜의 역할

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

🎈 IP 프로토콜의 한계

  • 비연결성
    • 패킷을 받을 대상이 없거나 서비스 불능 상태여도 패킷 전송
  • 비신뢰성
    • 중간에 패킷이 사라지거나 순서대로 안올 수 있음
  • 프로그램 구분
    • 같은 IP를 사용하는 서버에서 통신하는 어플리케이션이 둘 이상이면 어떻게 구분?

그래서 나온 것이 TCP..!



💡 TCP


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

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

🎈 TCP 특징

: 전송 제어 프로토콜

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

TCP 3 way handshake

  • SYN : 접속 요청
  • ACK : 요청 수락
  • 마지막 ACK와 함께 데이터 전송 가능

클라이언트-->SYN--> 서버
클라이언트<--SYN+ACK<--서버
클라이언트-->ACK-->서버

데이터 전달 보증

데이터를 잘 받았다는 응답을 전송해줌

순서보장

TCP데이터 안에 전송 제어 정보, 순서 정보가 포함되어 있기 때문

💡 UDP


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

  • 기능이 거의 없음
  • 연결지향 x
  • 데이터 전달 보증 x
  • 순서 보장 x
  • 데이터 전달 및 순서가 보장되지 않지만 단순하고 빠름
  • IP와 거의 같다. +PORT(어플리케이션 구분), 체크섬(데이터 맞는지 검증) 정도만 추가
  • 어플리케이션에서 추가 작업 필요



💡 PORT


IP : 목적지 서버 찾기
PORT : 어플리케이션의 서버 구분
0~1023 : 잘 알려진 포트, 사용하지 않음

  • FTP - 20,21
  • TELNET - 23
  • HTTP - 80
  • HTTPS - 443
    IP가 아파트라면 PORT는 몇동 몇호



💡 DNS


IP는 기억하기 어렵고, 변경될 수 있다.
도메인은 사서 정할 수 있고, 도메인 네임으로 요청하면 DNS서버가 IP로 응답

0개의 댓글