Computer Science/Network

HTTP/Internet Network

solgitae 2022. 6. 17. 10:36
728x90

• 인터넷 통신

클라이언트 측에서 메시지를 인터넷 상에 흘려 보내면 노드에서 노드로 전해지는 게 반복되면서 서버에 도착함

 

• IP(Internet Protocol)

인터넷 통신 규약이며, 이 규약에 맞게 통신을 해야 함. 클라이언트나 서버나 각각 IP주소라는 게 부여가 되는데 이 주소를 가지고

데이터를 주고 받을 수 있다. 이 때 데이터를 주고 받는 통신의 단위는 패킷이다.

 

*패킷: 출발지 IP, 도착지 IP, 전송 데이터, 기타

 

• IP 프로토콜의 한계

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

-비신뢰성: 중간에 패킷이 사라진다거나, 패킷이 순서대로 온다는 보장이 없음

-프로그램 구분: 같은 IP를 사용하는 서버에서 통신하는 애플리케이션이 둘 이상인 경우에는 어떻게 처리를 할 건지

 

• TCP

IP 프로토콜의 단점을 보완해서 나온 프로토콜이다. 패킷에 PORT, 패킷 순서, 검증 정보, 전송 제어 등 추가하여 전송한다.

연결지향 프로토콜(TCP 3way handshake)이며, 데이터의 전달을 보증하고 순서를 보장한다. 신뢰할 수 있는 프로토콜이며, 대부분 TCP를 사용함

 

• UDP

IP와 거의 같으며, PORT, 체크섬 정도만 추가된 정도이다. 데이터 전달 보증과 순서가 보장되지 않지만, 단순하고 빠르다는 장점이 있다.

기능이 거의 없음

 

• PORT

서버로 연결할 때 한 번에 여러 애플리케이션과 연결하고 싶은 경우 PORT를 사용함. HTTP는 80, HTTPS는 443, FTP는 20,21이 기본  PORT이다. 0~1023은 잘 알려진 포트라 사용하지 않는 것이 좋다.

 

• DNS

IP주소는 기억하기 어렵고, 변경 가능성이 있음. 그래서 나온 게 DNS(도메인 네임 시스템)이다. 하나의 전화번호부라고 생각하면 된다.

도메인 명을 IP주소로 변환하여 연결하는 것