본 복습 내용은 아이티뱅크 네트워크 I 수업 내용 및 교안을 바탕으로 합니다.
1. 데이터통신
* 통신 (telecommunication): 전기-전자적, 혹은 빛 이용 기술로 원격지끼리의 정보 교류
2. 컴퓨터 네트워크의 역사
* 1960년대 이전
: 회선교환(circuit switching) 방식, 데이터 형태에 따라 네트워크를 분류해 (전산망 for 텍스트, 전화망 for 음성) 정보 교류
: 데이터 전송 전에 두 단말기 사이에 회선 설정, 데이터 전송 후 회선 해지
: 통신 때마다 통신회선 할당 필요
* 1960년대 - 패킷 교환 기술
: 음성 중심에서 데이터 중심 통신으로 발전, 이를 위해 패킷 교환 (Packet Switching) 방식 등장
: 데이터를 일정한 데이터블록인 패킷으로 분할 후 교환기가 수신측에 적당한 통신경로 선택해 전송
: 단말기가 데이터를 패킷으로 분해 -> 수신된 패킷의 병합 기능을 지니거나, PAD라는 부가장치 필요
* 1970년대 - 인터네트워킹 시작
: 1969년 ARPANET(Advanced Research Project Agency Network)는 UCLA-Stanford-Utah-UC Santa Barbara 연결 및 정보 공유 위해 시작됨 - 폐쇄형 네트워크!
: 1974년 DARPA(Defense Advanced Research Projects Agency)의 지원으로 통신 프로토콜의 표준화 위해 초기 TCP 버전 만들어짐
: ALOHA 네트워크 프로토콜이 1976년에 Ethernet 프로토콜로 계승
: A네트워크 <- (게이트 웨이) -> B네트워크
* 1980년대 - 체계 등장
: 1970년대 후반 ARPANET이 200여대의 컴퓨터에서 10만대의 컴퓨터로 폭발적 성장
: 1983년 1월 1일, TCP/IP (Transmission Control Protocaol / Internet Protocol)이 표준 프로토콜로 제정
: 1982년 IPv4 32-bit 체계,1983년 DNS가 RFC에 등재
* 1990년대 - 네트워크 확장
: 1989년 CERN의 팀 버너스-리(Tim Berners-Lee)가 물리학자간의 통신을 위하여 WWW (World Wide Web)을 만들었고, 이로 인해 상업적인 인터넷이 등장 및 폭발적 성장을 함
: WWW는 HTML, HTTP, 웹 서버, 브라우저 등으로 구성됨 - 일반 사용자들도 비교적 쉽게 접근 가능해짐
: 모자이크와 넷스케이프 등이 GUI 이용한 브라우저를 탄생시켰고, 인터넷 사용함에 있어 허들을 낮춰줌
* 2000년대 이후
: xDSL (x- Digital Subscribe Line), FTTH (Fiber-to-the-Home), 케이블 모뎀 등으로 일반 가정에 인터넷 배급, 영상 전송 실시간 가능 등이 이뤄졌다.
: Wi-Fi, 모바일 기술 등장
3. 통신 프로토콜
(1) 구성 요소 - 구문, 의미, 타이밍
* 구문 (Syntax) - 전송할 정보의 구조와 순서 표현 (ex. 임의의 프로토콜에서 처음 n비트는 송신지 주소를 의미)
* 의미 (Semantics) - 각각의 비트가 가지는 의미 표현 (ex.임의의 프로토콜 주소 부분은 메시지 전달 경로 의미)
* 타이밍 (Timing) - 객체간 통신 속도 조절 및 순서 등에 대한 특성 표현 (ex. 송신자가 10Mbps로 데이터 전송하는데 수신자가 1Mbps로 수신하면 타이밍 맞지 않아 데이터 유실 가능)
(2) 프로토콜 기능
* 단편화 (fragmentation)- 임의의 크기인 메시지 (정보)가 일정한 데이터 단위 패킷 (packet)으로 나뉘고, 프레임(frame)으로 변환되어 전송됨
* 재결합 (reassembly) -단편화와 반대
* 연결제어 (Connection Control) - 개체 사이 데이터 전송할 때 연결의 설정, 해제, 조정 기능 등 포함
* 흐름제어 (Flow Control) - 개체 사이 전송되는 데이터의 양과 속도 조절
: 정지-대기(Stop-and-Wait, 수신측으로부터 확인신호 받고 송신측에서 데이터 전송), 전송률-기반 (Rate-Based, 데이터 양 미리 정함), 슬라이딩 윈도우 (Sliding Windows, 여러 프레임 동시 전송 ) 등
* 오류제어 (Error Control) - 네트워크 불안정성으로 데이터나 제어정보 파손 시 이를 처리
: 패리티 검사 코드, 순환 잉영도 방식
* 동기화 (Synchronization) - 개체 사이 초기화와 종료 상태 단계를 맞춤
* 순서화 (Sequencing)- 데이터들의 보내진 순서 명시
4. 네트워크 계층구조 모델
* OSI 7계층 (Open Systems Interconnection)
: 국제표준화기구에서 개발
: 컴퓨터 네트워크 프로토콜 디자인과 통신을 계층으로 나눠 설명
: 참고 - 컴퓨터는 7계층을 모두 포함
: 나무위키
(1) 물리 계층 (Physical Layer, L1)
: 실제 장치들을 연결하기 위해 필요한 전기적 물리적 세부 사항 정리
(ex. 핀들의 배치, 전압의 명세 등)
: 물리적 정보 전달 매개체에 대한 연결 성립 및 종료
: 여러 사용자들 간의 통신 자원 효율적 분배
: 디지털 데이터를 신호로 변환
: 네트워크 상에서 데이터 비트를 전송하는 계층. 데이터 링크 개체 간의 비트 전송 위한 물리적 연결을 설정, 유지, 해제하기 위한 수단 제공
: 단위 - bit, 대표 장치 - 허브 (리피터)
(2) 데이터 링크 계층 (Data Link Layer, L2)
* 네트워크 위의 개체들 간 데이터 전달
* 물리 계층에서 데이터 전송할 떄 생길 수 있는 물리적 오류를 감지하고 수정하는 데 필요한 기능적, 절차적 수단 제공
* 개체 간 신뢰성 있는 통신을 보장하기 위한 계층
* 순환 중복 검사(CRC)기반 오류제어와 흐름제어 필요함
* 주소 값은 물리적으로 할당
* 단위 - frame
* 대표 장치 - 이더넷, L2스위치
(3) 네트워크 계층 (Network Layer, L3)
* 여러 개의 노드를 거칠 때마다 경로를 찾아주는 계층
(데이터가 올바른 경로를 선택하도록 지원함)
* 데이터를 전달하고, 전송 계층이 요구하는 서비스 품질 (QoS)를 제공하기 위한 기능적 절차적 수단 제공
* 라우팅, 패킷 포워딩, 세그멘테이션, 리어셈블리, 인터네트워킹 등 수행
* 데이터를 연결하는 다른 네트워크 통해 전달함으로써 인터넷이 가능하게 만드는 레이어.
* 논리적인 구조 주소 (IP) - 네트워크 관리자가 직접 주소 할당 -를 가지며 계층적
* 단위 -packet
* 대표 장치 - 라우터, L3스위치
* 프로토콜 - IP등
(4) 전송 계층 (Transport Layer, L4)
* 양 끝단의 사용자들이 신뢰성있는 데이터를 주고 받을 수 있게 해줌
* 시퀀스 넘버 기반의 오류 제어 방식을 사용
* 특정 연결의 유효성 제어
* 일부 프로토콜은 stateful하고 연결 기반이다 - 전송 계층이 패킷들의 전송이 유효한 지 확인, 전송 실패 시 패킷들을 재전송
* 단위 - segment
* 대표 장치 - L4스위치
* 프로토콜 -TCP,UDP
(참고) 1 - 4계층 기능은 시스템 콜 형태로 상위 계층에 제공, 5-7계층 기능은 사용자 프로그램으로 이룸
(5) 세션 계층 (Session Layer, L5)
* 양 끝단의 응용 프로세스가 통신을 관리하기 위한 방법 제공
* 동시 송수신, 반이중, 전이중 통신과 함께 체크포인팅, 유휴, 종료, 다시 시작 과정 등 수행
* TCP/IP 세션을 만들고 없애는 책임을 짐
* 앞서 본 전송 계층과 비슷한 세션 연결 지원하지만 이보다 더 상위의 논리적 연결 처리
* 응용 환경에서의 사용자 간의 대화 개념의 연결
* 대표 장치 - L5스위치
(6) 표현 계층 (Presentation Layer, L6)
* 코드 간의 번역을 담당해 사용자시스템에서 데이터의 형식상 차이를 다루는 부담을 응용계층으로부터 덜어줌
* 전송되는 데이터 의미(semantic)를 잃지 않도록 올바르게 표현하는 방법(syntax)다룸
* 정보를 교환하는 시스템이 표준화된 방법으로 데이터 인식하도록 해줌.
* 수신자 장치에서 적합한 앱을 사용해 송신자 장치로부터 온 데이터 해석 위한 응용계층 데이터 부호화
* 수신자에서 압축 풀 수 있는 형식으로 데이터 압축
* 전송 위한 암호화 + 복호화
* MIME 인코딩/암호화 등이 여기서 이뤄짐
(7) 응용 계층 (Application Layer, L7)
* 사용자의 다양한 네트워크 응용 환경 지원
* 응용 프로세스와 직접 관계, 일반적 응용 서비스 수행
* 단위 -데이터 또는 메세지
* 대표장치 - L7스위치
'학점은행제' 카테고리의 다른 글
[컴퓨터시스템] 학습복습 - UNIX명령어 구조, 온라인매뉴얼 (0) | 2021.05.24 |
---|---|
[네트워크] 학습복습 -LAN (0) | 2021.05.24 |
[컴퓨터시스템] 학습복습 - 유닉스/리눅스, 커널, 시스템 호출 (0) | 2021.05.22 |
[C언어 I] 학습복습 - 포인터, 포인터 연산 및 배열, 다중 포인터, 배열 포인터, 함수 포인터, 스트림, EOF, 문자열 입출력 함수 및 버퍼 (0) | 2021.05.22 |
[C 언어 I] 학습복습 - printf, scanf함수, 반복문, 조건식, 함수, 지역변수, 전역변수, register, 재귀함수, 배열 (0) | 2021.05.22 |
댓글