네트워크 이론

수호천사임다·2024년 10월 15일

자바

목록 보기
10/15

IP

인터넷 프로토콜 역할

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

소켓(Socket)

소켓은 네트워크 통신을 위한 양방향 데이터 통신의 끝점을 의미. 소켓은 IP 주소와 포트 번호를 결합하여 네트워크 상의 다른 장치와 통신할 수 있는 인터페이스를 제공. 소켓은 네트워크 응용 프로그램이 서로 데이터를 주고받는 채널을 생성하는 역할.

TCP 소켓, UDP 소켓


소켓 - 전화기?
소켓이 없으면 통신 불가능

전화가 없으면 통신 자체가 안된다.

서버소켓 - skt, kt, lg 같은 통신사 같은 것
소켓 - 전화기

소켓끼리는 통신 불가능
서버소켓(skt) 같다가 ~ 통신을 하는 것
입출력 스트림 하는것

서버소켓은 포트번호로 만든다.


IP 프로토콜의 한계

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

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

인터넷 프로토콜 스택은 애플리케이션 계층, 전송 계층, 네트워크 계층, 링크 계층으로 나뉩니다. 아래 표는 TCP와 UDP가 속하는 전송 계층을 포함한 각 계층의 역할과 프로토콜을 설명합니다.

계층설명프로토콜
애플리케이션 계층사용자에게 서비스를 제공하는 계층HTTP, FTP, SMTP, DNS 등
전송 계층호스트 간 신뢰성 있는 데이터 전송을 담당TCP, UDP
네트워크 계층데이터를 목적지 IP 주소로 라우팅하는 계층IP, ICMP
링크 계층물리적 네트워크를 통해 데이터를 전송하는 계층Ethernet, Wi-Fi 등

TCP

전송 제어 프로토콜(Transmission Control Protocol)

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

UDP

사용자 데이터그램 프로토콜(User Datagram Protocol)

  • 연결지향 X - TCP 3 way handshake X
  • 데이터 전달 보증 X
  • 순서 보장 X
  • 데이터 전달 및 순서가 보장되지 않지만, 단순하고 빠르다.
  • IP와 거의 유사. +PORT +체크섬 정도만 추가
  • 애플리케이션에서 추가 작업 필요

PORT

포트는 IP 주소와 결합되어 특정 애플리케이션이나 서비스를 식별하는 번호. 하나의 장치에서 여러 애플리케이션이 네트워크 통신을 할 수 있기 때문에, 포트 번호를 통해 해당 장치의 특정 애플리케이션으로 데이터를 전달할 수 있다.

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

DNS

도메인 네임 시스템(Domain Name System)

  • 전화번호부
  • 도메인 명을 IP 주소로 변환(IP는 기억하기 어렵다)

0개의 댓글