자라는 개발자/공부

IP , TCP,UDP, PORT, DNS 에 대하여

자란다 2023. 5. 25. 11:05
728x90
반응형

인터넷 통신

인터넷 망을 통해서 hello,world 를 보내고 싶은데 어떻게 보내지?

이걸 이해하려먼 IP(인터넷 프로토콜) 을 이해해야함.

IP란?

나와 상대방이 주소가 있어야한다.

그 주소에 패킷이라는 통신단위로 데이터를 전달한다.

IP패킷이란?

출발지 IP,목적지 IP, 기타… 를 적은 뒤 던진다. 그럼 원하는 서버에 도착한다.

친구도 마찬가지임.

그러나,, IP 프로토콜은 한계가 있음.

비연결성 - PC가 꺼져있어도 보냄. (마치 친구가 그집에 안살아도 편지를 보내는것)

비신뢰성 - 패킷이 사라지거나, 순서대로 도착하지 않을수도 있음. (순서란, 대략 1500Byte가 넘으면 나눠서 보내는데 순서보장 x)

프로그램 구분 - 같은 IP를 사용하는 서버에서 통신하는 애플리케이션이 둘 이상이면?

이걸 해결하는 프로토콜은? TCP, UDP

채팅 프로그램으로 미국 친구에게 Hello 를 보낸다면?

  1. 소켓 라이브러리를 통해 OS 에 Hello 메시지를 넘긴다.
  2. os계층에 있는 TCP가 TCP정보를 Hello 메시지에 씌운다.
  3. 그아래 IP에 넘기고, IP를 또 씌운다.
  4. LAN 카드를 통해서 나갈때 Ethernet frame 을 통해서 나간다.

3번 쌓여서 나간다 ( TCP,IP,Ethernet frame)

TCP 가 담은 정보는?

특징? 전송제어 프로토콜(Transmission Control Protocol)

  • 연결지향 - 연결하고 데이터보냄(꺼진 컴퓨터에 보내지 않음),진짜연결 x, 논리적 연결크라이언트, 서버 서로 SYN을 보내고 받으면 ACK을 보냄 - 연결됨을 확인 후 전송
    요즘은 최적화 되어 3번 ACK 때 데이터를 보낸다.
  • 데이터 전달 보증데이터 보내면, 잘 받았다 보내줌
  • 순서보장만약 잘못된 순서로 오면 다 버리고 2부터 다시 보내 라고함.

UDP는?

기능이 거의 없어 하얀 도화지에 비유한다.

그럼? 단순하고 빠름.
IP 에 PORT 가 추가되는 정도.+ 체크섬 (TCP에도 있으나 IP에는 없음)

이걸 왜쓰지? 연결지향하는데 걸리는 시간들을 없앨 수 있다.

인터넷은 이미 TCP기반이라 손을 못대지만, UDP를 손댈수 있다. 왜냐 ?
아무것도 없어서 원하는대로 최적화 할 수 있음.

PORT는?

한번에 둘 이상 연결해야 하면?

IP:는 목적지 찾기
PORT: 그 안에서 프로세스 찾기

IP가 아파트면 PORT는 몇동 몇호다.

 

DNS 는?

IP는 기억하기 어려우며(200.200.200.145) 바뀌기도 한다.

Domain Name System

전화번호부 같은거임.

도메인서버에 등록 해 놓으면 서버가 응답을 준 IP 주소로 접근하면 된다.

출처:모든 개발자를 위한 HTTP 웹 기본 지식 - 김영한 인프런 강의

 

728x90
반응형

'자라는 개발자 > 공부' 카테고리의 다른 글

ERD 설계 기본공부  (0) 2023.01.23