컴퓨터 네트워크/모든 개발자를 위한 HTTP 웹 기본지식 정리

TCP/IP 프로토콜

kimjy 2022. 1. 24. 17:49

본 포스팅은 인프런 김영한 강사님의 HTTP 통신 강의 내용을 정리 및 요약 내용입니다.

 

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

  • 애플리케이션 계층(HTTP, FTP)
  • 전송계층(TCP, UDP) - OS 레벨
  • 인터넷 계층(IP) - OS 레벨
  • 네트워크 인터페이스 계층 (LAN 드라이버나 장비 등)

인터넷 프로토콜(IP)의 특징

  • 지정한 IP 주소에 데이터 전달
  • 패킷(packet)이라는 통신 단위로 데이터 전달
  • 비연결성: 패킷을 받을 대상이 없거나 서비스 불능 상태여도 패킷 전송
  • 비신뢰성: 중간에 패킷이 사라지거나, 패킷이 순서대로 오지 않을 가능성이 있음
  • 같은 IP를 사용하는 서버에서 통신하는 애플리케이션이 두개 이상이면 혼란 초래

전송제어 프로토콜(TCP , Transmission Control Protocal)의특징

  • 연결지향 - TCP 3 way handshake

1. 클라이언트->서버: 접속요청(SYN)

2. 서버->클라이언트: 요청 수락(ACK) 및 접속요청(SYN)

3. 클라이언트-> 서버: 요청 수락(ACK)

4. 데이터 전송

  • 데이터 전달 보증
  • 순서 보장
  • 신뢰할 수 있는 프로토콜임
  • 현재는 대부분 TCP를 사용함

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

  • 유저가 원하는대로 설정 가능
  • TCP와 같이 3 way handshake가 발생하지 않음
  • 데이터 전달이 보증되지 않음
  • 순서가 보장되지 않음
  • 데이터 전달 및 순서가 보장되지 않지만, 단순하고 빠름
  • IP와 거의 같지만, PORT 및 checksum 기능이 추가되어 있음
  • 따라서 애플리케이션에서 추가 작업이 필요함

PORT란?

  • 포트는 같은 IP 내에서 통신하는 프로세스를 구분할 수 있도록, 프로세스에 번호를 부여하는 것(?)
  • 0~65535: 할당가능
  • 0~1023: 잘 알려진 포트, 사용하지 않는 것이 좋음
  • FTP: 20, 21
  • TELNET: 23
  • HTTP: 80
  • HTTPS: 443

 

 

'컴퓨터 네트워크 > 모든 개발자를 위한 HTTP 웹 기본지식 정리' 카테고리의 다른 글

HTTP 상태 코드  (0) 2022.02.09
HTTP 메서드 및 URI 설계  (0) 2022.02.09
HTTP 통신  (0) 2022.01.25