[네트워크] 인터넷,프로토콜

이동엽·2023년 1월 26일
0

인터넷

인터넷은 웹의 핵심적인 기술이며, 컴퓨터들이 서로 통신 가능한 거대한 네트워크이다.

네트워크

단순한 네트워크

원하는 컴퓨터를 연결할수 있지만, 원하는 컴퓨터를 연결할려면 일일이 다 연결해야 할수 있습니다. 만약 10대의 컴퓨터를 연결하면 9개 플러그로 9개의 컴퓨터를 연결해야하기에 복잡합니다.

이 문제는 라우터라고 하는 특수한 소형 컴퓨터에 연결해서 모든 컴퓨터가 라우터에만 연결하면 다 연결할수 있습니다.

네트워크끼리 연결

ISP : 한국엔 KT,LG U+,SKT
->중간에서 데이터를 전달 해주는 역할임.

라우터끼리 연결해 많은 컴퓨터를 연결할수 있지만, 먼거리에 있는 컴퓨터엔 연결못합니다.
그래서 전화망에 연결해 어디에 있든 데이터를 주고 받을수 있습니다. 이렇게 연결하기 위해 인터넷 서비스 제공업체(ISP)에 연결합니다.
다른 컴퓨터들도 ISP라우터에 연결해 데이터를 주고 받습니다. 인터넷은 이런 전체 네트워크 인프라로 구성된다.

프로토콜

컴퓨터 내부에서,또는 컴퓨터 사이에서 데이터의 교환 방식의 규칙이다.
-> 어느 컴퓨터든 일관되게 네트워크를 사용할수 있게 하는 언어(규칙)

TCP/IP

TCP

인터넷에서 컴퓨터들이 서로 정보를 주고 받는데 쓰이는 통신 규약 모음이다.

  • 손실된 데이터는 프로토콜에 맞게 재조합하여 완성된 데이터를 넘겨준다.
    TCP는 데이터를 가져와서 패킷으로 컴파일 하고 난후 다음 계층에서 전달 받을수 있게 패킷을 사용할 수 있는 데이터로 바꾼다.
    ->데이터와 패킷이 보내진 순서대로 전달하는 것을 보장해준다.

패킷

기기 끼리의 통신엔 회선 교환,패킷 교환 방식이 있는데,
회선 교환은 1:1로만 가능
패킷 교환은 원본 데이터를 패킷(packet) 이라고 하는 작은 단위로 나누고, 여러 회선을 공용해 통신을 주고 받습니다.

IP

  • Internet Protocol의 줄임말, 인터넷상에서 사용하는 주소.
  • 4개의 숫자 덩어리로 구성되며, 숫자 크기에따라 IPV4,IPV6으로 나눌수 있는데,아직 IPV6이 사용할만하기 때문에 IPv6은 메인으로 안쓴다.

MAC 주소

IP로만 네트워크 상에서 송수신 불가능하다,
각 네트워크 기기는 처음부터 제조사에서 할당하는 고유 시리얼인 MAC 주소를 IP 주소와 조합해야만 네트워크를 통한 통신이 가능합니다.

TCP/IP 4계층 모델


출처 :https://creatijin.netlify.app/http/http-01/

계층화하면 장점

  • 계층화로 인해 사양이 변경된 해당 계층만 바꾸면 되기에 유지보수가 좋음
  • 각 계층의 내부는 자유롭게 설계 가능
  • 설계가 편하다.
    -> 자신이 담당한 부분만 고려 하면된다.

응용 계층(Application Layer)

  • 응용프로그램들이 데이터를 처음 받고, 다른 계층의 서비스에 접근할 수 있게 하는 애플리케이션을 통신한다.
  • TCP/UDP 기반의 응용 프로그램을 구분할 때 사용합니다.
  • 주요 프로토콜 ->텍스트 HTTP,DNS,FTP

전송 계층(Transport Layer)

  • 통신 노드 간의 연결을 제어하고 신뢰성 있는 전송 기능을 제공합니다.
  • 주요 프로토콜 -> 정확한 전송 : TCP , 빠른 전송 : UDP

인터넷 계층(Internet Layer)

  • 네트워크 주소를 기반으로 데이터를 전송한다.
  • 주요 프로토콜 -> IP,ICMP,ARP,RARP

네트워크 접근 계층(Network Access Layer)

  • TCP/IP 패킷을 네트워크로 전달, 또는 반대로 네트워크에서 TCP/IP를 받아오는 역할을 합니다
  • MAC 주소를 사용하고, 패킷을 프레임으로 변환시켜 최종적으로 데이터 전송을 한다.
  • 프로토콜 -> Ehternet,wifi

IP 주소 구조

  • IP 특징 : IP는 사실 32자리로 이루어진 2진수, IP는 네트워크 영역과 호스트 IP로 구성됨, 동일한 네트워크 내에서 호스트 IP는 각자 달라야 한다.

서브넷 마스크


출처:https://brunch.co.kr/@swimjiy/44

네트워크부 : 어떤 네트워크인지 알수 있는 정보
호스트부 : 그 네트워크 안의 특정 컴퓨터를 지칭하는 정보

  • 서브넷 마스크는 필요한 네트워크 주소만 호스트 IP로 할당 할 수 있게 만들어 네트워크 낭비를 방지합니다.
  • 이를 서브네팅 이 반대는 슈퍼네팅이라고 부른다.
    ->서브네팅 : 네트워크 성능 보장, 자원을 효율적으로 분배하기 위해 네트워크 영역과 호스트 영역을 쪼개는 작업

자세한건 나중에....

IP 프로토콜의 한계

  • 비연결성
    ->패킷을 받을 대상이 없거나 특정한 이유로 서비스 불능 상태에 빠져도 데이터를 받을 상대의 상태 파악이 불가능하다
  • 비신뢰성
    ->중간에 패킷이 사라지더라도 보내는 기기 측에서는 알 수 있는 방법이 없습니다. 또한, 서로 다른노드를 거쳐서 전송되는 특성상, 보내는 기기측에서 의도한 순서대로 데이터가 도착하지 않을 수 있습니다.

PORT

IP프로토콜 만으로는 특정 애플리케이션을 특정해 통신할수 없다.
포트번호는 대상 IP기기의 특정 어플리케이션을 특정하는 번호이다.

  • 사용중인 포트는 중복X
  • 포트 번호는 0~ 65,535사용할수 있다. 그중에서 0 ~ 1023번 까지의 포트 번호는 주요 통신을 위한 규약에 따라 이미 정해져 있습니다.

    Well-known port : 0~1023 -> 시스템 사용 번호(슈퍼 유저 권한 필요, 사용 권장 X)
    Registered port : 1024~49151 -> 특정 프로토콜이나 어플리케이션에서 사용하는 번호(슈퍼유저 권한필요 없음)
    Dynamic port : 49152~65535 -> 어플리케이션에서 혹은 임시 사용 번호

이미 정해진 포트 번호라도, 필요에 따라 자유롭게 사용할 수 있습니다. 잘 알려진 포트의 경우 URI 등에 명시하지 않지만, 그 외의 잘 알려지지 않은 포트(8080과 같은 임시 포트)는 반드시 포함해야 합니다.

URI : 통합 자원 식별자->인터넷상의 리소스 자원 자체를 식별하는 고유한 문자열 시퀀스
URL : 특정 웹 페이지의 주소에 접속하기 위해서는 웹 사이트의 주소뿐만 아니라 프로토콜(https, http, sftp, smp 등)을 함께 알아야 접속이 가능한데 이것들을 모두 나타낸것이 URL이다.

자주 사용되는 Well-know port

  • 80 HTTP : 웹서버 접속(TCP)
  • 443 HTTPS : 웹서버 접속(SSL)(TCP)
  • 110 POP3 : 메일 읽기(TCP)
  • 25 SMTP : 메일서버간 메일 전송(TCP)
  • 22 SSH : 컴퓨터 원격 로그인(TCP)
  • 53 DNS : DNS 질의(UDP)
  • 123 NTP : 시간 동기화(TCP)

참고

profile
씨앗

0개의 댓글