이번 학기에 컴퓨터 네트워크도 듣게 되었다....
시계열과 컴퓨터 네트워크 그리고 모바일 프로그래밍까지 들으니 정말 죽을 맛이다.
시계열과 같은 이유로 컴퓨터 네트워크도 블로그에 적으면서 공부할 계획이다.
컴퓨터 네트워크 정리를 시작하겠다.
강의 제목이기도 한 네트워크의 정의부터 설명하고 시작하겠다.
네트워크란?
모뎀이나 LAN, 케이블, 무선매체 등 통신설비를 갖춘 컴퓨터로 서로 연결하는 조직이나 체계, 통신망
- 즉 통신설비들로 두 대 이상의 컴퓨터를 서로 연결한 것을 의미한다.
네트워크는 전송 매체를 매개로 서로 연결되어 데이터를 교환하는 시스템의 모음이며, 시스템과 전송 매체의 연결 지점에 대한 규격이 인터페이스다.
시스템이 데이터를 교환할 때는 통신규칙인 프로토콜을 따른다. 서로 다른 시스템을 상호 연동하기 위해 프로토콜의 통일하는 것을 표준화라고 한다.
네트워크 관련 기초용어
1. 시스템
내부 규칙에 따라 능동적으로 동작하는 대상 ex) 컴퓨터, 자동차와 같은 물리적 대상 및 운영체제
2. 인터페이스
시스템과 전송 매체의 연결 지점에 대한 규격 ex) USB
3. 전송 매체
시스템간 데이터를 전달하기 위한 물리적인 전송수단 ex) 동축 케이블, 공기등
4. 프로토콜
전송 매체를 통해 데이터를 교환할 때의 임의의 통신 규칙
5. 네트워크
프로토콜을 사용하여 데이터를 교환하는 시스템의 집합을 통칭
6. 표준화
서로 다른 시스템이 상호 연동해 동작하기 위한 통일된 연동 형식(프로토콜)
노드 : 인터넷에 연결된 시스템
호스트 : 컴퓨팅 기능이 있는 시스템
클라이언트 : 서비스를 요청하는 시스템
서버 : 서비스를 제공하는 시스템
* 이용하는 서비스의 종류에 따라서 임의의 호스트의 클라이언트 / 서버의 역할이 바뀐다.
7 계층
계층 모델?
특징이 다른 여러 호스트를 연결하기 위해서는 연결 방식을 표준화 해야한다.
호스트들은 통신을 하기 위해서 7개 계층으로 모듈화 된 통신 기능을 갖추어야 한다.
1. 물리 계층
물리적으로 데이터를 전송(주로 전기적, 기계적, 기능적인 특성을 이용)
이 계층에서는 단지 데이터를 전달만 할 뿐 전송하려는 데이터가 무엇인지, 어떤 에러가 있는지 등에는 전혀 신경쓰지 않는다. 통신 케이블, 리피터, 허브 등이 이 단계에 속한다.
2. 데이터 링크 계층
장치간 신호를 전달하는 물리계층을 이용하여 네트워크 상의 주변 장치들 간의 데이터를 전송하는 역할을 한다.
물리적 전송 오류를 해결
통신단계에서의 오류도 찾아주고 재전송 하는 기능도 가지고 있다. 대표적인 장비로는 브릿지, 스위치가 있다.
3. 네트워크 계층
경로를 선택하고 주소를 정하고 경로에 따라 패킷을 전달해주는 것이 이 계층의 주 역할이다.
대표적인 장비로는 라우터가 있다.
4. 전송 계층
송수신 프로세스 사이의 연결 기능
포트를 열어서 응용프로그램들이 전송을 할 수 있게 한다.
데이터가 왔다면 4 계층에서 해당 데이터를 하나로 통합하여 5 계층으로 전달한다.대표적인 예시로는 TCP가 있다.
5 ~ 7. 세션 / 표현 / 응용 계층
사용자 프로그램으로 작성되는 계층
세션 - 대화 개념의 논리적 연결 제공, 양 끝단의 응용 프로세스가 통신을 관리하는 방법을 제공하는 계층이다.
표현 - 데이터의 의미를 표현, 코드간 번역을 담당하는 계층
응용 - 다양한 응용 환경을 지원, ex) 크롬, 파이어폭스
프로토콜과 인터페이스
-사용자가 데이터를 주고받기 위해서는 각 호스트에서의 OSI 7계층의 각 모듈이 연동 돼야 한다.
프로토콜을 통해 정해진 규칙으로 통신하고, 인터페이스를 통해 상/하위 계층 연결 지점에 대한 규격을 맞춘다.
네트워크의 기능
바이트 오더링: 컴퓨터에 저장되는 최소 단위인 바이트를 읽어오는 순서
빅 엔디안 VS 리틀 엔디안
1바이트 단위로 왼쪽부터 읽어서 메모리에 넣는 것은 빅 엔디안 / 오른쪽부터 읽어서 메모리에 넣는 것은 리틀 엔디안
인터네트워킹: 네트워크와 네트워크의 연결
인터넷은 IP프로토콜을 사용하는 전 세계의 모든 네트워크가 연결된 시스템
네트워크 간의 연결을 위해서는 라우터를 사용한다.
게이트웨이 : 인터네트워킹 기능을 수행하는 시스템 ( 다른 네트워크로 들어가는 입구 역할을 함 )
리피터, 브릿지, 라우터 등을 사용
리피터: 신호 감쇄를 보완하기 위한 신호 증폭 기능
브릿지: 리피터에서 데이터 링크 계층의 기능이 추가된 것
라우터: 물리/데이터링크/네트워크 계층의 기능을 지원
데이터 단위
네트워크 주소의 표현
시스템을 설계할 때는 고유의 식별자를 부여해야 하며, 다음의 특징을 가지고 있다.
1. 유일성
- 대상 시스템을 서로 구분하여 지칭할 수 있어야 한다. 따라서 서로 다른 시스템이 같은 구분자를 갖지 않도록 해야 한다.
2. 확장성
- 시스템의 수용 규모를 올바르게 설정해야 한다.
3. 편리성
- 사용자가 식별자를 쉽게 이해할 수 있도록 한다.
4. 정보의 함축
- 다양한 정보를 포함해야 한다.
시스템 내부에서 처리되는 숫자 기반의 주소와 기호로 된 이름을 제공해야 한다.
이때 IP주소는 네트워크 기능을 수행하는 IP프로토콜이 호스트를 구분하기 위해 사용되는 주소체계.
IP주소의 유일성을 보장하기 위해, IANA (Internet Assigned Numbers Authority)
인터넷에서 호스트와 연결하려면 해당 호스트의 IP를 알고 있어야 한다.
따라서, 의미 파악이 쉬운 문자로 된 호스트 이름을 사용하고 있다.
DNS: 사용자로부터 호스트의 이름을 입력받아서 IP주소를 반환해 주는 역할을 담당한다.
국가 도메인, 단체 종류 도메인등이 있다.
ex) http:// abc.ac.kr ( ac: 교육기관, kr: 한국)
DHCP는 자동으로 ip를 호스트 하는 IP주소 및 서브넷 마스크 및 기본 게이트웨이 등의 기타 관련된 구성 정보를 제공하는 클라이언트 / 서버 프로토콜입니다.