CS

[네트워크] 인터넷 네트워크

프로아마추어 2023. 7. 21. 09:30

인터넷 네트워크

 

 

 

인터넷 통신

 

 

 

IP (Internet Protocol)

지정한 IP 주소에 데이터 전달
패킷이라는 통신 단위로 데이터 전달

IP패킷 정보 - 출발지IP, 목적지IP, 기타...

 

클라이언트 패킷 전달 

서버 패킷 전달 

 

IP 프로토콜의 한계

  • 비연결성
    • 패킷을 받을 대상이 없거나 서비스 불능 상태에도 패킷 전송 - 클라이언트는 대상 서버가 패킷을 받을 수 있는 상태인지 알 수 없다.
  • 비신뢰성
    • 중간에 패킷이 소실된 경우
    • 패킷이 비순차적으로 전달될 경우 - 용량이 너무 큰 파일의 경우 분할하여 전달할 때 인터넷이 그때 그때 마다 가장 효율적인 노드를 선택해서 전달을 한다. 
  • 프로그램 구분
    • 같은 IP를 사용하는 서버에서 통신하는 애플리케이션이 둘 이상일 경우

 

 

 

TCP, UDP

IP프로토콜의 문제점을 해결하기 위해 사용한다.

 

 

인터넷 프로토콜 스택 4계층

 

프로토콜 계층

 

IP 패킷 정보 - 출발지 IP, 목적지 IP, 기타 

TCP 세그먼트 - 출발지 PORT, 목적지 PORT, 전송제어, 순서, 검증 정보

 

 

 

TCP(Transmision Control Protocol, 전송 제어 프로토콜) 특징

 

1. 연결 지향 - TCP 3 way handshake (가상 연결): 연결을 우선하고 메시지를 보낸다.

 

TCP 3 way handshake

SYN: 접속 요청

ACK: 요청 수락

참고. #3 ACK와 함께 데이터 전송 가능

-> 서버의 ESTABLISHED 상태 이후 데이터 전송이 이루어진다.

 

2. 데이터 전달보증: 메시지 누락을 확인할 수 있다.

 

 

3. 순서 보장

 

 

4. 신뢰할 수 있는 프로토콜

위에서 나열된 TCP의 장점은 TCP의 세그먼트 내부의 전송제어, 순서, 검증 정보로 가능하게 된다.

 

5. 현재는 대부분 TCP 사용

 

 

 

UDP(User Datagram Protocol, 사용자 데이터그램 프로토콜) 특징

 

1. 하얀 도화지의 비유 (기능이 거의 없음)

2. 연결 지향 - TCP 3 way handshake X

3. 데이터 전달 보증 X

4. 순서 보장 X

5. 데이터 전달 및 순서가 보장되지 않아 단순하고 빠르다.

6. IP와 거의 같다. PORT와 체크섬 정도만 추가된 형태이다.

7. 애플리케이션에서 추가 작업이 필요하다.

 

 

 

PORT

 

한 번에 둘 이상의 서버에 연결하려면?

 

 

같은 IP 내에서 프로세스 구분

  • 0 ~ 65535: 할당 가능
  • 0 ~ 1023: 잘 알려진 포트, 사용하지 않는 것이 좋다.
    • FTP - 20, 21
    • TELNET - 23
    • HTTP - 80
    • HTTPS - 443

 

 

 

DNS (Domain Name Server)

 

IP는 변경될 수 있다.

도메인 명을 IP 주소로 변환

 

 

 

인터넷 네트워크 정리

  • 인터넷 통신
  • IP
  • TCP, UDP
  • PORT
  • DNS

 

 

 

출처 

 

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

https://www.inflearn.com/course/http-%EC%9B%B9-%EB%84%A4%ED%8A%B8%EC%9B%8C%ED%81%AC

 

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

실무에 꼭 필요한 HTTP 핵심 기능과 올바른 HTTP API 설계 방법을 학습합니다., [사진] 📣 확인해주세요!본 강의는 자바 스프링 완전 정복 시리즈의 세 번째 강의입니다. 우아한형제들 최연소 기술

www.inflearn.com

 

'CS' 카테고리의 다른 글

[네트워크] HTTP  (0) 2023.07.21
[네트워크] URI와 웹 브라우저 요청 흐름  (0) 2023.07.21
[네트워크] Broadcast  (0) 2023.06.29
[네트워크] L2 스위치 알아보기  (1) 2023.06.13
[네트워크] - Switch의 역할  (0) 2023.06.10