(1주차)인터넷 네트워크

mangomi·2022년 12월 14일
0

네트워크 스터디

목록 보기
1/4

📘 인터넷 통신

  • 인터넷에서 컴퓨터 둘은 어떻게 통신할까? 클라이언트 - 인터넷 - 서버
  • 클라이언트(client) : 서버에 의뢰를 하는 웹 브라우저 등
  • 클라이언트에서 서버까지 일련의 흐름을 결정하고 있는 것을 웹에서는 HTTP라는 불리는 프로토콜이다.
  • 웹은 HTTP라는 약속을 사용한 통신으로 이루어진다.

📘 TCP/IP 4 Layer

  • TCP/IP는 현재 수많은 프로그램들이 인터넷으로 통신하는데 가장 기반이 있는 프로토콜로 인터넷과 관련된 프로토콜을 모은 것이다
  • 애플리케이션 계층, 트랜스포트 계층, 네트워크 계층, 링크계층으로 구분한다.

💡 왜 TCP/IP는 계층화되어있을까?

  • 계층화되어 있으면 사양이 변경된 경우 해당 계층만 바꾸면 된다.
  • 계층화하면 각 층에 자신이 담당하는 부분만 고려하면된다.
  • ex) 전송 계층에서 TCP -> UDP로 변경된다고 해서 웹브라우저를 설치할 필요가 없다.

📘 IP(Internet Protocol)

  • IP 인터넷 프로토콜 역할
    • 지정한 IP주소에 데이터를 전달한다
    • 패킷(Packet)이라는 통신 단위로 데이터 전달한다.

💡 패킷이란?

  • pack + bucket => 우체국에서는 화물을 적당한 덩어리로 나눠 행선지를 표시하는 꼬리표를 붙이는데, 이러한 방식을 데이터 통신에 접목한 것이다.
  • 정보를 보낼 때 특정한 형태를 맞추어 보낸다는 것이다. 컴퓨터 간에 데이터를 주고 받을 때 네트워크를 통해서 전송되는 데이터 조각이다.
  • IP 패킷 정보
    • 출발지 IP와 목적지 IP만 적은채로 보낸다.(주황색 : IP 패킷)
    • 요청할 때와 응답할 때 서로 다른 곳으로 전달 될 수도 있다.(망이 복잡함)
    • IP 주소는 변경 가능하다.
  • IP프로토콜의 한계
    • 비연결성 : 패킷을 받을 대상이 없어도 패킷 전송
    • 비신뢰성 : 패킷 손실되거나 순서대로 안와도 해결X
      => 1500바이트가 넘으면 한번에 많은 데이터를 보내기 부담스러우니까 나눠서 보냄
      (1. Hello 2. World => 1.World 2. Hello), 패킷들이 중간에 다른 노드로 이동해서 순서가 변경될 수도 있다.
    • 프로그램 구분 : 같은 IP를 사용하는 서버에서 통신하는 애플리케이션이 둘 이상이라면? (1개의 IP로 노래도 듣고 채팅도 한다면?)

💡 패킷이란?
전송하는 데이터의 최소단위

📘 TCP, UDP

🔍 TCP/IP 패킷 정보

  • 출발지 PORT, 목적지 PORT, 전송제어, 순서, 검증 정보 추가

🔍 TCP특징(전송제어 프로토콜)

  • 연결지향 -TCP3 3way handshake(가상연결)
      1. SYN : 접속 요청(클라이언트 -> 서버)
      1. SYN+ACK : 접속 요청 + 요청수락(서버 -> 클라이언트)
      1. ACK : 요청 수락(클라이언트 -> 서버)
      1. 데이터 전송
  • 데이터 전달 보증
    클라이언트 -> 서버 : 1. 데이터 전송
    서버 -> 클라이언트 : 2. 데이터 잘 받았음
  • 순서 보장
      1. 패킷1, 패킷2, 패킷3 순서로 전송
      1. 패킷1, 패킷3, 패킷2 순서로 도착
      1. 패킷 2부터 다시 보내

💡 출발지 PORT, 목적지 PORT, 전송제어, 순서, 검증 정보 추가되었기 떄문에 가능함

  • 신뢰할 수 있는 프로토콜
  • 현재 대부분 TCP 사용
  • 신뢰성 있는 바이트 스트림 서비스를 제공

💡 신뢰성있는 바이트 스트림 서비스란?
신뢰성 있는 서비스 : 상대방에게 보내는 서비스
바이트 스트림 서비스 : 용량이 큰 데이터를 보내기 쉽게 TCP세그먼트라고 불리는 단위 패킷으로 작게 분해하여 관리 하는 것

📘 UDP

  • 사용자 데이터그램 프로토콜(User Datagram Protocol)
  • IP와 기능은 같다 + PORT + 체크섬 정도만 추가
  • 애플리케이션에서 추가 작업이 필요함(더 최적화 하기위해서는 TCP를 수정하기보단 UDP로 해결)
  • 장점 : 웹브라우저에서 HTTP통신할때 TCP 3way handshaking 할 때 시간이 너무 오래걸리는 문제를 해결해줌

💡 PORT : 하나의 IP로 음악 듣고, 영화 볼때 이를 구분할 때 쓰는것이다.

📘 PORT

  • 한번에 둘 이상 연결해야하면?
  • TCP/IP 패킷정보에 출발지 PORT, 목적지 PORT가 있음
  • 같은 IP내에서 프로세스 구분
    • ex) 포트번호 : 게임 8090, 화상통화 21000, 웹브라우저 10010
  • 0~65535 할당 가능
  • 0~1023 : 잘 알려진 포트, 사용하지 않는 것이 좋음
    • FTP - 20,21
    • TELNET - 23
    • HTTP - 80
    • HTTPS - 443

📘 DNS(Domain Name System)

  • DNS는 도메인명에서 IP주소를 조사하거나 반대로 IP주소로부터 도메인명을 조사하는 서비스를 제공하고 있다.

<IP의 단점>

  • IP는 기억하기 어렵다.
  • IP는 변경될 수 있다.
    => 도메인 명을 IP주소로 변환
[DNS 서버]
도메인명 | IP
google.com | 200.200.200.2
aaa.com | 210.210.210.3
    1. 클라이언트가 google.com 도메인명 요청
    1. DNS서버가 응답 : 200.200.200.2
    1. 클라이언트가 서버로 접속

0개의 댓글