Linux

네트워크 기초

laughcryrepeat 2020. 8. 16. 21:16

OSI 7 계층

 

1) OSI 7 계층의 개요

 

1. OSI 7 계층의 정의

이기종 시스템 간 상호 통신을 위해 ISO 국제표준화기구에서

컴퓨터 네트워크 프로토콜 디자인과 통신 계층을 구성하여 개발한 네트워크 모델

 

2. OSI 7 계층의 특징

  • 개념적 모델만 존재. 실제 네트워크 구현시 참조 모델로 사용
  • 각 계층은 하위계층이 제공하는 서비스를 이용하고 상위 계층에 서비스 제공
  • 상위계층에서 하위계층으로 데이터를 전달할 때 헤더와 트레일러를 추가하여 데이터에 대한 캡슐화 수행. 
    수신할 때는 헤더와 트레일러를 제거하고 분석하여 상위계층으로 전달하는 역캡슐화 수행.

OSI 7 계층

 

2) 세부설명

 

1. 1계층 : 물리계층

  • 네트워크의 전기적이고 물리적 연결을 담당
  • 케이블, 무선 주파수 링크 해당
  • 그 밖의 디지털 데이터를 물리 계층의 매체가 전달할 수 있는 신호로 변환하여 비트단위로 전송
  • 관련 네트워크 장비로는 허브와 리피터

2. 2계층 : 데이터 링크 계층

  • 2개의 노드가 직접 연결되어 있을때 프레임 단위로 데이터 전송을 수행. 각 노드는 MAC 주소를 가짐
  • 수신노드의 수신속도에 맞추기위해 송신노드가 데이터를 느리게 보내는 흐름제어 수행.
    정지-대기 stop-and-wait 와 슬라이딩 윈도우 sliding window
  • 신호간 충돌현상이 발생하지 않도록 회선제어 기능 제공.
  • 오류검출과 재전송기능을 수행하는 오류제어 기능을 제공.
    수신 측에서 오류를 감지하면 NAK을 반환하고 전송 측에서는 패킷을 재전송 - ARQ Automatic Repeat Request
    재전송하지 않고 직접 오류를 정정하는 방법 FEC Forward error control
  • 세부적으로 매체접근제어MAC 계층과 논리연결제어 LLC 계층으로 나눌수 있음.
  • 관련네트워크 장비는 브리지와 스위치

3. 3계층 : 네트워크 계층

  • 2개의 노드가 여러 네트워크를 거쳐 연결되어 있을때 데이터를 패킷 단위로 분할하고 논리적 주소를 설정하여 정확하게 전송하는 역할
  • 송신노드와 수신노드 사이에 여러 노드가 존재하고 이들 사이에 경로설정 라우팅 기능을 제공.
  • 혼잡제어, 패킷의 분할 및 병합, 인터네트워킹 기능 제공
  • 관련 네트워크 장비는 라우터router

4. 4계층 : 전송 계층

  • 송신 측 프로세스와 수신 측 프로세스간 연결을 제공하고 신뢰성 있는 동신이 가능하도록 역할 수행
  • 프로세스를 위한 주소 및 포트지정, 연결제어, 오류복구, 흐름제어 기능을 제공
  • 전송계층에서는 세그먼트 단위로 데이터를 전송하고 네트워크 계층은 다시 패킷으로 나누어 전송.
  • 보통 커널의 시스템 콜을 통하여 상위계층에 기능을 제공
  • 전송계층의 구현사례 TCP/IP

5. 5계층 : 세션 계층

  • 연결된 노드간 메시지 단위로 데이터를 전송. 세션 설정 및 유지, 동기기능, 대화기능 제공.
  • 동기기능은 통신 양단에서 논리적으로 상호 데이터 전송이 잘 되었다는 의미로 동기점을 설정하고
    이후 데이터 전송에서 전송오류가 발생하면 동기점 후의 데이터만 복구.
  • 대화기능은 데이터 전송 기능을 의미. 신회성 있는 전송을 보장하기위해
    시간 경과에 따라 순차적으로 동기점을 부여하면서 단계적으로 데이터 전송.

6. 6계층 : 표현 계층

  • 송신자와 수신자가 서로 다른 표현방식을 사용하면 데이터를 받았어도 의미 해석불가
    다양한 표현방식을 제공하고 송신 측과 수신 측이 동일한 표현방식을 사용할 수 있는 기능 제공
  • 유니코드로 인코딩된 파일을 ASCII 로 변환하여 현식을 맞추는 기능을 포함.
  • 데이터 암호화와 해독기능, 압축 및 압축해제 기능 제공

7. 7계층 : 응용 계층

  • 사용자에게 편리한 응용환경 제공하는 기능 수행
  • 전자우편 SMTP, 웹서비스 HTTP, 원격접속 HTTP, 파일전송 FTP 등 응용 계층에 해당

3) OSI 7 계층의 전송 단위 및 프로토콜

 

1. OSI 7 계층의 전송 단위

계층 이름 전송단위 설명
7계층 응용 메시지 사용자가 전송하고자 하는 데이터를 메시지 단위로 전송
6계층 프리젠테이션 메시지
5계층 세션 메시지
4계층 전송 세그먼트 메시지를 전송에 최적화한 세그먼트 단위로 나누어 전송
3계층 네트워크 패킷 세그먼트를 패킷 단위로 나누어 전송. 논리적 송수신 주소 및 정보를 담고있는 헤더추가
2계층 데이터 링크 프레임 패킷을 프레임 단위로 나누어 전송. 송수신 측의 물리적 주소 및 오류 검출을 위한 CRC 값을 포함한 헤더 및 트레일러 추가
1계층 물리 비트 프레임을 물리 매체에 따라 비트 단위로 전송

2. OSI 7 계층의 프로토콜

계층 이름 프로토콜
7 응용 HTTP, SMTP, POP3, IMAP, DNS, NFS, FRP, TELNET, SSH
6 프레젠테이션 SMB, AFP, ASN.1
5 세션 SSL, TLS, NetBIOS
4 전송 TCP, UDP, RTP
3 네트워크 IP,ICMP, ARP, RARP, IGMP, BGPG,RIP, IPX
2 데이터 링크 Ethernet, Token Ring, FDDI, ATM
1 물리 RS-232, USB, I2C, IEEE802.15.4, 10BASE-T, 100BASE-T, 1000BASE-T, Bluetooth

 

 


네트워크 장비

 

1) LAN 구성 장비

 

1. 네트워크 카드

  • 컴퓨터를 네트워크에 연결 가능하게 하는 네트워크 장치
  • NIC network interface controller 또는 네트워크 아답터. 
  • LAN 환경 - LAN아답터, LAN 카드
    이더넷 방식 - 이더넷 카드
  • 1계층과 2계층 기능 수행. 맥주소 지정기능 제공.
  • ISA방식, PCI방식을 지원. 그외 다양한 방식의 네트워크 카드 제작.

2. 케이블

  • 네트워크 신호를 전달하는 물리적 전송매체
  • 꼬임선, 동축케이블, 광섬유 등.

3. 허브

  • 다수의 장치를 LAN에 접속할 수 있도록 한 자이에서 전송한 데이터 프레임을 모든 장비에게 전송하는 플러딩 flooding 네트워크 장치
  • 허브를 중심으로 장치들을 스타형으로 연결
  • 신호를 증폭하는 역할도 수행. 전송거리 연장하는 효과
  • 간편하게 네트워크 확장가능하나 데이터 충돌 가능성 높음. 

2) 인터네트워크 장비

 

1. 리피터

  • 케이블을 통해 데이터가 전송될때 감쇄현상으로 신호가 약해지는데 이를 증폭하고 재생하여 전송하는 1계층 네트워크 장비
  • 최대4개까지 사용. 

2. 브리지

  • 여러개의 네트워크 세그먼트를 연결하기위해 데이터 프레임의 MAC주소를 보고
    해당 포트로 데이터를 포워딩하는 2계층에서 동작하는 네트워크 장비
  • 모든 포트로 플러딩하지 않기 때문에 효과적으로 프레임 전달
    데이터 프레임을 전송할 포트를 빠르게 찾기위해 브리지 데이블을 관리

3. 라우터

  • 독립된 네트워크를 서로 연결. 송신측 패킷을 목적지까지 전달하기위해 효과적인 경로를 찾아 데이터를 포워딩하는 장비
  • 네트워크를 서로 연결해주고 한 포트의 패킷을 다른 포트로 전달하는 포워딩 기능을 제공. 
  • 일반적으로 IP패킷을 라우팅. 3계층에서 동작. 사전에 라우팅 정보를 설정하는 정적라우팅과 실시간으로 설정하는 동적 라우팅.

4. 게이트웨이

  • 서로 다른 프로토콜이나 통신망을 사용하는 네트워크를 연결하기위해 두 네트워크의 이종 프로토콜의 변환기능을 수행하는 장비.
  • 랜이나 무선랜을 인터넷이나 다른 통신망에 연결하기위해 게이트웨이가 필요

데이터 통신의 기본 이해

 

1) 네트워크 토폴로지

 

1. 스타형

  • 중앙의 노드와 사용자의 노드는 point-to-point방식으로 연결하면서 다수의 사용자 노드와 연결하는 네트워크 구조
  • 확장이 용이하고 사용자 노드 결함이 있더라도 다른노드에 영향을 주지않음.
  • 패킷 충돌 가능성이 높고 중앙노드 결함이 있으면 전체 네트워크 중단.

2. 버스형

  • 단일 회선에 사용자 노드가 T자 모양으로 연결하고 회선의 끝에는 종단기를 설치하여 신호의 반사를 방지하는 네트워크 구조

3. 링형

  • 네트워크 노드가 원형으로 연결. 앞의 노드에서 받은 데이터를 다음노드로 전달하는 구조.

4. 망형

  • 네트워크로 연결된 모든 노드가 서로 개별적으로 그물처럼 연결된 네트워크 구조

 

2) 네트워크 통신 방식

 

1. 이더넷

  • LAN, MAN, WAN을 구축하기위해 일반적으로 사용하는 기술. IEEE 802.3으로 표준화.
  • 연결설정이 불필요한 비연결 모드. 복구 오류제어는 상위계층의 프로토콜에서 수행
  • 버스 혹은 네트워크 토폴로지를 구성하여 네트워크를 단순하게 구성. 경제적.
  • 비동기식 직렬 통신과 부호화 방식으로 맨체스터 인코딩 사용
  • 각 노드를 유일하게 식별 가능하도록 48비트 MAC주소 가짐. 데이터는 이더넷 프레임 형식으로 전달.
    송수신 MAC 주소를 포함하는 헤더는 14바이트. 최대 전송 크기는 1500바이트. 마지막 FCS 붙음
  • 전송매체는 동축, UTP, STP등 사용. 허브, 스위치, 리티터 등 장치 사용.
  • T, TX, FX, SX, LX는 전송매체 의미.

2. 토큰링

  • LAN을 구축하기 위해 토큰을 획득한 노드만 데이터를 전송할 수 있는 네트워크 기술
  • 속도는 4-16Mbps수준. 동축이나 광케이블 매체
  • 이너넷보다 이론적으로 빠르고 안정적이나 스위치 이더넷 개발 보급되어 쇠퇴

3. FDDI

  • LAN들을 연결하는 백본망을 구성하기위해 주링과 부링으로 구성된 이중링에
    스테이션이 연결하여 약 100Mbps 대역폭 갖는 네트워크 기술. 광섬유 케이블 매체.

 

3) 네트워크의 유형

 

 

1. LAN

  • 한정된 지역에서 컴퓨터간 자유로운 정보교환을 위한 네트워크
  • 유선방식으로 이더넷과 TCP/IP 통해 구축이 일반적.
    무선방식으로 IEEE 802.11 표준 무선랜 구축
  • 데이터 링크 계층과 물리계층에 해당

2. MAN

  • LAN보다는 범위가 크고 WAN보다는 작은 규모. 도시권 통신망.
  • 도시내 여러 LAN 사이를 이어주는 백본 의미.IEEE 802.6에 정의된 DQDB토폴로지 기법 사용.

3. WAN

  • 넓은 지역을 연결할 수 있는 광역 통신망
  • 거리의 제약은 없지만 다양한 경로설정 필요. 속도가 느리고 전송 에러율이 높음.
  • 전용회선방식과 교환회선방식이 있음.

 

4) 교환 방식

 

1. 회선 교환 방식

  • 데이터 통신을 할 사용자간 미리 연결을 설정. 회선을 점유해 제이터를 송수신.
  • 대역폭을 온전히 연결된 사용자 끼리만 사용. 연결이 유지
  • 전화연결이나 PSTN

2. 패킷 교환 방식

  • 회선 교환방식의 대역폭 낭비를 최소화 하기 위해 데이터를 일정 크기로 분할한 패킷을 송수신
  • 여러 사용자 패킷이 동시에 회선 공유 전달하므로 대역폭 이용 효율 극대화 가능.
  • 오버헤드로 인한 성능저하와 지연현상 발생 가능성.
  • 데이터그램 방식과 가상회선 방식으로 다시 구분.
    데이더 그램 - 논리적 연결 설정 없이 패킷이 독립적으로 전송. 일시적 전송에 적합.
    가상회선 - 논리적 연결 설정하고 데이터 전송. 다량의 데이터 연속적 전송에 적합.

5) 패킷 교환 기술

 

1. X.25

  • ITU-T에 의해 표준화된 통신 규약 개발.
  • DTE와 DCE간의 점대점 인터페이스 정의
  • 연결지향 프로토콜. 가상회선 기능 제공.
  • 1,2,3 계층에서 동작

2. 프레임 릴레이

  • 고속망에 대한 사용자 요구에 대응하기 위해 개발한 패킷 교환기술.
  • 통걔적 다중화 기능을 제공 효율적인 대역폭 사용을 제공.
  • 1,2 계층에서 동작

3. 셀 릴레이(ATM Asynchronous Transfer Mode)

 

 

 


TCP/IP 및 네트워크 프로토콜의 이해

 

1) 프로토콜

 

1. 프로토콜의 개요

  • 통신장비사이 메시지를 주고받는 양식 또는 규칙의 체계
  • 형식 (데이터의 구조나 형식), 의미 (형식에 따라 담긴 데이터를 어떻게 해석할 것인가),
    타이밍 (어떤 순서, 속도로 오가야 하는지) 으로 구성.

2. 프로토콜의 기능

  • 에러제어
  • 캡슐화
  • 연결제어
  • 순서제어
  • 흐름제어
  • 혼잡제어
  • 동기화
  • 주소지정
  • 단편화 및 재조정
  • 데이터의 형식화

3. 표준 제정 위원회

  • ISO
  • ANSI
  • ITU-T
  • IEEE
  • EIA
  • TTA

 

2) TCP/IP

 

1. TCP/IP 개요

  • 근거리 통신망이나 인터넷에서 네트워크를 구현하기 위해
    임의의 서브 네트워크에 접속한 장비들과 종단 호스트간 연결과 라우팅을 제공하는 인터넷 프로토콜
  • 주요 프로토콜. TCP/IP뿐아니라 UDP, ARP, RARP 등의 프로토콜도 아우름.

2. TCP/IP의 구조

3. TCP 와 UDP

  • TCP
    연결 먼저 설정하고 데이터를 주고 받는 연결지향 전송 프로토콜. 가상회선방식 제공.
    흐름제어, 혼잡제어를 제공. 패킷 재전송을 통해 높은 신뢰성을 보장
  • UDP
    비연결형 서비스로 데이터 그램 방식으로 사용자의 데이터를 전달
    CheckSum 필드를 통해 최소한의 오류만 검출.
    TCP보다 속도가 빠름. 

4. 포트 번호 

  • 전송계층의 프로토콜은 상위 응용 계층의 다양한 프로그램을 다중화 하기위해 포트를 부여
  • 0~65535 사이 정수값
  • 0~1023은 잘 알려진 포트로 시스템에서 사용하는 포트.

5. 소켓

  • 데이터 통신을 하기위한 접점
  • 데이터 통신을 위해 소켓을 생성하고 상대바아 소켓에 접속해 상호간 데이터 교환
  • 인터넷 프로토콜, 로컬 시스템 IP 주소, 포트번호, 원격 시스템 IP주소와 포트 번호로 구성.

 

3) IP주소

 

1. IP 주소

장치들이 서로 통신하기 위해 노드를 식별하기 위한 특수한 번호

DHCP 서버에 의한 동적 할당과 고정할당 존재

바이트 값에 따라 A,B,C 일반목적 클래스 D,E 특수목적 클래스

 

2. IP주소의 클래스

 

3. 특수목적 IP 주소

네트 네트워크를 구축하기위한 사설 IP주소와 

자기 자신을 가리키는 루프백 IP 주소가 있다.

 

4) 서브넷

 

1. 서브넷의 필요성

  • 호스트 주소 중 일부를 서브넷 네트워크 주소로 사용하여 네트워크를 분할하는 기법

2. 서브넷 마스크

  • 넷마스트. IP주소를 네트워크 주소와 호스트 주소로 분리하는데 사용. 

3. 서브넷 마스크와 호스트의 개수

  • 서브넷 마스크가 255.255.255.0 일때 IP 192.168.123.132의 네트워크 주소는 192.168.123.0이 되고 해당 네트워크가 가질 수 있는 호스트 수는  총 256 개

4. C  클래스 기준 서브넷 구성해보기

  • 서브넷 마스트를 이용해 항당 받은 네트워크를 더 작은 서브넷으로 나눔.

 

5) 도메인

 

1. 도메인 네임

  • 숫자로 구성한 IP를 사람이 기억하기 쉽도록 이름을 부여하는 매커니즘

2. 도메인 체계 

  • 다단계 계층 트리 구조 루트도메인은 이름과 최상위 도메인 으로 구선. 그 앞에는 서브 도메인이 올수 있다.

3. 도메인 네임 시스템

  • 호스트의 도메인 네임을 IP 주소로 변환해주는 시스템.

 

6) IPv6

 

1. IPv6의 개요

  • 주소 고갈 문제를 해결하기 위해 주소의 길이를 128 비트로 확장한 인터넷 프로토콜