프로그래밍 공부

전체 글 700

카테고리 설명
프로그래밍 공부하는 블로그
  • C++ 의 가장 기초인 Hello Wold 작성법이다. 위와 같이 작성하고 F5를 누르면 Hello Wold가 출력된다. 위 문단의 설명 #include iostream이라는 라이브러리를 해당 코드에 포함시키라는 명령어이다. cin, cout와 같은 입 출력 관련 명령어를 사용할 수 있게 해줍니다. void main() main 함수는 코드의 실행을 시작하는 함수로 설정되어 있습니다. 프로그램은 무조건 main부터 시작하게 됩니다. 또한 리턴타입이 void 이기 때문에 함수의 실행이 끝난 뒤 리턴이 없어지게 됩니다. std::cout

  • 노이즈 모델 의 원본 영상을 가정한 후, 노이즈 값을 더해서 영상을 만들 수 있다. 메틀랩 코드가 잡음을 만드는 과정: x = 원본영상. 잡음 종류 : 가우시안 잡음, 유니폼 가우시안 잡음 = (평균, 분산) 으로 잡음을 만든다. 잡음의 강도 = 노이즈 레벨이다. 가우시안 잡음 = 가우시안 분포를 가지는 잡음. 잡음 = 난수이다. 가우시안 에서는 x값이 -무한에서 무한까지의 값중 하나가 될 수 있다. 그러나 분포도 상 x값이 0이 나올 확률이 제일 높다. 유니폼 잡음 = 균일한 분포 들어온 X값이 a->b사이의 값이 나올 확률이 균등하다. 디노이징 기법들 : 가우시안 필터링 기법, NonLocal - Means, Bilateral Filtering 가우시안 필터링 스무딩 필터를 통과하면 이미지가 부드럽게..

  • 네트워크의 기초 TCP/IP 프로토콜 프로토콜이란 컴퓨터와 컴퓨터 사이에서 데이터를 어떻게 주고받을 것인지를 정의한 통신 규약 인터넷이라고 부르는 네트워크는 TCP/IP 라는 프로토콜에 따라 데이터를 주고받음 TCP/IP 프로토콜은 5계층으로 구성 전송 계층의 TCP와 네트워크 계층의 IP로 전체 프로토콜을 대표하여 TCP/IP 프로토콜 이라고 한다. 계층 기능 프로토콜 전송 단위 응용 계층 서비스 제공 응용 프로그램 DNS, FTP, SSH, HTTP, Teinet 메시지 전송 계층 응용 프로그램으로 데이터를 전달, 데이터흐름 제어 및 전송 신뢰성 담당 TCP, UDP 세그먼트 네트워크 계층 주소 관리 및 경로 탐색 IP, ICMP 패킷 링크 계층 네트워크 장치 드라이버 ARP 프레임 물리 계층 케이블..

  • 로지스틱 회귀 데이터 처리, 특징추출 분류학습 = 두개를 포함하는 것 1. 가설함수 y = 0~1 사이에 들어간다 . 확률 2. J(0) 정의 분류기 학습 = 가설학습 가설함수 정의 J(세타) 정의 3, 내리막 경사법 분류 방향도함수 : 그레디언트 벡터에 방향 을 내적한다. u의 방향이 그레디언트 f와 같을 때 최대가 된다.

  • UDP 특징 TCP특징 IP는 서로 고유한 아이디로, 데이터를 누가 보냈는지 보기 위해 있는거임 네트워크의 기초 TCP/IP 프로토콜 주소의 이해 우분투 패키지 설치 APT 명령 dpkg 명령 aptlitude 명령 우분투 소프트웨어 센터 소스코드 설치 아카이브 생성 파일 압축 gcc 컴파일 make 명령 드라이버 = 운영체제와 앱 사이의 인터페이스 역활을 해준다. TCP/IP 프로토콜 프로토콜이란 컴퓨터와 컴퓨터 사이에서 데이터를 어떻게 주고받을 것인지를 정의한 통신 규약 인터넷 이라고 부르는 네트워크는 TCP/IP 라는 프로토콜에 따라 데이터를 주고받음 TCP/IP 프로토콜은 표와 같이 5계층으로 구성 전송 계층의 TCp와 네트워크 계층의 IP로 전체 프로토콜을 대표하여 TCP/IP 프로토콜 이라고 ..

  • 파라미터 갱신 규칙 $\theta_j = \theta_j - \alpha\frac{\partial}{\partial\theta_j} J(\theta)$ for every j - 알파 : 학습률, 작은값으로 할당한다. 경사 하강법 알고리즘이다. 알고리즘을 계산하기 위해서는 우변에 있는 J($\theta$)계산이 필요하다. 손실함수 J에서 합을 무시하고 하나의 훈련샘플에 대한 경우: 샘플 하나에 대한학습 일 경우 확률적 경사 하강 법 이 있다. 배치 경사 하강법 이 있다. 훈련 데이터의 일부분, 훈련 집합 전체를 사용 등을 사용한다.

카테고리
작성일
2022. 12. 31. 12:29
작성자
WDmil
728x90

C++ 의 가장 기초인 Hello Wold 작성법이다.

위와 같이 작성하고 F5를 누르면 Hello Wold가 출력된다.

위 문단의 설명

#include <iostram> iostream이라는 라이브러리를 해당 코드에 포함시키라는 명령어이다.
cin, cout와 같은 입 출력 관련 명령어를 사용할 수 있게 해줍니다.
void main() main 함수는 코드의 실행을 시작하는 함수로 설정되어 있습니다. 프로그램은 무조건 main부터 시작하게 됩니다. 또한 리턴타입이 void 이기 때문에 함수의 실행이 끝난 뒤 리턴이 없어지게 됩니다.
std::cout << "Hello World!" << std::endl; cout는 consol out의 약자로, 표준출력 스트림 입니다(출력문 생성[printf와 같은역활]) << 연산자는 왼쪽의 문자를 오른쪽의 객체에 대한 포인터 라고 선언하는 것입니다. 그럼으로 cout에 해당하는 std에 HelloWold라는 문자열을 복사하게 되고, std::endl;을 넣음으로써 출력스트림에서 의 라인을 끝내고 표준출력 스트림 버퍼 안의 내용을 출력하기 위해 강제 플러시를 하기 위한 것입니다.
system("pause"); 컴퓨터를 대기상태로 만드는 비동기적 API로 프로그램을 종료하기 전 멈추는 역활을 합니다.

그럼으로 출력이 위와같이 나오게 됩니다.

728x90
작성일
2022. 12. 14. 19:42
작성자
WDmil
728x90

이미지에 노이즈가 있다면, 디노이징은 원본 영상이 있다는 가정 하에, 노이즈와 이미지를 분리한다.

노이즈 모델 의 원본 영상을 가정한 후, 노이즈 값을 더해서 영상을 만들 수 있다.

메틀랩 코드가 잡음을 만드는 과정:

x = 원본영상.

잡음 종류 : 가우시안 잡음, 유니폼

가우시안 잡음 = (평균, 분산) 으로 잡음을 만든다.

잡음의 강도 = 노이즈 레벨이다.

잡음의 종류들

가우시안 잡음 = 가우시안 분포를 가지는 잡음.

잡음 = 난수이다.

가우시안 에서는 x값이 -무한에서 무한까지의 값중 하나가 될 수 있다.

그러나 분포도 상 x값이 0이 나올 확률이 제일 높다.

 

유니폼 잡음 = 균일한 분포

들어온 X값이 a->b사이의 값이 나올 확률이 균등하다.

 

디노이징 기법들 : 가우시안 필터링 기법, NonLocal - Means, Bilateral Filtering

 

가우시안 필터링

스무딩 필터를 통과하면 이미지가 부드럽게 변한다.

이로써, 잡음이 없어졌다고 봐도 무방할 것이다.
원본 이미지가 y이고 결과가 x이다. 그렇다면, 가우시안 필터를 통과시켜서, 이미지데이터의 노이즈를 줄여줄 수 있을것이다.
위 를 수식으로 표시하면,

|| i - j || ^2 = 현재 픽셀과 j번째 픽셀의 거리.

수식대로를 표현

수식대로를 표현하면, 가중치는 각각 X표시가 작아지고 O표시가 가중치가 커지게 된다.

 

가우시안 필터의 단점 : 엣지부분이 발생하면,

엣지부분이 발생하게 되면, 엣지가 선명하게 나타나지 않을 수 있다.

가우시안 필터로 엣지를 나타나게 되면, 데이터의 픽셀값이 정상적으로 표시되지 않을 수 있다.

 

728x90
작성일
2022. 12. 4. 14:32
작성자
WDmil
728x90

네트워크의 기초

TCP/IP 프로토콜

  • 프로토콜이란 컴퓨터와 컴퓨터 사이에서 데이터를 어떻게 주고받을 것인지를 정의한 통신 규약
  • 인터넷이라고 부르는 네트워크는 TCP/IP 라는 프로토콜에 따라 데이터를 주고받음
  • TCP/IP 프로토콜은 5계층으로 구성
  • 전송 계층의 TCP와 네트워크 계층의 IP로 전체 프로토콜을 대표하여 TCP/IP 프로토콜 이라고 한다.
계층 기능 프로토콜 전송 단위
응용 계층 서비스 제공 응용 프로그램 DNS, FTP, SSH, HTTP, Teinet 메시지
전송 계층 응용 프로그램으로 데이터를 전달, 데이터흐름 제어 및 전송 신뢰성 담당 TCP, UDP 세그먼트
네트워크 계층 주소 관리 및 경로 탐색 IP, ICMP 패킷
링크 계층 네트워크 장치 드라이버 ARP 프레임
물리 계층 케이블 등 전송 메체 구리선 광케이블, 무선 비트

주소

일반적으로 네트워크 인터페이스는 거의 대부분 이더넷 방식을 사용한다.

컴퓨터의 주소는 MAC 주소, IP 주소, 호스트 명이 있다.

MAC 주소

  • MAC는 'media access control' 의 약자이다.
  • MAC 주소는 하드웨어를 위한 주소이며 다른 말로 이더넷 주소, 하드웨어 주소, 물리 주소 라고도 한다.
  • MAC 주소는 네트워크 인터페이스 카드 에서 저장된 주소라고 생각하면 된다.
  • MAC 주소는 쌍점: 이나 붙임표로 구분되는 여섯 개의 16진수로 구성되며, 총 48비트이다.
    • 앞의 세 자리는 제조사 번호, 뒤의 세 자리는 일련번호
00:50:56:3e:3c:fe

00:50:56 = 제조사 번호 ( IEEE에서 지정 )
3e:3c:fe = 일련 번호( 제조사에서 지정 )

IP주소

  • 우리가 보통 인터넷 주소라고 부르는 것이 IP주소 이다.
  • IP 주소는 인터넷으로 연결된 네트워크에서 각 컴퓨터를 구분하기 위해 사용된다.
  • IP 주소는 1바이트의 크기를 가진 네 자리 숫자로 구성되므로 총 4바이트 이다.
  • 예를들어 192.198.100.5 와 같이 네 가지의 숫자와 마침표로 구성됨
  • IP 주소는 네트워크를 구분하는 네트워크 주소 부분과, 해당 네트워크 안에서 특정 컴퓨터를 식별하는 호스트 주소로 구분된다.
  • IP 주소는 총 32비트 중 몇 비트를 네트워크로 사용하고 나머지 몇 비트를 호스트 부분으로 사용하는지 에 따라 A클래스, B클래스, C 클래스 로 구분된다.
  • C 클래스의 구조
    • 앞의 3바이트가 네트워크 부분이다.
    • 뒤의 1바이트만 호스트 부분으로 사용된다.
    • 호스트 부분으로 사용할 수 있는 숫자 1~254
    • 예 : 192.168.100.5는 C클래스 이므로 네트워크 부분은 앞의 세 자리인 192.168.100 이고 뒤의 5는 호스트 부분이다.
IP 주소
네트워크 부분 호스트 부분

넷 마스크와 브로드캐스트 주소

  • 넷 마스크 : IP 주소에서 네트워크 부분을 알려주는 역할
  • 넷 마스크는 하나의 네트워크를 다시 작은 네트워크로 분리할 떄도 사용 서브넷 마스크라고 부르기도함.

넷 마스크 예

  • IP 주소와 넷 마스크를 10진수에서 2진수로 바꾼 다음, 두 값을 가지고 AND 연산을 수행한다.
  • AND 연산을 하면 네트워크 부분만 남고 호스트 부분은 0이 된다.
  • 넷 마스크는 IP 주소와 AND 연산을 수행하여 네트워크 부분만 남기는 역할을 한다.

브로드 캐스트 주소 : 같은 네트워크에 있는 모든 컴퓨터에 메시지를 보낼 때 사용하는것이다.

  • 호스트 부분을 모두 1로 설정한다.
  • 예 : IP 주소에서 네트워크 부분이 192.169.100.0 이면 브로드캐스트 주소는 192.168.100.255 이다.

호스트 이름

  • 사람은 숫자보다 이름으로 된 것을 더 잘 생각해낸다. 그래서 나온것이 호스트 이름이다.
  • 호스트 이름처럼 IP 주소처럼 두 부분으로 구성된다.

포트 번호

  • 각 서비스를 구분하는 번호
  • 포트 번호는 TCP/IP 프로토콜의 4계층인 전송 계층에서 사용하는 번호 이다.
  • /etc/services 파일에 포트 번호를 저장한다.


네트워크 설정

네트워크를 설정 하려면

  • IP주소, 넷 마스크와 브로드 캐스트 주소, 게이트웨이 주소, DNS 주소

호스트 이름 설정하기

  • 호스트 이름 확인하기 : hostname, uname -n
uname
기능 시스템 정보를 출력한다.
형식 uname [ 옵션 ]
옵션 -m : 하드웨어 종류를 출력한다.
-n : 호스트 이름을 출력한다.
-r : 운영체제의 릴리즈 정보를 출력한다.
-s : 운영체제의 이름을 출력한다.
-v : 운영체제의 버전을 출력한다.
-a : 위의 모든 정보를 출력한다.
사용 예 uname -n         uname -a

호스트 이름 설정 파일

  • 재시작해도 호스트 이름이 바뀐 상태를 유지하려면 호스트 일므을 설정하는 파일 자체를 수정해야 함
  • 우분투에서 호스트 이름을 저장하는 파일은 /etc/hostname

네트워크 인터페이스 설정하기

ifconfig  
기능 네트워크 인터페이스의 IP 주소를 설정한다.
형식 ifconfig [ 인터페이스 명 ] [ 옵션 ] [ 값 ]
옵션 -a : 시스템의 전체 인터페이스에 대한 정보를 출력한다.
up/down : 인터페이스를 활성화 , 비활성화 한다.
netmask 주소 : 넷 마스크 주소를 설정한다.
broadcast 주소 : 브로드캐스트 주소를 설정한다.

현재 설치된 네트워크 인터페이스 설정 확인하기.

현재 설치된 네트워크 인터페이스 설정 확인하기 : ifconfig

eth0 의 설정 내용

  • MAC 주소 (ehter) : 00:0c:29:1c:e8:62
  • IP 주소 (inet) : 192.168.0.2
  • 넷마스크(netmask) : 255.255.255.0
  • 브로드캐스트 주소 (broadcast) : 192.168.0.255
  • IPv6 주소 (inet6) : fe40::20d:26ef:fe2c:d422

특정 네트워크 인터페이스 설정 확인하기

네트워크 인터페이스 사용 해제하기 : down 옵션

인터페이스가 다운되었을 때 flags를 보면 UP과 Running이 없어지고,

둘째 줄과 셋째 줄에 있던 IP 주소 관련 부분인 inet과 inet6이 출력되지 않음.

네트워크 인터페이스 활성화하기 : up 옵션

네트워크 인터페이스 수동으로 설정하기

게이트웨이 설정하기

인터넷은 네트워크와 네트워크를 연결한 것

네트워크를 다른 네트워크와 연결할 때 연결점이 되는 장치가 게이트웨이

게이트웨이의 설정과 확인은 route 명령으로 수행한다.

route  
기능 라우팅 테이블을 편집하고 출력한다.
형식 route 명령
명령 add : 라우팅 경로나 기본 게이트웨이를 추가한다.
del : 라우팅 경로나 기본 게이트웨이를 삭제한다.
사용 예 route         route add defalut gw 192.168.0.1 dev eth0

라우팅 테이블 보기 : route

route 명령으로 라우팅 테이블 편집하기

기능 명령 형식과 사용 예
라우팅 경로 추가(네트워크) route add -net 네트워크 주소 netmask 넷마스크 dev 인터페이스 명
route add -net 192.168.1.0 netmask 255.255.255.0 dev eth0
라우팅 경로 추가(호스트) route add -host 호스트 주소 dev 인터페이스 명
route add -host 192.168.1.5 dev eth0
라우팅 경로 제거(네트워크) route del -net 네트워크 주소 netmask 넷마스크[dev 인터페이스 명]
route del -net 192.168.1.0 netmask 255.255.255.0
라우팅 경로 제거(호스트) route del -host 호스트 주소
route del -host 192.168.1.5
기본 게이트웨이 추가 route add defalut gw 게이트웨이 주소 dev 인터페이스명
route add defalute gw 192.168.1.1 dev eht0
기본 게이트웨이 제거 route del defalut gw 게이트웨이 주소
route del default gw 192.168.1.1
루프백(lo) 추가 route add -net 127.0.0.0 netmask 255.0.0.0 dev lo

라우팅 테이블의 출력 항목

항목 기능
Destination 라우팅 대상 네트워크나 호스트의 주소
Gateway 게이트웨이 주소 또는 설정되어 있지 않으면 *를 출력
Genmask 대상 네트워크의 넷마스크
255.255.255.255 : 대상이 호스트인 경우
0.0.0.0 : 기본(default) 경로
Flags U : 경로 활성화(UP)
H : 대상이 호스트
G : 게이트웨이로 사용
R : 동적 라우팅을 위한 경로 재생성
D : 데몬 또는 리다이렉트에 의해 동적으로 재설치
M : 라우팅 데몬 또는 리다이렉트에 의해 경로 수정
A : addrconf 에 의해 설치
C : 캐시 항목
! : 경로 거부
Metric 대상까지의 거리로 최근 커널에서는 사용되지 않지만, 라우팅 데몬에서 사용할 수도 있다.
Ref 해당 경로에 대한 참조 수이지만 리눅스 커널에서는 사용하지 않는다.
Use 경로를 탐색한 수
lfcae 패킷이 전달되는 인터페이스 이름

DNS 설정하기

  • 호스트명을 IP 주소로 바꾸는 역할을 수행
  • 만약 DNS가 설정되어 있지 않으면 이름으로 서버에 접속할 수 없으며 직접 IP 주소를 사용하여 접속 가능

DNS 서버 지정하기

  • DNS 서버의 주소를 /etc/resolv.conf 파일에 저장

DNS 서버에 질의하기 : nslookup

nslookup  
기능 DNS 서버와 대화식으로 지르이하고 응답을 받는다.
형식 nslookup [ 도메인 명 ]
사용 예 nslookup
nslookup www.daum.net


네트워크 상태 확인

통신 확인하기 : PING

ping  
기능 네트워크 장비에 신호(ECHO_REQUEST)를 보낸다.
형식 ping [ 옵션 ] 목적지 주소
옵션 -a : 통신이 되면 소리를 낸다.
-q : 테스트 결과를 지속적으로 보여주지 않고 종합 결과만 출력한다.
-c 개수 : 보낼 패킷 수를 지정한다.
사용 예 ping 192.168.0.1
ping -a www.naver.com

옵션 없이 사용하는 경우 : 패킷은 기본적으로 56바이트의 크기 + 8바이트 헤더 정보

-q 옵션 사용하기

-q 옵션을 사용하면 아무 메세지도 출력되지 않다가 +C로 종료하면 통계 정보만 출력

-C 옵션 사용하기

-C 옵션을 사용하면 보낼 패킷 수를 지정한다.

도메인 이름을 사용하는 경우

시스템에 따라서 보안을 강화하기 위해 ping 패킷이 왔을 떄 응답하지 않도록 설정하는 경우도 있으므로 ping으로 연결되지 않는다고 해서 무조건 해당 시스템이 동작하지 않는다는 것은 아니다.

 

통신 경로 확인하기

traceroute  
기능 목적지까지 패킷이 거치는 경로를 출력한다.
형식 traceroute 목적지 주소
사용 예 traceroute 192.168.0.
traceroute www.naver.com

정상으로 경로가 확인되는 경우

정상적으로 경로가 확인되지 않는 경우

  • 네트워크가 연결되지 않는 구간은 *가 출력 : 통신에 장애가 있거나 traceroute 명령을 거부를 뜻함.

중간 노드의 기관 확인 : whois 명령 사용

예 5번에 출려고딘 58.239.255.255 가 어느 기관의 것인가?

네트워크 상태정보 출력하기

netstat  
기능 네트워크의 상태 정보를 출력한다.
형식 netstat [ 옵션 ]
옵션 -a : 모든 소켓 정보를 출력한다.
-r : 라우팅 정보를 출력한다.
-n : 호스트 명 대신에 IP 주소를 출력한다.
-i : 모든 네트워크 인터페이스 정보를 출력한다.
-s : 프로토콜 별로 네트워크 통계 정보를 출력한다.
-p : 해당 소켓과 관련된 프로세스의 이름과 PID를 출력한다.
사용 예 netstat -rn
netstat -s

라우팅 테이블 확인하기 : -r 옵션

현재 열려있는 포트 확인하기

  • 현재 통신이 진행 중인 서비스는 해당 서비스 포트가 LISTEN 상태

인터페이스별 네트워크 통계 정보 확인하기 : -i 옵션

  • RX-OK, TX-OK는 정상적으로 주고받은 패킷의 개수
  • RX-ERR, RX-DRP, RX-OVR, TX-ERR, TX-DRP, TX-OVR는 송수신중에 오류가 발생한 패킷의 개수 이다.

프로토콜 별 네트워크 통계정보 확인하기 : -s 옵션

  • IP 프로토콜, ICMP 프로토콜, TCP 프로토콜 별로 통계 정보를 출력한다.

MAC 주소와 IP 주소 확인하기 : arp 명령

arp  
기능 ARP 캐시 정보를 관리한다.
형식 arp [ IP 주소 ]
사용 예 arp
arp 192.168.0.1

패킷 캡처하기 : tcpdump

tcpdump  
기능 네트워크상의 트래픽을 덤프한다.
형식 tcpdump [ 옵션 ]
옵션 -c 패킷 수 : 지정한 패킷 수 만큼 덤프 받고 종료한다.
-i 인터페이스 명 : 특정 인터페이스를 지정한다.
-n : IP주소를 호스트명으로 바꾸지 않는다.
-q : 정보를 간단한 형태로 보여준다.
-X : 패킷의 내용을 16진수와 ASCII로 출력한다.
-w 파일명  : 덤프한 내용을 지정한 파일에 저장한다.
-r 파일명 : 덤프를 저장한 파일에서 읽어온다.
host 호스트명 또는 주소 : 해당 호스트가 받거나 보낸 패킷만 덤프한다.
tcp prot 번호 : 지정한 번호 패킷만 덤프한다.
ip : IP 패킷만 덤프한다.
arp 192.168.0.1
사용 예 tcpdump
tcpdump -i eth0
tcpdump -i eth0 -w DUMP.out
tcpdump tcp port 22 and host 192.168.0.7

옵션 없이 사용하는 경우

  • 현재 시스템에서 주고받는 모든 패킷을 캡처하여 패킷의 헤더 부분 정보를 출력한다.

캡처한 패킷 개수 지정하기 : -c 옵션

캡처한 패킷 정보를 파일로 저장하기 : -w 옵션

캡처한 패킷 파일 읽기 : -r 옵션

특정 포트로 송수신되는 패킷 캡처 : tcp port 옵션

캡처 한 내용을 ASCII로 보기 : -X 옵션

728x90
작성일
2022. 12. 3. 23:17
작성자
WDmil
728x90

로지스틱 회귀

 

데이터 처리, 특징추출

 

분류학습 = 두개를 포함하는 것

1. 가설함수 y = 0~1 사이에 들어간다 . 확률

2. J(0) 정의

 

분류기 학습 = 가설학습

 

가설함수 정의

J(세타) 정의

3, 내리막 경사법 분류

 

방향도함수 : 그레디언트 벡터에 방향 을 내적한다.

u의 방향이 그레디언트 f와 같을 때 최대가 된다.

 

728x90
작성일
2022. 12. 1. 02:18
작성자
WDmil
728x90

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 명령

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 명령 사용

 

네트워크 상태 정보 출력하기

netstat  

라우팅 테이블 확인하기 -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, 

728x90
작성일
2022. 11. 30. 10:19
작성자
WDmil
728x90

파라미터 갱신 규칙

$\theta_j = \theta_j - \alpha\frac{\partial}{\partial\theta_j} J(\theta)$ for every j

- 알파 : 학습률, 작은값으로 할당한다.

경사 하강법 알고리즘이다.

알고리즘을 계산하기 위해서는 우변에 있는 J($\theta$)계산이 필요하다.

손실함수 J에서 합을 무시하고 하나의 훈련샘플에 대한 경우:

샘플 하나에 대한학습 일 경우

확률적 경사 하강 법 이 있다.

배치 경사 하강법 이 있다.

 

훈련 데이터의 일부분, 훈련 집합 전체를 사용 등을 사용한다.

 

728x90