HANA -J

TIL - OSI 7 계층, TCP/IP 4 계층 본문

what I Learnd/TIL

TIL - OSI 7 계층, TCP/IP 4 계층

Hana-J 2022. 2. 9. 22:00

출처 :http://www.incodom.kr/Internet_Protocol_Suite

- 현대의 인터넷은 OSI 7모델이 아니라 TCP/IP모델을 따르고 있다.

- TCP/IP 모델도 OSI와 마찬가지로 네트워크 시스템에 대한 모델이다

 

 

Q.1 두대의 컴퓨터가 통신하려면?

- 모든 파일과 프로그램은 0과 1의 나열이다. => 결국 0과 1만 있으면 데이터를 주고 받을 수 있다.

- 디지털 신호를 아날로그 신호로 변조를 해서 사용해야 한다.

1. Physical Layer

- 0과 1의 나열을 아날로그 신호로 바꾸어 전선으로 흘려보내고(encoding), 아날로그 신호가 들어오면 0과 1의 나열로 해석한다(decoding).

- 물리적으로 연결된 2대의 컴퓨터가 0과 1의 나열을 주고 받을 수 있게 해주는 모듈

- encoding : 변조, encoder : 변조를 해주는 것, decoding : 해석

- 실제로 1계층은 하드웨어적으로 구현되어 있다.

 

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

- 통신하려 하는 컴퓨터 수많큼 전선을 연결한다..? => 사실상 거의 불가능 돈도 많이 들고 한계가 있다! 

 

 

옆의 그림과 같이 물리적으로 연결된 박스에 여러대의 컴퓨터를 연결해서 사용한다면 한대의 컴퓨터는 전선 한개만 연결하면 된다.

=> 그 기능을 하는 것을 스위치라고 한다.

 

 

 

 

Q3. 아래의 그림에서 A와 B가 통신을 해야한다면?

=> 위의 그림은 물리적으로 연결 되어 있지 않기 때문에 A와 B는 통신할 수 없다 ! 

=> 하지만 스위치끼리 연결이 가능하다면??

=> 서로다른 네트워크에 속한 컴퓨터끼리 통신이 가능하게 해주는 장비를 라우터라고 한다.

- 위의 방식으로 전세계의 컴퓨터들이 계층구조로 연결되어 있는 것을 인터넷이라고 한다.

 

2. Data Link Layer

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

- Framing은 data-link layer에 속하는 작업들 중 하나이다

- 2계층 또한 하드웨어적으로 구현

- Framing? 8bit씩 아래의 그림처럼 데이터를 구분해주는 숫자열을 붙이는것 (아래그림대로는 아님 !)

 

 

 

 

 

 

 

 

3. Network Layer

- A컴퓨터는 Z컴퓨터의 IP주소를 알고 있어야 통신을 할 수 있다. (IP주소는 컴퓨터마다 고유한 값을 가진다.)

- 그렇다면 어떻게 IP 주소를 알 수 있을까? => 실제로 우리는 www.naver.com  이라는 도메인이름을 주소창에 입력해서 사용한다. 이렇게 사용하는 거 자체가 IP주소를 알고 있는 것과 같다.(자세한건 DNS에대해 공부 할것)

- 수많은 네트워크 연결로 이루어지는 인터넷에서, 목적지 컴퓨터와 통신을 하기위해

IP 주소를 이용해 길을 찾고(routing), 자신의 다음 라우터(위의 계층)에게 데이터를 넘겨주는것(forwarding)을 Network Layer에서 일어 난다.

- 3계층은 운영체제의 커널에 소프트웨어 적으로 구현되어 있다.

 

4. Transport Layer

Q4. 컴퓨터는 세개의 데이터를 어떤 프로세스에게 줘야할까?

- 먼저 데이터를 받고자 하는 프로세스들은 포트번호를 가져야 한다.(포트번호? 하나의 컴퓨터에서 동신에 실행되고 있는 프로세스들이 서로 겹치지 않게 가져야하는 정수값)

- 송신자는 데이터를 보낼 때 데이터를 보낼 때 데이터를 받을 수신자 컴퓨터에 있는 프로세스의 포트번호를 붙여서 보내야한다.

ex) 우리는 www.naver.com을 입력하면 사실 뒤에 :80이 생략된것(port번호도 알고 있는셈)

- Transport Layer는 포트번호를 사용하여 도착지 컴퓨터의 최종도착지인 프로세스까지 데이터가 도달 되도록 하는 모듈

- 운영체제의 커널에 구현되어 있다.

 

5. Application Layer

- TCP/IP 소켓 프로그래밍 : 운영체제의 Transport Layer에서 제공하는 API를 사용해서 통신가능한 프로그램을 만드는 것

- HTTP : 대표적인 Application layer프로토콜

 

정리 

네트워크 시스템은 Layered 아키텍처를 따른다. 

 네트워크 시스템은 하나의 커다란 소프트웨어이다

 OSI, TCP/IP 모델들은 네트워크 소프트웨어 구조를 설명하는 것이다.

 

위의 정리글 출처 : https://www.youtube.com/watch?v=1pfTxp25MA8  명강의 입니다...!! 꼭 보세요

728x90
Comments