개발자 끄적끄적

네트워크(Network) 본문

Linux

네트워크(Network)

햏치 2023. 3. 3. 23:07

<네트워크(Network)개요>

<네트워크>
- 송신자의 메시지를 수신자에게 전달하는 과정

<프로토콜(Protocol)>
- 데이터 통신에 있어서 송신자와 수신자 간에 서로 정의한 약속


<프로토콜(Protocol)의 의미>
- 송신자와 수신자가 통신이라는 것을 하려면 서로 메시지의 포맷, 언제 
  데이터를 보낼 것인지, 한번 전송하고 한번 응답받는 형태로 할 것인지, 
  이러한 것을 서로 약속을 해야하는데 이러한 약속이 프로토콜이다
- 프로토콜의 대표적인 예, OSI 7계층, TCP/IP 4계층이 존재
- 다른 약속을 한 송신자와 수신자가 통신을 할 때, 
  GateWay라는 장비가 중간에 설치되어 프로토콜이 다른 송신자와 수신자 간에
  프로토콜을 맞추어주는 역할을 해준다
  그래서 네트워크 구조가 다른 두 개의 통신 간에는 항상 GateWay라는 
  장비가 설치되는 것



<거리에 따른 네트워크 유형>
1. PAN(Personal Area Network)
- 3m 이내의 인접지역 간의 통신방법
- 초 인접지역 간의 통신방법으로 거리가 짧은 특성
- 짧은 거리로 인하여 보통은 유선보다는 무선의 WPAN이 많이 활용

2. LAN(Local Area Network)
- 근거리 영역의 네트워크로 동일한 지역내의 고속이 전용회선으로 
  연결하여 구성하는 통신망
- 단일 기간 소유의 네트워크 수 Km 범위 이내 한정된 지역
- Client/Server와 peer-to-peer 모델
- WAN보다도 빠른 통신 속도

3. WAN(Wide Area Network)
- 광대역 네트워크망으로 서로 관련이 있는 LAN들 간을 상호 연결시킨 망
- LAN에 비해 선로 에러율이 높고 전송지연이 큼
- WAN의 설게 시 전송효율과 특성 고려
- 두 목적지간을 최단경로로 연결시켜주는 라우팅 알고리즘이 중요
- 제한된 트레픽 조건하에서 흐름 제어와 과도한 지연을 제거



4. MAN(Metropolitan Area Network)
- LAN과 WAN의 중간 형태의 네트워크로 데이터, 음성, 영상 등을 지원하기 
  위해 개발
- 네트워크 서비스 범위 : 최대 75Km 
- 전송매체 : 동축 케이블, 광케이블
- DQDB(Distribute Queue Dual Bus)



<DQDB(Distribute Queue Dual Bus)>
- 분산된 지역의 LAN을 연결하여 사설망을 구성하거나, 
  하나의 도시에 있는 LAN들을 공공망에 연결시키는 기능을 제공



<회선교환과 패킷교환>

<회선교환(Circuit Switching)>
- 교환기를 통해 통신 회선을 설정하여 직접 데이터를 교환하는 방식
- 직접교환방식으로 일반전화에 사용


<회선교환 장점과 단점>

1. 특징
- 전송 전에 회선이 전용선으로 설정 - 동일한 경로(독점)
- 데이터 전송이 없어도 회선 해제 요청이 없으면 계속 접속을 유지
- 전송 시작 후 오버헤드가 없음
- point-to-point 전송구조
- 전송된 데이터에 에러제어나 흐름제어는 사용자에 의해 수행되어야 한다

2. 장점
- 대용량의 데이터를 고속으로 전송할 때 좋음/ 고정적인 대역폭 사용
- 접속에는 긴 시간이 소요되나 그 후 접속이 항상 유지되어 전송 지연이 없으며,
  데이터 전송률이 일정
- 아날로그나 디지털 데이터로 직접 전달
- 연속적인 전송에 적합(실시간)

3. 단점
- 회선 이용률 면에서 비효율적
- 연결된 두 장치는 반드시 같은 전송률과 같은 기종 사이에 송수신 요구
  (다양한 속도를 지닌 개체 간 통신 제약)
- 속도나 코드의 변환이 불가능
- 실시간 전송보다 에러 없는 데이터 전송이 요구되는 구조에는 부적합
- 통신비용 고가



<패킷교환(Packet Switching)>
- 송신 측에서 모든 메시지를 일정한 크기의 패킷으로 분해/전송
  수신 측에서 이를 원래의 메시지로 조립


<패킷교환 장점과 단점>
 
1. 특징
- 패킷 다중화, 논리채널, 경로선택 제어, 순서제어, 트래픽 제어, 오류 제어

2. 장점
- 회선 이용률이 높고, 속도 변환, 프로토콜 변환이 가능 + 음성 통신도 가능
- 고신뢰성 (경로선택, 전송여부판별 및 장애유무 등) 상황에 따라 교환기 및 회선 등의
  장애가 발생하더라도 패킷의 우회전송이 가능하므로 전송의 신뢰성 보장
- 고품질 : 디지털 전송이므로, 인접교환기간에 또는 단말기와 교환기 간에 전송,
  오류검사를 실시하여 오류발생 시 재전송이 가능
- 고효율 : 다중화를 사용하므로 전송로 사용효율이 좋음
- 이 기종 단말장치 간 통신 : 전송속도, 전송제어절차가 다르더라도 교환망이
  변환처리를 제공하므로 통신이 가능

3. 단점
- 경로에서의 각 교환기에서 다소의 자연이 요구
- 이러한 지연은 가변적임, 즉, 전송량이 증가함에 따라 지연이 심할 수 있다
- 패킷별 헤더 추가로 인한 오버헤드 발생 가능성 존재



<패킷교환방식의 종류>

1. 가상회선(Virtual Circuit)
- 패킷을 전송하기 전에 논리적인 연결을 먼저 수행
  (제어패킷에 의해 - 연결형 서비스)
- 호출요구를 하고 호출 수신 패킷을 주고받아서 연결하는 방식
- 회선교환처럼 사용하지만, 교환기에 패킷이 일시적으로 저장, 일정한 전송률
  보장은 못함
- 비교적 긴 메시지의 전송 시 더 효과적
- 이미 확립 된 접속을 끝내기 위해서 Clear Request 패킷을 사용


2. 데이터그램(Datagram)
- 각 전송패킷을 미리 정해진 경로 없이 독립적으로 처리하여 교환하는 방식
- 같은 목적지의 패킷도 같은 경로를 거치지 않고, 서로 다른 경로를 통해서
  목적지에 도달하며, 호 설정 단계의 회피 가능
- 망의 한 부분이 혼잡할 때 전송 패킷에 다른 경로를 배정 가능, 
  융통성이 있는 경로를 설정
- 가상회선의 특징 교환기 고장 시 모든 패킷을 잃어버리는 가상회선 방식과는
  달리, 그 경로를 피해서 전송할 수 있으므로 더욱 신뢰할 수 있다
- 짧은 메시지의 패킷들을 전송할 때 효과적/재정렬 기능 필요



<네트워크 토폴로지(Network Tocpology)개념>
- 컴퓨터의 네트워크의 요소들(링크, 노드 등)을 물리적으로 연결해 놓은 것, 
  또는 그 연결 방식



<네트워크 토콜로지 구성>
1. 계층형
2. 버스형
3. 스타형
4. 링형
5. 망형

*DTE(Data Terminal Equipment) : 데이터 단말장치
*DCE(Data Communication Equipment) : 데이터 통신장치




<X.25와 Frame Relay>
1.  X.25
- 패킷 교환 네트워크에서 DEC(회선 종단 장치)와 DTE(데이터 단말 장치)에서
  통신을 수행하는 프로토콜로 과거 네트워크의 상태가 좋지 않았을 때, 등장
  에러처리 기능이 많아서 오버헤드가 많다
- 이를 해결한 것이 프레임 릴레이(Frame Relay)이고,
  프레임 릴레이는 에러처리를 단순화시켰으며 통계적 다중화 기술이 도입




<네트워크 설정>

<netstat 명령>
- 시스템과 연결된 모든 네트워크 연결을 확인

[netstat 옵션]
-a(all) : 모든 소켓 정보를 확인
-n(number) : 도메인 주소를 읽지 않고 숫자로 출력
-p(pid) : PID와 사용 중인 프로그램명을 출력
-g(group) : 멀티캐스트 그룹 정보


<netstat 상태 값>
- LISTEN : 접속 요청을 대기하고 있는 상태
- ESTABLISHED : 연결이 확립되어 통신이 이루어지는 상태
- CLOSE_WAIT : 연결종료를 대기하고 있는 상태
- TIME_WAIT : 연결이 종료되고 특정 시간동안 소켓을 열어둔 상태
- CLOSE : 연결이 종료된 상태



<Flag의 의미>
U(Up) : 라우터가 Up 상태
G : Default GateWay
H(Host) : 라우터가 호스트 장비
S(Setsrc) : 라우터가 -setsrc 옵션으로 생성
D(redirect) : 라우터가 redirect로 동적으로 생성
A : 혼합된 라우팅
B(Broad Cast) : 브로드캐스트 주소
L(Local Host) : 호스트 로컬주소
*Ref : 현재 라우터별로 활성화되어 있는 사용중인 숫자
*Use : 전송하거나 받은 패킷을 의미





<arp 명령>
- IP주소->MAC주소로 변환하는 프로토콜


<arp 옵션>
-a(all) : ARP Cache 정보에 있는 모든 호스트 정보 출력
-s(select) : ARP Cache에 저장된 특정 IP에 대해서 MAC주소 변경
-d(delete) : ARP Cache에 저장된 특정 MAC주소 삭제
-i(confirm) : 특정 Ethernet의 ARP를 확인




<ethtool 명령>
- 네트워크 상태를 확인하거나 변경하기 위한 도구


<traceroute>
- 네트워크를 사용해서 목적지를 찾아가는 경로 정보를 알수 임ㅆ는 명령어
- IP주소/URL주소를 입력하면 네트워크를 방문하는 구간별로 
  게이트 웨어명, IP주소, 시간 등의 정보를 표시



<traceroute 옵션>
-m 
  - IP패킷의 초대 TTL(Time to Live)을 설정
  - 기본값이 30
-n : 홉(Hop) 주소를 출력
-p(port) : 사용되는 UDP 포트를 지정
-r(direct) : 목적 호스트가 직접 로컬로 연결되었다고 지정
-s(select) : 호스트 IP를 지정
-t : 패킷(Packet)에 대한 Type of Service를 지정
-v(version) : 상세정보를 출력
-w(wait) : 전송 패킷을 대기하는 시간 설정 


<TTL(Time To Live)/Hop>
- 통과할 수 있는 라우터의 수를 의미
*라우터 : 패킷(Packet)을 전송할 때 경로를 결정해주는 네트워크 장비




<ping(Packet Internet Grouper)>
- 네트워크 상태를 점검하기 위한 명령어로,
  ICMP 프로토콜을 사용하여 ICMP echo Request를 전송하고 
  ICMP echo reply가 되돌아오는 지 확인하여 네트워크 상태를 점검



<nslookup(Name Server Look Up)>
- 네트워크를 관리할 수 있는 도구로 도메인명에 대한 IP주소를 확인하기 위해서
  DNS(Domain Name Server)에게 질의(Query)를 실행한다



<dig>
- 사용자가 도메인명에 대해서 IP확인을 정상적으로 확인하는 점검 도구


<dig 설정 값>
-server : DNS를 질의 할 네임서버를 지정

-query type 
  - 네트워크 주소, 메일, 호스트 정보 등을 지정
  - a : network address
  - any : all query
  - mx : mail exchanger
  - soa : zone file의 soa정보
  - hinfo : host info
  - axfr : zone transfer

'Linux' 카테고리의 다른 글

리눅스 응용분야  (0) 2023.03.03
리눅스 구조 및 명령어  (0) 2023.03.03
X Window  (0) 2023.03.03