UDP 특징
TCP특징
IP는 서로 고유한 아이디로, 데이터를 누가 보냈는지 보기 위해 있는거임
네트워크의 기초 |
TCP/IP 프로토콜 |
주소의 이해 |
|
|
|
우분투 패키지 설치 |
APT 명령 |
dpkg 명령 |
aptlitude 명령 |
우분투 소프트웨어 센터 |
|
소스코드 설치 |
아카이브 생성 |
파일 압축 |
gcc 컴파일 |
make 명령 |
|
드라이버 = 운영체제와 앱 사이의 인터페이스 역활을 해준다.
TCP/IP 프로토콜
- 프로토콜이란 컴퓨터와 컴퓨터 사이에서 데이터를 어떻게 주고받을 것인지를 정의한 통신 규약
- 인터넷 이라고 부르는 네트워크는 TCP/IP 라는 프로토콜에 따라 데이터를 주고받음
- TCP/IP 프로토콜은 표와 같이 5계층으로 구성
- 전송 계층의 TCp와 네트워크 계층의 IP로 전체 프로토콜을 대표하여 TCP/IP 프로토콜 이라고 한다.
계층 |
기능 |
프로토콜 |
전송 단위 |
응용 계층 |
서비스 제공 응용 프로그램 |
DNS,FTP,SSH,HTTP,Telnet |
메시지 |
전송 계층 |
응용 프로그램으로 데이터를 전달, 데이터 흐름 제어 및 전송 신뢰성 담당 |
TCP, UDP |
세그먼트 |
네트워크 계층 |
주소 관리 및 경로 탐생 |
IP, ICMP |
패킷 |
링크 계층 |
네트워크 장치, 드라이버 |
ARP |
프레임 |
물리 계층 |
케이블 등 전송매체 |
구리선, 광케이블, 무선 |
비트 |
주소
일반적으로 네트워크 인터페이스는 거의 대부분 이더넷(ethernet) 방식을 사용
컴퓨터의 주소는 MAC 주소 IP주소 호스트로 구성됨.
IP주소
네트워크 부분, 호스트 부분으로 구성됨.
네트워크 부분 = 호스트의 묶음
호스트 = 각각의 IP를 가진 컴퓨터들.
즉, 네트워크 안에 호스트가 있다고 생각하면 된다.
네트워크는 지역구 이고 호스트는 그 안의 시민 이정도로 생각하면 이해가 편할것!
A클래스 B클래스 C클래스로 구부노딘다.
C클래스 = 앞의 3바이트가 네트워크 부분이다.
뒤으 1바이트만 호스트 부분으로 사용된다.
호스트 부분으로 사용할 수 있는 숫자 = 1~254
예 192.168.1005는 C. 클래스 임으로 네트워크 부분은 앞의 세자리인 192.168.100 이고 5가 호스트 부분이다.
넷 마스크와 브로드캐스트 주소
넷마스크 : IP 주서에서 네트워크 부분을 알려주는 역활
넷마스크는 하나의 네트워크를 다시 작은 네트워크로 분리할 때도 사용한다. 서브넷 마스크라고 부르기도 한다.
넷마스크
10진수 |
2진수 ( AND) 연산을 한다. |
192.168.100.5 |
11000000.10111100.01100100.00000101 |
255.255.255.0 |
111111111.111111111.11111111.000000000 |
192.168.100.0 |
11000000.10111100.01100100.0000000000 |
IP주소와 넷마스크를 10진수에서 2진수로 바꾼 후 AND 연산을 수행한다.
AND연산을 하면 네트워크만 남고 호스트는 0이된다.
네트워크 설정하기
하려면
IP주서, 넷마스크, 브로드케스트 주소, 게이트워이 주소, DMS 주소
호스트 이름 설정하기
호스트 이름 확인하기 : hostname, uname -n
호스트 이름 설정하기
hostname 명령
호스트 이름 설정 파일
재시작해도 호스트 이름이 바뀐 상태를 유지하려면 호스트 이름을 설정하는 파일 자체를 수정해야 한다.
우분투에서 설정하는 파일의 경로 ==
네트워크 인터페이스 설정하기
ifconfig |
|
기능 |
네트워크 인터페이스 IP 주소를 설정한다. |
형식 |
ifconfig [인터페이스 명] [옵션] [값] |
옵션 |
-a : 시스템의 전체 인터페이스에 대한 정보를 출력한다. up/down : 인터페이스를 활성화, 비활성화 한다. netmask 주소 : 넷 마스크 주소를 설정한다. broadcast 주소 : 브로드 케스트 주소를 설정한다. |
현재 설치된 네트워크 인터페이스 설정 확인하기 : ifconfig
ifconfig치면 된다.
네트워크 인터페이스 사용 해제하기 down 옵션
ifconfig eth0 down
네트워크 인터페이스 활성화하기 up 옵션
ifconfig eth0 up
게이트웨이 설정하기
인ㄴ터넷 네트워크와 네트워크 연결
네트워크를 다른 네트워크와 연결할 떄 연결점이 되는 장치가 게이트웨이
게이트웨이의 설정과 확인은 route 명령으로 수행한다.
DNS 설정하기
호스트 명을 IP 주소로 바꾸는 역활을 수행한다.
만약 DNS가 설정되어 있지 않으면 이름으로 서버에 접속할 수 없으며, 직접 IP주소를 사용하여 접속이 가능하다.
DNS 서버 지정하기
DNS 서버의 주소를 /etc/resolv.conf 파일에 저장된다.
DNS 서버에 질의하기 nslookup
통신 확인하기 : ping
ping |
|
기능 |
네트워크 장비에 신호를 보낸다 |
형식 |
ping [ 옵션 ] 목적지 주소 |
옵션 |
-a : 통신이 되면 소리를 낸다. -q : 테스트 결과를 지속적으로 보여주지 않고 종합 결과만 보낸다. -c 개수 : 보낼 패킷 수를 지정한다. |
사용 예 |
ping 192.168.0.1 ping -a www.naver.com |
통신 경로 확인하기
traceroute |
|
기능 |
목적지 까지 가는 패킷이 거치는 경로를 출력한다. |
형식 |
traceoute 목적지 주소 |
사용 예 |
traceoute 192.168.0.1 |
중간 노드의 기관 확인 : whois 명령 사용
네트워크 상태 정보 출력하기
라우팅 테이블 확인하기 -r 옵션
netstart -r
열려있는포트를 사용중인 프로세스 확인하기 : -p 옵션
netstart -p
프로토콜 별 네트워크 통계 정보 확인하기 -s 옵션
netstart -s
패킷 캡처하기 : tdpdump
tcpdump
tcpdump |
|
기능 |
네트워크 트래픽을 덤프한다. |
형식 |
tcpdump [ 옵션 ] |
옵션 |
-c 패킷 수 : 지정한 패킷 수 만큼 덤프받고 종료한다. -i 인터페이스 명 : 특정 인터페이스를 지정한다. -n : IP 주소를 호스트 명으로 바꾸지 않는다. -q : |
캡처한 패킷 정보를 파이롤 저장하기 : -w 옵션
tcpdump -c -3 -w dumpdata.out
캡처한 패킷 파일 읽기 -r
tcpdump -r
캡처한 내용을 ASC2로 보기 : -X 옵션
netstate, route, tcpdump,