본문 바로가기
CS 개념정리/네트워크

[네트워크 CS] 1. 인터넷 네트워크

by 반오십 코린이 2023. 1. 12.
728x90

IP(인터넷 프로토콜)

 

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

IP 패킷 정보

  • 출발 IP
  • 목적지 IP
  • 기타 ..

 

패킷 전달 예시

 

클라이언트의 패킷에서 출발 ip와 목적 ip가 있으므로 서버에서 해당 정보를 통해

발송 ip를 확인하여 다시 클라이언트로 패킷을 전달한다.

 

IP 프로토콜의 한계

 

  • 비연결성(Connectionless)

패킷을 받을 대상이 없거나 서비스 불능 상태여도 패킷을 전송한다.

 

  • 비신뢰성

중간에 패킷이 소실되거나 순서가 순서대로 안 올 가능성 농후

 

  • 프로그램 구분 어렵다.

한 서버에서 통신하는 애플리케이션이 2개 이상이면? - port의 필요성

 

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

 

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

 

프로토콜 계층

 

 

1. HTTP 메시지가 Socket lib를 통해 TCP로 전달

2. TCP 패킷을 씌운다. (출발지 port, 목적지 port, 전송제어, 순서..)

3. ip 패킷을 씌운다.

4. 랜 장비를 통해 서버로 패킷을 보낸다.

 

TCP 특징

 

  • 연결지향 - TCP 3 way handshake (가상, 논리적 연결)

 

  • TCP 연결을 끊을 때는 - TCP 4 way handshake

https://velog.io/@nnnyeong/Network-TCP-3-way-4-way-Handshake

 

  • 데이터 전달 보증

  • 순서 보장

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

 

UDP(User Datagram Protocol)특징

  • 하얀 도화지에 비유(기능이 거의 없다.)
  • 단순하고 빠르다.
  • IP와 특징이 거의 같다. - (Port + 체크섬(데이터 손실 여부 체크하는 수단) 정도만 추가)
  • Connectionless
  • 신뢰성이 떨어진다.

 

Port의 필요성

  • IP내에서 프로세스를 구분하는 역할인 port의 필요성
  • 0~1023: 잘 알려진 포트, 사용하지 않는 것이 좋음
  • 0~65535까지 할당 가능하다.
  • FTP 20, 21
  • TELENET 23
  • HTTP 80
  • HTTPS 443

 

DNS(Domain Name System)

IP를 직접 기억하기 어렵고 변경될 수 있기 때문에 DNS 서버를 따로 만든다.

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

 

김영한 강사님의 모든 개발자를 위한 HTTP 웹 기본 지식 강의에서 참고했습니다
728x90