CS (71) 썸네일형 리스트형 실습 3-1. 소켓에 할당되는 IP주소와 PORT 번호 * 인터넷 주소 - 인터넷 상에서 컴퓨터를 구분하는 목적으로 사용되는 주소 - 4바이트 주소체계인 IPv4와 16바이트 주소체계인 IPv6가 존재 - 소켓을 생성할 때 기본적인 프로토콜을 지정해야 함 - 네트워크 주소와 호스트 주소로 나뉨 * 클래스별 네트워크 주소와 호스트 주소의 경계 - 하나의 네트워크를 묶어둔 것이라고 보면 됨, 각 크기별로 다름 A가 제일크고 아래로 내려갈수록 작아짐 - 크기가 크다는 것은 호스트 개수가 많다는 것을 의미 - 클래스 A : 0~127, 클래스 A의 첫번째 비트는 항상 0으로 시작 - 클래스 B : 128~191, 클래스 B의 첫번째 비트는 항상 10으로 시작 - 클래스 C : 192~223, 클래스 C의 첫번째 비트는 항상 110으로 시작 -> 첫번째 바이트 정보만.. 실습 2-1. 소켓의 프로토콜과 특성 *프로토콜 이란 - 개념적으로 약속의 의미 - 컴퓨터 상호간의 데이터 송수신에 필요한 통규약 - 소켓을 생성할 때 기본적인 프로토콜을 지정해야함 #include int socket(int domain, int type, int protocol); domain : 소켓이 사용할 프로토콜 체계 정보 전달 type : 소켓의 데이터 전송방식에 대한 정보 전달 protocol : 두 컴퓨터간 통신에 사용되는 프로토콜 정보 전달 매개변수가 모두 프로토콜 정보와 관련이 있다 * 프로토콜 체계 - 프로토콜도 그 종류에 따라서 부류가 나뉘는데, 그 부류를 가리켜 프로토콜 체계라 한다. - 프로토콜의 체계 PF_INET은 IPv4인터넷 프로토콜 체계를 의미 - 소켓함수 매개변수 중 첫번째 파라미터 PF_INET IPv4.. 5. 프로토콜 레이어 아키텍처와 서비스 모델 * 레이어링 아키텍처 여러가지 복합적인 과정을 레이어로 나누어서 구조를 만듦 복합적인 프로세스 관리가 편리하고 유지보수 유용 modulization 한가지 특정 기능에 문제가 생기면 그 레이어의 문제만 처리하면 됨 레이어링의 단점은 각 과정을 계속 끊어서 프로세스를 진행한다는 것 레이어링을 하지 않으면 문제가 발생했을 때 찾기가 힘듦 *인터넷 프로토콜 스택 -어플리케이션 레이어 : ftp, smtp, http -전송 레이어 : tcp, udp -네트워크 : ip -링크 : 802.11 -피지컬 : 랜선, 무선 등 이 레이어들이 복합적으로 만들어져서 우리가 사용하는 인터넷을 제공 *iso/osi 레퍼런스 모델 5계층으로 보면 애매한 부분이 생김 -프레젠테이션 레이어 : 암호나 압축을 하는 계층 -세션 레이.. 4. 네트워크의 delay, loss, throughput * QUEUEING DELAY 링크에 데이터가 들어오는 rate가 나가는 rate보다 크면 패킷이 쌓이고 큐에서 줄을 섰다가 다시 나가기 전까지의 시간이 delay 저장 공간이 큐보다 작아서 패킷 drop이 생기고 이를 loss라고 함 *패킷 지연의 네가지 구성요소 -nodal processing : 패킷이 라우터에 들어오고, 오류를 체크하고 오류가 있다면 바로 drop하고 그 다음 테이블을 보고 output link를 결정 - queueing delay : 너무 빠른 속도로 들어오는데, 나가는 속도가 느려서 큐에 쌓였다가 나가는 시간 congestion이 queueing delay에 많은 영향을 줌 - transmission delay : l(패킷의 길이)/r(링크의 대역폭) - propagation .. 실습 1-3. 저수준 파일 입출력과 파일 디스크립터 * 저수준 파일 입출력 write() read() 운영체제가 제공하는 함수 기반 파일 입출력 표준이 아니라서 운영체제에 대한 호환성이 없음 리눅스는 소켓도 파일로 간주해서 저수준파일 입출력함수를 기반으로 소켓 기반의 데이터 통신 가능 *파일 디스크립터 운영체제가 만든 파일을 구분하기 위한 일종의 숫자 저수준 파일 입출력 함수는 입출력을 목적으로 파일 디스크립터를 요구함 조수준 파일 입출력 함수에게 소켓의 파일 디스크립터를 전달하면 소켓을 대상으로 입출력을 진행 파일 디스크립터 대상 0 표준입력 1 표준출력 2 표준에러 [파일 열기 닫기] #include #include #include int open(const char* path, int flag); path : 파일 이름을 나타내는 문자열의 주소값 전.. 실습 1-2. 서버소켓, 클라이언트소켓 구현 https://snnchallenge.tistory.com/55 불러오는 중입니다... [서버소켓] 소켓 생성 -> ip port 번호 할당 -> 연결요청 가능한 상태로 변경 -> 연결 요청 수락 https://github.com/o920/inha/blob/master/ComputerNetworks/hello_server.c o920/inha course. Contribute to o920/inha development by creating an account on GitHub. github.com #include #include #include #include #include #include void error_handling(char* message); int main(int argc, char* a.. 실습 1-1. 네트워크 프로그래밍과 소켓 * 네트워크 프로그래밍 네트워크로 연결된 둘 이상의 컴퓨터 사이에서의 데이터 송수신 프로그램의 작성 소켓을 기반으로 프로그래밍을 해서 소켓프로그래밍이라고도 함 *소켓 네트워크 연결 도구 운영체제에 의해 제공되는 소프트웨어적인 장치 (unix 소켓, windows 소켓) 소켓은 프로그래머에게 데이터 송수신에 대한 물리적, 소프트웨어적 세세한 내용을 신경쓰지 않게함 *소켓을 전화에 비유 소켓은 socket함수의 호출을 통해서 생성 전화를 거는 용도의 소켓과 전화를 수신하는 용도의 소켓으로 구분됨 [전화를 수신하는 용도의 소켓] : 리스닝 소켓, 서버 소켓 - 소켓 생성 #include int socket(int domain, int type, int protocol); 성공 시 파일 디스크립터를 반환하고 실.. 2. 네트워크 엣지 : 앤드 시스템, 엑세스 네트워크, 링크 * 네트워크 구조 - 네트워크 엣지 : 호스트(클라이언트, 서버) - 엑세스 네트워크 : 유무선 커뮤니케이션 링크 - 네트워크 코어 : 엑세스 네트워크를 연결하는 것 *엑세스 네트워크 - 집에있는 네트워크, 학교나 회사에 있는 기관 엑세스 네트워크, 스마트폰, 등을 연결 코어의 첫 라우터와 연결이 되면 endsystem이 연결됐다고 함 - 주위 다른 디바이스와 공유 shared, 나 혼자서만 연결하는 dedicated * DSL : digital subscriber line 인터넷 제공업체 -> DSLAM -> splitter -> DSL 모뎀 : 데이터 통신 -> 인터넷 엑세스 -> 음성 통신 - telephone line을 통해서 central office DSLAM - upstream 보통 1Mbp.. 이전 1 ··· 5 6 7 8 9 다음