[정보처리기사] 네트워크

방용환·2023년 6월 1일
0

1. 용어 설명

  • 네트워크 (Network) : 두대이상의 컴퓨터에서 값을 송수신하기 위한 기능
  • 인터넷 (Internet) : 현실 세계에 존재하는 모든 컴퓨터들을 연결한 네트워크 통신망
  • 프로토콜 (Protocol) : 네트워크 계층 > 인터넷 계층 (IP) > 전송 계층 (TCP or UDP) > 응용 계층 (FTP, HTTP, SMTP 등) >
  • 호스트 (Host) : 네크워크 기능을 사용하는 컴퓨터 (프로그램)

2. InetAddress 클래스

1. InetAddress 클래스

  • InetAddress 클래스 : 네트워크 식별자(IP주소 및 호트스이름)를 저장하기 위한 클래스
  • 현재 사용중인 컴퓨터는 기본적으로 [127.0.0.1]의 IP 주소가 제공되며 [localhost]라는 이름으로 호스트이름 설정
  • UnknownHostException 발생 (일반예외) : 호스트이름의 컴퓨터를 검색할 수 없는 경우 발생되는 예외

2. InetAddress 클래스의 메소드

  • InetAddress.getLocalHost() : 현재 사용중인 컴퓨터의 네트워크 식별자가 저장된 InetAddress 객체를 반환하는 메소드
  • InetAddress.toString() : InetAddress 객체에 저장된 네트워크 식별자을 문자열로 변환하여 반환하는 메소드
  • InetAddress.getHostName() : InetAddress 객체에 저장된 네트워크 식별자에서 호스트이름을 문자열로 변환하여 반환하는 메소드
  • InetAddress.getHostAddress() : InetAddress 객체에 저장된 네트워크 식별자에서 IP 주소를 문자열로 변환하여 반환하는 메소드
  • InetAddress.getByName(String name) : 매개변수로 전달받은 호스트이름에 대한 네트워크 식별자가 저장된 InetAddress 객체를 반환하는 메소드
  • InetAddress.getAllByName(String name) : 매개변수로 전달받은 호스트이름에 대한 네트워크 식별자가 저장된 InetAddress 객체의 배열을 반환하는 메소드

3. TCP/IP 모델 4 계층

1. 네트워크 계층

  • 이더넷, 라우터, 스위치허브 등
  • 이더넷 (Ethernet) : 호스트에서 사용하기 위한 통신 장비
  • 라우터 (Router) : 네트워크 그룹과 네트워크 그룹을 연결하기 통신 장비
  • 스위치허브 (SwitchHub) : 호스트와 호스트 또는 호스트와 네트워크 그룹을 연결하기 통신 장비

2. 인터넷 계층 (IP)

  • IP (Internet Protocol) : 인터넷을 사용하기 위한 네트워크 주소(IP 주소)에 대한 통신규약

3. 전송 계층 (TCP or UDP)

1. TCP (Transmission Control Protocol)

  • TCP (Transmission Control Protocol) : 연결형 프로토콜 (네트워크 기능을 이용한 연결 후 통신 가능)
  • 신뢰할 수 있는 데이터 전송 통신규약
  • 소켓 통신 - 1:1 연결

2. UDP (User Datagram Protocol)

  • UDP (User Datagram Protocol) : 비연결형 프로토콜 (네트워크 기능을 이용한 연결 설정 없이 통신)
  • 신뢰할 수 없는 데이터 전송 통신규약
  • 고속통신 - 1:Many 연결

4. 응용 계층 (FTP, HTTP, SMTP 등)

  • 응용 계층 : 전송계층을 기반으로 생성된 다수의 하위 프로토콜을 사용한 응용 프로그램
  • IP 주소 : 인터넷을 사용하기 위해 컴퓨터에 부여하는 네트워크 식별자
    => IPV4 : 32bit를 이용하여 IP 주소 표현 -> 10진수 0~255 범위의 점수값 4개를 [.]으로 구분하여
    => IPV6 : 128bit를 이용하여 IP 주소 표현 -> 16진수 0000~FFFF 범위의 정수값 8개를 [:]으로 구분하여
  • 공인 IP 주소와 사설 IP 주소 존재
    => A Class : 10.0.0.0 ~ 10.255.255.255
    => B Class : 172.16.0.0 ~ 172.31.255.255
    => C Class : 192.168.0.0 ~ 192.168.255.255
    위를 제외한 주소는 공인 IP 주소
  • Netmask 주소 : 네트워크 그룹(SubNet)을 표현하기 위한 주소
    => A Class : 255.0.0.0 => 0.X.X.X ~ 127.X.X.X
    => B Class : 255.255.0.0 => 128.X.X.X ~ 191.X.X.X
    => C Class : 255.255.255.0 => 192.X.X.X ~ 232.X.X.X
  • Gateway 주소 : 라우터에 부여된 IP 주소
  • DNS 서버 : 도메인(호스트 이름)을 IP 주소로 변환하는 기능의 서비스를 제공하는 컴퓨터
  • 도메인 (Domain) : 인터넷을 사용하기위해 네트워크 그룹 또는 호스트에게 부여하는 문자로 된 네트워크 식별자
    => 도메인 그룹에 등록되어 있어야 호스트 사용 가능
  • 포트번호 (Port Number) : 인터넷을 사용하여 데이터를 송수신하기 위한 고유의 통신 경로
    => 네트워크 프로그램은 반드시 0 ~ 65535 범위의 포트 중 하나를 사용하여 데이터 전송
    => 0 ~ 1023 : Well-Known Port (HTTP : 80, https : 443, SMTP : 25, POP3 : 110 등)
    => 1024 ~ 49151 : 네트워크 프로그램 작성시 사용 가능한 포트
    => 49152 ~ 65535 : 일시적으로 사용하는 임시 포트 (Private Port)
  • 패킷 (Packet) : 인터넷에서 데이터를 전송하기 위한 단위 (Java에서는 Byte 배열로 표현 가능)
  • 방화벽 (Firewall) : 네트워크를 이용한 접속 및 데이터 전송 차단 또는 허용을 위한 시스템

0개의 댓글