Computer Network
(별도 항목 기재) |
컴퓨터 네트워크(computer network) 또는 컴퓨터망은 분산되어 있는 컴퓨터를 통신망으로 연결한 것을 말한다.
수리 계산기와 초기 컴퓨터 사이의 명령들은 주로 인간이 직접 전달했다. 조지 스티비츠(George Stibitz)는 1940년 9월에 전신기(teletype machine)를 사용해서 뉴욕에 있는 복소수 계산기(Complex Number Calculator)에 명령어들을 보내고 결과를 받았다. 컴퓨터에 전신기 같은 출력 시스템을 연결하는 것은 1962년 J.C.R. Licklider가 소위 '행성간 네트워크'라고 불리던 작업 그룹을 발전시키면서 큰 관심을 기울였던 것이었다. 이 '행성 간 네트워크'는 나중에 알파넷의 전신이 되었다.
Categories
- ComputerNetwork:Basic - 컴퓨터 네트워크 기초
- Container network (Docker:Network)
- L4 Switch#네트워크 엔지니어 환영의 기술블로그 : L4 스위치 쉽게 이해하기 - 추천 튜토리얼
- Air-Gap - 물리적으로 분리된 네트워크 환경
- Network segment
- Rate limiting
IP 충돌 검색
arp-scan#IP 충돌 검색 항목 참조.
두 개 이상의 PC를 다이렉트 연결로 통신하기
PC와 PC 사이에 공유기 없이 네트워크를 연결하거나 인터넷을 연결하는 방법에 대한 설명:
서버에 연결된 각 네트워크 인터페이스 (이더넷 포트) 이름을 확인하십시오. 일반적으로 이더넷 인터페이스는 "eth0," "eth1," "eth2," "eth3" 등으로 표시됩니다. 다음 명령을 사용하여 확인할 수 있습니다.
각 이더넷 포트에 대해 서로 다른 서브넷을 구성합니다. 예를 들어, eth0는 192.168.1.1/24, eth1은 192.168.2.1/24, eth2는 192.168.3.1/24, eth3은 192.168.4.1/24과 같이 설정할 수 있습니다.
sudo ifconfig eth0 192.168.1.1/24 up
sudo ifconfig eth1 192.168.2.1/24 up
sudo ifconfig eth2 192.168.3.1/24 up
sudo ifconfig eth3 192.168.4.1/24 up
각 이더넷 포트로 다이렉트 통신을 위해 라우팅을 설정해야 합니다. 라우팅 규칙을 추가하여 트래픽이 올바른 이더넷 포트로 전송되도록 지시합니다. 서브넷이 서로 달라야 한다
sudo ip route add 192.168.2.0/24 dev eth1
sudo ip route add 192.168.3.0/24 dev eth2
sudo ip route add 192.168.4.0/24 dev eth3
(Optional) 필요한 경우 방화벽 규칙을 설정하여 특정 포트나 서비스를 허용하거나 차단할 수 있습니다. 예를 들어, iptables를 사용하여 방화벽 규칙을 설정할 수 있습니다.
sudo iptables -A INPUT -i eth1 -j ACCEPT
sudo iptables -A INPUT -i eth2 -j ACCEPT
sudo iptables -A INPUT -i eth3 -j ACCEPT
리눅스 서버를 라우터로 사용하는 방법
자세한 내용은 net.ipv4.ip_forward 항목 참조.
Promiscuous mode
TCP/IP 프로토콜이 설계 될때 datagram 자체가 전혀 암호화 하지 않고 전송되게 되어 있었습니다. 따라서, 네트웍 상을 이동하는 패킷들을 모아서 순서에 맞게 재조합을 하면 원래의 데이타를 얻을 수가 있죠.. 이러한 방법을 sniffing이라고 합니다. 킁킁거리다.. 라는 뜻을 가지구요..
이렇게 되면, 원격 호스트에서 접속시 아이디랑, 비번을 가로챌 수가 있겠죠? 이것은 이더넷 상에서 데이타를 여러호스트를 대상으로 소스 호스트에서 뿌려버립니다. 그럼.. 각 호스트들은 자신의 데이타가 아니면 그냥 흘려보내고, 자신의 데이타면 그것을 받아서 어떤 일을 하게 됩니다.
원래 시스템은 기본으로 자기것만 받도록 설정되어 있습니다. 그런데, 이 스니퍼를 돌리게 되면 자신의 시스템의 인터페이스가 열리고, 아무거나 받아들이게 되죠.. 이러한 모드를 promiscuous mode 라고 합니다. 만약 자신의 시스템이 promiscuous mode로 돌아간다면 스니퍼가 돌아가고 있다고 의심하심이....
2개의 인터페이스의 서브넷이 동일하면 문제가 생길 경우
근본 원인:
- 동일한 서브넷에 2개의 인터페이스가 있는 경우 어떤 인터페이스가 트래픽을 전송하는 데 사용될지 보장할 수 없으며 시스템은 두 인터페이스 모두에서 두 IP에 대한 트래픽을 허용합니다.
- 이는 Linux에서 IP 주소가 호스트에 속하고 인터페이스와 연결되지 않기 때문입니다.
- 주어진 인터페이스를 사용하려고
-I DEV
로 ping하는 경우 응답 패킷(있는 경우에도)이 동일한 인터페이스로 돌아올 것이라는 보장이 없으므로-I DEV
가 작동하지 않을 수 있습니다.
네트워크 계층 모델
인터넷망은 민간 사업자들 사이에서 먼저 발달하여 주요 인터넷망의 근간이 된 TCP/IP 모델을 기반으로 하고 있으며, 이 모델은 그보다 앞서 국제 표준 기구가 제정한 OSI 7 계층 모델과 아래와 같이 비교할 수 있다.
인터넷 모델 | |
응용 계층(Application layer) | 응용 계층(Application layer) |
표현 계층(Presentation layer) | |
세션 계층(Session layer) | |
전송 계층(Transport layer) | 전송 계층(Transport layer) |
네트워크 계층(Network layer) | 인터넷 계층(Internet Layer) |
데이터 연결 계층(Data link layer) | 네트워크 접속 계층(Network Access Layer) |
물리 계층(Physical layer) |
Computer network types by geographical scope
Near field (NFC), Body (BAN), Personal (PAN), Near-me (NAN), Local (LAN), Home (HAN), Storage (SAN), Campus (CAN), Backbone, Metropolitan (MAN), Wide (WAN), Internet, Interplanetary Internet |
Network Utilities
네트워크 테스트와 관련된 유틸리티를 소개한다.
- NS-3 - http://www.nsnam.org/ - 네트워크 시뮬레이터로, 부하테스트와 같은 네트워크 관련 테스트를 목적으로 한다 (Linux 커널에서 작동한다).
- tcping - 특정 IP의 TCP와 PORT상태를 알아내기 위한 유틸리티이다 (오픈소스이며, Win32에서 작동한다).
- nmap
- arp
- arping
- cacti - http://www.cacti.net/ - PING, SNMP를 이용한 네트워크 모니터링 소프트웨어.
- fiddler - Web debugging proxy.
- HTTPScoop - 간단한 HTTP 추적기.
- Wireshark - 오픈 소스 패킷 분석 프로그램
- Berkeley Packet Filter (BPF) - 패킷 분석에 사용.
- OPNSense - 오픈소스 네트워크 시큐리티 플랫폼
- ping -ip 확인
- traceroute - 서버에서 대상 호스트까지 패킷 경로를 추적
- dns lookup - Look up DNS
- whois - 도메인에 관한 정보 확인
- port check - IP 와 PORT 같이 체크
- reverse lookup - 호스트명과 ip 정보 확인
- proxy checker - 프록시 서버 여부 및 관련 정보 확인
- bandwidth meter - 현 접속환경에서의 다운 및 업로드 속도 측정 정보 확인
- network calculator - 현재 접속한 네트워크의 전체 정보
- network mask calculator - 서브넷별 네트워크 정보
- country by ip - 자신 아이피의 위치 정보를 확인
- unit converter - 급쌩뚱맞게 왜 단위 변환기가 있지?
- iperf - 네트워크 TCP 트래픽 속도 테스트
Network Traffic Generators
- WAN/LAN Network Traffic Generators for Bandwidth & Stress Testing
- WAN Killer - 상용
- Ostinato Packet Generator - GUI 인터페이스, GNU GPL v3, so free to use.
- Packet Sender
- Nping - Nping은 응답 분석, 응답 시간 관리 및 네트워크 패킷 생성을위한 또 다른 오픈 소스 도구입니다. 또한 활성 호스트를 식별하는 간단한 ping 유틸리티로 사용할 수도 있습니다.
- TRex - Trex는 DPDK로 구동되는 트래픽 생성기 도구입니다. 상태 저장 및 상태 비 저장 모드 모두에서 잘 작동하는 오픈 소스 소프트웨어입니다.
- NetScanTools Packet Generator - 상용
- PB Software - 상용
- mirrord - 프로덕션 트래픽을 개발 환경으로 미러링 해주는 오픈소스
See also
Favorite site
- Wikipedia (en) 컴퓨터 네트워크에 대한 설명
- Zetawiki: 네트워크 브리지
- Zetawiki: 네트워크 스위치
- Zetawiki: 게이트웨이
- 'Network Infra 쉽게 이해하기' 카테고리의 글 목록
Use Linux
References
-
PC_to_PC_-_network_connect.pdf ↩