Web

HTTP 웹 기본 지식 정리 - 인터넷 네트워크

모모토 2021. 8. 31. 21:24
반응형

※ 본 포스팅은 Inflearn - 김영한 강사님의 'HTTP 웹 기본 지식 정리' 을 참고,공부하여 만들었습니다.

 

 

IP (Internet Protocol)

인터넷 프로토콜(ip)의 역할 ( 엄밀히 말하자면 IP는 인터넷 통신규약이고 아래는 ip덕분에 가능한일들 )

  • 지정한 IP주소에 데이터를 전달한다.
  • 패킷(Packet) 이라는 통신 단위로 데이터 전달

IP Packet

출발IP , 목적지IP , 전송데이터 등을 담아서 패킷형태로 전송 , 누가 보내느냐에 따라 클라이언트 패킷 , 서버 패킷 으로 나뉨

IP 의 한계

  • 비연결성 - 패킷을 받을 대상이 없거나 , 서비스불능 상태 (서버가 닫혀있거나 , 상대방 컴퓨터가 꺼져있을때) 에도 패킷 전송
  • 비신뢰성 - 중간에 패킷이 사라지거나 순서대로 오지않을수 있다.
  • 프로그램 구분 - 같은IP를 사용하는 서버에서 통신하는 애플리케이션이 둘 이상일수있다.

 

TCP (Transmassion Control Protocol)

IP에서 발견된 한계점들을 보완해준다.

 

ip의 문제를 해결하기 위하여 전송계층을 만들어 보완해주는 개념이라고 생각하자

 

IP패킷에 TCP층에서 추가로 데이터들을 넣어준다. 출발지 포트 , 목적지 포트 , 전송 제어 , 순서 , 검증 정보 등등등 따라서 IP의 한계들을 극복 시켜주는 정보들이다. 이를 앞으로는 TCP/IP패킷 이라고 부를것

 

TCP 특징

  • 연결지향 - 연결이 우선이다!
  • 데이터 전달 보증 - 메세지가 잘 전달되었는지 나에게 알려준다.
  • 순서를 보장해준다.

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

※ 참고 

TCP 3 way handshake 는 실제적인 연결이 아닌 논리적인 연결의 '확인'이다.

 

HTTP는 TCP로 3 hand shake를 해서 연결을 맺고 그 다음에 클라이언트에서 서버로 데이터를 요청하고, 서버가 응답을 하고나서 연결을 끊게 됩니다. 연결을 계속 유지하지 않습니다. 요청, 응답후에 연결을 제거

 

UDP (user datagram protocol) 특징

UDP(User Datagram Protocol)는 인터넷에서 사용하는 프로토콜 중 구조가 가장 간단하다. 하부의 IP 프로토콜을 이용해 비연결형 서비스를 지원하는 UDP는 작지만 빠른 전송이 가능하며, 다음과 같은 특징이 있다. 

TCP와는 달리 기능이 거의 없다. 다만 PORT가 추가된다. 그리고 데이터 전달 및 순서가 보장되지 않지만 , 단순하고 빠르다. TCP는 이미 완성품이라 손대기가 어렵지만 , 만약 더 최적화하고싶다면 애플리케이션단계에서 UDP에 대하여 추가 작업을 하면 된다.

 

PORT

만약 한번에 둘 이상 연결해야 한다면?

포트는 같은 IP 내에서 프로세스를 구분한다.

IP : 100.100.100.1 에서 게임(8090) , 메세지(21000) , 브라우저(10010)를 실행할때 각각의 프로세스마다 포트번호가 존재하고 기존의 IP패킷에 PORT번호(목적지,보낸 곳의 포트 번호)까지 추가(이를TCP/IP 패킷 이라 한다.)하여 서버로 보내면 서버에서 요청한 정보들을 다시 각각의 프로세스로 보내준다.

 

일반적으로 IP와 Port는 아파트와 호수로 비유를 많이 한다. IP는 자이아파트 , Port는 104동 1403호

 

 

DNS (Domain Name System)

IP는 기억하기 어렵다. 그리고 IP는 변경될 수 있다.

DNS 서버에 도메인을 구매해서 도메인과 IP를 등록한다. 마치 전화번호부같은 느낌. 따라서 도메인을 입력하면 DNS 서버에선 IP주소로 응답하고 우리가 원하는 서버에 접속할 수 있다. IP가 바뀌어도 우리는 도메인 명 만 알고있다면 언제든 접속이 가능하도록 해주는게 바로 DNS다