OSI 7 계층 모델 - 계층 n 프로토콜: 계층 n 모듈끼리 사용하는 통신 규칙 - 동료 프로세스(peer process): 동일 계층에 위치한 통신 양단 프로세스 - 인터페이스: 상하위 계층 사이의 접속 방법 - 서비스 : 하위 계층이 상위계층에 제공하는 기능 - 송신 호스트: 데이터가 상위 계층에서 하위 계층으로 갈수록 헤더 추가 - 수신 호스트: 데이터가 하위 계층에서 상위 계층으로 갈수록 헤더 제거 중계 기능(라우팅, Routing) : 경로 배정 기능 - 1계층 : 하드웨어 시스템으로 구성 - 2, 3, 4계층 : 운영체제로 구성 - 5, 6, 7계층 : 사용자 프로그램으로 구성 물리 계층(Physical Layer) - 개별 정보의 비트(bit) 교환 문제를 처리 - 데이터 전송 속도, 클록..
서비스 프리미티브 - 프리미티브(primitive): 상위 계층이 하위 계층을 사용하는 방법을 정형화한 것 - 연결형 서비스 : 데이터 전송 전에 미리 연결을 설정하여 전송하는 방식 CONNECT: 연결 설정 프리미티브 DATA: 데이터 전송 프리미티브 DISCONNECT: 연결 해제 프리미티브 - 비연결형 서비스 : 각 데이터를 독립적으로 목적지 호스트로 전송하는 방식 DATA: 데이터 전송 프리미티브 연결형 프리미티브의 동작 원리 – CONNECT.Request, DATA.Request, DISCONNECT.Request – CONNECT.Indication, DATA.Indication, DISCONNECT.Indication – CONNECT.Response, DATA.Response, DISCO..
프로토콜 설계 시 고려 사항 1) 주소 표현 2) 오류 제어 3) 흐름 제어 4) 데이터 전달 방식 1) 주소 표현(Addressing) - 주소의 역할 : 서로를 구분하는 구분자 역할 - 주소의 활용도를 높이기 위하여 구조적 정보를 포함 전화번호: 국가 코드 – 지역 코드 - 번호 주민번호: yymmdd-abcdefg - 1:다 통신을 지원 브로드캐스팅(Broadcasting): 모든 호스트에 데이터 전달 멀티캐스팅(Multicasting): 특정 호스트에게 데이터 전달 2) 오류 제어(Error Control) - 데이터 링크 계층 : 인접 링크와의 물리적 오류 제어 - 전송 계층 : 상위 계층의 종단에서 논리적인 오류 제어 - 데이터 변형 오류: 데이터가 변경되어 수신자에게 도착 - 데이터 분실 오..
모듈화 - 프로토콜 설계 과정을 모듈화 - 크고 복잡한 시스템을 기능별로 여러 개의 작고 단순한 모듈로 독립화 - 함수별로 특정 기능을 독립적으로 수행하도록 함 - ex: C 프로그래밍 언어의 함수 개념 - 모듈 사이의 적절한 인터페이스가 필요 - 고장난 부분을 모듈단위로 수정하거나 교체하기 용이함 계층 구조 - 상위 모듈이 하위 모듈에게 서비스를 요청 - 하위 모듈은 서비스를 실행하고 그 결과를 상위 모듈에 통보 모듈화된 계층 구조의 장점 - 전체 시스템을 이해하기 쉬움 - 설계 및 구현이 용이 - 모듈의 독립성을 향상시킬 수 있으며, 이는 시스템 구조를 단순화시키는 장점이 됨 - 동일 계층 사이의 인터페이스인 프로토콜을 단순화시킬 수 있음 - 고장 시 특정 모듈만 수정하므로 전체 시스템의 동작에 영향..
주소(Address) 역할: 시스템을 서로 구분하는 역할을 함(identifier) 특징: 유일성, 확장성, 편리성(숫자/문자 이용), 정보의 함축(ex: 주민번호는 생년월일, 성별 등을 알 수 있음) 종류: MAC 주소, IP 주소, 포트(port) 주소 IP 주소 - IPv4 프로토콜에서 사용 - 32 비트 크기의 주소 체계(8비트씩 4부분으로 나누어 표현) - IPv6에서는 128 비트 주소 체계로 확장 - 예: 211.223.201.30 (211.223.201-> 네트워크 주소 30-> 호스트 주소) IP 주소를 일정한 규칙에 따라 그룹으로 묶어서 관리 IP 주소는 패킷의 경로를 설정하는 중요한 요소 호스트 파일 - 호스트 이름과 IP 주소를 변환하는 방법 - 호스트 이름과 IP 주소의 조합을 텍..
네트워크의 연결 - 인터네트워킹 간 네트워크는 물리적으로 다른 종류도 가능 - 인터네트워킹 시스템은 상대방의 서로 다른 물리적 기능적 인터페이스를 상호 지원해야 함 * 인터네트워킹(Internetworking): 네트워크와 네트워크와의 연결 게이트웨이(Gateway): 인터네트워킹 기능을 수행하는 시스템 - 리피터(Repeater): 물리 계층을 지원 (신호 증폭) - 브리지(Bridge): 물리 계층과 데이터 링크 계층을 지원 물리적인 주소를 이용하여 연결을 지원 - 라우터(Router): 물리 계층, 데이터 링크 계층, 네트워크 계층을 지원 경로 선택 기능을 제공 IP 주소를 이용하여 연결을 지원 라우팅 테이블을 보관하고 이를 활용함 프로토콜 데이터 단위(Protocol Data Unit, PDU) ..
네트워크(Network) - 전송 매체로 서로 연결된 시스템의 모음 - 프로토콜을 사용하여 데이터를 교환하는 시스템의 집합을 통칭 - 라우터(Router) : 네트워크의 중계 장비 시스템(System) - 내부 규칙에 따라 능동적으로 동작하는 대상(물리적, 논리적 대상으로 구분) - 예: 컴퓨터, 자동차, 커피 자판기, 마이크로 프로세서, 운영체제, 프로세스 인터페이스(Interface) - 시스템과 시스템을 연결하기 위한 표준화된 접근 방법 - 예: RS-232C, USB 통신 규격(논리적 규격과 물리적 규격이 필요) 전송매체(Transmission Media) - 시스템끼리 데이터를 전달하기 위한 물리적인 전송 수단(케이블, 공기, 전파) 프로토콜(Protocol) - 전송 매체를 통해 데이터를 교환..
1316번: 그룹 단어 체커 그룹 단어란 단어에 존재하는 모든 문자에 대해서, 각 문자가 연속해서 나타나는 경우만을 말한다. 예를 들면, ccazzzzbb는 c, a, z, b가 모두 연속해서 나타나고, kin도 k, i, n이 연속해서 나타나기 때 www.acmicpc.net 문제 그룹 단어란 단어에 존재하는 모든 문자에 대해서, 각 문자가 연속해서 나타나는 경우만을 말한다. 예를 들면, ccazzzzbb는 c, a, z, b가 모두 연속해서 나타나고, kin도 k, i, n이 연속해서 나타나기 때문에 그룹 단어이지만, aabbbccb는 b가 떨어져서 나타나기 때문에 그룹 단어가 아니다. 단어 N개를 입력으로 받아 그룹 단어의 개수를 출력하는 프로그램을 작성하시오. 입력 첫째 줄에 단어의 개수 N이 들..