컴퓨터 네트워크
물리/전자기적인 알고리즘 + 이를 이용해서 통신하기 위한 물리적 장비 + 컴퓨터 운영체제와 네트워크 소프트웨어
⇒ 매우 방대하고 복잡한 시스템
계층을 나누는 이유?
- 통신이 일어나는 과정을 단계 별로 알 수 있음
- 특정한 계층에서 이상이 발생하면 해당 계층만 수정하면 되기 때문
> 추상화를 통해 전체 계층에 대해 알 필요 없이 자신의 계층에 대해서 알면 된다.
OSI 7 계층 모델
ISO의 개방 시스템 연결 규약(OSI) 참조 모델
응용 계층 (Application Layer) | 일반적인 응용 서비스를 수행, 최종 목적지 - 사용자 인터페이스, 전자우편, 데이터베이스 관리 등 - HTTP, FTP, TELNET, SSH 등 애플리케이션 프로토콜 |
표현 계층 (Presentation Layer) | 유저 영역에서 처리해야 할 데이터의 형식상 차이를 처리해준다. - 파일 인코딩, 암호화 등 수행 - JPEG, MPEG |
세션 계층 (Session Layer) | 데이터 통신을 위한 논리적인 연결을 담당 - TCP/IP 세션을 만들고 없애는 역할 - API, Socket |
전송 계층 (TransPort Layer) | 노드와 노드 사이 데이터 전송만 담당한다. - 포트를 열고, 프로그램들이 데이터를 전송할 수 있도록 제공 - TCP (연결 지향적, 신뢰성), UDP (비연결성, 비신뢰성, 실시간) |
네트워크 계층 (Network Layer) | 노드와 노드를 연결해서 네트워크를 구성하는 역할 - 라우팅, 흐름 제어, 오류 제어, 세그멘테이션 등을 수행 - 라우터를 통해 이동 경로를 선택, 해당 경로로 패킷을 전달 = 라우팅 - 라우터, IP |
데이터 링크 계층 (Data Link Layer) | 물리적인 네트워크 장비 간에 일대일(Point to point)로 신뢰성 있는 통신을 보장해주는 역할 - 프레임에 Mac 주소를 부여하고 에러 검출, 재전송, 흐름 제어를 수행 - Mac 주소를 통해 통신 - 브릿지, 스위치 |
물리 계층 (Physical Layer) | 물리적 장치에서 데이터를 전송하는 역할 - 데이터 → 전기적 신호로 변환해서 통신 - 리피터, 케이블, 허브 |
MAC 주소 NIC에 할당된 물리적인 주소
단일 계층 주소 체계
- Mac 주소를 통해서 특정 NIC에서 원하는 NIC로 데이터를 전송할 수 있다.
IP 네트워크를 구성하기 위해선 전체 네트워크에서 노드가 유일해야 한다.
- 네트워크에서 노드를 식별하기 위해 사용되는 대표적인 프로토콜
계층 주소 체계 대규모 네트워크를 조직적으로 관리할 수 있음
전송 계층 인터넷은 패킷 스위칭 방식으로 데이터를 전송한다. 따라서 패킷이 처음 순서와 다르게 목적지에 도착할 수도 있고, 데이터 잡음이 생길 수 있다. 이를 해결하기 위해 패킷의 순서를 재조합, 오류 검출, 오류가 발생한 패킷에 대한 재전송을 요청하는 등의 일을 할 수 있다.
- TCP
- UDP
'CS' 카테고리의 다른 글
[Java] BufferedReader, BufferedWriter 사용하기 (0) | 2023.06.26 |
---|---|
[CS 스터디] Network - TCP 3 way handshake & 4 way handshake (0) | 2023.06.22 |
[이슈] Postman 실행 안됨 (0) | 2023.06.22 |
IntelliJ 단축키 정리 (0) | 2023.05.19 |
[이슈] MySQL Workbench 실행 시 반응 없음 - vcruntime140_1.dll이 없어 코드 실행을 진행할 수 없습니다 (0) | 2023.05.18 |