2계층 디자인 - 최근에 네트워크 속도가 빨라지면서 사용, Spine-Leag 구조, 직접 접근으로 400gbps
프로토콜
통신을 하기 위한 규칙 규약입니다.
물리적 측면
데이터 전송 매체(케이블), 신호 규약, 회선 규격 등을 정의하는 것
최근들어 거의 이더넷만 사용
논리적 측면
프로토콜 규격등을 정의하는 것인데 최근에는 TCP/IP 만 사용
프로토콜을 정의할 때
과거 :: 비트 기반으로 생성
최근 :: 문자 기반으로 생성
비트 기반의 프로토콜은 효율적지만 사람이 읽기 어렵습니다.
TCP/IP 는 엄밀한 의미에서 프로토콜이 아님
TCP 와 IP 는 별도의 계층에서 동작하는 프로토콜인데 이를 합쳐서 부릅니다.
합쳐서 부르는 겨웅 stack 이라는 단어를 추가합니다.
TCP/IP 프로토콜 스택에는 TCP 와 IP 이외에도 UDP, ICMP, ARP, SMTP, FTP, HTTPS 등이 포함되어 있습니다.
OSI 7 계층
과거에는 프로토콜을 각 벤더들이 별도로 개발 -> 호환되지 않는 시스템이나 애플리케이션이 많음
OSI 7 계층 :: 하나의 프로토콜로 통합하고자 했던 노력으로 만들어진 것
7개의 계층으로 모듈화 한 이유는재사용 문제때문
하나로 만들면 재사용성이 떨어지고 이해하기 어려워집니다.
상위 계층 (애플리케이션 계층) :: 5 ~ 7 계층, 인간의 측면, 애플리케이션 개발자의 영역
하위 계층 (Data Flow 계층) :: 1 ~ 4 계층, 기계의 측면
OSI 7 계층과 사용하는 데이터
TCP/IP 프로토콜 스택
4개 계층으로 프로토콜을 정의
계층 별 기능을 설명할 떄는 OSI 7 계층을 가지고 설명을 많이 합니다.
OSI 7 계층과 TCP/IP 모델의 차이
OSI 7 계층 별 이해
OSI 7 계층별 이해
1계층 (물리 계층)
>> 물리적 연결과 관련된 정보 >> 장비
Hub, Repeater, Cable, Connector, Transiver, TAP 등
Transiver :: LAN 카드와 케이블을 연결해주는 장비
TAP :: 네트워크 모니터링이나 패킷 분석을 하기 위해서 전기 신호를 다른 장비로 복제해주는 장비
2계층 (데이터 링크 계층)
>> 전기 신호를 데이터 형태로 변환하는 게층 >> 주소 정보를 정의하고 정확한 주소로 통신이 되도록 하는 역할을 수행 >> 1계층에서는 주소하는 개념이 존재하지 않지만 출발지 주소와 목적지 주소를 확인하고 자신에게 전송된 것인지 아닌지 확인 >> 에러 탐지도 수행 >> 장비
NIC(Network Interface Card), Switch
MAC Address 를 이해할 수 있습니다.
NIC 동작 방식 1. 전기 신호를 데이터 형태로 생성 2. 목적지 MAC Address 와 출발지 MAC Address 를 확인 3. 자신의 MAC Address 를 확인 4. 목적지 MAC Address 와 자신의 MAC Address 가 일치하면 데이터를 처리하고 다르면 데이터를 폐기
Switch
허브와 유사하게 여러개의 포트로 구성
MAC Address Table 을 가지고 있어서 통신을 하면 MAC Address 를 학습해서 테이블에 저장가능
단말들이 통신할 떄 포트를 적절히 필터링하고 정확한 포트로 포워딩합니다
허브는 어느 한 순간 하나의 장비만 전송이 가능하지만 Switch 는 동시에 데이터 전송이 가능
허브와 달리 switch 는 데이터를 받은 네트워크를 학습을 합니다.
>> 주소체계 :: MAC Address
3계층 (네트워크 계층)
>> 논리적인 주소를 정의 >> 사용자가 환경에 맞게 변경 가능합니다. >> 주소 - 네트워크 주소(라우터 기억)/호스트 주소(컴퓨터 기억) 부분으로 나누어 할당 가능합니다. >> 장비
라우터
IP 를 이해해서 다른 네트워크를 찾아가는 장비입니다.
4계층 (전송 계층)
>> 데이터들이 정상적으로 전송이 되는지 확인하는 역할 >> 데이터는 하나의 묶음으로 전송되지 않고 일정한 크기 단위로 분할해서 전송 >> 중간에 패킷이 유실되거나 순서가 바뀔 수 있어 이를 해결하는 역할을 합니다. >> 패킷 생성 :: Sequence Number 추가 >> 패킷 수신 :: ACk(Acknowlegement) Number 전송 >> 컴퓨터 내에서 애플리케이션을 구분하기 위해 port 를 부여 >> 장비
Load Balancer, Firewall
장비라기도 하고 Software(근본) 라고 합니다.
5계층 (세션)
>> 연결 해제와 연결 유지 >> 에러 복구와 중단된 통신에 대한 재전송 수행 >> 연결 해제와 유지를 위해서 특별한 키를 발급해서 키를 가족 실제 연결하는 컴퓨터를 구분합니다.
6계층(프레젠테이션)
>> 구문 변환, 데이터 압축, 인코딩과 디코딩을 수행 >> 데이터의 형식을 맞추는 계층
7계층 (애플리케이션 계층)
>> 애플리케이션 프로세스를 정의하는 계층 >> OSI 전 계층을 수행하는 장비 :: Gateway(Router를 Gateway 로 보기도 함)
통신 과정
데이터를 전송하게 되면 상위 계층 -> 하위 계층으로 데이터를 전송
전송을 받는 쪽 :: 하위 계층 -> 상위 계층으로 데이터를 전송
Encapsulation :: 데이터를 보내는 과정
Decapsulation :: 데이터를 받는 과정
전송
Data -> 4 계층 (4계층 헤더 + Data:Segment)
-> 3 계층(3계층 헤더 + 4계층 헤더 + Data:Packet)
-> 2 계층 (2계층 헤더 + 3계층 헤더 + 4계층 헤더 + 데이터 + FCS)
-> 1 계층 (전기적 신호로 변환)
수신은 반대의 과정을 거칩니다.
MSS 와 MTU
MSS (Maximum Segment Size) :: 4계층에서 사용할 수 있는 데이터의 최대 크기
MTU (Maximum Transmission Unit) :: 네트워크 계층에서 한번에 보낼 수 있는 데이터의 최대 크기, 이더넷(1500바이트)