Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
Tags
- 공간복잡도 #공간자원 #캐시메모리 #SRAM #DRAM #시간복잡도
- aws #아키텍트 #과정 #vpc #인프라 구축 #php #alb #application #load #balancer #security #group #igw #ec2 #vpc #virtual #private #cloud
- 스파르타코딩클럽 #부트캠프 #IT #백엔드 #머신러닝 #AI #서버 #자동화 #SQL #KDT #기본문법 #데이터베이스 #Computer #Science #CPU #메모리
- aws #아키텍트 #과정 #vpc #인프라 구축 #haproxy #고가용성 #테스트 #alb #application #load balancer #application
- 썸네일 #이미지
- aws #아키텍트 #과정 #vpc #인프라 구축 #auto scailling #lauch template #ec2 instace #private #subnet
- 스파르타코딩클럽 #부트캠프 #IT #백엔드 #머신러닝 #딥러닝 #AI #서버 #자동화 #SQL #기본문법 #데이터베이스 #DBMS #Oracle #MongoDB #아키텍쳐 #DB
- aws #아키텍트 #과정 #vpc #인프라 구축 #rds #replica #복제본 #aurora #database #고가용성
- aws #아키텍트 #과정 #vpc #인프라 구축 #amazon sns #server #less #architecture
- 스파르타코딩클럽 #부트캠프 #IT #백엔드 #머신러닝 #AI #서버 #자동화 #SQL #기본문법 #데이터베이스 #웹개발
- 스파르타코딩클럽 #부트캠프 #IT #백엔드 #머신러닝 #AI #서버 #자동화 #SQL #기본문법 #데이터베이스
- aws #아키텍트 #과정 #vpc #인프라 구축 #s3 #bucket #객체 #스토리지 #isci #이미지 #업로드
- aws #아키텍트 #과정 #vpc #인프라 구축 #sqs #message #queue #sns구독
- aws #아키텍트 #과정 #vpc #인프라 구축 #haproxy #round robin #process #high ability #auto scailling #app server #launch template
- 비트 #바이트 #이진수
- aws #아키텍트 #과정 #vpc #인프라 구축 #rds #endpoint #cloudwatch #monitoring
- aws #아키텍트 #과정 #vpc #인프라 구축 #aurora #database #rds #rdbs #load #balancer #web #page #haproxy
- 쓰레드 #쓰레드풀 #프로세스
- 프로세스 #CPU #시공유 #커널
- aws #아키텍트 #과정 #vpc #인프라 구축 #s3 #bucket #객체 스토리지 #objects storage #events #upload #알림
- aws #아키텍트 #과정 #vpc #인프라 구축 #db #장애조치 #reand only #replica #events
- 스파르타코딩클럽 #부트캠프 #IT #백엔드 #OSI #ISO #AI #서버 #자동화 #SQL #기본문법 #데이터베이스 #DBMS #Oracle #MongoDB #아키텍쳐 #DB
- aws #아키텍트 #과정 #vpc #인프라 구축 #ec2 #instance #launch #template #생성 #ami #amazone #machine #image
- aws #아키텍트 #과정 #vpc #인프라 구축 #sqs #trigger #python3.9 #패키지 #
- aws #아키텍트 #과정 #vpc #인프라 구축 #second nat #gateway #routing table #route53 #고가용성 #private subnet #
- 업로드 #lambda #함수 #모바일 이미지 #썸네일 이미지
- aws #아키텍트 #과정 #vpc #인프라 구축 #alb #load balancer #t.g #target #group #haproxy #high ability #db #replica #region
- aws #아키텍트 #과정 #vpc #인프라 구축 #t.g #target group #alb #application #load #balancer #web #server
- 스파르타코딩클럽 #부트캠프 #IT #백엔드 #머신러닝 #딥러닝 #AI #서버 #자동화 #SQL #기본문법 #데이터베이스
- aws #아키텍트 #과정 #vpc #인프라 구축
Archives
- Today
- Total
요리사에서 IT개발자로
스파르타 코딩클럽(부트캠프) 9장 OSI 7계층 본문
TCP/IP 프로토콜은 TCP와 IP를 중심으로 한 여러 프로토콜의 집합체.
네트워크의 기본구조
네트워크란 정보가 전송되는 경로
LAN(Local Area Network)
사무실이나 빌딩처럼 비교적 좁은 범위의 네트워크
LAN 특징
- LAN을 통해 건물 네트워크에 접속 or 자원공유가 가능하다
- WIFI 공유기를 통하여 노트북이나 핸드폰 등 인터넷에 연결이 가능하다
- WIFI 공유기를 통하여 컴퓨터에서 프린터 연결 가능하다
WAN(Wide Area Network)
서로 떨어져 있는 LAN 사이를 전용선 등으로 연결한 광역 네트워크.
WAN 특징
- WAN을 통하여 멀리 떨어져 있는 LAN사이를 연결 할 수 있다.
- WAN 전용선으로 건물과 통신사 중계기(ISP)를 연결할 수 있다.
- WAN 케이블로 네트워크 시스템(SDN)을 통하여 미국의 네트워크 연결할 수 있다.
TIP
- WIFI 공유기 맨 왼쪽포트가 WAN포트, 나머지 포트는 LAN
- 우리나라는 1982년 5월 세계에서 미국다음으로 인터넷 연결한 나라이다.
클라이언트와 서버
클라이언트
- 네트워크상 서버에게 서비스를 요청하는 장비이다.
- 컴퓨터, 노트북, 핸드폰 등이 있다.
서버
- 네트워크상 서비스를 제공하는 장비이다.
- 공유기, 도메인 관리기(DNS), IP할당기(DHCP), 시간관리기(NTP), 게이트웨이 등이 있다.
서버 종류 및 서비스
- 공유기 : 네트워크에서 파일 or 프린터를 공유하게 해준다.
- 도메인 관리기(DNS) 도메인 주소로 IP주소를 찾게 해준다.
- IP 할당기 (DHCP) : 네트워크에 새로 접속한 장비에 IP주소와 네트워크 설정을 해준다.
- 시간관리기(NTP) : 네트워크상 장비들의 시간을 알맞게 맞춰준다.
- 게이트웨이 : 여러대의 장비가 외부네트워크에 접속하게 해준다.
OSI 7계층
1960년대 미 국방성에서 알파넷이라는 이름으로 최초 네트워크를 개발하여 미국내에 배포하였다.
- 미국을 시작으로 글로벌 네트워크를 구축하였을 때 규칙이 없어 힘들었다.
- 1970년대 국제 표준화 기구 (ISO)에서 OSI 7계층 모델을 만들어 네트워크 기본 구조를 가이드 하였다.
- 네트워크를 계층화 한 7계층은 각각의 규칙을 갖고 네트워크상에서 데이터를 전달하도록 한것이다.
- 1980년대 우리나라를 시작으로 독일 등 각국 글로벌 네트워크가 연결되었다.
- 허나 OSI 7계층 모델에 계층별 규칙을 모두 완성해서 구축하려고 했으나 기간이 오래 걸렸다.
- 1990년대 최종 OSI 7계층 모델보다 먼저 검증완료된 TCP/IP 규칙(프로토콜)이 표준이다.
- 따라서 OSI 7개의 계층을 갖고는 있으나 오래된 TCP/IP프로토콜은 5개의 계층만 갖고 있다.
계층화란
통신기술의 도입과 통신기능의 확장을 쉽게 하기위해 규칙(프로토콜)을 몇 개의 계층으로 나눈것.
기능에 필요한 몇 가지의 계층만 표준화했을 경우 정상적으로 통신이 가능하다.
계층별 역할
계층 | 이름 | 설명 |
7계층 | 응용 계층(Application) | 애플리케이션 서비스 제공 |
6계층 | 표현 계층(Presentation) | 문자코드, 압축, 암호화 |
5계층 | 세션 계층(Session) | 통신 방식 결정 |
4계층 | 전송 계층(Transport) | 신뢰성 있는 통신 구현 |
3계층 | 네트워크 계층(Network) | 다른 네트워크와 통신하기 위한 IP주소 결정 |
2계층 | 데이터링크 계층(Data Link) | 물리주소 결정 |
1계층 | 물리 계층(Physical Layer) | 물리적인 연결과 전기 신호 변환 |
계층간 인터페이스는 자신의 바로 위 계층에 제공되는 정보와 서비스를 정의
계층 1,2,3 (네트워크 지원계층)
- 하나의 장치에서 다른 장치로 전송되는 데이터의 룰리적인 면을 처리한다.
계층 5,6,7(사용자 지원계층)
- 관계가 없는 소프트웨어를 시스템 간 상호 운용성을 제공한다.
제공 4 (전송계층)
- 네트워크 지원 계층과 사용자 지원 계층을 서로 연결하여 네트워크 지원계층이 전송한 것을 사용자 지원 계층이 사용할 수 있는 형태가 되도록 보장한다.
4계층을 합쳐 1~4의 데이터 플로우 계층와 5~7의 애플리케이션 계층으로 나누기도 한다.
각 계층 장비의 기준
- 1계층(L1) 장비는 1계층 기능만 가진 장비 (인코더/디코더)
- 2계층(L2) 장비는 1~2계층 기능을 모두 가진 장비 (L2스위치/MAC주소)
- 3계층(L3) 장비는 1~3계층 기능을 모두 가진 장비 (라우터 = 중계노드/IP주소)
- 4계층(L4) 장비는 1~4계층 기능을 모두 가진 장비 (L4로드밸런서/포트)
- 7계층(L5) 장비는 1~7계층 기능을 모두 가진 장비 (컴퓨터, 핸드폰)
네트워크의 물리적인 연결은 케이블로 L2, L4 장비를 연결해 모두 연결한다.
L2 스위치가 L3 장비기능도 한다.
L5 ~ L7 구간은 논리적인 SW구간이다.
물리(Physical) 계층
개요
- 물리적으로 연결된 두 대의 컴퓨터가 전선을 통하여 직접 데이터를 송수신 할수 있게 해주는 모듈이다.
목적
- 들어온 전기 신호를 그대로 잘 전달하는 것이다.
동작
- 전기신호를 비트로 서로 변환해주는 기기이다.
- 아날로그 신호 <-> 디지털신호
- 물리적인 케이블 계층, 비트단위로 전송되는 전기 신호다.
규칙
- 물리 계층에서는 두 시스템 간 데이터를 전송하기위해 링크를 활성화 하고 관리하는 전기적, 기계적, 절차적, 기능적 특성을 정의한다.
데이터 링크(Data Link) 계층
개요
- 출발 주소와 도착 주소를 확인, 자신에게 보낸 데이터인지 아닌지 검사한 후 데이터 처리를 수행한다.
목적
- 주소정보를 정의하고 정확한 통신이 되도록 하는 것이다.(IP주소가 아닌 MAC주소)
동작
- framing, switching
- MAC주소를 기반으로 같은 네트워크에 있는 장비들이 데이터들을 주고 받게 해준다.
- 물리적인 네트워크를 통하여 데이터를 전송하는 기능을 수행한다.
- 전송할 경우 보낼 데이터를 frame 단위로 분할하고 순번을 매긴 뒤 frame 앞, 뒤에 표시한다.
규칙
- 네트워크 접속 장치간 신호를 주고받는 규칙을 정하는 계층이다.
- Frame 데이터가 잘못되었을 경우 다시 요청하는 방식으로 복구도 가능하다.
장비
- 브리지 L2스위치 등이 있다.
IP주소
- 장치가 네트워크에 등록되는 시점에 할당받는 번호이다.
MAC주소
- 장치가 생산될 때 제조사에서 할당해주는 고유 번호이다.
내 장비 IP 주소와 MAC주소 확인은 네트워커 설정에서 할수 있다.
- 네트워크에 등록요청하면 네트워크 서버장비들은 IP주소를 장비들에게 할당, 이것을 MAC주소와 매핑시켜준다.
- 그 후 에 매핑정보를 통하여 전송경로를 이동한다.
- 네트워크 상에서 IP주소를 가지고 통신하는 것처럼 보이나 실제로 네트워크 장비들간에 MAC주소를 알려주면서 연결이 된다.
도착지 IP주소를 찾을 때 까지 출발 MAC주소와 도착지 MAC주소를 계속 업데이트 시키면서 이동한다.
MAC주소는 L2 스위치, IP주소는 L3 라우터가 알고 있다.
네트워크 (Network) 계층
개요
- IP주소를 이용하여 서로 다른 네트워크에 속한 컴퓨터끼리 데이터를 주고 받게 하는것이다.
목적
- IP 주소를 제공하는 역할을 한다.
동작
- packet, routing, forwarding
- 호스트에 IP주소를 부여, 도착지 IP까지 최적의 경로을 찾아준다.(routing)
- 데이터 전송과 경로 선택 기능을 제공, 라우팅 프로토콜을 사용하여 최적의 경로를 선택한다
- 데이터를 전송할 수신측의 주소를 찾고 수신된 데이터 주소를 확인하여 자신의 것이 확인되면 위 계층(전송계층)으로 올려준다.
규칙
- 서로 다른 두 네트워크간의 통신을 담당한다.
- 2계층인 데이터링크 계층은 같은 MAC 주소를 기반하여 네트워크 내 통신을 담당하나 IP주소를 기반으로 외부 네트워크와 통신을 담당한다.
장비
- 라우터
주소 변환 프로토콜(ARP)는 네트워크 계층의 기능이다
IP(Internet Protocol) 주소란
인터넷에 연결되어 있는 모든 장치들(컴퓨터, 서버 장비, 스마트폰 등)을 식별할 수 있도록 각각의 장비에게 부여되는 고유 주소.
인터넷에 모든 컴퓨터는 IP(주소)를 가진다.
현재 전세계적으로 보편화 되어 사용되는 IP버전은 4(IPv4),
확장성,용량면 한계를 보이기에 대체는 IPv6이다.
구분 | IPv4 | IPv6 |
주소 길이 | 32bit | 128bit |
표시 방법 | 4개 부분에 8bit 씩 10진수로 표시 | 8개 부분에 16bit씩 16진수로 표시 |
주소 개수 | 약 256*256*256*256 = 약 43억 | 약 43억* 43억*43억*43억 개 |
전송 (Transport) 계층
개요
- 프로토콜(TCP, UDP)과 관련된 계층으로 오류 복구와 흐름 제어 등 담당한다.
목적
- 두 시스템 간 신뢰성 있는 데이터를 전송하는 것.
동작
- port
- 네트워크 지원 계층(L1~L3)과 사용자 지원 계층(L5~L7)을 서로 연결해준다.
- 네트워크 지원 계층이 전송한 것을 사용자 지원 계층이 사용할 수 있는 형태가 되도록 보장한다.
- 송신부 : 세션 계층 데이터에 포트번호를 달고 프로토콜 설정 후에 네트워크 계층으로 보낸다.
- 수신부 : 네트워크 계층의 패킷을 프로토콜에 맞게 데이터로 변환 후 세션 계층의 알맞는 어플리케이션 포트로 보낸다.
규칙
- 운영체제(OS) 커널에 SW적으로 구현되어 있다.
- 규칙종류 = 프로토콜 종류
- TCP : 오류방지 , 데이터 신뢰도가 높은 프로토콜이다.
- UDP : 데이터 손실이 있더라도 데이터를 지속적으로 전송한다. 비디오
- 하위 계층으로 신뢰 할 수 있는 데이터를 전송하며 송수신자 간 논리적 연결을 수행한다
- 시퀀스 넘버 기반= 헤더 = 중간에 흐트러진 데이터 체크용
장비
- L4 스위치 (로드밸런서)
세션(Session) 계층
- 응용 시스템 간 세션을 관리하며 송신자와 수신자 간 동기화 신호를 주고받는다
- 통신방식( 단순 : TV, 반이중 : 무전기, 전이중 : 전화) 을 결정한다. SSH(22port), TLS(web 표준) 등이 있다.
- 세션을 열고 닫고를 제공하는 매커니즘 이다.
- 세션 복구도 지원하며 세션복구는 체크포인트를 통하여 동기화를 시켜준다.(응용 시스템에서 복구한다)
- 체크포인트를 5MB마다 설정한다고 했을 경우 100MB를 전송하려고 할 때 48M 전송후 끊겼다면
- 세션계층에서 복구뒤어 다시 45BM부터 전송
표현(Presentation) 계층
- Encoding, Decoding
- 네트워크를 통하여 송수신된 이진 데이터를 인코딩, 디코딩 하는 방법(메타 정보)을 넘겨주는 것이다.
- 데이터를 읽을 수 있는 형식으로 변환(데이터 인코딩, 디코딩, 암호화, 복호화 등의 기능을 수행)
- 데이터 변환, 압축 및 암호화가 이루어지는 계층이다.
- 서로 다른 통신 기기간 다른 인코딩을 사용 할 수 있기에 변환한다.
응용(Application) 계층
- 브라우저, 메일 시스템 등 프로그램들이 해당 프로토콜을 통하여 데이터를 전송이 가능하게 해준다.
- FTP, HTTP, SMTP, Telnet 과 같은 프로토콜들이 속한 계층이다.
각 계층별 통신규칙 및 단위
OSI 참조 모델 데이터 전송
송신 측 시스템
- 응용 계층에서 하위 계층순으로 데이터 송신
수신 측 시스템
- 물리 계층에서 상위 계층순으로 데이터 수신
물리와 응용 계층을 제외한 나머지 계층에서는 데이터 시작 부분과 끝 부분에 헤더나 트레일러 형태로 정보를 추가한다.
계층별 통신 단위 = PDU = 프로토콜 데이터 유닛
데이터 통신을 하는데 있어서는 PDU를 표준으로 통신한다.
계층 | 규칙 | 단위 |
물리 계층 | Hub, Repeater | 비트(bit) |
데이터 링크 계층 | MAC 주소 | 프레임(Frame) |
네트워크 계층 | IP | 패킷(Packet) |
전송 계층 | TCP, UDP | 세그먼트(Segment) |
세션 계층 | OS | 데이터(Data) |
표현 계층 | JPG, MPEG | 데이터(Data) |
응용 계층 | HTTP : 웹 접근 프로토콜 FTP : 파일 전송 프로토콜 Telnet : 통신 프로토콜(단말 접속용) |
데이터(Data) |
캡슐화(송신) : 하위로 내려갈수록 캡슐화가 진행이 된다.
디캡슐화(수신) : 상위 계층으로 올라갈수록 디캡슐화가 진행된다.
TCP/IP 프로토콜
주HW 계층 1~2계층, 주SW 계층인 5(5~7) 계층 중간에 위치한 4계층의 TCP + 3계층의 IP
- IP프로토콜에 따라 네트워크를 연결하고
- TCP 프로토콜에 따라 데이터를 정상적으로 전송
TCP/IP 프로토콜을 중심으로 여러 프로토콜을 구성하여 만든 표준 네트워크 규칙이다.
TCP(4계층)
- TCP는 전송 제어 프로토콜(Transmission Control Protocol) 이며 한 기기에서 다른 기기로 데이터 전송하는 것을 담당.
- 오류가 발생할 시 데이터를 재전송 할 수 있는 신뢰성 있는 연결 지향성 프로토콜
IP(3계층)
- IP는 인터넷 프로토콜(Internet Protocol)이며 데이터의 조각을 최대한 빨리 대상 IP주소로 보내는 역할을 표시한다
- 데이터가 제대로 수신되었는지 확인하는 기능이 없는 비연결형 프로토콜이다.
IP프로토콜(3계층)
- IP는 TCP/IP 네트워크를 통하여 전송하는 데이터의 기본단위를 정의하며 데이터 이동의 최적의 경로를 선택하는 라우팅 기능을 수행한다.
- 네트워크에서 송신 측이 동일한 수신 측으로 전송하는 데이터그램이 다양한 경로를 통하여 동작한다.
TCP/IP가 먼저 나온 후 OSI Model을 참조하여 TCP/IP모델이 업데이트 되어 최종적으로 표준이 되었다.
OSI 모델 -> TCP/IP모델 -> TCP/IP모델 (Updater)
TCP/IP는 TCP와 IP를 중심으로 한 여러 프로토콜의 집합체를 총칭하는 용어이다.
- 1~2계층(물리, 데이터 링크 계층) 의 이더넷과 같은 LAN, WAN 기술이다.
- 3계층(네트워크계층)의 IP
- 4계층(전송계층)의 TCP, UDP
- 5계층(응용계층)의 HTTP, HTTPS, FTP 등
프로토콜 서비스 별 포트 번호
- 웹서비스(HTTP, HTTPS) : 80, 443
- 파일 전송 서비스(FTP) : 21
- 이메일 서비스(SMT, POP3) : 25, 110
- 도메인 서비스 (DNS) : 53
TCP/IP 헤더
- L4 헤더 :TCP(데이터 순서보장)와 UDP(전송만 함) 둘중에 알맞는 헤드를 붙인다 = 세그먼트
- L3 헤더 : IP 프로토콜로 네트워크 레이어에서 출발지와 도착지 주소를 적고 캡슐화 한다.= 패킷
- L2 헤더 : 데이터 링크 계층에서는 출발지의 MAC 주소와 가장 가까운 라우터의 MAC 주소를 넣는다.(도착 MAC주소 확인불가)
- L2 트레일러 : 오류 제어를 위한 정보를 트레일러로 담아 넣는다 = 프레임(Frame) 구분용
L2 헤더의 MAC 주소
- 3계층의 DHCP, ARP의 IP주소들의 매핑테이블을 통하여 IP주소가 MAC주소로 바뀐것이 들어있다.
패킷
의미
- 3계층(네트워크 계층)을 통하여 전달받은 작은 데이터의 단위
용도
- 인터넷에서 하는 모든 작업에 패킷이 사용된다
- 인터넷에서 사용자간 데이터를 주고 받는다.(패킷으로 전달)
- 이러한 방식을 패킷 교환 네트워크라 한다.
특징
- 데이터는 패킷으로 나뉘어서 보내진다.
- EX) 사진 한장-> 여러개 패킷-> 수신하는 컴퓨터 -> 여러개 패킷 재결합-> 원본 완성 (파편화된 데이터 블록)
구조
- 헤더 : 패킷 길이, 프로토콜, 송/수신 사람의 IP주소 등이 포함된다
- 페이로드 : 패킷의 본문
- 트레일러 : footer 라고 불리며 패킷의 끝에 도달했음을 수신 컴퓨터에 알리는 비트가 담겨있다.
네트워크란 정보가 전송되는 경로
클라이언트와 서버는 통신장비 규칙에 따라 정보를 주고받는다.
국제 표준화 기구(ISO)에서 OSI 7계층 모델을 만들어 네트워크 기본 구조를 가이드 하였다.
계층 | 이름 | 설명 |
7계층 | 응용 계층(Application) | 애플리케이션 서비스 제공 |
6계층 | 표현 계층(Presentation) | 문자코드, 압축, 암호화 |
5계층 | 세션 계층(Session) | 통신 방식 결정 |
4계층 | 전송 계층(Transport) | 신뢰성 있는 통신 구현 |
3계층 | 네트워크 계층(Network) | 다른 네트워크와 통신하기 위한 IP주소 결정 |
2계층 | 데이터링크 계층(Data Link) | 물리주소 결정 |
1계층 | 물리 계층(Physical Layer) | 물리적인 연결과 전기 신호 변환 |
TCP/IP는 TCP와 IP를 중심으로 한 여러 프로토콜의 집합체를 총칭하는 용어이다.
반응형
'Computer Science' 카테고리의 다른 글
스파르타 코딩클럽(부트캠프) 11장 공간자원과 공간 복잡도 (6) | 2024.03.29 |
---|---|
스파르타 코딩클럽(부트캠프) 10장 HTTP/HTTPS (0) | 2024.03.28 |
스파르타 코딩클럽(부트캠프) 8장 자료구조의 동작과 활용 (2) | 2024.03.26 |
스파르타 코딩클럽(부트캠프) 7장 자료의 저장과 표현 (2) | 2024.03.25 |
스파르타 코딩클럽(부트캠프) 6장 DBMS(데이터베이스 관리 시스템)의 기능과 종류 (1) | 2024.03.22 |