일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
- 운영체제 개요
- 기초 100제
- MLQ
- 책
- 성실한 개미
- CPU 스케줄링
- Java
- 100제
- 자바
- 2차원행열
- 다할수있다
- 운영체제
- 가즈아
- 코딩을지탱하는기술
- 운영체제의역할
- 네트워크
- 운영체제의 분류
- 코드업 배열
- 100제 문제
- 운영체제 컴퓨터 향상
- 운영체제의 구동
- 프로세스개념
- 2차원 달팽이 배열
- 설탕뽑기
- 양뱡향
- MFQ
- 프로그래머스
- 문해력 수업
- 코드업
- 해커랭크
- Today
- Total
개발로그
[네트워크] 프로토콜과 OSI참조모델 본문
프로토콜 개념
컴퓨터 네트워크에서 데이터를 주고 받을때 수행되는 절차를 프로토콜이라고한다.
프로토콜은 원래 국가 간 외교 의전 절차를 의미하는 용어인데, 컴퓨터 네트워크에서 서로다른 컴퓨터끼리 통신을 하기 위해 미리 정해놓은 규칙을 의미하는 용어로 쓰인다.
컴퓨터 간에 데이터를 송수신할때 데이터 전송 형식이나 전송 절차가 다르면 통신이 불가능하므로 프로토콜이 반드시 필요하다.
현재 가장 널리 사용되는 프로토콜은 TCP/IP로 인터넷 서비스에서 사용된다.
즉 TCP/IP가 설치 되어있으면 인터네엣 연결하여 데이터를 송수신할수있다.
프로토콜의 절차
연결 설정 : 컴퓨터 A가 컴퓨터 B에게 데이터를 전송하려면 데이터를 보내도되는지 먼저 문의하여 허락을한다.
데이터 전송: 컴퓨터 B가 데이터를 보내도 된다고 허락하면 컴퓨터 A는 데이터를 일정한 크기의 메세지로 나눠서
전송한다.
연결 해제 : 컴퓨터A가 모든 데이터를 보냈다면 전송이 종료되었음을 알리는 메세지를 컴퓨터 B에게 보낸다.
프로토콜의 기능
프로토콜은 컴퓨터 간의 데이터 전송의 효율성과 신뢰성을 보장하기 위해 다음과 같은 여러가지 기능을 수행한다.
프로토콜마다 목적에 맞게 선택적으로 기능을 수행함.
주소지정 : 송신 컴퓨터가 수신 컴퓨터에 데이터를 전송하려면 수신 컴퓨터의 주소를 알아야 정확하게 전송할 수있다.
주소지정이란 송신 컴퓨터가 보낼 데이터에 송신측과 수신측의 주소를 추가하는 기능을 말한다.
주소 종류 : MAC주소,IP주소,포트 주소 등이있다.
동기화 : 송신 컴퓨터가 수신 컴퓨터에 데이터를 전송할때 상호간의 데이터 전송속도 및 타이밍이 정확하게 일치해야하는데 이를 동기화 라고한다. 전송 속도나 타이밍이나 일치하지않으면 수신 컴퓨터는 송신 컴퓨터가 보낸 데이터를 정확하게 수신하지 못학 ㅗ잘못된 데이터를 받을수있다. 동기화는 데이터 전송에서 매우 중요한 요소이다.
캡슐화 : 송신 컴퓨터가 수신 컴퓨터에 데이터를 전송할때, 전송에 필요한 여러가지 제어 정보를 데이터에 붙이는 것을 캡슐화라고한다.
오류제어 : 송신 컴퓨터가 전송한 데이터에 오류가 발생하면 수신 컴퓨터는 이를 검출하여 송신 컴퓨터에 데이터를 재전송하도록 요구하거나 수신 컴퓨터 스스로 오류를 정정한다.
흐름제어 : 컴퓨터 간에 데이터를 효율적으로 전송하기 위한 데이터 전송과 응답 방식을 흐름제어라고 한다.
여러개를 동시에 보내고 응답은 한번에 받는것이 효율적이다. 대표적인 흐름제어는 슬라이딩 윈도우 메커니즘이라고한다.
데이터 분할 및 조합 : 송신 컴퓨터가 데이터를 전송할때 한꺼번에 전송하지않고 여러개로 나눠서 전송하는것을 데이터 분할이라고한다. 이떄 분할된 데이터를 세그먼트라고한다.
세그먼트를 모두 모아 다시 원래 데이터로 조립하는것을 조합이라고 한다.
연결제어 : 컴퓨터 간에 데이터를 전송할때 연결설정, 데이터 전송, 연결해제 단계를 수행하는것을 연결 제어라고 한다.
높은 신뢰성을 요구하는 데이터를 전송할때는 오류없이 전송해야 하므로 연결 제어를 수행하는데 이를 연결형 프로토콜이라고 한다. 또한 높은 신뢰도를 요구하지않는 데이터를 전송할때는 연결 제어 과정없이 바로데이터를 전송을 하는데 이를 비연결형 프로토콜이라고한다.
OSI참조모델 개념
OSI 7계층
응용계층 : 최상위 계층으로 사용자가 데이터를 처리할 수있도록 돕는다. 또한 사용자와 응용 프로그램 사이에서 데이터 송수신을 처리하며, 데이터 송수신을 담당하는 프로토콜을 포함한다. 사용자가 데이터를 처리 할수있도록 돕는 예로
워드 프로세서와 엑셀 같은 프로그램을 들수있고 사용자와 으용 프로그램 사이에서 데이터 송수신을 처리하는 서비스의 예로 텔넷등을 들수있다. 데이터 송수신 프로토콜로는 전자메일,파일전송,하이퍼텍스트
표현계층 : 데이터의 구문과 의미에 관련된 기능으로 변환, 암호화,압축을 수행한다. 압축은 제한된 네트워크의 전송 효율을 높이기 위해 문자,오디오,비디오등의 멀티미디어 데이터의 비트 수를 줄여서 전송하는 기능이다.
세션계층 : 응용 프로그램간 네트워크 대화 제어와 동기화를 유지하는 기능을 수행한다.
네트워크 대화 제어 기능은 데이터를 송수신할때 통신 방식을 결정하는 기능으로 대화제어 협상을 통해 결정한다.
동기화는 데이터를 송수신할때 데이터의 전송 순서 및 동기점의 위치를 부여하여 전송 도중 발생하는 오류에 대하여 데이터를 재전송하거나 복구하는 기능이다
전송계층 : 연결된 네트워크의 기능이나 특성에 영향을 받지 않고 오류제어,흐름제어 기능을 수행하여 신뢰성있는 데이터전송을 보장한다. 데이터링크 계층의 기능과 유사하나 전송의 책임 범위가 다르다. 데이터 링크의 전송 책임 범위는 송수신 시스템의 각구간 이지만 전송계층의 전송 책임 범위는 최초 송신 컴퓨터에서부터 최종 수신 컴퓨터에 이르기까지 전체구간을 이른다.
네트워크 계층 : 네트워크 경로는 환경에 따라 시간대별 또는 각 구간별로 혼잡도가 달라질 수 있다.전송한 데이터가 네트워크에서 최적의 경로로 전송될수있도록 경로를 배정하고 홉자을 제어하는 기능을 수행한다.
송신측에서 데이터를 전송하면 네트워크 장비인 라우터는 데이터를 수신하여 수신측에 전달 할수있는 최적의 경로를 탐색한다.
데이터링크 계층 : 컴퓨터 간의 데이터를 전송하면 환경에 따라 잡음이나 간섭등의 물리적 전송오류가 발생할수있다.
통신에서 이러한 물리적 전송오류를 해결하는것은 매우 중요하다. 데이터 링크는 전송되는 데이터의 물리적 전송 오류를
감지하고 복구하는 오류제어 기능과 전송되는 데이터의 흐름제어기능을 수행한다.
물리 계층 : 송수신 컴퓨터를 연결할때 기계적/전기적 특성과 물리적인 신호의 제어 절차등을 정의한다.
기계적 특성은 전송 매체의 종류 -> 커넥터의 모양이나 핀수등이며, 전기적 특성은 송수신되는 신호의 전압 레벨등이다.