[ft_printf] 가변인자의 정의
·
42seoul/Bonr2code
가변인자란? int main(int abc, ...) { } 위 코드의 main 함수의 인자중, ... 이 가변 인자 혹은 가변 파라미터 매개변수로 아무것도 넘겨주지 않거나 여러 개를 넘겨줄 수도 있음 함수가 고정된 수의 필수 인수에 가변 수의 선택적 인수가 붙은 형식을 사용할때 적용 va_list, va_start, va_end, va_copy, va_arg 함수 1) va_list 가변 인자의 시작 주소를 의미하는 포인터 2) va_start // va_start 함수 원형 void va_start(va_list ap, variable_name); va_list로 만들어진 포인터에게 가변인자 중 첫 번째 선택적 인수(variable_name)의 주소를 가르쳐주는중요한 매크로이다. va_arg(), v..
[ netwhat ] DHCP & DNS
·
42seoul/Bonr2code
1. DHCP 우리가 유동IP 를 사용할때 이 IP는 누가 결정할까? --> 바로 DHCP 가 결정하게 된다, 이 DHCP 는 임의의 임대기간을 설정하여 IP를 부여해주게 된다. IP 를 사용하는동안 임대기간이 종료되게 되면, DHCP 서버에 임대기간 갱신을 요청하고, DHCP 는 이에 따라 임대기간을 갱신시켜준다. 1 - 1. DHCP 임대 절차 1) DHCP Discover 패킷 방향 : 클라이언트 -> DHCP 서버 브로드캐스트 패킷 : Destination MAC = FF:FF:FF:FF:FF:FF 의미 : 클라이언트가 DHCP 서버를 찾기 위한 메시지. 그래서 LAN상에(동일 subent상에) 브로드캐스팅을 하여 "거기 혹시 DHCP 서버 있으면 내게 응답 좀 해 주세요"라고 단말이 메세지를 보..
[ netwhat ] OSI 계층과 TCP & UDP 차이
·
42seoul/Bonr2code
1. OSI 계층 https://ai-hong.tistory.com/37?category=845057 02. OSI 7Layer & TCP/IP 4Layer OSI 7Layer 의 각 계층적 구조는 다음과 같다. Application 계층부터 Transport 계층까지를 Network Edge 라고 하며, Network 계층부터 Physcial 계층까지를 Nerwork Core 라고 한다. 1) Network Edge - 인터넷의.. ai-hong.tistory.com 예전에 정리해 놓은 개념이 있어 대체한다. 2. TCP TCP는 OSI 7계층중 전송 계층에서 사용하는 프로토콜이다. 3 way handshake 를 통해 연결을 하며 4 way handshake 를 통해 연결을 종료한다. --> 서로의 ..
[ netwhat ] 공인IP 와 사설IP
·
42seoul/Bonr2code
1. 공인 IP (Public IP Address) 인터넷 사용자의 각각의 네트워크를 식별하기 위해 ISP(인터넷 서비스 공급자)가 제공하는 IP 주소 외부에 공개되어 있는 IP 주소이다. 공인 IP는 전세계에서 유일한 IP 주소를 갖는다. 공인 IP 주소가 외부에 공개되어 있기에 인터넷에 연결된 다른 PC로부터의 접근이 가능하다. 따라서 공인 IP 주소를 사용하는 경우에는 방화벽 등의 보안 프로그램을 설치할 필요가 있다. 우리의 공인 IP를 확인하려면 간단하게 www.naver.com 에 접속하여 " 내 IP 주소 확인" 을 치면 공인 IP 주소를 알수있다. 2. 사설 IP (Private IP Address) 만일 모든 IP 주소가 공인IP 로 되어있다면 어떨까?, 요즘은 각 사람마다 통신할수있는 기..
[ netwhat ] 넷마스크(net mask), 서브넷마스크 (subnet mask)
·
42seoul/Bonr2code
1. 넷마스크 ( NetMask ) ※ 네트워크 주소 범위 부분을 2진수의 1로 치환한것 --> 네트워크주소를 구하기위해 IP 주소와 넷마스크를 AND 연산 ( 논리곱 ) 을 통해 구할수 있다! 위 예시를 보자 IP 주소는 203.0.113.43 이다! ~> 해당 주소는 제일 처음이 203 인걸로 보아 C 클래스임을 알수있고, C 클래스 의 네트워크 주소 범위는 24비트 이다 ( 110 으로 시작하고, 110을 포함한 24비트 까지가 네트워크 주소범위 ) 따라서 넷마스크는 1111 1111 . 1111 1111 . 1111 1111 . 0000 0000 이 되고, 해당 IP 주소의 네트워크 주소를 구하기 위해 1100 1011 0000 0000 0111 0001 0010 1011 1111 1111 111..