C_C++ 프로그래밍/뇌를 자극하는 TCP_IP
-
뇌자극 TCP/IP 6강 요약C_C++ 프로그래밍/뇌를 자극하는 TCP_IP 2019. 5. 25. 21:49
네트워크 바이트 순서언어는 문화에 따른 어순이 존재한다.마찬가지로 컴퓨터도 어순의 차이가 존재한다.바이트 순서에 따른 차이를 극복해야한다. 컴퓨터는 비트가 아닌 바이트로만 본다.CPU는 바이트를 읽는 다른 순서를 가지고 있다. => 바이트 오더 낮은 주소부터 읽는 방식은 Big-endian높은 주소부터 읽는 방식은 little-endian 인터넷 상에서 데이터를 주고 받기 위해서는 바이트 오더 문제를 해결해야한다.=> 바이트 오더를 통일한다. 네트워크 바이트 오더 == 빅 엔디안제조과정과 기술에 문제가 있기 때문에 소프트웨어 상에서 통일하게 되었다. 호스트 바이트 오더 --------------------- 네트워크 바이트 오더 ------------------------ 호스트 바이트 오더 호스트 바이..
-
뇌자극 TCP/IP 5강 요약C_C++ 프로그래밍/뇌를 자극하는 TCP_IP 2019. 5. 20. 16:32
파일과 소켓에 대해서 알아보자 유닉스는 모든 것을 파일로 취급하여, 입력과 출력 처리를 가능하게 한다. 파일권한 소유자 그룹 기타 rwx rwx rwx RWX => 2^2 + 2^1 + 2^0 => 4 + 2 + 1 = 7777 => 소유자와 그룹과 기타 사용자에게 읽기 쓰기 실행 권한을 부여한다. 표준 입력 : 0표준 출력 : 1표준 에러 : 2 재지향장치로 출력된 데이터를 다른 장치로 보내는 것. $ cat my.txt$ cat my.txt > ok.txt // 재지향$ ./stderr 2>errmsg.txt // error가 txt에 저장 파일 열기 #include#include#include int open(cost char *pathname, int flags); // pathname 파일 이름..
-
뇌자극 TCP/IP 4강 요약C_C++ 프로그래밍/뇌를 자극하는 TCP_IP 2019. 5. 19. 22:49
네트워크 프로그램의 흐름 이해하기 1. 기존의 망에 노드를 추가한다. => 인터넷 망에 접속하기 위해 (소켓) 2. 그 노드를 링크에 연결하기 => Socket (IP 주소 + Port 번호) 3. 통신 상대를 찾아가기1. 송신측 소켓 생성 -> 포트 부여 -> 상대편 IP/Port 주소로 연결 -> 통신 -> 종료 2. 수신측소켓 생성 -> 포트 부여 -> 상대편 연결 기다리기 -> 통신 -> 종료 // 인터넷과 연결하기 위한 접점 소켓을 생성한다. #include #include int socket(int domain, int type, int protocol); //domain : 소켓의 사용 영역을 정의한다.//type : 소켓 유형을 정의한다.//protocol : 소켓이 사용할 프로토콜을 정의..
-
뇌자극 TCP/IP 3강 요약C_C++ 프로그래밍/뇌를 자극하는 TCP_IP 2019. 5. 19. 22:06
1. 소켓에 대하여2. 서버/클라이언트 모델3. 인터넷 서비스 포트 소켓이란 무엇인가? 이미 만들어져 있는 소켓 함수를 사용하여 간단하게 데이터를 전송할 수 있다.TCP/IP 4계층에서 전송계층 위에 놓인다.전송 계층 위에서 전송계층의 프로토콜 제어를 위한 코드를 제공한다.소프트웨어 계층이라고 할 수 있다. 전송 계층 위에 있는 프로토콜만 제어하면 된다. (소켓 계층이라고도 불린다)하지만, 가끔 낮은 계층의 프로토콜을 다룰 때도 있다. BSD 소켓기업이 아닌 대학에서 개발하였고 C로 개발이 되었기 때문에 성공했다.자유롭게 사용하도록 공개됨 소켓이 하는 일소프트웨어 || (인터넷) || 소프트웨어-------------------------------> 소프트웨어와 소프트웨어를 연결한다.소프트웨어 간의 데..
-
뇌자극 TCP/IP 2강 요약C_C++ 프로그래밍/뇌를 자극하는 TCP_IP 2019. 5. 19. 16:30
리눅스와 윈도우는 다른 운영체지이며, 다른 기반을 가지고 있지만.BSD Socket은 같다. (버클리 대학에서 만듬)(BSD Socket이란? => 그냥 표준 Socket이다) 즉, 네트워크 프로그래밍 기술은 운영체제와 상관 없이 공유한다. 윈도우는 리눅스와 비교 했을 때, 최근에 등장한 운영체제이다.차별되는 기술들을 가지고 있지만, 네트워크 프로그래밍 기술은 유닉스를 계승하고 있다. 리눅스 : 인터넷 시태의 운영체제, 밝은 미래윈도우 : 리눅스와 기업 시장을 양분하고 있다, 밝은 미래 네트워크 프로그래밍을 배우고자 한다면, 리눅스 + 윈도우 둘다 경험 ※ 본 글은 개인 포트폴리오 혹은 공부용으로 사용하기 때문에, 무단 복사 유포는 금지하지만, 개인 공부 용도로는 얼마든지 사용하셔도 좋습니다
-
뇌자극 TCP/IP 1강 요약C_C++ 프로그래밍/뇌를 자극하는 TCP_IP 2019. 5. 19. 15:58
컴퓨터 네트워크로의 진화모든 것은 정보이고, 모든 자연현상은 정보와 네트워크의 상호작용의 결과이다.생물 현상도 정보와 네트워크의 상호작용의 결과이다. 네트워크의 효과1. 한정된 노드와 공간에 더 많은 정보가 저장이 가능하다.2. 하나의 노드가 끊겨도 거미줄처럼 이어져 있기 때문에, 문제가 없다. 컴퓨터끼리 참여하는 네트워크의 문제가 있었다.중앙 집중형 -> 분산형 상업적 컴퓨터 네트워킹을 위한 패킷 통신 방식의 개발이 필요했다. => 분산형 + 패킷 통신 --> 알파넷 --> 인터넷 (각 지역 별로 묶음) 이 만들어졌다. 네트워크 구조를 유지하기 위한 프롵토콜 = IP통신을 보장하기 위한 프로토콜 = TCP IP 전체 네트워크에서 식별 가능한 IP 주소를 부여하여, 원하는 노드로의 경로를 설정한다.인터넷..