티스토리 뷰

Web

TIL (3) OSI-7계층

나죽나강 2021. 5. 26. 01:26

/** 

우테코의 테코톡 유튜브 영상을 보고 정리한 내용입니다.

https://www.youtube.com/watch?v=1pfTxp25MA8&t=1286s

*/

 

# OSI-7 계층

> 모든 파일과 프로그램은 01로 구성되어있다.

> BUT! 단순히 전선에 +5V,-5V01을 전송할수 없다.

> 전자기파는 sin함수형태로 나타난다.

> 하지만 전자기파는 계속 주파수값이 변화하고 전선은 모든 주파수를 전송하지 못한다.

> , 엉뚱한 데이터가 전송되게 된다.

 

> 정확히 01로 구성된 주파수는 전선으로 전송할수 없다.

> why? 주파수가 0부터 무한대이기 때문!

> 그렇다면 어떻게 전송할까?

> 정답! 아날로그 신호로 변경해서 보내야 한다.

 

 

 

# 물리계층

> 01의 나열을 아날로그 신호로 바꾸어 전선으로 흘려보낸다 (encoding)

> 01의 나열을 해석해서 디지털 신호로 바꾼다. (decoding)

> 물리적으로 연결된 두 대의 컴퓨터가 01의 나열을 주고받을수 있게 해주는 모듈

> 물리계층 기술은 어디에 구현되어 있을까?

> 1계층 모듈은 하드웨어적으로 구현되어 있다.

 

 

 

# 데이터 링크계층

> 여러 컴퓨터를 연결하기 위해서는 전선을 연결한다.

> 하지만 컴퓨터의 수 만큼 전선을 연결하면 비용이 넘쳐나게 된다.

> 망형(mesh)

 

> Q. 전선하나를 가지고 여러 대의 컴퓨터와 통신하는 방법은 없을까?

> 하나의 전선에 컴퓨터를 모두 연결시킨다. (bus)

> but! 연결된 모든 컴퓨터에게도 데이터가 전송된다.

> 이렇게 하나의 전선을 박스에 넣어 놓은 것을 더미 허브라고 한다.

 

> Q. 원하는 컴퓨터에만 데이터를 보내려면 어떻게 해야 할까?

> 이 역할을 스위치가 해준다.

 

> Q. 전선으로 연결되지 않은 컴퓨터에 데이터를 전송하려면?

> 스위치와 스위치를 전선으로 연결을 시킨다.

> , 스위치와 스위치를 연결하여 서로 다른 네트워크에 속한 컴퓨터 끼리 통신을 가능하게 해주는 장비를 라우터라고 한다.

> Q. 여러 네트워크를 연결하려면 어떻게?

> 5개 네트워크를 라우터로 연결한 것을 인터넷이라고 한다.

> 실제로 우리나라와 일본은 해저 케이블로 연결되어 있다!

> Q. 여러 대의 컴퓨터가 통신하려면?

> 동시에 여러 컴퓨터가 하나의 컴퓨터에 데이터를 전송하면 연결되어 데이터를 받게 된다.

> 누가 보낸 데이터인지 구부하기 위해 시작과 끝에 특정 비트를 집어 넣는다.(Framing)

 

> 결국, 데이터 링크란?

> 같은 네트워크에 있는 여러 대의 컴퓨터들이 데이터를 주고받기 위해 필요한 모듈

> Q. 데이터 링크 계층의 기술은 어디에 구현 되어있을까?

> 랜카드! 데이터 링크 역시 하드웨어적으로 구현되어 있다.

 

 

 

 

# 네트워크 계층

> Q. 더 많은 컴퓨터들과 통신하려면 어떻게 해야 할까?

> ( 목적지 IP주소 + 데이터 )를 보낸다.

> 이렇게 보내는 데이터를 패킷이라고 한다.

 

> 네트워크 계층이란?

> 수많은 네트워크들의 연결로 이루어진 Inter-network 속에서 어딘가에 있는 목적지 컴퓨터로 데이터를 전송하기 위해,

> ip주소를 이용해서 길을 찾는다.(라우팅 routing)

> 자신 다음의 라우터에게 데이터를 넘겨준다.(forwarding)

> 3 > 2 > 1 > 1 > 2 > 3 > 2 > 1 >

 

> Q. 네트워크 계층 기술은 어디에 구현되어 있을까?

> 운영체제 커널에 소프트웨어 적으로 구현되어 있다.

 

 

 

 

 

# 전송계층

> 이제 전세계의 컴퓨터와 데이터를 전송할수 있다.

> 컴퓨터에 카카오톡과 배달의 민족 두 개의 프로세스가 실행되고 있다.

 

> Q. 컴퓨터는 어떤 데이터를 무슨 프로세스에게 줘야하는 알수 있을까?

> 데이터를 받고자하는 프로세스들은 포트 번호를 받아야한다.

> 포트 번호란?

> 하나의 컴퓨터에서 동시에 실행되고 있는 프로세스들이 서로 겹치지 않게 가져야

하는 정수값이다.

 

> 전송계층이란?

> Port 번호를 사용하여 도착지 컴퓨터의 최종 도착지인 프로세스에 까지 데이터가 도달하게 하는 모듈!

 

> Q. 전송계층 기술은 어디에 구현되어 있을까?

> 운영체제 커널에 소프트웨어 적으로 구현되어 있다.

 

 

 

 

# OSI 모델 vs TCP/IP 모델

> 사실 현대에는 TCP/IP 모델을 따르고 있따.

> TCP/IP 모델도 OSI모델과 마찬가지로 네트워크 시스템에 대한 모델

 

> Q TCP/IP 모델을 따르는 이유는?

> 시장 점유율을 졌기 때문!

> 세션 + 표현 + 응용 = 응용

 

 

 

 

 

 

# 응용 계층

> TCP/IP 소켓 프로그래밍

> 운영체제의 전송계층에서 제공하는 API를 활용해서 통신 가능한 프로그램을 만드는 것을

TCP/IP 소켓 프로그래밍 혹은 네트워크 프로그래밍이라고 한다.

 

> 소켓 프로그래밍 만으로도 클라이언트, 서버 프로그램을 따로따로 만들어서 동작 시킬 수 있다.

> 소켓 프로그래밍을 통해서 누구든 응용계층 프로토콜 (인코더 디코더)를 만들 수 있다.

> 대표적인 응용계층의 프로토콜이 HTTP

 

# 정리

> MVC 패턴은 소프트웨어 아키텍처 중 하나이다.

> Layer 아키텍처도 소프트웨어 아키텍처 중 하나이다.

> Layer 아키텍처를 대표하는 예가 네트워크 시스템이다.

 

> , 네트워크 시스템은 하나의 거다한 소프트웨어 이며

> OSI 7계층은 거대한 소프트웨어의 구조를 설명하는 것이다.

 

 

[10테코톡] OSI 7 Layer

https://www.youtube.com/watch?v=1pfTxp25MA8&t=1286s

'Web' 카테고리의 다른 글

TIL (2) 웹과 HTTP  (0) 2021.05.26
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
TAG
more
«   2025/04   »
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
글 보관함