Network
OSI 참조 모델 Open System interconnection 개방형 상호 연결 시스템
- 두 개의 시스템이 통신하기 위해 일련의 절차를 7단계로 나누었다.
편지를 보내자
1. 편지지를 사고 편지 위에 글씨를 쓴다. ( Application Layer )
- 편지지 === Application === 사용자가 원하는 데이터를 요청 할 때 사용되는 플랫폼
- 사용자가 특정 Application을 이용해서 데이터를 입력하고 가공한다.
2. 편지지 내용 : One Two Three Four + 사진 ( Presentation Layer )
- 데이터를 표현하는 방법, 암호화, 압축 ( Encoding, Encryption, Compress )하는 곳!
- 편지를 받은 사람이 사진인지 모르고 동영상인가? 라고 해석해서 받으면 문제가 생김!
영어로 작성했는데 중국어를 읽는 것처럼 읽어버리면 문제가 생김!
암호화해서 보냈는데 암호화 한 줄 모르고 그냥 읽으면 문제가 생김!
- 서로 다른 시스템이 통신을 하는 데 수신 측에서도 문제 없이 데이터를 받아야 하기에 내가 보내는 데이터를 상대방도
알 수 있는 공통된 표준 형식으로 맞춰 변형해서 보내야함!!
그래야 상대방도 표준 형식에 따라서 구조를 확인하고 내 컴퓨터 상황에 맞는 언어로 다시 표현해서 보여 줄 것이기에!
- One Two Three Four => 1 2 3 4로 바꿔 가야함.
One Two Three Four 그대로 가면 중국어나 한국어 밖에 모르는 사람은 One Two Three Four를 이해할 수 없음.
3. 1 2 3 4 로 바꿔 보내준다면 중국인, 한국인, 일본인 모두 이해할 수 있게 됨!
- One Two Three Four + 암호화, 인코딩, 압축
4. ( Seesion Layer )
- 연결에 대한 것을 다룸
전화처럼 쌍방으로 할 것인가, 무전기 처럼 한쪽씩 번갈아가며 처리할 것인가?, 일방적으로 받기만 할 것인가?
이러한 논리적인 통신 회선을 만들게 됨
5. ( Transport Layer )
- 편지를 써서 상대방에게 보내고자 하는 데 편지만 작성하면 안 되고 누가 보냈는 지 누가 받을 것인지 알아야 한다.
Port Number
Ex ) From.9999 => 보내는 쪽 어플리케이션
To.443 => 받는 쪽 어플리케이션 https가 사용하는 곳
TCP vs UDP
TCP => 데이터를 보내는 쪽에서 수신측이 올바른 데이터를 받을 수 있는 책임을 지겠다. 책임! 진다!
Ex ) 등기 우편 : 잘 받은 지 보낸 사람이 알 수 있다.
UCP => 수신측이 받던 못 받던 그냥 보낸다 책임! 안진다
Ex ) 일반 우편
받는 사람( PORT )은 누군지 알겠는데 어디서 사는 지도 알아야 한다.
Where? 주소!!
6 ( Network Layer )
- 주소를 알아야 한다? 이 편지가 어느 경로를 통해서 움직어야 하는 지에 대해서 담고 있다.
Ex ) 253, Pangyo-ro, Bundang-gu, Seongnam-si, Gyeonggi-do, Republic of Korea
- 내가 서울에서 산다면 여기서 판교로 253 까지 가려면 어떻게 편지가 움직여야 되는 지에 관한 내용도 함께 담고 있다.
- 경기도 => 분당구 => 판교로 => 253의 경로를 통해 움직여야 합니다! 라는 경로를 담고 있음.
편지가 가려면 어느 경로를 움직여야 되는 지 경로가 대충이라도 보이게 된다!
- 경로 설정( Routing ) + 도착지 주소 ( === Internet Protocol !! IP )
7. ( Data Link Layer )
- 편지를 보내는 데 건물까지는 왔다! ( IP Address ) + 상대방의 이름도 알고 있다!( Port Number ) But?! 몇 동 몇호??
- 아파트 입구까지는 왔는 데 어느 우편함에 넣어야 되는가?
MAC ( Media Access Control ( 매체 접근 제어 )
- 호수를 잘 못 찾으면 내 것이 아니라 버리게 되는 일이 발생 될 수 있음.
- 올바른 호수 찾기? MAC 주소!
+ 충돌 방지 시스템 ( CSMA / CD ) 등등
8. ( Physical Layer )
- 디지털 신호를 전기 신호로 전송하는 Layer
어떤 회선? 부호화는 어케? 전기 신호는 어케 만들어서 보낼 거? 어떻게 데이터를 읽고 받아 들일거? 동기식? 비동기식?
※ 각각의 데이터를 합치는 과정을 Encapsulation 이라고 함.
편지지를 사서 편지를 쓰고 편지 봉투에 넣고 받는 사람 주소 보내는 사람 주소 이름 우편번호들을 작성하는 일들을다
진행하는 데 이러한 일들을 캡슐화라고 함.
※ 각각의 데이터를 합치는 과정을 Decapsulation 이라고 함.
수신측에서 편지를 열어보기까지 과정 편지가 우리 집으로 온게 맞나 ? 몇동 몇호로 왔지?( 2계층 )
101동 101호는 너무나 많은 아파트 내에 존재하기에 이 아파트로 온게 맞나? ( IP 3계층 ) 주소 확인.
우리 집으로 온게 맞다면 누구에게 온거지? 수신자 이름 확인 ( Port Number ) + 등기우편으로 왔는지 일반 우편으로 왔는지 ( TCP / UDP 4계층 )!!
우편이라는 수단으로 다시 보내야 겠다 만약 무전기로 왔으면 무전기 수단으로 다시 보내야겠다 ( 5계층 )
편지를 열어서 확인해보자 숫자 1 2 3 4로 써있네 한국인? 일, 이, 삼, 사 미국인? One Two Three Four 읽을 수 있음 ( 6계층 )
편지지를 읽고 사람의 눈으로 받아들이고 뇌가 해석하는 과정들을 가능하게 사용자가 이해할 수 있는 화면으로 표현하는 어플! ( 7계층 )
Decapsulation 과정!!