본문 바로가기
네트워크

인터넷 네트워크

by ez.pang 2023. 4. 26.

인터넷 통신

클라이언트와 서버 사이에 복잡한 인터넷(노드)이 존재하고 인터넷을 통해 통신을 하기 위해 IP(Internet Protocol) 이 필요하다.

 

IP

클라이언트, 서버는 각각 IP를 가지고 있다.

지정한 IP 주소에 데이터를 전달 (패킷이라는 단위로 전달 : 출발지IP+도착지IP+정보+.....)

(packet : package(화물) + bucket(덩어리))

 

IP 프로토콜의 한계

1. 비연결성 : 받을 대상이 없거나 서비스 불능 상태여도 일단 전송

2. 비신뢰성 : 중간에 패킷이 사라질 경우(패킷 소실), 패킷이 순서대로 오지 않을 경우

3. 프로그램 구분 : 같은 IP를 사용하는 서버에서 통신하는 애플리케이션이 둘 이상일 경우


TCP( Transmission Control Protocol : 전송 제어 프로토콜 ), UDP ( User Datagram Protocool : 사용자 데이터그램 프로토콜 )

IP 프로토콜의 한계를 해결해주는 TCP

 

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

- 애플리케이션 계층 : HTTP, FTP

[ 소켓 라이브러리를 통해 HTTP 요청 메세지를 전달 ↓ ]

- 전송 계층 : TCP, UDP

[ 전달받은 요청정보에 TCP 정보(출발지 PORT, 목적지 PORT, 전송 제어, 순서, 검증 정보... )를 감싸서 전달 ↓ ]

- 인터넷 계층 : IP

[ 전달받은 요청정보에 IP 정보(출발지IP, 목적지IP, 기타... )를 감싸서 전달 ↓ ]

- 네트워크 인터페이스 계층 

 

TCP특징

1. 연결지향 : 클라이언트, 서버가 먼저 연결이 되도록 함 (3 way handshake)

2. 데이터 전달 보증 : 중간에 누락된 정보가 있을 시 인지 가능

3. 순서 보증

 

UDP특징

1. 하얀도화지에 비유(거의 기능 없음)

2. 데이터 전달, 순서가 보장되지는 않지만 단순하고 빠름

* IP와 거의 같음 + PORT + 체크섬

=> 한 IP에서 여러 애플리케이션을 사용할 때 유용

 

PORT( 선착장 )

IP는 아파트, PORT는 호수라고 생각하자

한 IP 내에서 PORT마다 애플리케이션이 할당되고 클라이언트와 서버가 정보를 주고 받을 때 정해진 PORT로만 주고받도록 설정 -> TCP 단계에서 담게 된다.

 

0~65535 : 할당가능

0 ~ 1023 : 잘 알려진 포트, 사용하지 않는 것 권장

* FTP : 20, 21

* TELNEL : 23

* HTTP : 80

* HTTPS : 443


DNS( Domain Name System : 도메인 이름 시스템)

IP에 도메인 이름을 설정

- IP 변경, 관리가 쉽다.

- IP를 외울 필요가 없다.

'네트워크' 카테고리의 다른 글

HTTP 헤더 - 캐시와 조건부 요청  (0) 2023.05.03
HTTP 헤더 - 일반헤더  (0) 2023.05.02
HTTP 상태코드  (0) 2023.04.28
HTTP Method  (0) 2023.04.28
URI와 웹 브라우저 요청, 응답 흐름  (0) 2023.04.26

댓글