* UDP (User Datagram Protocol)
- 데이터 전송 전에 연결을 설정하지 않는 비연결형 서비스를 제공함
- TCP에 비해 상대적으로 단순한 헤더 구조를 가지므로, 오버헤드가 적고, 흐름 제어나 순서 제어가 없어 전송 속도가 빠름
- 고속의 안정성 있는 전송 매체를 사용하여 빠른 속도를 필요로 하는 경우, 동시에 여러 사용자에게 데이터를 전달할 경우, 정기적으로 반복해서 전송할 경우에 사용
- 실시간 전송에 유리하며, 신뢰성보다는 속도가 중요시되는 네트워크에 사용됨
- UDP 헤더에는 Source Port Number, Destination Port Number, Length, Checksum 등이 포함
* 결합도
- 모듈 간에 상호 의존하는 정도 또는 두 모듈 사이의 연관 관계를 의미함
- 다양한 결합으로 모듈을 구성할 수 있으나 결합도가 약할수록 품질이 높고, 강할수록 품질이 낮음
- 결합도가 강하면 시스템 구현 및 유지보수 작업이 어려움
- 종류(약함에서 강함순)
. 자료 결합도(Data Coupling) : 모듈 간의 인터페이스가 자료 요소로만 구성될 때의 결합도
. 스탬프(검인) 결합도(Stamp Coupling) : 모듈 간의 인터페이스로 배열이나 레코드 등의 자료 구조가 전달될 때의 결합도
. 제어 결합도(Control Coupling) : 한 모듈에서 다른 모듈로 논리적인 흐름을 제어하는 데 사용하는 제어 요소(Function code, Switch, Tag, Flag)가 전달될 때의 결합도
. 외부 결합도(External Coupling) : 어떤 모듈에서 외부로 선언한 데이터(변수)를 다른 모듈에서 참조할 때의 결합도
. 공통(공유) 결합도(Common Coupling) : 공유되는 공통 데이터 영역을 여러 모듈이 사용될 떄의 결합도
. 내용 결합도(Content Coupling) : 한 모듈이 다른 모듈의 내부 기능 및 그 내부 자료를 직접 참조하거나 수정할 때의 결합도
* 응집도
- 정보 은닉 개념을 확장한 것으로, 명령어나 호출문 등 모듈의 내부 요소들의 서로 관련되어 있는 정보, 즉 모듈이 독립적인 기능으로 정의되어 있는 정도를 의미함
- 다양한 기준으로 모듈을 구성할 수 있으나 응집도가 강할수록 품질이 높고, 약할수록 품질이 낮음
- 종류(강함에서 약함순)
. 기능적 응집도(Functional Cohesion) : 모듈 내부의 모든 기능 요소들이 단일 문제와 연관되어 수행할 경우의 응집도
. 순차적 응집도(Sequebtial Cohesion) : 모듈 내 하나의 활동으롭터 나온 출력 데이터를 그 다음 활동의 입력 데이터로 사용할 경우의 응집도
. 교환(통신)적 응집도(Communication Cohesion) : 동일한 입력과 출력을 사용하여 서로 다른 기능을 수행하는 구성 요소들이 모였을 경우의 응집도
. 절차적 응집도(Procedural Cohesion) : 모듈이 다수의 관련 기능을 가질 때 모듈 안의 구성 요소들이 그 기능을 순차적으로 수행할 경우의 응집도
. 시간적 응집도(Temporal Cohesion) : 특정 시간에 처리되는 몇 개의 기능을 모아 하나의 모듈로 작성할 경우의 응집도
. 논리적 응집도(Logical Cohesion) : 유사한 성격을 갖거나 특정 형태로 분류되는 처리 요소들로 하나의 모듈이 형성되는 경우의 응집도
. 우연적 응집도(Coincidental Cohesion) : 모듈 내부의 각 구성 요소들이 서로 관련 없는 요소로만 구성된 경우의 응집도
* IP (Internet Protocol)
- OSI 7계층의 네트워크 계층에 해당
- 데이터그램을 기반으로 하는 비연결형 서비스를 제공
- 패킷의 분해/조립, 주소 지정, 경로 선택 기능을 제공
- 헤더의 길이는 최소 20Byte에서 최대 60Byte
- IP 헤더에는 Version, Header Length, Total Packet Length, Header Checksum, Source IP Address, Destination IP Address 등이 포함됨
- 에러 검사나 수신 확인 등을 수행하지 않아 신뢰성을 보장하지는 못하지만 전송에는 최선을 다하는 Best Effort 원칙을 따름
- IPv4
. 8비트씩 4부분, 총 32비트로 구성되어 있음
. A클래스에서 E클래스까지 총 5단계로 구성되어 있음
- IPv6
. 16비트씩 8부분, 총 128비트로 구성되어 있음
. 각 부분을 16진수로 표현하고, 콜론(:)으로 구분함
. 패킷 헤더는 40옥텟(octet)의 고정된 길이를 가짐
. IPv4에 비해 자료 전송 속도가 빠르고, IPv4와 호환성이 뛰어남
. 주소의 확장성, 융통성, 연동성이 뛰어나고, 품질 보장이 용이함
. 인증성, 기밀성, 데이터 무결성의 지원으로 보안 문제를 해결할 수 있음
. IPv6의 주소 체계
.. 유니캐스트(Unicast) : 단일 송신자와 단일 수신자 간의 통신(1:1통신에 사용)
.. 멀티캐스트(Multicast) : 단일 송신자와 다중 수신자 간의 통신(1:N통신에 사용)
.. 애니캐스트(Anycast) : 단일 송신자와 가장 가까이 있는 단일 수신자 간의 통신(1:1통신에 사용)
* 포인터(C언어)
- 포인터 변수를 선언할 때는 자료의 형을 먼저 쓰고 변수명 앞에 간접 연산자*를 붙임 (예) int *a;
- 포인터 변수에 주소를 저장하기 위해 변수의 주소를 알아낼 때는 변수 앞에 번지 연산자 &를 붙임 (예) a=&b;
- 실행문에서 포인터 변수가 간접 연산자 *를 붙이면 해당 포인터 변수가 가리키는 곳의 값을 말함 (예) c=*a;
* OSI 7계층
- 물리 계층(Physical Layer)
. 전송에 필요한 두 장치 간의 실제 접속돠 절단 등 기계적, 전기적, 기능적, 절차적 특성에 대한 규칙을 정의함
. 물리적 전송 매체와 전송 신호 방식을 정의하며, RS-232C, X21등의 표준이 있음
- 데이터 링크 계층(Data Link Layer)
. 두 개의 인접한 개방 시스템들 간에 신뢰성 있고 효율적인 정보 전송을 할 수 있도록 함
. 송신 측과 수신 측의 속도 차이를 해결하기 위한 흐름 제어 기능을 함
. 프레임의 시작과 끝을 구분하기 위한 프레임의 동기화 기능을 함
. 오류의 검출과 회복을 위한 오류 제어 기능을 함
. 프레임의 순서적 전송을 위한 순서 제어 기능을 함
.HDLC, LAPB, LLC, LAPD, PPP 등의 표준이 있음
- 네트워크 계층(Network Layer, 망 계층)
. 개방 시스템들 간의 네트워크 연결을 관리하는 기능과 데이터의 교환 및 중계 기능을 함
. 네트워크 연결을 설정, 유지, 해제하는 기능을 함
. 경로 설정(Routing), 데이터 교환 및 중계, 트래픽 제어, 패킷 정보 전송을 수행함
. 관련 표준으로는 X25, IP 등이 있음
- 전송 계층(Transport Layer)
. 논리적 안정과 균일한 데이터 전송 서비스를 제공함으로써 종단 시스템(End-to-End) 간에 투명한 데이터 전송을 가능하게 함
. OSI 7계층 중 하위 3계층과 상위 3계층의 인터페이스(Interface)를 담당함
. 종단 시스템(End-to-End) 간의 전송 연결 설정, 데이터 전송, 연결 해제 기능을 함
. 주소 설정, 다중화, 오류 제어, 흐름 제어를 수행함
. TCP, UDP 등의 표준이 있음
- 세션 계층(Session Layer)
. 송/수신측 간의 관련성을 유지하고 대화 제어를 담당하는 계층
. 대화(회화) 구성 및 동기 제어, 데이터 교환 관리 기능을 함
. 연결의 생성, 관리, 종료를 위해 토큰을 사용함
- 표현 계층(Presentation Layer)
. 응용 계층으로부터 받은 데이터를 세션 계층에 보내기 전에 통신에 적당한 형태로 변환하고, 세션 계층에서 받은 데이터는 응용 계층에 맞게 변환하는 기능을 함
. 서로 다른 데이터 표현 형태를 갖는 시스템 간의 상호 접속을 위해 필요한 계층
. 코드 변환, 데이터 암호화, 데이터 압축, 구문 검색, 정보 형식(포맷) 변환, 문맥 관리 기능을 함
- 응용 계층(Application Layer)
. 사용자(응용 프로그램)가 OSI 환경에 접근할 수 있도록 서비스를 제공함
. 응용 프로세스 간의 정보 교환, 전자 사서함, 파일 전송 등의 서비스를 제공함
'기타' 카테고리의 다른 글
[정보처리기사] 비전공자의 정보처리기사 필기 2회 시험 후기 (1) | 2023.05.16 |
---|---|
[정보처리기사] 5과목 정보시스템구축관리 헷갈리는 부분 정리 (0) | 2023.05.07 |
[정보처리기사] 3과목 데이터베이스구축 헷갈리는 부분 정리 (0) | 2023.05.06 |
[정보처리기사] 2과목 소프트웨어개발 헷갈리는 부분 정리 (0) | 2023.05.06 |
[정보처리기사] 1과목 소프트웨어설계 헷갈리는 부분 정리 (1) | 2023.05.06 |