[Web/HTTP] 인터넷 네트워크 (IP, TCP/UDP, PORT, DNS)

2021. 8. 30. 15:30

 1. 인터넷 통신

인터넷 상에서 컴퓨터는 어떻게 통신할까?

컴퓨터와 2대가 바로 옆에 붙어있다면 케이블을 이용해서 연결할 수 있다.

하지만 인터넷망을 이용해서 떨어져있는 컴퓨터는 어떻게 연결할까?

컴퓨터 간 통신을 위해 해저광케이블 등 복잡한 인터넷 망을 이용해서 보낼 것이다. 

이렇게 복잡한 인터넷 망으로 안전하게 데이터를 보내기 위해 인터넷 프로토콜인 IP를 이용한다.

 


 

 

2. IP (인터넷 프로토콜)

 

인터넷 망을 통한 데이터 전송을 위해 각 서버는 IP 주소를 갖고 있다.

 

IP의 역할

- 지정한 IP 주소(IP Address)에 데이터 전달

- 패킷(Packet)이라는 통신 단위로 데이터 전달

 


IP패킷

 

IP 패킷에는 데이터를 전송하는 출발지의 IP 주소와 데이터가 도착할 목적지의 IP 주소를 갖고 있다.

 

이 주소를 통해 컴퓨터(클라이언트, 서버)는 다른 컴퓨터와 데이터를 주고 받을 수 있다.

 

 

 


 

IP 프로토콜의 한계

 

- 비연결성 : 패킷을 받을 대상이 없거나 서비스 불능 상태여도 패킷 전송

- 비신뢰성 : 패킷이 사라지거나 패킷이 순서대로 안올 수 있다

- 프로그램 구분 : 같은 IP를 사용하는 서버에서 통신하는 애플리케이션이 여러 개있다면 구분이 불가능하다.

 

 

이러한 IP프로토콜의 한계를 TCP, UDP 프로토콜로 해결할 수 있다.


3. TCP/UDP (전송제어 프로토콜)

 

IP패킷 안에 TCP 패킷

 

TCP 패킷은 전송 제어, 순서, 검증 정보를 담고 있어 IP 프로토콜만으로는 해결이 안됐던 문제를 해결할 수 있다.

 


TCP의 특징

1. 연결지향 - TCP 3 way handshake (가상 연결)

2. 데이터 전달 보증

3. 순서 보장

 

TCP는 신뢰할 수 있는 프로토콜이며 현재는 대부분 TCP를 사용한다.

 

[ TCP 3 way handshake ]

 

TCP 3 way handshake

먼저 클라이언트가 서버에 연결가능 한지 SYN(접속요청)을 한다.

서버가 연결가능하다고 판단되면 SYN(접속요청) + ACK(요청 수락)을 동시에 보낸다.

클라이언트가 ACK(요청 수락)을 보낸 후 데이터를 전송한다.

이 연결 과정은 실제로 연결되었다는 것이 아니라 개념적으로만 연결된 가상 연결이다.

 

[ 데이터 전달 보증 ]

[ 순서 보장 ]


UDP의 특징

- 기능이 거의 없어 사용자가 기능을 직접 붙힌다.

- 연결지향 - TCP 3 way handshake X

- 데이터 전달 보증 X

- 순서 보장 X

- 데이터 전달 및 순서가 보장되지 않지만, 단순하고 빠르다

- IP와 거의 유사하고 PORT와 체크섬정도만 추가되어있다

- 애플리케이션에서 추가 작업이 필요하다.

 

 

현재 UDP가 다시 각광받고 있다!!

TCP 3 way handshake를 하는 과정에서 시간이 걸리기 때문에 UDP를 이용하려는 추세이다.

 

 


 

4. PORT -같은 IP 내에서 프로세스 구분

 

 IP가 아파트 주소라면 PORT는 몇동 몇호인지 !!

 

- 0 ~ 65535 할당 가능

- 0 ~ 1023 : 잘 알려진 포트, 사용하지 않는 것이 좋음

- FTP - 20, 21

- TELNET - 23

- HTTP - 80

- HTTPS - 443

 


5. DNS서버란?

도메인 네임 시스템(Domain Name System)

- 전화번호부

- 도메인 명을 IP 주소로 전환

 

IP는 기억하기 어렵고 변경될 수 있기 때문에

DNS서버에 도메인 명과 IP를 저장해놓으면 도메인 명을 쳐도 IP로 변환해준다

 

'CS > Network' 카테고리의 다른 글

[Web/HTTP] 쿠키 세션 토큰 JWT localstorage  (0) 2021.12.09
[Web/Network] HTTP 기본 개념 및 HTTP1.0, HTTP1.1, HTTP2.0 특징  (0) 2021.11.30
[Web/HTTP] TCP/UDP  (0) 2021.11.26
[Network] OSI 7계층  (0) 2021.08.30

BELATED ARTICLES

more