21 01 23
OSI 7 Layer
OSI 7 Layer에 대해
- 네트워크를 구상할때 참조되는 모델
- 시스템들이 통신을 하기위해 7단계로 나누었다.
1계층 - 물리계층(Physical Layer)
- 두 대의 컴퓨터가 통신하려면?
- 모든 프로그램은 0과 1로 구성되어있다.
- 결국 0 , 1만 주고 받으면된다.
- 두대의 컴퓨터를 전선 하나로 연결한다고 가정해보자!
- 1을 보낼떄는 +5V의 전기를
- 0을 보낼때는 -5V의 전기를
- 0과 1의 전송이 가능 할 것이다. == 모든 데이터들을 주고받을 수 있다.
그러나 이방법은 실제선 잘 동작 하지 않았습니다.. Why?
- 다음 그림은 sin 함수입니다.
- 시간당 전압을 보여준다.
- 전자기파를 표현하는 함수
- 이 파동이 진행되는 내내 주파수는 4이다.
하지만! 이런파동이라면?
- 주파수 값이 숫자하나로 고정되지 않는다.
- 이 전자기파는 파동이 진행되는 동안 주파수 값이 계속변합니다.
- 위 전자기파의 최소값이 1[Hz], 최대값이 10[Hz]라고 가정
- 그런데 전선은 모든 주파수를 다 통과 시키지 못한다.!
그런데!
- 앞서 두 대의 컴퓨터 통신을 하려면 0과 1을 주고받을수 있으면 된다라고 했다.
- 두 대의 컴퓨터가 다음과 같은 전자기파를 주고 받으면 된다.
그런데!
- 수직과 수평선이 있는 전자기파는 항상 0~무한대[Hz]의 주파수 범위를 가진답니다..
- 따라서 이런 전기신호를 통과 시킬수 있는 전선이 없습니다.
그러면 어떻게 전송해야 할까요?
- 아날로그 신호로 전송
요약 Physical layer
- 물리매체(전선 등)을 통해 bit 흐름전송
- 데이터 전송 단위 : 비트(Bit)
- 프로토콜 : RS-232
- 장비 : 리피터, 허브
2계층 - 데이터 링크 계층(Data-Link Layer)
시작하기 전에..
여러대의 컴퓨터 간의 통신을 알아보자
- 철수와 영희는 데이터를 주고 받고 싶어한다.
- 철수는 영수와도 데이터를 주고 받고 싶어한다.
- 그러면 … 전선을..몇개 설치해야되냐..
- 이런 방법은 전선을 꽃을곳과 전선 개수도 많이 필요 -> 비용증가 -> 비효율적
그러므로 전선하나로 여러대의 컴퓨터가 통신을 할 방법이 필요!
- 다음과 같이 전기가 통하는 구리선에 여러대의 컴퓨터가 있다고 가정
- 구리선은 전자기파가 흐를 수 있으니까 신호는 구리선과 연결된 모든 컴퓨터로 전달!.
- 그래도 영희에게 데이터가 전달되었으니 데이터 전송은 성공..
이제 가운데를 관통하는 전선을 구겨서 상자 안에 넣어보겠습니다.
- 이렇게 만들면 4대의 컴퓨터가 그대로 통신 할 수 있는 상태이다.
- 하지만 철수가 영희에게 데이터를 보내려고하면 다른 두 대에 컴퓨터도 그 메세지를 읽을수있다..
그런데 상자가 수신자를 확인해서 전달해 줄 수 있으면 어떨까?? 이런 기능을 하도록 만든것이
- 스위치 입니다..
이번에는 새로운 상황을 보겠습니다.
- 서로 다른 두개의 네트워크가 구축되어있습니다.
- 이상황에서 철수가 영희에게 데이터를 보내고 싶어합니다.
- 그런데 전선으로 연결되있지 않아 통신 할 수 가 없습니다.
그런데 만약
- 위 처럼 스위치와 스위치를 연결해서 서로 다른 네트워크에 속한 컴퓨터끼리 통신이 가능하게 해주는 장비를
- 그리고 이렇게 전세계 컴퓨터들을 연결한 것을 인터넷이라고 합니다.
이제 데이터 링크 계층을 본격적으로 보겠습니다.
- 앞서 두대의 컴퓨터가 0과 1이 된 데이터를 어떻게 주고 받는지 보았습니다. (OSI 1계층)
- 1계층에 기술만으로 여러대의 컴퓨터가 통신을 하도록 만들 수 없습니다.
- 이제 여러대의 컴퓨터가 어떻게 통신하는 지 보겠습니다.
- 네대의 컴퓨터가 스위치 장비를 통해 연결되어있고
- 영희의 컴퓨터로 세 대의 컴퓨터가 데이터를 거의 동시에 보냈다고 가정해봅시다.
- 데이터를 어떻게 끊어 읽을까??.. -> 송신자는 데이터 앞 뒤에 특정한 비트열을 붙입니다.
- 같은 네트워크에 있는 여러 대의 컴퓨터들이 데이터를 주고받기 위해서 필요한 모듈
- Framing은 Data-link에 속하는 작업 중 하나입니다.
요약 Data Link Layer
- 데이터링크 계층의 프레임을 받아 전선등
- 데이터 전송 단위 : 프레임(Frame)
- 프로토콜 : 이더넷, PPP, ALOHA 등
- 장비 : 브릿지, 스위치
3계층 - 네트워크 계층 (NetWork Layer)
- A가 B에게 데이터를 전송하고싶어합니다.
- A는 데이터 앞에 목적지 주소 즉B의 주소를 붙이는데
- 이와 같이 각 컴퓨터들이 갖는 고유한 주소를 IP라고 합니다.
요약 NetWork Layer
- 수많은 네트워크로 연결로 이루어지는 inter-network 속에서
- 어딘가에 있는 목적지 컴퓨터로 데이터를 전송하기 위해,
- Ip 주소를 이용해 길을 찾고(routing)
-
자신 다음의 라우터에게 데이터를 넘겨주는 것(forwarding)
- 데이터 전송 단위 : 패킷(packet)
- 프로토콜 : IP, RIP, ARP, ICMP
- 장비 : 라우터
4계층 - 전송 계층 (Transport Layer)
앞에 네트워크 Layer까지 하면서 이제 인터넷상의 모든 컴퓨터가 서로 통신을 할 수 있게 되었습니다.
- 이 컴퓨터에는 여러개의 프로그램이 실행되어있고
- 컴퓨터는 세 개의 데이터를 프로세스 들에게 나누어 주려고 합니다.
- 컴퓨터가 무슨 프로세스에게 데이터를 줄지 어떻게 알수있을까요?
- 프로세스들은 포트번호를 가져야 합니다.
한편 송신자는 데이터를 보낼때 데이터를 받는 수신자 컴퓨터에 있는 프로세스 포트번호를 붙여서 보냅니다.
요약 Transport Layer
- 포트 번호를 사용하여 도착지 컴퓨터의 프로세스에 까지 데이터가 도달하게 하는 모듈
- 데이터 전송 단위 - TCP 일 때 Segment / UDP 일 때 Datagram
- 프로토콜 - TCP, UDP
- 장비 : 게이트 웨이
5계층 - 세션 계층(Session Layer)
요약 Session Layer
- 양 끝단의 응용 프로세스가 통신을 관리하기 위한 방법을 제공
- 통신 세션을 구성하며 포트 번호를 기반으로 연결
- 데이터 전송 단위 : 메시지(message)
- 프로토콜 - NetBIOS, SSH
6계층 - 표현 계층(Presentation layer)
- 데이터 변환, 암호화, 압축 기능
- 데이터 전송 단위 : 메시지(message)
- 프로토콜 - JPG, MPEG, AFP, PAP
7계층 - 응용 계층(Application Layer)
- 사용자에게 서비스 제공
- 데이터 전송 단위 : 메시지(message)
- 프로토콜 : HTTP, FTP, DNS, SMTP