OSI 7 참조모델
ISO(국제 표준 기구)는 서로 다른 시스템 간의 통신을 허용하기 위해 OSI(Open System Interconnection) 모델을 만들었습니다. OSI 참조모델은 network가 제공하는 여러 가지의 기능을 7개의 계층으로 나누어 식별합니다.
A컴퓨터는 랜카드, 케이블, ip, 공유 프로토콜도 운영되어 있어야 remote excess 해서 데이터를 읽을 수 있다. 이렇게 원격 접속이 가능한 시스템을 개방형 시스템이라고 한다. 개방형시스템들 간에 데이터를 주고받기 위해서는 통신기능이 최소 7개가 필요하다. 그것을 정리해 놓은 것이 osi 7 참조모델이다. 원격접속을 전면 차단한 망을 폐쇄망 시스템이라고 한다.
통신기능은 총 7개로, 물리, 데이터링크, 네트워크, 전송, 세션, 표현, 응용 계층으로 나눠집니다.
7,6 계층은 애플리케이션, 인증서는 5 계층, 그러므로 개발트랙에서는 5,6,7 계층을 알아야합니다. 서버 담당자는 인증서 포함 네트워크도 알고 있어야 해서 3,4,5 계층을 알아야 합니다. 인프라담당, 망관리자는 1,2,3 계층을 알아야 합니다.
Application Layer(응용 계층)
User Interface(UI) 제공
- UI를 통해 데이터 생성
- HTTP, FTP, Telnet, SMTP...
웹서비스 받을 때 ui 뭐 쓰세요? 하면 파이어폭스 써요, 크롬 써요. / 이메일서비스 뭐 써요? 네이버, 구글 써요~
어떤 서비스를 받기 위해 사용하는 프로그램들을 UI라고 합니다. 통신규약은 UI 폼도 결정한다고 볼 수 있습니다. 구글 네이버 다음 등 메일 쓰는 폼이 똑같습니다.
Presentation Layer(표현 계층)
Code 변환(부호화, 인코딩) = 이진화작업 EX) ASCII, Unicode, BCD
압축(Compression) = 상위에서 만든 데이터의 크기가 클 때 그것의 크기를 줄이는 작업 EX) png, bmp, zip
암호화(Encryption) = 보안 EX) RSA, DES...
압축, 암호화는 생략가능 / 인코딩은 필수
Session Layer(세션 계층)
End-to-End 호스트 사이에서 Application(서비스)의 연결설정(개시), 유지, 해지
특정 개인에게 그 서비스를 해줄 수 있는지를 결정해 주는 작업을 합니다.
양단간에 서비스 개시, 유지, 해지
- 서비스 개시: 인증작업
- 서비스 유지: 지속적 인증 과정을 통해 서비스 유지
- 서비스 해지: 세션값(인증값) 만료 후 서비스 종료
Transport Layer(전송 계층)
End-to-End 사이에 가상회선(virtual Circuit) 설정, 유지, 해지
내가 서비스를 받으려고 하는 서버가 오늘 정상적으로 운영을 하는지 내가 원하는 서비스를 제공해 주는지 확인시켜 주는 작업을 합니다.
4계층에서 유명한 프로토콜 : TCP, UDP
3way handshake = 상호간에 준비가 되어 있는지 확인하는 작업.
3way handshake이 맺어지면 가상회선이 설정(세션 수립)되었다고함.
양단간 가상회선 설정, 유지, 해지하는 작업을 함.
- 가상회선 설정: 서버 정상, 원하는 서비스 정상
Network Layer(네트워크 계층)
router : 기기
routing : 최적 경로 선정 작업
route : 최적 경로
Data Link Layer(데이터링크 계층)
데이터 전달(forwarding)
오류제어(error control)
매체접근제어(media access control)
두 컴퓨터 사이에 거리가 멀어서 switch를 놓고 전달전달하는 것. Switching(forwarding;전달)
a가 b에게 별을 전달. b에게 별 도착. 받은 쪽에서 이 데이터가 오류 없는 건지 확인해야 함. 이게 진짜 별인지 세모인지 네모인지. 송신자는 데이터에 오류검출 코드를 첨부해서 전송, 수신자는 오류 검출 코드를 이용해서 원본 데이터의 무결성을 인증한다.
매체 접근 제어 기능
a LAN: 하나의 장비를 여러 개의 호스트들이 공유해서 사용
==> 랜구간에서 발생하는 문제점: 충돌(같은 시간에 한 장비를 사용시)
==> 충돌은 LAN 구간에 전송 지연을 유발함
==> 충돌이 발생되지 않게 하기 위해 (공유) 매체접근 기술이 필요하다.
==> CSMA/CD -> 이 기술이 장착되어 있는 것이 ethernet card -> 이더넷 카드로 구성된 망이 ethernet lan
Physical Layer(물리 계층)
데이터 전송에 대한 전기적, 기계적, 기능적 절차적인 수단을 제공
2~7계층은 가상계층, 이 가상계층을 현실화시키는 것이 물리계층입니다. 상위계층에서 언급한 기능들을 비트화시켜서 전기적 형태로 변환해서 물리적 전송을 담당하는 계층입니다.
Payload와 Encapsulation
각 계층의 공통기능
원본 데이터에는 주소 정보는 없습니다. 특정 애플리케이션에 의해 생성된 데이터입니다.
payload는 상위에서 하위로 내려오는 행위를 뜻합니다.
캡슐화(encapsulation)는 통신에 필요한 제어정보를 부착하는 것을 뜻합니다.
- header: 원본데이터 앞에 붙는 제어정보
- trailer: 원본데이터 뒤에 붙는 제어정보
4계층에서 port번호가 붙고, 3계층에서 ip주소, 2계층에서 mac 주소가 붙습니다. 2계층에서 CRC가 붙는 것을 오류검출 코드라고 하며, 무결성 인증을 위해 붙는 것입니다.
Encapsulation(캡슐화)
송신자 측에서 작업하고, 상위에서 하위로 내려가면서 통신에 필요한 제어정보를 추가하는 것을 의미합니다.
De-encapsulation(역캡슐화)
수신자 측에서 작업하며, 하위에서 상위로 올라가면서 제어정보를 제거하는 것을 의미합니다.
송신자 쪽에서는 캡슐화 작업을 하면서 1계층까지 내려옵니다. 그때 중계장치는 7계층까지 필요가 없습니다. 데이터가 들어오면 상위계층은 검증을 하지 않고 3계층에 IP주소가 있고, 2계층에 MAC 주소가 있으니, 스위치는 2계층만 보고 라우터는 3계층만 봅니다. 따라서 중계장치는 1~3계층까지만 봅니다. 그 후 데이터를 전송하고 라우팅 작업을 합니다. 그리고 목적지에 도착하면 수신자 측에서 역캡슐화 작업을 합니다.