인터넷 네트워크

JunHo_LEE·2021년 10월 15일
0

http

목록 보기
1/3

인터넷 네트워크

IP 프로토콜의 한계

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

간단하게 패킷이란?

한번에 전송하는 정보의 단위

쉽게 보면 한 묶음이라고 생각하면 된다.

TCP/UDP


tcp

인터넷 프로토콜 스택 4계층 (오른쪽) 이미지 출처


  • 현재 수많은 프로그램들이 인터넷으로 통신하는데 있어 가장 기반이 되는 프로로콜로 실제 대다수 프로그램은 TCP와 IP로 통신하고있음.

  • 보통 하나로 표현하지만 TCP와 IP는 별개다-

1계층 네트워크 액세스 계층

  • OSI 7계층의 물리계층과 데이터 링크 계층에 해당
  • 물리적인 주소로 MAC을 사용
  • LAN, 패킷망, 등에 사용

2계층 인터넷 계층

  • OSI 7계층의 네트워크 계층에 해당
  • 통신 노드 간의 IP패킷을 전송하는 기능과 라우팅 기능을 담당
  • 프로토콜 - IP,ARP,RARP

3계층 전송 계층

  • OSI 7계층의 전송 계층에 해당
  • 통신 노드 간의 연결을 제어하고, 신뢰성 있는 데이터 전송을 담당한다.
  • 프로토콜 - TCP,UDP

4계층 응용 계층

  • OSI 7계층의 세션 계층, 표현 계층, 응용 계층에 해당
  • TCP/UDP 기반의 응용 프로그램을 구현할 때 사용한다.
  • 프로토콜 - FTP,HTTP,SSH

TCP 특징

  • 연결지향 TCP 3 way handshake (가상 연결)

    • 상대랑 나랑 연결이 됬나 확인을 하고 메세지를 보낼떄 가능

      간단하게 상대랑 연결됬을때 메세지 보냄.

    • 순서로 보면

      클라이언트에서 서버한테 접속 요청 -> 서버가 클라이언트한테 요청을 수락하는 동시에 접속 요청 -> 클라이언트가 요청을 수락 -> 데이터 전송

      왜 3 way 인지 했더니 왔다 갔다총 3번 해서 3 way 였음.

      요즘에는 최적화가 되서 3번째 부분에서 같이 데이터를 전송한다고 한다.

    • 논리적으로 연결이 됬다고 생각하는 것.

  • 데이터 전달 보증

    • 메세지를 보낸 상황에서 패킷이 누락이됬을떄 내가 알수있는것

      데이터를 전송 -> 서버에서 데이터를 잘 받은것을 보내줌

      메세지가 잘 전달 됬는지 이해할수 있음.

  • 순서 보장

    • ex) 패킷을 1,2,3 순서대로 전송 -> 서버가 1,3,2 순서로 도착을 하게됨. -> 서버가 패킷 2번부터 다시 보내라고 보냄.

      기본적으로 순서가 잘못 되면 클라이언트가 다시 보냄.

      물론 서버에서 최적화 할수 있음.

UDP 특징

기능이 거의 없음

그럼 왜씀.

IP와 거의 같다. +PORT +체크섬 정도만 추가

그럼 UDP의 장점은 뭘까?

  • 데이터 전달 및 순서가 보장되지 않지만, 단순하고 빠름.

PORT

  • 소프트웨어에서는 네트워크 서비스나 특정 프로세스를 식별하는 논리 단위.

  • 각 포트는 번호로 구별되며 이 번호를 포트 번호라고 함.

  • 포트 번호는 IP 주소와 함께 쓰여 해당하는 프로토콜에 의해 사용

예를 들어

클라이언트의 IP, PORT가 있고 서버의 IP,PORT가 있을때

클라이언트에서 서버에 IP 주소에 PORT에 데이터를 보냄 -> 서버가 클라이언트 IP, PORT에 결과를 보냄

그럼 서버는 어떻게 클라이언트에 PORT를 알수 있는것인가?

클라이언트에서 애초에 보낼때 출발지 IP, PORT를 보내니까 알수있음.

DNS

일단 IP는 기억하기 어렵다! IP는 변경될 수 있다.

  • 전화번호부 같은 서버를 제공을 해준다

    • 쉽게 보면 도메인명을 DNS서버에 등록.

    이 방법으로 위 2가지를 해결할수 있음.


[출처]

계층 4단계

포트

모든 개발자를 위한 HTTP 웹 기본 지식(인프런)

profile
반갑습니당

0개의 댓글