인터넷 네트워크

개나뇽·2024년 4월 22일
0

인터넷 통신

인터넷 프로토콜 (IP)

인터세 통신을 위해서는 일종의 주소가 필요합니다. 그 역할을 하는것이 바로 흔히들 말하는 ip주소 Internet protocol인 IP입니다.

IP의 역할

  • 지정한 IP주소에 데이터를 전송합니다.
  • 패킷이라는 단위로 통신을 진행하는데, 패킷에는 출발지 IP, 도착지 IP, 기타(전송될 데이터등)이 존재합니다.
    ex)

패킷의 전송 방식

패킷의 전송 방식은 클라이언트 > 서버로 전송을 하는 방식과 서버 > 클라이언트로 전송을 하는 방식 2가지가 있습니다.
ex)

IP를 이용한 통신의 한계

  • 비연결성
    - 패킷을 받을 대상이 없거나 대상이 서비스 불능 상태여도 전송을 해버립니다.
  • 비신뢰성
    - 패킷소실 : 데이터 통신중 패킷이 사라질 가능성이 있습니다.
    - 패킷 전달의 순서가 보장되지 않습니다.
    ex) 클라이언트는 (Hellow) (world!)로 보냈으나 서버에는 (world!)(Hello)로 도착할 가능성이 있습니다.
  • 프로그램 구분이 어렵습니다
    - 같은 IP를 사용하는 서버에서 통신하는 애플리케이션이 둘 이상이라면 구분이 어렵습니다.

TCP

IP 통신의 한계를 보완하고자 나온게 전송 제어 프로토콜인 TCP통신입니다.

tcp/ip의 패킷정보)

특징

  • 연결지향
    - TCP 3way handshake(가상 연결)
    참고)

  • 데이터의 전달과 순서를 보증합니다

  • 가장 많이 사용되며 신뢰할 수 있는 프로토콜입니다.

UDP

사용자 데이터그램 프로토콜

특징

  • 비연결지향적 입니다. TCP와 다르게 TCP 3way handshake를 하지 않습니다.
  • IP통신처럼 데이터의 전달과 순서가 보증되지 않습니다.
  • 데이터의 전달과 순서가 보증되지 않는만큼 단순하면서도 빠릅니다.
  • HTTP3가 나오면서 3way handshake 과정도 최적화 하고자 UDP도 많이 사용됩니다.

UDP는 IP와 거의 같으며, 추가적으로 PORT, 체크섬 정도만 추가 되었습니다.
애플리케이션에서 추가적인 작업이 필요합니다.

URI와 웹브라우저

URI란

URL과 URN을 포괄하는 가장 큰 개념입니다.

  • URL
    - L 은 locator로 위치 리소스 위치를 뜻합니다.
  • URN
    - N 은 name으으로 리소스 이름을 뜻하며, 이름만으로 실제 리소스를 찾는 방법은 보편화 되지 않아 거의 사용되지 않습니다.

    URI와 URL은 거의 비슷한 의미로 사용되고 있다고 생각합니다.

URI 분석

https://www.google.com/search?q=hi

• scheme/프로토콜(https)
-주로 프로토콜을 기재합니다.(http, https, ftp)
- http는 80포트, https 443포트를 주로 사용하며 포트 번호는 생략이 가능합니다.
- https는 http에 보안(HTTP secure)이 추가된 것입니다.

• 호스트명(www.google.com)
- 도메인명 또는 IP주소를 직접 기재할 수 있습니다.

• 포트 번호(443)
- 일반적으로 생략하며 생략시 http는 80, https는 443입니다.

• 패스(/search)
- 리소스의 경로로 계층적 구조입니다.

• 쿼리 파라미터(q=hello&hl=ko)
- key=value형태로 ?로 시작하고, &로 추가 가능합니다.
- 문자 형태입니다.

웹 브라우저 요청 흐름

웹 브라우저의 요청 흐름은 HTTP 요청 메세지 생성 > 전송 > HTTP 응답 생성 > 응답을 다시 클라에게 전달하는 식으로 진행이 됩니다.

위 글을 한번 보시고 그림으로 한번 자세하게 보겠습니다.



[출처, 참고] https://www.inflearn.com/course/http-%EC%9B%B9-%EB%84%A4%ED%8A%B8%EC%9B%8C%ED%81%AC/dashboard

profile
정신차려 이 각박한 세상속에서!!!

0개의 댓글