이번 포스팅에서는 지난 포스팅에 이어 모두의 네트워크 2장에 대해 학습해보도록 하겠다.
2장에서는 네트워크에서 데이터가 어떻게 전송되는지에 대해 다루고 있다.
어쩌면 네트워크에서 가장 중요하다고 얘기할 수 있는 네트워크 모델도 다루고 있다.
<네트워크의 규칙>
프로토콜
- 통신하기 위한 규칙
- 컴퓨터 간에 정보를 주고 받을 때의 통신 방법에 대한 표준
- 전달되는 정보는 통신 프로토콜 사양에서 설정할 수 있는 규칙에 따라 관리
- TCP / IP 모델과 OSI 모델 프레임 워크 존재
- 프로토콜의 기본요소 - 구문, 의미, 시간
- 구문 - 전송하고자 하는 데이터의 형식/부호화/신호 레벨 등 규정
- 의미 - 효율적이고 정확한 전송을 위한 협조 사항 및 오류 관리를 위한 제어 정보 규정
- 시간 - 통신 속도, 메시지의 순서 제어 등 규정
- 프로토콜의 기능
- 단편화와 재합성
- 단편화 - 송신 측에서 긴 데이터를 손쉽게 전송할 수 있도록 작게 나누어 전송
- 재합성 - 수신 측에서 쪼개진 작은 데이터를 재합성하여 원래 메시지로 복원
- 캡슐화
- 각 프로토콜에 적합한 데이터 블록을 만들려고 데이터에 정보를 추가하는 것
- 플래그, 주소, 제어 정보, 오류 검출 부호 등을 부착
- 헤더 및 트레일러
- 연결 제어
- 비연결 데이터 전송과 연결 위주 데이터 전송을 위한 통신로 개설/유지/종결
- 흐름 제어
- 데이터 양 or 통신 속도 등이 수신 측의 처리 능력을 초과하지 않도록 조정
- 오류 제어
- 데이터 전송 중 발생할 수 있는 오류를 검출 및 정정
- 순서 결정
- 송신 측이 보내는 데이터 단위 순서대로 수신 측에 전달
- 주소 결정
- 발생지, 목적지 등의 주소를 명시하여 데이터를 정확하게 전달
- 동기화
- 두 통신 객체의 상태(시작, 오류, 검사 등)를 일치시키는 기능
- 다중화
- 하나의 통신로를 여러 개로 나누거나 회선 여러 개를 하나의 통신로로 변환시켜 다수의 가입자가 동시에 사용할 수 있도록 하는 기능
- 전송 서비스
- 통신하기 쉽도록 별도의 추가 서비스(패리티 검사, 보안도, 서비스 등급, 우선순위 등) 제공
- 단편화와 재합성
- 각 계층의 대표적인 프로토콜
OSI 모델
- 국제표준화기구(ISO)가 정한 국제 통신 표준 규약
- 네트워크의 기본 구조를 7개 계층(Layer)로 나눠서 표준화
- 현재 다른 모든 통신 규약의 기반이 됨
- 아래부분인 1~4계층: 하위 계층
- 윗 부분인 5~7계층: 상위 계층
- 아파서 티내다 피나다로 암기할 것
- Application(아)
- Presentation(파)
- Session(서)
- Transport(티)
- Network(내)
- Data Link(다)
- Physical(피)
- 응용 계층(Application Layer)(7계층)
- 이메일 & 파일 전송, 웹 사이트 조회 등 애플리케이션 서비스 제공
- 사용자가 네트워크에 접근할 수 있도록 인터페이스 제공
- 메시지 단위로 전송
- 표현 계층(Presentation Layer)(6계층)
- 문자 코드, 압축, 암호화 등의 데이터 변환
- 응용프로그램의 형식 -> 네트워크 형식 (또는 그 반대)
- 세션 계층(Session Layer)(5계층)
- 세션 체결, 통신 방식 결정
- 프로세스 간의 통신 제어
- 동기화 유지
- 전송 계층(Transport Layer)(4계층)
- 신뢰할 수 있는 통신 구현
- 데이터의 용량/속도/목적지 처리
- 네트워크가 아닌 호스트 내에 구동된 프로세스 사이의 연결 확립
- 제어 프로토콜(TCP)
- 세그먼트 단위로 전송
- 사용자 데이터 그램 프로토콜(UDP)
- 데이터 그램 단위로 전송
- 참고) TCP와 UDP의 차이점 => https://mangkyu.tistory.com/15
- 네트워크 계층(Network Layer)(3계층)
- 경로 설정(라우팅)
- 패킷 스위칭 방식
- 논리 주소(IP) 결정
- 데이터를 패킷 단위로 분할
- 경로 설정(라우팅)
- 데이터 링크 계층(Data Link Layer)(2계층)
- 프레임 단위로 데이터 전송
- 물리 주소(MAC) 결정
- 오류 수정(오류 없이 안전하게 전송하는 역할-)
- 헤더에 통신자, 수신자 물리주소가 들어 있음
- MAC Address: 고유 식별 주소(IP는 동적이므로 고유x)
- 스위치 작동
- 송신 측의 데이터 링크 계층에서 만들어진 데이터가 전기 신호로 변환되어 수신 측에 전송됨
- 물리 계층(Physical Layer)(1계층)
- 시스템 간의 물리적인 연결
- 노드로 비트 정보 전송
- 전기 신호 변환 및 제어
- 데이터의 물리적인 이동은 물리 계층에서만 발생
- 장비로는 통신 케이블, 리피터, 허브 존재
TCP/IP 모델
- OSI 모델의 7계층에서 4개의 계층으로 단순화시킨 모델
- 응용계층, 전송계층, 인터넷 계층, 네트워크 인터페이스 계층(네트워크 접근/접속 계층)으로 구성
- 응용 계층(Application Layer)(4계층)
- OSI의 5, 6, 7계층인 세션, 표현, 응용 계층을 응용 계층으로 묶어 단순화
- 네트워크 접근(접속) 계층(1계층)
- OSI의 1, 2계층인 데이터 링크, 물리 계층을 네트워크 접근(접속)계층으로 묶어 단순화
- 각 계층의 기본 설명은 아래 사진 참고
<캡술화 & 역캡슐화>
정확한 데이터 전송을 위해서는 데이터를 전달받을 상대방의 정보도 함께 들어있어야 한다.
송신 측에서는 정보를 헤더에 담아 데이터의 앞에 붙여 다음 계층으로 보내야 한다.
수신 측에서는 받은 정보에서 원래의 데이터만 복원하기 위해 헤더를 제거한다.
이러한 과정을 캡슐화와 역캡슐화라고 한다.
- 캡슐화
- 상위 계층의 통신 프로토콜 정보를 데이터에 추가하여 하위 계층으로 전송하는 기술
- 헤더를 붙여나가는 것
- 순서) 응용 - 전송 - 네트워크 - 데이터 링크 계층 순서
- 전송 계층에서 신뢰할 수 있는 통신을 만들기 위해 헤더를 붙여 네트워크 계층으로 전송
- 네트워크 계층에서는 다른 네트워크와 통신하기 위해 헤더를 붙여 데이터 링크 계층으로 전송
- 데이터 링크 계층에서는 물리적인 통신 채널을 연결하기 위해 헤더와 트레일러를 붙여 물리 계층으로 전송
- 헤더 - 데이터의 맨 앞에 위치하는 추가적인 정보 데이터
- 트레일러 - 데이터의 마지막에 추가하는 정보
- 역캡슐화
- 상위 계층의 통신 프로토콜에서 하위 계층에서 추가한 정보와 데이터를 분리하는 기술
- 헤더를 제거해 나가는 것
- 캡슐화의 반대 개념
- 캡술화와 반대로 아래서부터 위로 헤더를 제거해나가며 원래 데이터로 복원
- 순서) 데이터링크 - 네트워크 - 전송 - 응용 계층 순서
'네트워크' 카테고리의 다른 글
모두의 네트워크 - 6장. 전송 계층: 신뢰할 수 있는 데이터 전송하기 (0) | 2023.01.23 |
---|---|
모두의 네트워크 - 5장. 네트워크 계층: 목적지에 데이터 전달하기 (0) | 2023.01.22 |
모두의 네트워크 - 4장. 데이터 링크 계층: 랜에서 데이터 전송하기 (0) | 2023.01.21 |
모두의 네트워크 - 3장. 물리계층: 데이터를 전기 신호로 변환하기 (0) | 2023.01.20 |
모두의 네트워크 - 1장. 네트워크 첫 걸음 (0) | 2023.01.17 |