A ship in harbor is safe, but that is not what ships are built for.

STUDY/Network

Ch01. 인터넷 네트워크

플리피나리 2024. 12. 5. 00:11
반응형

1. 인터넷 통신

클라이언트와 서버가 그냥 바로 옆에 있다면 케이블로 연결해 데이터를 주고 받으면 됨

→ But, 지리적으로 떨어져 있는 클라이언트와 서버는 복잡한 인터넷 망을 통해 데이터를 주고 받음

이때, 인터넷망 내 여러 노드들을 거쳐 데이터가 Source → Destination으로 이동

Q. 어떻게 복잡한 인터넷망을 넘어 목적지까지 도착할 수 있을까?

 

 

2. IP(인터넷 프로토콜)

지정한 IP 주소(IP address)에 데이터를 전달 → 패킷 단위로 전송

IP 패킷 = 출발지 IP + 목적지 IP + 전송 데이터 + 기타

인터넷망의 노드들끼리 서로 전달받은 패킷을 던짐

한계 존재 → TCP/UDP로 해결

  • 비연결성
    • 패킷을 받을 대상이 없거나 상대방이 서비스 불능 상태여도 일단 패킷 전송
  • 비신뢰성
    • 중간에 패킷이 사라질 가능성
    • 여러 패킷을 보낼 때 패킷이 순서대로 도착하지 않을 가능성
  • 프로그램 구분 어려움
    • 같은 IP를 사용하는 서버에서 통신하는 애플리케이션이 둘 이상일 경우 → 한 PC에서 음악, 게임…

 

 

3. TCP/UDP

  • 인터넷 프로토콜 스택의 4계층 = TCP/IP 4 Layer → OSI 7 Layer과 비교L4 애플리케이션 계층(Application Layer) - HTTP, FTP L7, L6, L5(응용, 표현, 세션)
    L4 애플리케이션 계층(Application Layer) - HTTP, FTP L7, L6, L5(응용, 표현, 세션)
    L3 전송 계층(Transport Layer) - TCP, UDP L4(전송)
    L2 인터넷 계층(Internet Layer) - IP L3(네트워크)
    L1 네트워크 인터페이스 계층(Network Access Layer) L2, L1(데이터 링크, 물리)
  • 프로토콜 계층 동작 과정애플리케이션 응용SW → Socket 라이브러리를 통해 OS에 메시지 전달
    애플리케이션 응용SW → Socket 라이브러리를 통해 OS에 메시지 전달
    OS TCP → TCP 정보를 생성해 메시지 데이터를 감쌈
    OS IP → IP 정보를 생성해 위의 데이터에 감싸면서 IP패킷을 생성
    네트워크 인터페이스 LAN드라이버, LAN장비, LAN 카드를 통해 Ethernet frame 정보를 추가해 인터넷망에 전송
  • TCP/IP 패킷 정보
    • 출발지 IP, 목적지 IP → IP 패킷 정보
    • 출발지 Port, 목적지 Port, 전송제어, 순서, 검증정보 → TCP 세그먼트
  • TCP 특징
    • 전송 제어 프로토콜, 신뢰할 수 있는 프로토콜
    • 연결 지향 → 연결을 먼저 하고 메세지 전송(by. TCP 3 way handshake(가상연결))
    • 데이터 전달 보증 → 패키지 누락 여부(데이터 전송 시 잘 받았음을 알려줌)
    • 순서 보장 순서가 잘못되었다 판단하면 잘못된 부분부터 재전송 요청
  • TCP 3 way handshake → 클라이언트와 서버가 서로 신뢰 가능
    1. 클라이언트 → 서버 : SYN(접속요청)
    2. 서버 → 클라이언트 : ACK(요청수락) + SYN(접속요청)
    3. 클라이언트 → 서버 : SYN(접속요청)
    이것은 논리적 연결, 중간에 수많은 노드를 거칠 것
  • UDP 특징
    • 사용자 데이터그램 프로토콜
    • 기능이 거의 없음
    • 비연결지향 → TCP 3 way handshake X
    • 데이터 전달 보증, 순서 보장 X
    • 단순하고, 빠름
    • IP와 거의 같지만 port+체크섬 추가

 

 

4. PORT

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

TCP/IP 패킷의 출발지의 IP, Port목적지의 IP, Port를 서로 바꾸면서 송수신

0 ~ 65535 할당 가능

일반적 포트 용도

  • FTP : 20, 21
  • TELNET : 23
  • HTTP : 80
  • HTTPS : 443

 

 

5. DNS

= 도메인 네임 시스템

IP는 기억하기 어렵고, 변경될 수 있음 → 도메인 이름을 IP 주소로 변환하는 시스템

DNS 서버에 도메인을 등록할 수 있음

반응형

'STUDY > Network' 카테고리의 다른 글

Ch05. HTTP헤더1 - 일반 헤더  (1) 2024.12.15
Ch04. HTTP 상태코드  (1) 2024.12.14
Ch03. HTTP 메서드  (0) 2024.12.06
Ch02. URI와 웹 브라우저 요청 흐름, HTTP  (2) 2024.12.05