IP adress ( Internet Protocol address ) 란!?
특정 PC에 접근하기 위해서 특정 PC의 IP adress ( Internet Protocol address )를 알아야 한다. 일반적으로 IPv4 주소체계를 사용하는데 ( Internet Protocol version 4 )의 줄임말이다.
localhost, 127.0.0.1 : 현재 사용 중인 로컬 PC의 Ip 주소
0.0.0.0, 255.255.255.255 : broadcast address, 서버에서 접근 가능한 IP 주소를 broadcast address 를 할당하면, 모든 기기에서 서버에 접근할 수 있다.
IP 프로토콜(규약)이란!?
- 지정한 IP 주소로 데이터를 전달한다.
- 패킷(Packet)이라는 통신 단위로 데이터를 전달한다.
- 패킷의 규칙은 ( 출발지 IP, 도착지 IP , 메세지의 규약을 따른다 )
IP 프로토콜의 한계
- 비연결성 : 패킷을 받을 대상이 없거나 서비스 불능 상태여도 패킷 전송
- 비신뢰성 : 중간에 패킷이 사라지거나 순서대로 도착하지 않을 때
- 프로그램 구분 : 같은 IP를 사용하는 애플리케이션이 둘 이상일 때
TCP의 특징
: 전송 제어 프로토콜 ( Transmission Control Protocol ) , 신뢰할 수 있는 프로토콜이라고 부른다.
- 연결지향 - TCP 3 way handshake (가상 연결!!) --> 비 연결성 해결
- SYN : 접속 요청 / ACK : 요청 수락
- 클라이언트 -> SYN ->서버에게
- 서버 -> SYN + ACK -> 클라이언트
- 클라이언트 -> ACK -> 서버 ( 데이터 함께 전송 가능 )
- 데이터 전달 보증 --> 비신뢰성 해결
- 순서보장 --> 비신뢰성 해결
UDP의 특징
- IP와 기능이 거의 동일하다
- PORT를 가지고 있다. ( PORT : 1개의 IP에서 여러개의 어플리케이션에 연결 가능 )
- 3 way handshake 할 필요가 없어서 빠르고, TCP는 최적화 되어 있기 떄문에 손을 대기 어렵다. 백지와 같은 UDP 특성을 이용해서 UDP를 커스터마이징 해서 사용할 수 있는 장점이 있다. (최근 유행)
프로토콜 계층
- 메세지 생성
- SOCKET 라이브러리를 통해 전달
- TCP 정보 생성, 메세지 데이터 포함 ( TCP 에서는 출발지 PORT, 목적지 PORT, 전송 제어, 순서, 검증 정보를 포함 )
- IP 패킷 생성, TCP 데이터 포함 ( IP 패킷에서는 출발지 IP, 도착지 IP , 메세지의 규약을 따른다 )
- Ethernet frame을 통해 서버로 전송
Port란!?
spring을 실행 했을 때 Tomcat started on port(s): 8080과 같은 숫자가 표현되는데, 이 숫자는 IP주소가 가리키는 PC에 접속할 수 있는 채널을 의미한다. 이 8080을 바로 Port라고 부른다.
- 0 ~ 65,535 : 할당가능
- 0 ~ 1024번 : 주요 통신 규약에 따라 이미 정해짐
- 20,21 : FTP
- 22 : SSH
- 23 : TELNET
- 80 : HTTP
- 443 : HTTPS
DNS (Domain Name System)
- 도메인 명 : google.com
- DNS는 도메인명을 IP주소로 변환해준다.
- IP는 외우기 어렵고 변하기 쉽다.
- IP주소가 변경되더라도 DNS를 통해 변경된 IP주소를 받을 수 있다.
'IT 정보 > Network' 카테고리의 다른 글
[네트워크] SPA(Single Page Application) : AJAX (8) | 2022.06.05 |
---|---|
[Network] HTTP Messages (10) | 2022.06.05 |
[Network] Stateful & Stateless (18) | 2022.06.05 |
[Network] URL / URI (4) | 2022.06.05 |
[Network] 프로토콜과 API (7) | 2022.06.05 |