Computer Science/OS

[OS] 리눅스 / 네트워크

Bay Im 2024. 9. 5. 16:44
  • 네트워크
    • 컴퓨터 상호연결하여 정보 교환, 자료 공유 등을 구성한 통신망
    • 규모에 따라 근거리 LAN, 도시권 통신망 MAN, 광역 통신망 WAN으로 구분
  • LAN
    • 집, 사무실, 학교 등 가까운 지역 네트워크 매체를 이용하여 묶는 근거리 통신망
    • 스타형
      • 모든 기기가 Point-to-Point 방식으로 연결
      • 일부 장애가 발생해도 전체에는 영향을 주지 않는다
      • 중앙 컴퓨터 고장시 전체 네트워크 중단
      • 설치비용 많이 든다
      • 회선수 증가시 제어가 복잡하다
    • 버스형
      • 하나의 통신 회선에 여러 컴퓨터를 연결하는 방법
      • 연결된 컴퓨터 수에 따라 네트워크 성능을 좌우한다
      • 상호 간섭을 막기위해 중단에는 중단기(Terminator)가 존재한다
      • CSMA/CD 와 토큰 패싱 사용
    • 링형
      • 연결된 앞의 컴퓨터로부터 수신한 내용을 다음 컴퓨터에 재전송하는 방법
      • 토큰 패싱 방법
      • 충돌 없음
      • 노드 숫자가 늘어도 성능 저하가 적다
      • 분사 제어와 검사, 회복 가능
      • 고속 네트워크로 자주 네트워크 환경이 바뀌지 않을 때 가능
      • 노드 추가가 어렵다
      • 노드 문제 발생시 전체 네트워크 중단
    • 망형
      • 스타+링형, 그물 형태이다
      • 신뢰성이 높다
      • 설치비용이 높다
      • 라우터 이용하여 LAN 연결 또는 백본망 구성시 주로 사용
  • 이더넷
    • LAN위해 개발한 네트워크 기술
    • 각 기기들이 48비트 길이의 고유한 MAC 주소 기반으로 데이터 주고받기 가능
    • CSMA/CD 방식 이용
  • 토큰링
    • IEEE 802.5 표준화
    • 하나의 링에 이어져 형성
    • 데이터가 한쪽 방향으로 흐르도록하여 순서대로 전달
  • FDDI
    • 광섬유 케이블을 사용하여 설계된 링 구조 통신망
    • 토큰 패싱 방법 사용, ISO 규격
  • MAN
    • LAN 과 WAN의 중간 형태
    • 도시 등 연결
    • DQDB 표준안
  • WAN
    • 국가, 대륙 같은 넓은 지역 연결 네트워크
    • LAN보다 속도 느리고 전송 에러가 높다
    • 회선 교환방식
      • 모든 데이터 같은 경로 전달
      • 고정된 대역폭
      • 안정적인 데이터 전송
      • 해당 회선 사용시 다른 사람 이용 불가
    • 패킷 교환방식
      • 유동적 대역폭
      • 호스트 무제한
      • 패킷별 우선순위 부여
      • 지연발생 가능
      • 각 패킷마다 오버헤드 비트 존재
      • 현재 컴퓨터 네트워크의 사용방식이다
  • X.25
    • ITU-T의 표준화한 통신규약
    • 패킷망에서 DCE와 DTE 사이에 이루어지는 상호작용을 규정한 프로토콜
    • 가변길이 프레임 전송 지원
  • 프레임 릴레이
    • LAN, WAN에서 단말 지점간의 효율적인 데이터 전송을 위해 고안된 방법
  • 셀 릴레이
    • ATM이라고 알려졌다
    • 셀(고정길이 패킷)을 이용하여 순서대로 자료 전송
    • 가상 채널 기반의 연결형 서비스
    • 양끝에서 오류제어와 흐름제어
    • 오버헤드가 적어서 망의 고속화 가능
    • 실시간, 비실시간 서비스 제공 가능
    • 음성, 비디오 처리 가능

  • 인터네트워킹 장비
    • 게이트웨이라고 부른다
    • 서로 다른 통신망과 프로토콜을 사용하는 네트워크 간의 통신 기능을 가능하게 해주는 장치
    • 대표적으로 리피터, 브리지, 라우터
    • 리피터
      • 신호 증폭
    • 브리지
      • 네트워크 세그먼터 연결
      • 통신량 조절로 트래픽 관리
    • 라우터
      • LAN 연결 장치
      • 경로 설정하는 역할
  • 프로토콜
    • 컴퓨터 상호간 통신 위해 미리 정해놓은 통신규칙, 통신규약
    • 대표적으로 TCP/IP
    • 구성요소
      • 구문: 부호화, 신호레벨 규정
      • 순서: 통신 속도 조정, 메시지 순서 제어
      • 의미: 오류제어 위한 제어 정보에 대한 규정
    • 제정기관
      • ISO: OSI 7계층 제정
      • IEEE: 전기, 전자 공학 전문가 구성
      • ANSI: 미국산업표준 제정
      • EIA: 미국전자 산업협회 규격, LAN용
      • ITV-T: 국제 협력 증진, 능률 향상시키는 국제기구
  • TCP/IP
    • 연결지향 전송 프로토콜
    • 패키지 오류 검사
    • 신뢰도 높음, 안정성 뛰어남
    • 대용량 전송
    • 단점은 많은 전송시간
  • UDP
    • TCP보다 빠름
    • 직접연결에 따른 부하를 줄일 수 있다
    • DNS에 많이 사용한다
    • 단점은 오류 수정기능이 없다
  • TCP/IP 구조
    • 응용계층: HTTP, SMTP, POP3, IMAP, DNS, NFS, FTP, TELNET, SSH
    • 전송계층: TCP, UDP
    • 인터넷계층: IP(V4, V6), ICMP, ARP
    • 네트워크인터페이스계층: 인더넷, 토큰링, FDDI
  • 인터넷 계층
    • IP
      • 데이터 세그먼트를 패킷으로 만들어 전송하는 역할 수행
      • 비신뢰성, 비연결형, 100프로 도착은 미보장
    • ICMP
      • 메시지 오류보고, 피드백을 호스트에 보고 역할
      • PING 명령이 사용하는 프로토콜
    • ARP
      • IP 주소를 물리적 하드웨어 주소로 대응 (쉬운 문자로 변환)
    • SNMP
      • TCP/IP 사용 인터넷에서 장치 관리
  • OSI 7계층
    • 1 계층: 물리 계층, 실제장치 연결 특성 규정
    • 2: 데이터링크 계층, 오류검출 및 수정
    • 3: 네트워크 계층, 혼잡제어, 패킷 분할 및 병합, 통신경로 선택 인터네트워킹
    • 4: 전송 계층, 호스트 사이에서 실행
    • 5: 세션 계층, 대화제어자
    • 6: 표현 계층, 데이터 암호화 및 해독
    • 7: 응용 계층, 사용자에게 편리한 환경 제공
  • 프로토콜 번호 확인
    • /etc/protocols
  • 포트 번호 확인
    • /etc/services
  • 소켓
    • 네트워크로 연결되어 있는 컴퓨터에서 상호간 통신을 위한 접점
  • www
    • 인터넷에 연결된 컴퓨터를 통해 문서나 정보 공유하는 정보공간
  • 전자우편
    • smtp는 메일 서버간 메시지 교환
    • 확인은 pop3, imap 사용
  • FTP
    • 서버와 클라이언트 사이에 두개의 연결 (20, 21번 포트)
    • 데이터 전송을 위한 신호, 하나는 실제 데이터 전송
    • 명령
      • PUT: 업로드
      • GET: 다운로드
      • DELETE: 삭제
      • RENAME: 이름 변경
  • SSH
    • 텔넷 대체, 22 포트번호
    • 패킷 암호와 안전한 원격로그인 제공
    • 원격 셸, 원격 복사, 안전한 파일 전송 지원
    • 인증파일 생성 시 패스워드 입력없이 로그인
    • 옵션
      • -l, -@: 다른계정으로 접속
      • -p: 다른 포트 지정
  • 삼바
    • 윈도우가 다른 디스크나 프린터 지원을 공유할 수 있도록 하는 SMB 프로토콜
    • 확장된 CIFS
  • NFS
    • NIS 같이 RPC 프로토콜
    • 보안에 취약
  • IRC
    • 실시간 채팅 프로토콜
  • 웹 브라우저
    • 파이어폭스
      • 모질라 재단에서 개발한 자유소프트웨어 웹 브라우저
      • 리눅스, 윈도우, 맥, 안드로이드 등 사용 가능
    • 오페라
      • ASA에서 개발한 웹브라우저
      • 탭 브라우징 기능 최초로 선보임
      • 웹 페이지가 네모난 썸네일 형태로 가지런히 배열되는 스피드 다이얼도 최초로 선보임
    • 크롬
      • 구글에서 웹키트 레이아웃 엔진을 이용해서 개발한 프리웨어 웹 브라우저
  • 리눅스에서 지원하는 네트워크 하드웨어
    • lo
      • 로컬 루프백을 나타내는 장치
      • 가상으로 만들어진 네트워크 인터페이스 장치
      • IP 주소는 127.0.0.1 설정
    • plip
      • 패러럴 라인 인터페이스
    • sl
      • SLIP 인터페이스

  • IP주소
    • IP주소는 인터넷에서 다른 컴퓨터와 서로 인식 및 통신하기 위해 사용되는 특수 번호
    • 각 컴퓨터마다 고유한 값으로 제공
    • IP주소(IPv4)는 32비트의 이진 숫자로 구성
      • A~C까지만 일반적인 목적
      • D, E 클래스는 특수 목적
      • 네트워크 식별자는 NIC에서 할당하는 주소, 호스트 식별자는 개별 네트워크 관리자가 할당하는 주소
    • 주소 내역
      • A: 0.0.0.0~127.255.255.255
      • B: 128.0.0.0~191.255.255.255
      • C: 191.0.0.0~233.255.255.255
      • D: 224.0.0.0~239.255.255.255
      • E: 240.0.0.0~255.255.255.255
    • 사설 IP 주소 내역
      • A클래스, 10.0.0.0~10.255.255.255, 1개 네트워크
      • B클래스, 172.16.0.0~172.31.255.255, 16개 네트워크
      • C클래스, 192.168.0.0~192.168.255.255, 256개 네트워크
  • 넷마스크 (Netmask)
    • 넷마스크 주소는 서브넷 마스크라고도 부른다
    • A~C 클래스에 속한 IP 주소
      • 클래스: 주소값, 호스트 개수
      • A: 255.0.0.0, 16777216개
      • B: 255.255.0.0, 65536개
      • C: 255.255.255.0, 256개
  • 게이트웨이 (Gateway)
    • 서로 다른 통신망이나 프로토콜을 사용하는 네트워크 간의 통신을 가능하게 하는 컴퓨터나 소프트웨어를 일컫는 것
  • 인터넷 연결 시 실제 사용 가능한 호스트의 IP주소 개수
    • 255.255.255.0은 253개
    • 255.255.255.128은 125개
    • 255.255.255.192는 61개
    • 기타
      • C클래스에서 전체 네트워크는 256, 실제 사용 가능한 호스트 개수는 253. 서브 네트워크 개수는 1이다
  • 서브 네트워크의 개수
    • 255.255.255.0은 1개
    • 255.255.255.128은 2개
    • 255.255.255.192은 4개
  • ICANN
    • 국제 인터넷 주소 관리 기구
    • 인터넷 도메인 이름, IP주소, 프로토콜의 범주와 포트번호 할당, DNS관련 기능 감독, 도메인 분쟁의 조율과 중재 등 담당
  • IPv6
    • IPv4의 주소 고갈 문제를 해결하기 위해 제안된 차세대 인터넷 프로토콜
    • 128비트로 확장
    • 임의의 큰 크기로 패킷 교환 가능
    • 접속하는 순간 자동으로 네트워크 주소 할당
    • 오버헤드 비트를 줄였다 (구조가 단순하다)
  • DNS
    • 인터넷상에서 컴퓨터 이름에 대한 주소 매핑 서비스를 제공하기 위해 개발
    • etc/hosts라는 파일 사용
  • 도메인 체계
    • 도메인은 루트 도메인 아래에 역트리 형태의 계층적 구조로 구성된다
    • 일반 최상의 도메인
      • com
        • 영리 목적 기업, 회사
      • net
        • 네트워크와 관련된 기관
      • org
        • 비영리 기관, 단체
      • edu
        • 학위 수여 교육기관
      • gov
        • 미국 연방정부기관
      • mil
        • 미국 연방군사기관
      • int
        • 유엔 같은 국제 기관
    • 국가 최상의 도메인
      • kr, cn, us
    • 2단계 공동 도메인
      • go
        • 대한민국 정부 관련 기관
      • re
        • 연구 목적 학술기관
      • or
        • 비영리 기관, 단체
      • ac
        • 대학교, 대학원
      • pe
        • 개인 도메인
      • co
        • 영리 목적 기업, 회사
  • ifconfig
    • IP주소, 넷마스크 주소, MAC 주소, MTU, Braodcast 등 설정 확인
  • route
    • 라우트 테이블의 정보를 출력 또는 관리하는 명령
    • 네트워크 주소, 게이트웨이 주소 확인 및 설정
  • netconfig
    • gui 환경에서 네트워크 설정
  • netstat
    • 네트워크의 연결 상태를 출력하는 명령
    • Kernel IP routing table을 확인할 수 있다
    • 네트워크 인터페이스 상태, 매스커레이드 연결 상태, 라우팅 테이블 정보 등 출력
    • 결과 종류
      • LISTEN: 서버로 들어오는 패킷을 위해 소켓을 열고 기다리는 상태
      • SYS-SENT: 로컬 클라이언트가 원격 호스트에 연결을 요청한 상태
      • SYN_RECEIVED: 서버가 클라이언트로 부터 접속 요구를 받아 클라이언트에게 응답을 했지만, 클라이언트에게 확인 메시지는 받지 못한 상태
      • ESTABLISHED: 3WAY-Handshaking이 완료된 후 서버와 클라이언트가 서로 연결된 상태
      • FIN-WAIT1: 소켓이 닫히고 연결이 종료되는 상태
      • FIN-WAIT2: 연결은 종료된 상태고, 호스트로부터 종료되었다는 정보를 기다리고 있는 상태
      • CLOSE-WAIT: 원격 호스트는 종료된 상태고 소켓을 종료하기 위해 기다리는 상태
      • CLOSING: 확인 메시지가 전송 도중 분실된 상태
      • TIME-WAIT: 패킷 처리는 끝났지만 세그먼트를 위해 소켓을 열어놓은 상태
      • CLOSED: 소켓 연결이 종료된 상태
      • LAST_ACT: 원격 호스트가 종료되고 소켓도 닫힌 상태에서 마지막 ACK 패킷을 기다리는 상태
      • UNKNOWN: 소켓 상태를 확인할 수 없는 상태
  • arp
    • 캐시를 관리하는 명령어
    • 같은 네트워크 대역에 속한 특정 호스트의 MAC 주소를 조회하려고 할 때
    • ARP 캐시는 현재 접속되어 있는 32비트 IP 주소를 하드웨어 주소(MAC 주소)로 바꿔서 기억하는 곳
    • 옵션
      • -a: arp 캐시에 기록된 특정 호스트에 대한 정보 출력
      • -d: arp 캐시에서 해당 호스트 정보 제거
      • -n: 도메인 주소 대신에 IP 주소로 출력
      • -v: 관련 정보 자세히 출력
      • -s: arp 캐시 테이블에 저장된 특정 IP에 대한 MAC 주소 변경
  • mil-tool
    • 네트워크 인터페이스의 상태를 점검하고 설정하는 유틸리티
    • 네트워크 인터페이스의 물리적 연결 여부 확인 등
  • ethtool
    • 이더넷 카드 설정 정보 출력 및 변경하는 명령어
    • 네트워크 카드 설정 정보를 출력하거나 변경하는 명령어
    • 주로 speed와 duplex 등을 확인하고 변경할 때 사용
  • 네트워크 관련 파일
    • /etc/sysconfig/network
      • 네트워크 사용 유무 지정, 호스트명 설정, 게이트웨이 주소 설정
    • /etc/sysconfig/network-scripts
      • 네트워크 인터페이스 환경 설정과 관련 파일이 저장되는 디렉터리
      • 첫번째 이더넷 카드는 ifcfg-eth0, 두번째는 ifcfg-eth1 등 파일명으로 지정
    • /etc/resolv.conf
      • 시스템에서 사용하는 네임서버(DNS서버)를 설정하는 파일
    • /etc/hosts
      • IP주소와 호스트명을 매핑시켜 데이터베이스처럼 사용하는 파일
      • DNS의 등장과 가장 밀접한 연관이 있는 파일