인터넷 통신(IP, TCP, UDP, PORT, DNS)

Seongho·2023년 2월 27일
0

WEB

목록 보기
1/10

인터넷 통신

컴퓨터 사이에 통신은 어떻게 이루어질까?
만약, 사용자(클라이언트)가 벨로그 사이트에 접속하려 한다면 웹브라우저에서 서버에 요청을 보낸다. 서버는 해당 웹사이트 정보를 웹브라우저에 전송한다.

인터넷 망은 복잡하다. 생각해보면, 내 집에서 미국에 있는 어떤 서버까지 거치는 랜선과 서버가 엄청나게 많을 것이다.

IP (Internet Protocol)

인터넷에 연결된 모든 장치들을 식별할 수 있도록 IP주소를 부여하고, IP주소에 따라 데이터를 주고받을 수 있는 규칙이다.

패킷 이라는 통신 단위에 출발지IP, 목적지IP, 데이터를 담아 전달한다.

IP의 한계

  • 비연결성 : 패킷을 받을 대상 서버가 연결 되어 있는지 아닌지 알 수 없다.
  • 비신뢰성 : 패킷이 중간에 소실되거나(한국에서 미국으로 데이터를 보내는데, 해저 광케이블에 문제 생김), 전달 순서가 바뀌는 문제 발생할 수 있다.
  • 프로그램 구분 : 같은 IP를 사용하는 서버에서 통신하는 애플리케이션이 둘 이상일 떄, 이를 구분하지 못한다.


TCP (Transmission Control Protocol)

TCP통신은 보통 TCP/IP라 부르는데, TCP세그먼트에 IP패킷이 더해진 형태로 통신한다.
** PORT는 같은 IP 내에서 프로세스를 구분하는 숫자이다.

TCP/IP는 IP의 단점을 보완하여 대부분 TCP/IP를 사용한다. 즉, IP는 아파트 이름, 포트는 주소

  • TCP 3 way handshake : 클라이언트에서 SYN을 보내면, 서버에서 ACK와 SYN을 보낸다. 그러면 클라이언트에서 ACK를 보냄으로써 서로 연결을 확인한다. 그 이후, 데이터를 전송한다. 즉, 서로 신호를 주고 받았으니, 논리적으로 "연결되었다." 라고 보는 것이다.

DNS (Domain Name System) 란?

IP는 변경될 수 있다. 서버를 옮길 수도 있고,,,
따라서 DNS를 사용한다.

DNS 서버에 IP주소와 도메인 명을 입력해두고, 클라이언트는 IP주소로 직접 요청하는 것이 아니라, 도메인 명을 통해 요청하고, DNS 서버에서 해당 도메인 명에 맞는 IP주소를 반환하는 것이다.

** 인프런 HTTP 웹 기본지식 (김영한) 참고

profile
Record What I Learned

0개의 댓글