OSI 7계층 모델이란?
1계층 - 물리계층(Physical Layer) : 통신 케이블, 리피터, 허브
데이터가 무엇인지, 어떤 에러가 있는지 등에는 전혀 신경 쓰지 않는다.
2계층 - 데이터 링크계층(DataLink Layer) : 스위치
브릿지나 스위치를 통해 맥주소를 가지고 물리계층에서 받은 정보를 전달
프레임(데이터 통신단위)에 주소부여(MAC - 물리적주소) 에러검출/재전송/흐름제어
3계층 - 네트워크 계층(Network Layer) : 주소부여(IP), 경로설정(Route)
데이터를 목적지까지 가장 안전하고 빠르게 전달하는 기능(라우팅)
신뢰성(에러제어) 및 흐름제어 기능이 전혀 없음(TCP에 있음)
4계층 - 전송 계층(Transport Layer) : TCP, UDP
패킷 생성(Assembly/Sequencing/Deassembly/Error detection/Request repeat/Flow control) 및 전송
5계층 -세션 계층(Session Layer) : 세션 설정, 유지, 종료, 전송 중단시 복구
데이터가 통신하기 위한 논리적인 연결을 담당 stateful 한가?
6계층 - 표현 계층(Presentation Layer) : 암호화/복호화, charset등 데이터 인코딩 디코딩
7계층 - 응용 계층(Application Layer) : HTTP, FTP, SMTP, POP3, IMAP, Telnet
TCP/IP 4계층 모델이란?
Internet protocol suite을 TCP/IP 4계층 모델로 설명하거나 OSI 7계층 모델로 설명함.
* Internet protocol suite : 인터넷에서 컴퓨터들이 정보를 주고받는 데 쓰이는 프로토콜의 집합.
1. 계층 구조
- TCP/IP 계층은 네트워킹 범위에 따라 네 개의 추상화 계층으로 구성됨.
ㄴcf) OSI 7계층.
- 계층들은 특정 계층이 변경되었을 때 다른 계층이 영향을 받지 않도록 유연하게 설계.
애플리케이션(application) 계층 : FTP, HTTP, SSH, SMTP, DNS.
- 웹 서비스, 이메일 등 서비스를 실질적으로 사람들에게 제공하는 계층.
FTP : 장치와 장치 간의 파일을 전송하는 데 사용되는 표준 통신 프로토콜
SSH : 보안되지 않은 네트워크에서 네트워크 서비스를 안전하게 운영하기 위한 암호화 네트워크 프로토콜
HTTP : World Wide Web을 위한 데이터 통신의 기초이자 웹 사이트를 이용하는 데 쓰는 프로토콜
SMTP : 전자 메일 전송을 위한 인터넷 표준 통신 프로토콜
DNS : 도메인 이름과 IP 주소를 매핑해주는 서버.
IP 주소가 바뀌어도 사용자들에게 똑같은 도메인 주소로 서비스할 수 있음.
전송(transport) 계층 : TCP, UDP.
- 송신자와 수신자를 연결하는 통신 서비스를 제공.
- 연결 지향 데이터 스트림 지원, 신뢰성, 흐름 제어.
- 애플리케이션과 인터넷 계층 사이의 데이터가 전달될 때의 중계 역할.
TCP : 패킷 사이의 순서를 보장. 가상회선 패킷 교환 방식 사용.
연결지향 프로토콜을 사용해서 연결 -> 신뢰성 구축해서 수신 여부를 확인.
UDP : 순서를 보장하지 않음. 데이터그램 패킷 교환 방식 사용.
수신 여부를 확인하지 않으며 단순히 데이터만 주는 패킷 교환 방식 사용.
가상회선 패킷 교환 방식
- 각 패킷에는 가상회선 식별자가 포함.
- 모든 패킷을 전송하면 가상회선이 해제되고 패킷들은 전송된 ‘순서대로’ 도착하는 방식.
데이터그램 패킷 교환 방식
- 패킷이 최적의 경로를 선택하여 독립적으로 이동.
- 서로 다른 경로로 전송될 수 있으며 도착한 ‘순서가 다를 수’ 있는 방식.
TCP 연결 성립 과정 : 3-웨이 핸드셰이크(3-way handshake)
- TCP는 이 과정이 있기 때문에 신뢰성이 있는 계층. UDP는 이 과정이 없기 때문에 신뢰성이 없는 계층.
SYN(SYNchronization) : 연결 요청 플래그
ACK(ACKnowledgement) : 응답 플래그
ISN(Initial Sequence Numbers) : 초기 네트워크 연결을 할 때 할당된 32비트 고유 시퀀스 번호.
TCP 연결 해제 과정 : 4-웨이 핸드셰이크(4-way handshake)
- TIME_WAIT : 연결을 바로 닫지 않고 일정 시간 뒤에 닫음.
ㄴ 지연 패킷이 발생할 경우를 대비.
ㄴ 두 장치가 연결이 닫혔는지 확인하기 위함.
ㄴ LAST_ACK 상태에서 닫히면, 새로운 연결시 LAST_ACK로 되어 있어 오류 발생.
TIME_WAIT : 소켓이 바로 소멸되지 않고 일정 시간 유지되는 상태.
CentOS6, 우분투에는 60초. 윈도우는 4분. 즉, OS마다 조금씩 다를 수 있다.
인터넷(Internet) 계층 : IP, ARP, ICMP 등.
링크 계층과의 차이점 : 각 host를 특정하기 위해 식별자로 ip주소를 사용.
ㄴ 링크 계층 : 포트번호라는 식별자 사용.
- 장치로부터 받은 네트워크 패킷을 IP 주소로 지정된 목적지로 전송하기 위해 사용되는 계층.
- 패킷을 수신해야 할 상대의 주소를 지정하여 데이터를 전달.
- 상대방이 제대로 받았는지에 대해 보장하지 않음(비연결형적 특징).
IP(Internet Protocol) : 신뢰성이 없는 패킷 교환 프로토콜이라고도 부름.
ICMP(Internet Control Message Protocol) : 수신측에서 송신측으로 네트워크의 상태를 알리기 위해 사용.
ARP(Adress Resolution Protocol) : 같은 네트워크 상에서 IP로 통신 할 때 목적지 IP주소와 매핑된 하위 계층 프로토콜의 MAC주소를 알아내기 위해 사용.
링크(Link, 네트워크 접근) 계층 : 전선, 광섬유, 무선 등.
- 실질적으로 데이터를 전달하며 장치 간에 신호를 주고받는 ‘규칙’을 정하는 계층.
- 물리 계층과 데이터 링크 계층으로 나누기도 함.
ㄴ 물리계층 : 무선 LAN과 유선 LAN을 통해 0과 1로 이루어진 데이터를 보내는 계층.
ㄴ 데이터 링크 계층 : ‘이더넷 프레임’을 통해 에러 확인, 흐름 제어, 접근 제어를 담당하는 계층.
유선 LAN(IEEE802.3)
유선 LAN을 이루는 이더넷은 IEEE802.3이라는 프로토콜을 따르며, 전이중화 통신 사용.
* 전이중화(full duplex) 통신 : 양쪽 장치가 동시에 송수신할 수 있는 방식.
- 송신로와 수신로로 나눠서 데이터를 주고받음.
- 현대의 고속 이더넷은 이 방식을 기반으로 통신.
* 반이중화(half duplex) 통신 : 서로 통신할 수 있지만, 동시에는 통신할 수 없으며 한 번에 한 방향만 통신할 수 있는 방식. 충돌 방지 시스템이 필요.
* CSMA/CD(Carrier Sense Multiple Access with Collision Detection) : 반이중화 통신중 하나.
- 수신로와 송신로를 각각 둔 것이 아니고 한 경로를 기반으로 데이터를 보냄.
- 이전에는 유선 LAN에 해당 방식을 사용했었음.
- 데이터를 ‘보낸 이후’ 충돌이 발생한다면 일정 시간 이후 재전송하는 방식.(충돌 대책)
유선 LAN을 이루는 케이블
1) 트위스트 페어 케이블(twisted pair cable) : TP케이블
2) 광섬유 케이블 : 레이저를 이용해서 통신.
ㄴ 구리선(TP)과는 비교할 수 없을 만큼의 장거리 및 고속 통신이 가능.
무선 LAN(IEEE802.11, WLAN, Wireless Local Area Network)
- 무선 신호 전달 방식을 이용하여 2대 이상의 장치를 연결하는 기술.
ㄴ 비유도 매체인 공기에 주파수를 쏘아 무선 통신망을 구축.
- 수신과 송신에 같은 채널을 사용하기 때문에 반이중화 통신을 사용
무선 LAN을 이루는 주파수
- 장애물에 강하지만 간섭이 일어날 수 있는 2.4GHz, 깨끗한 전파 환경 구축이 가능한 5GHz 대역.
- wifi,지그비, 블루투스.
와이파이(wifi)
- 전자기기들이 무선 LAN 신호에 연결할 수 있게 하는 기술
- 사용하려면 무선 접속 장치(AP, Access Point, 공유기)가 있어야 함.
ㄴ 유선 LAN에 흐르는 신호를 무선 LAN 신호로 바꿔주어 신호가 닿는 범위 내에서 무선 인터넷을 사용.
BSS(Basic Service Set) : 기본 서비스 집합.
- 동일 BSS 내에 있는 AP들과 장치들이 서로 통신이 가능한 구조.
- 근거리 무선 통신을 제공.
- 하나의 AP만을 기반으로 구축되었기 때문에, 설치된 곳 이외 다른곳으로 이동시 사용 불가.
- ex) 집 와이파이
ESS(Extended Service Set) : 하나 이상의 연결된 BSS그룹.
- 장거리 무선 통신을 제공하며 BSS보다 더 많은 가용성과 이동성을 지원.
- 아마도 지하철의 KT 혹은 SKT 등 통신사에서 제공하는 와이파이에 자동으로 연결 가능한것..?
이더넷 프레임
- 데이터 링크 계층 : 이더넷 프레임을 통해 전달받은 데이터의 에러를 검출하고 캡슐화.
- 이더넷 프레임의 구조 :
MAC 주소 : 컴퓨터나 노트북 등 각 장치들을 네트워크에 연결하기 위한 LAN 카드를 구별하기 위한 식별번호.
6바이트(48비트)로 구성된다
계층 간 데이터 송수신 과정
- 애플리케이션 계층에서 전송계층으로 보내는 요청(request)값은 캡슐화 과정을 거쳐 전달.
- 링크 계층을 통해 목적 서버와 통신.
- 해당 서버의 링크 계층부터 애플리케이션 계층까지 비캡슐화 과정 거쳐서 데이터 전달.
- 애플리케이션 계층 : 데이터
- 전송계층 : '세그먼트' 혹은 '데이터그램' / TCP(L4) 헤더
- 인터넷 계층 : '패킷' / IP(L3) 헤더
- 링크 계층 : '프레임' / 프레임 헤더와 프레임 트레일러
2. PDU(Protocol Data Unit)
- 네트워크의 어떠한 계층에서 계층으로 데이터가 전달될 때 한 덩어리의 단위.
- 제어 관련 정보들이 포함된 ‘헤더’, 데이터를 의미하는 ‘페이로드’로 구성.
- PDU 중 아래 계층인 비트로 송수신하는 것이 모든 PDU 중 가장 빠르고 효율성이 높음.
- 애플리케이션 계층에서는 문자열을 기반으로 송수신.
ㄴ 헤더에 authorization 값 등 다른 값들을 넣는 확장이 쉽기 때문.
계층별 PDU 명칭
• 애플리케이션 계층: 메시지
• 전송 계층: 세그먼트(TCP), 데이터그램(UDP)
• 인터넷 계층: 패킷
• 링크 계층: 프레임(데이터 링크 계층), 비트(물리 계층)
'CS > CS' 카테고리의 다른 글
[CS] 네트워크의 기초(처리량, 지연 시간, 토폴로지, 병목, 명령어, 프로토콜 표준화,. ) (0) | 2022.09.27 |
---|---|
[CS] 네트워크 기기(처리 범위, 애플리케이션, 인터넷, 데이터 링크, 물리 계층) (0) | 2022.09.27 |
[CS] 네트워크란? (0) | 2022.09.27 |
[CS] 옵저버 패턴 (observer pattern) (0) | 2022.09.20 |
[CS] 노출모듈 패턴, MVC 패턴, MVP 패턴, MVVM 패턴 (0) | 2022.09.20 |
야나의 코딩 일기장 :) #코딩블로그 #기술블로그 #코딩 #조금씩,꾸준히
포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!