Internet-Network

황상익·2024년 4월 15일

HTTP

목록 보기
1/9

IP

인터넷 프로토콜 역할

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

IP 패킷 정보

-> 패킷을 전달할 때 출발 IP와 목적 IP를 적어서 보낸다.

IP 프로토콜의 한계

  1. 비연결성
    패킷을 받을 대상이 없거나, 서비스 불능 상태여도 패킷 전송

  2. 비신뢰성
    if) 중간에 패킷이 사라진다면??
    if) 패킷이 순서대로 안온다면?? -> 보내는 용량이 클 경우 나눠서 보냄

3.프로그램 구분
같은 IP를 사용하는 서버에서 통신하는 애플리케이션이 둘 이상이라면??

TCP & UDP

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

ex)

애플리케이션층에 Hello 라는 메세지를 전달 하고 -> OS층에 TCP에 전달
-> IP 패킷 생성, TCP data 위에 쌓진다고 보면 됨

TCP 특징

전송 제어 프로토콜

  1. 연결지향 - TCP 3 way handshake
    참고로 3 way handshake는 물리적 연결이기 보다는 논리적 연결
    서로가 연결 되었다는 가정하에 연결이 되는 것

syn

  • 클라이언트가 서버에게 연결을 요청
  • 연결을 시작하고 싶다는 SYN
  • 패킷에는 시쿼스 번호 포함, 데이터 전송 순서 관리

ACK

  • 클라리언트의 SYN 패킷 받고 이를 확인, 신호
  • SYN 요청을 수락, 자신도 연결을 시작 -> 신호 전송
  • SYN 번호 + 1 = ACK 응답
  1. 데이터 전달 보증
  2. 순서 보장

신뢰할 수 있는 프로토콜
현재는 대부분 TCP 사용

UDP 특징

사용자 데이터프로그램 프로토콜
실시간 통신이나 스트리밍 애플리케이션에서는 빠른 전송이 중요했기 때문에 UDP는 이러한 요구를 충족하기 위해 개발

기능이 거의 없다.
연결지향X, 데이터 전달 보증X, 순서 보장X

데이터 무결성 검사 → 체크섬(Checksum)을 포함하고 있다. 잘못된 데이터가 전송되지 않도록 만들어준다.

단순히 빠르다.

정리
IP + PORT + 체크섬 정도만 추가
애플리케이션 추가 작업 필요

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

port로 구분해서 각각 어느 곳에 들어가야 하는지 알 수 있다. (같은 IP 내에서 프로세스 구분)

ex)
FTP - 20,21
TELNET - 23
HTTP - 80 (TCP)
HTTPS - 443 (TCP)

DNS

IP는 기억하기 어렵기도 하고 변경 가능성이 있다
따라서 DNS 서버에 도메인 명을 입력하면, DNS에서 Domain 주소를 IP로 변경 해서 응답하는 형태 (사람이 읽을 수 있는 도메인 이름을 컴퓨터가 읽을 수 있는 IP 주소)

profile
개발자를 향해 가는 중입니다~! 항상 겸손

0개의 댓글