IT/Web

IP(Internet Protocol)

코딩하는 너구리 2022. 8. 3. 08:31
반응형

내가 인터넷을 통해 정보를 원하는 곳으로 전달하고자 할 경우, 도착지를 알아야 한다.

나의 주소와 상대의 주소는 어떻게 나타낼 수 있을까?

이때 PC마다의 주소를 지정할 수 있도록 한게 IP 체계이다.

 

 

PC마다 지정된 IP 주소가 있기 때문에 우리는 목적지의 IP 주소로 정보를 보낼 수 있다.

 

HTTP 통신시에는 패킷(Packet)이라는 통신 단위를 사용하는데 간략하게 그림으로 나타내면 아래와 같다.

IP 패킷에는 출발지 IP, 목적지 IP와 같은 수많은 정보들로 이루어져 있다.

 

IP와 함께 사용하는 PORT 주소는 뭘까?

https://javacoding.tistory.com/163

 

PORT 포트번호란

IP와 함께 PORT 번호에 대해서 들어보았을 것이다. TCP 프로토콜을 살펴볼 때 전송하는 패킷에 PORT 번호에 대한 정보가 포함되어 있었는데 PORT 번호가 무엇인지 간단하게 살펴보자. 포트 번호는 해

javacoding.tistory.com

 

 

 

내가 100.100.100.1 에서 특정 웹 서버인 200.200.200.2로 정보를 보낸다고 할때

패킷안에 출발지와 목적지에 대한 정보가 있기 때문에 노드들은 전달해줄 수 있는 다음 노드에게 패킷을 전달하고 여러 노드를 거쳐 목적지까지 정보가 전송된다.

 

 

 

실제로 우리가 웹 사이트에 접속하거나 API 요청을 할때 IP 주소로 요청을 하는 경우는 드물다. IP 프로토콜의 한계가 있기 때문인데, 

IP 전송 방식의 특징을 살펴보면 다음과 같다.

 

첫 번째는 비연결성이다.

패킷을 받을 대상이 없거나 서비스 불능 상태여도 패킷을 목적지까지 전달한다. 목적지 주소가 잘못되어도 목적지까지 정보를 전달하는 것이다. 이런 경우에 목적지에서는 데이터를 전달 받지 못하게 됩니다.

 

두 번째는 비신뢰성이다.

비신뢰성이란 송신자가 전송한 패킷의 손상여부를 송신자와 수신자가 알 수 없으며 패킷 전달 순서가 보장되지 않는다는 것을 의미합니다.

 

비연결성은 서로 연결되지 않은 송신자와 수신자간의 데이터를 전달하는 특징이며 비신뢰성은 IP 프로토콜이 전송하는 정보가 정확하게 전달되었는지 확인하지 않는 것이다.

 

 

따라서 신뢰성있는 통신을 하기 위해서는 상위 레이어의 TCP와 같은 프로토콜을 활용해야 한다.

https://javacoding.tistory.com/162

 

TCP(Transmission Control Protocol) 프로토콜

https://javacoding.tistory.com/160 IP(Internet Protocol) 내가 인터넷을 통해 정보를 원하는 곳으로 전달하고자 할 경우, 도착지를 알아야 한다. 나의 주소와 상대의 주소는 어떻게 나타낼 수 있을까? 이때 PC..

javacoding.tistory.com

 

 

참고 강의 : https://www.inflearn.com/course/http-웹-네트워크

 

모든 개발자를 위한 HTTP 웹 기본 지식 - 인프런 | 강의

실무에 꼭 필요한 HTTP 핵심 기능과 올바른 HTTP API 설계 방법을 학습합니다., - 강의 소개 | 인프런...

www.inflearn.com

 

반응형

'IT > Web' 카테고리의 다른 글

JAVA HttpClient와 CloseableHttpClient 차이점  (0) 2023.02.03
PORT 포트번호란  (0) 2022.08.11
TCP란?  (0) 2022.08.10
[Springboot/Gradle] JAVA SMTP로 비밀번호 찾기 메일 보내기(NAVER)  (0) 2021.01.03
@PostMapping과 @PutMapping의 차이  (0) 2020.10.15