경일 메타버스 20220808 19주차 1일 수업내용. UI, 네트워크 - 유니티로 웹서버, OSI 참조 모델 (OSI Reference Model)
ISO에서 만든 모델
컴퓨터 사이의 통신 단계를 7개로 분류하고 각 계층 별 기능을 정의 해 놓은 것.
프로토콜 :
규약, 약속.
즉, 통신 프로토콜이란 통신 규약
응용 계층 (Application Layer) :
제 7 계층.
응용 프로그램과 통신 프로그램 간 인터페이스 제공.
데이터를 전달하는 방식을 정의
HTTP(HyperText Transfer Protocol), FTP(File Transfer Protocol) 등의 프로토콜이 있다.
표현 계층 (Presentation Layer) :
제 6 계층.
데이터의 표현 및 암호화 방식.
데이터 비트를 어떻게 인코딩하고 디코딩할지를 결정한다.
필요하다면 암호화까지 진행한다.
ASCII, MPEG, SSL 등의 프로토콜이 있다.
세션 계층 (Session Layer) :
제 5 계층.
세션의 시작 및 종료 제어
종단장비 간 세션(통신)의 시작, 종료 및 관리 절차 등을 정의한다.
세션 계층 이상에서 송수신하는 데이터의 단위를
메시지(Message)라고 한다.
TCP session setup (TCP 세션 관리 절차), NetBIOS 등의 프로토콜이 있다.
전송 계층 (Transport Layer) :
제 4 계층.
종단 프로그램 간의 데이터 전달.
프로그램끼리 데이터를 어떻게 전달할 지를 결정한다.
종단장비에서 동작 중인 응용 계층 간에 세그먼트(Segment)라는 데이터의 묶음(PDU, Protocol Data Unit)을 전달하는 게 주 역할이다.
중간에 메모리를 잃어버려도 (유실이 되어도) 다시 캐치하여 보내주는 것
→ 신뢰성이 있다 (Reliable)
TCP, UDP 등의 프로토콜이 있다.
TCP
→ Reliable 하다
→ 응용 계층에서, HTTP는 TCP를 사용한다.
UDP
→ Reliable 하지 않다
네트워크 계층 (Network Layer) :
제 3 계층.
종단장비(End System) 간의 데이터 전달
종단장비, 즉 컴퓨터 간에 어떻게 데이터를 주고받을 지 정해놓은 것.
통신의 최종 당사자들인 종단장비 간에
패킷(Packet)이라는 데이터의 묶음(PDU)을 전달하는 역할
각 컴퓨터 (종단장비)를 인식하기 위한 논리적 주소를 결정한다.
IP, ICMP, IPv6, ICMPv6 등의 프로토콜이 있다.
데이터 링크 계층 (Data LInk Layer) :
제 2 계층.
인접 장비와 연결을 위한 논리적 사양.
바로 이어진, 인접 장비와의 연결을 위한
프레임(Frame)이라는 데이터 묶음(PDU)의 전달을 관리.
이 계층에서 사용되는 여러 개의 프로토콜 각각 마다 데이터를 어떻게 구성해야 하는지 정의한다.
⇒ 구조체
⇒ 용도에 따른 프레임의 종류를 정의하고,
그 내용인 필드(Field)의 길이, 의미 등을 지정한다.
링크 계층에서 사용하는 주소인 맥(MAC) 주소의 정의
→ 기기가 생산됐을 때 부여받는다.
에러 발생 확인 및 복구 절차 등의 지정
→ 패리티 비트(Parity bit), 해밍 코드(Hamming Code)
여기서 인접 장비란, 라우터 (Router) 같이 통신을 위해
직접적으로 이어지는 네트워크 장비를 의미한다.
Ethernet, PPP, ARP, 프레임 릴레이, HDLC(High-level Data Link Control) 등의 프로토콜이 있다.
물리 계층 (Physical Layer) :
제 1 계층.
인접 장비와 연결을 위한 물리적 사양.
인접한 두 장비 간 통신 신호를 전송하는 역할.
비트 신호를 어떻게 정확히 보내고 인식할지 정한다.
여기서 필요한 구성품들의
기계적, 기능적, 전기적 사양을 정의한다.
기계적 (Mechanical) :
커넥터의 크기, 모양 등
기능적 (Functional) :
어떤 케이블을 몇 번 핀에 연결해야 하는지,
몇 번 선으로 어떤 데이터를 받는지 등
전기적 (Electrical) :
전압에 따른 신호 처리 등
이 계층에서 표준 사양을 정의하였기에, 다른 회사의 제품이라도 호환이 가능하다.
표준은 커넥터와 신호 전송방식 등이 있다.
통신은 각 계층끼리만 이루어진다.
⇒ 데이터가 어떤 계층으로 가야할지 가리키는 이름표가 필요
헤더(Header) :
각 프로토콜들의 동작에 필요한 정보를 기록한 데이터 묶음,
각 레이어가 올바르게 동작하기 위한 데이터의 기록
각 계층의 프로토콜들은 이 헤더에 정보를 기록하여 하위 계층으로 내려보낸다.
인캡슐레이션(Encapsulation) :
상위 계층 정보에 자신의 헤더를 부착하는 것.
캡슐화
트레일러(Trailer) :
링크 계층에서 에러를 확인하기 위해 프레임의 꼬리에
추가적으로 필드를 덧붙이는 것.
⇒ 링크 계층에서 에러 발생 확인 절차가 있기 때문
디캡슐레이션(Decapsulation) :
수신 측의 각 상위 계층이 자신 계층에 해당하는
헤더를 제거하는 것.
역캡슐화
위의 OSI 7 계층은 실제 통신에 바로 적용하기에는 무리가 있다.
⇒ 인터넷에서 사용되는 프로토콜을 TCP / IP로 정리
TCP / IP 4 계층 (TCP / IP 4 Layer)
응용 계층
제 5 계층
HTTP, FTP, telnet, SMTP, DNS 등
전송 계층
제 4 계층
TCP, UDP 등
인터넷 계층
제 3 계층
IP, ICMP 등
링크 계층
제 2 계층
ARP 등
도메인 주소 :
IP에 연결하는 해시 키, 배열로 묶임
DHCP
Dynamic Host Configuration Protocol(동적 호스트 구성 프로토콜)
IP 주소 및 기타 통신 매개변수를 네트워크에 연결된 장치에 자동으로 할당
Cisco Packet Tracer : 네트워크 연결 시뮬레이션 툴
씨스코(Cisco) - 전세계 네트워크 장비의 대부분을 차지하는 회사
OSI 7 Layer 전반적으로 더 자세히
중요 :
각 계층의 역할, 프로토콜 예시
패리티 비트(Parity bit), 해밍 코드(Hamming Code)
TCP / IP 4 Layer
IP, DHCP
패킷 트레이서 (Packet Tracer)
2022.08.08_오후 영상 1시간 후반 부분 복습