ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 학원 day44. 네트워크
    기록 2022. 11. 7. 11:19

    네트워크

    여러 대의 컴퓨터가 통신회선으로 연결되어 있는 것

    네트워크의 구성 : 

    - Server : 서비스를 제공하는 프로그램 

    - Client : 서비스를 제공받는 프로그램

     

    CS 구성 (Client server) (예외 : p2p구성, 클라이언트가 서버도 되는 구성)

    클라이언트와 서버가 통신하기 위해서는 전용의 프로그램이 실행되고 있어야 한다.

    클라이언트에는 웹브라우저가, 서버에는 웹서버 프로그램이 실행되어야 한다.

     

    프로토콜 

    네트워크에 연결된 host간의 데이터교환을 위해서 미리 약속된 통신규약이다.

    물리적 혹은 논리적 통신을 처리하기 위한 규칙 세트다.

    통신규약 예시 (tcp, ip, http, https, ftp, telnet, smtp, ...)

    - HTTP(HyperText Transfer Protocol) : 웹서버와 웹브라우저간의 통신규약

    - SMTP(Simple Mail Transfer Protocol) : 메일서버와 메일클라이언트간의 통신규약

    - FTP(File Transfer Protocol) : FTP서버와 FTP클라이언트 간의 통신규약

     

    네트워크의 주요 용어

    • host
      • 네트워크에 연결되어 있고, 다른 호스트와 통신할 수 있는 컴퓨터
      • ip주소로 식별된다.
    • ip address
      • 네트워크에서 호스트를 식별하기 위해서 부여되는 고유한 주소
      • IPv4, IPv6 주소 체계가 있다.
    • port
      • 실행 중인 서버프로그램의 논리적인 연결지점.
      • 모든 서버프로그램은 특정 포트번호를 가지고 실행된다. (포트에 바인딩시켜야 실행된다.) (중복 바인딩 불가)
      • 포트번호를 이용해서 서비스를 제공하는 서버프로그램을 선택할 수 있게 된다. (하나의 프로그램이 여러개의 포트번호를 사용할 수도 있다.)
      • 포트갯수는 0 ~ 65535까지 총 65536개 있다.
      • 포트번호의 범위
        • 0 ~ 1023 : 국제인터넷주소관리기구에서 특정 서버용으로 미리 예약한 포트
        • 1024 ~ 49151 : 특정 벤더(회사)사가 등록해서 사용할 수 있는 포트 (예시. 오라클 1521)
        • 49152 ~ 65535 : 개인적인 목적으로 사용할 수 있는 포트 번호
      • 대표적인 포트 번호
        • 웹서버의 포트번호 : 80번
        • FTP서버의 포트번호 : 21번
        • 텔넷의 포트번호 : 23번
        • SSH의 포트번호 : 22번
        • https의 포트번호 : 443
      • 서버접속시 주소표기법
        • 프로토콜://주소:포트번호
        • 웹 - http://www.daum.net:80  (80번은 기본포트번호여서 생략 가능)
        • ftp - ftp://192.168.10.65:21

     

    IP(Internet Protocol)

    • ip주소 체계를 규정하는 프로토콜

     

    IPv4

    • 32비트로 구성된다.
    • 총 2^32개 만큼의 주소를 가진다.
    • 클래스
      • 클래스 A 주소 : xxx.???.???.??? - 1.???.???.??? ~ 126.???.???.??? (맨 앞자리만 고정되어 있고 나머지는 0~255까지 쓸 수 있다.)
      • 클래스 B 주소 : xxx.xxx.???.??? - 128.xxx.???.??? ~ 191.xxx.???.??? (앞 두자리 고정, 256*256개의 네트워크 구성 가능)
      • 클래스 C 주소 : xxx.xxx.xxx.??? - 192.xxx.xxx.??? ~ 223.xxx.xxx.???
    • 구분
      • 공인 ip주소 : 다른 컴퓨터와 통신할 때 사용하는 ip주소
      • 사설 ip주소 : 가상ip, 사설망내에서 사용할 수 있는 ip주소 (공인IP를 거쳐서 외부인터넷에 접근할 수 있다.)
        • 10.0.0.0 ~ 10.255.255.255
        • 172.16.0.0 ~ 172.31.255.255
        • 192.168.0.0 ~ 192.168.255.255
      • 특수목적 ip주소
        • 루프백(loopback) ip, 자기자신을 나타내는 ip주소
          • 127.0.0.1

     

    • 서브넷마스크(255.255.255.0)
      • ip주소를 내부 ip주소인지 외부 ip주소인지 구분할 때 사용
      • ip주소와 서브넷마스크주소를 논리곱연산을 수행해서 같은 주소가 나오면 내부ip, 다른 주소가 나오면 외부ip로 판단한다.
      • ip대역을 더 작은 단위로 나눌 수 있다.
      • 라우터의 브로드캐스팅 부담을 줄일 수 있다.

    서브넷 네트워크 ip주소가 같기 때문에 통신 가능
    서브넷 네트워크 ip주소가 달라서 통신 불가

    IPv6

    • 128비트로 구성된다.
    • ip주소 고갈문제, 인터넷 확장성(사물인터넷), 데이터 보안의 강화를 위해서 정의
    • ip주소 갯수
      • 2^128개 (340,282,366,920,938,463,463,374,607,431,768,211,456개)
    • 주소 표기법
      • 16비트씩 16진수로 표기
      • 2001:0d5f:451d:0010:38da:6b43:191c:1d1d

    DNS(Domain Name Server)

    • 웹사이트의 도메인이름과 ip주소를 서로 변환하는 역할을 수행하는 서버다.
    • 도메인이름에 해당하는 ip주소정보를 조회할 수 있다.

     

    Gateway(게이트웨이)

    • 서로 다른 네트워크로 이동하기 위한 통로다. (라우터라고도 함)
    • 내부네트워크가 아닌 외부네트워크와 통신하는 경우 반드시 게이트웨이를 거쳐야 한다.

    TCP/IP

    • TCP(Transmission Control Protocol)과 IP(Internet Protocol)를 말한다.
      • 인터넷 통신에 가장 기반이 되는 프로토콜 (인터넷은 TCP, IP두가지를 사용해서 데이터 통신을 한다.)
    • TCP
      • 컴퓨터가 다른 컴퓨터와 데이터 통신을 하기위한 표준을 정의하는 프로토콜
      • 패킷의 순서 정보, 오류 검출 정보가 들어있다.
      • A라는 호스트에서 B라는 호스트로 데이터를 보냈을 때, 데이터가 오류없이 도착했는지를 확인할 수 있는 프로토콜이다. 
    • IP
      • 인터넷 프로토콜, 호스트를 식별하기위한 ip주소체계를 정의하는 프로토콜

    => 내 컴퓨터에서 메시지를 보내면 데이터를 한꺼번에 못보내고 tcp프로토콜에서 데이터를 더 작은 단위로 조각조각(패킷) 나눈다. 그리고 그 조각에 TCP 프로토콜에서 정의한 메시지를 붙인다. 패킷의 순서에 대한 정보이다. 그리고 ip주소 정보가 붙는다. 수신자 쪽에서 받으면 ip를 없애고 tcp정보를 확인하여 데이터를 조립한 다음에 웹서버에 전달한다.

    즉, 송신측에서는 필요한 헤드를 붙이고 수신측에서는 데이터를 받아서 헤드를 뽑아서 브라우저에게 데이터를 전달하는 것이다.

     

    => 서버프로그램이 설치되어 있는 컴퓨터에서는 브라우저에서 http://localhost, http://127.0.0.1로도 서버에 연결할 수 있으나, 서버가 없는 컴퓨터에서는 실제 ip주소를 통해서만 요청할 수 있다.

     

     

     

    댓글

Designed by Tistory.