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
- 데이터 전달 보증
- 순서 보장
- 신뢰할 수 있는 프로토콜
- 현재 대부분 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
'CS 개념정리 > 네트워크' 카테고리의 다른 글
[네트워크 CS 준비] 3.HTTP (0) | 2023.01.13 |
---|---|
[네트워크 CS 준비] 2.URI와 웹 브라우저 요청 흐름 (0) | 2023.01.13 |
웹사이트 보안 - SSL, TLS, HTTP, HTTPS 개념 정리 (0) | 2023.01.06 |
API 개념 정리 - Rest API, Soap API (0) | 2023.01.06 |
네이버 클라우드 플랫폼 - NCP 관련 용어 정리 (0) | 2022.12.27 |