[NETWORK] OSI7계층, 허브 (L1), SWITCH (L2), ROUTER (L3, L4)
OSI 7계층
: OSI 7 계층은 네트워크에서 통신이 일어나는 과정을 7단계로 나눈 것을 말하며, 국제표준화기구(ISO, International Organization for Standardization)에서 네트워크 간의 호환을 위해 OSI 7 계층이라는 표준 네트워크 모델을 만들었다.
1계층 - 물리계층(Physical Layer)
: 단지 데이터를 전달만 할뿐 전송하려는(또는 받으려는)데이터가 무엇인지, 어떤 에러가 있는지 등에는 전혀 신경 쓰지 않는다.
2계층 - 데이터 링크계층(DataLink Layer)
: 프레임에 주소부여(MAC - 물리적주소)
에러검출/재전송/흐름제어
3계층 - 네트워크 계층(Network Layer)
: 네트워크 계층은 라우팅, 흐름 제어, 세그멘테이션(segmentation/desegmentation), 오류 제어, 인터네트워킹(Internetworking) 등을 수행한다.
라우터가 이 계층에서 동작하고 이 계층에서 동작하는 스위치도 있다.
데이터를 연결하는 다른 네트워크를 통해 전달함으로써 인터넷이 가능하게 만드는 계층이다.
논리적인 주소 구조(IP), 곧 네트워크 관리자가 직접 주소를 할당하는 구조를 가지며, 계층적(hierarchical)이다.
4계층 - 전송 계층(Transport Layer)
TCP 프로토콜(Transmission Control Protocol) | 1. 신뢰성 있음 (Reliable) 패킷 손실, 중복, 순서바뀜 등이 없도록 보장 TCP 하위계층인 IP 계층의 신뢰성 없는 서비스에 대해 다방면으로 신뢰성을 제공 2. 연결지향적 (Connection-oriented) 같은 전송계층의 UDP가 비연결성(connectionless)인 것과는 달리, TCP는 연결지향적 임 연결 관리를 위한 연결설정 및 연결해제 필요 양단간 어플리케이션/프로세스는 TCP가 제공하는 연결성 회선을 통하여 서로 통신 |
UDP 프로토콜(User Datagram Protocol) | 1. 비연결성이고, 신뢰성이 없으며, 순서화되지 않은 Datagram 서비스 제공 - 메세지가 제대로 도착했는지 확인하지 않음 (확인응답 없음) - 수신된 메세지의 순서를 맞추지 않음 (순서제어 없음) - 흐름 제어를 위한 피드백을 제공하지 않음 (흐름제어 없음) - 검사합을 제외한 특별한 오류 검출 및 제어 없음 (오류제어 거의 없음) UDP를 사용하는 프로그램 쪽에서 오류제어 기능을 스스로 갖추어야 함 - 데이터그램 지향의 전송계층용 프로토콜 (논리적인 가상회선 연결이 필요없음) 비연결접속상태 하에서 통신 |
세 상위 계층들은 모두 컴퓨터의 소프트웨어에서 처리된다는 공통점이 있어서 TCP/IP모델과 같은 분류에서는 L5~L7를 하나로 묶어 응용 계층
5계층 -세션 계층(Session Layer) : 통신을 하기 위한 세션을 확립/유지/중단 (운영체제가 해줌) SSH, TLS
6계층 - 표현 계층(Presentation Layer) : 데이터를 서로가 이해할 수 있는 형태로 변환한다. JPEG, MPEG, UTF-8
7계층 - 응용 계층(Application Layer) : 네트워크에 접근할 수 있도록 해주는 계층으로 우리가 일반적으로 사용하는 프로그램(어플리케이션) FTP, HTTP, SSH, TELNET
라우터/스위치
1. 허브 ( L1 ) > 물리 계층(Physical Layer)
: 허브는 다양한 기기들로부터 오는 전기신호들을 받아서 그 신호들을 증폭(약해진 전압을 증폭)시켜 다른 기기들로 뿌려주는 역할
- 리피터 : 전기적인 신호를 증폭시켜 들어온 데이터를 재전송. LAN의 최대 전송길이도 연장되고, 접속 할 수 있는 장비수도 많아지게 됩니다.
- 멀티포트 : 한번에 많은 디바이스를 연결할 수 있는 기능으로 1개의 포트에 한대의 디바이스가 할당됩니다.
허브는 단순한 분배 중계기에 불과하며 IP를 할당하는 기능은 없고 단순히 디바이스 수에 따라 데이터 전송 대역을 분리하는 역할만 합니다. 예를들어, 10Mbps를 제공하는 이더넷에 8포트 허브로 PC를 연결시킬 경우 각 PC는 1.25Mbps의 대역폭만을 사용하게 되는 것입니다.
결과적으로 허브로 연결된 네트워크에서 하나의 디바이스에서 전송된 데이터 프레임을 허브로 연결된 모든 디바이스에게 전부 전송하는 플러딩(flooding) 이 발생합니다. 결과적으로 충돌이 많이 발생하여 하나의 허브에는 많은 디바이스를 연결할 수 없습니다. 동일한 이유로 보안성 또한 떨어집니다.
2. 스위치 ( L2 ) > 데이터 링크 계층
허브는 한 대의 디바이스만 데이터를 보낼 수 있다고 하였는데, 허브에 연결된 한 디바이스에서 발생하는 Collision이 허브에 연결된 모든 영역에 노드들에게 영향을 미쳐 통신을 하지 못합니다.
스위치는 Collision Domain을 H/W적 처리 나누어 처리합니다.
스위치는 자신에게 연결된 디바이스들의 MAC 주소와 포트가 기록된 MAC 주소 테이블을 가지고 있습니다. 따라서 프레임이 자신에게 오면 그 것의 목적지가 어디인지 파악하여 그 디바이스에게 프레임을 보내기 때문에 트래픽이 훨씬 효율적입니다.
또한, 스위치는 데이터의 전송 에러 등을 복구해주는 기능들을 가집니다. 다만, 스위치는 자신의 테이블에 없는 목적지를 가진 패킷이 오면 해당 패킷을 연결된 모든 장치에 포워딩하는데, 이 경우에는 허브와 동일한 동작을 하는 것입니다.
3. ROUTER ( L3 switch - 네트워크 계층 ,L4 switch - 전송 계층 )
서로 다른 프로토콜로 운영하는 통신망에서 정보를 전송하기 위해 경로를 설정하는 역할을 제공하는 핵심적인 통신 장비입니다.
서브넷 마스크가 다른 IP 주소를 가진 장비간 통신을 하기 위해서는 반드시 L3 장비를 거쳐야만 합니다.
L3 스위치(공유기)는 IP를 읽어서 스위칭을 합니다. 네트워크상에 흘러가는 패킷이 들어오면 L3스위치는 목적지 IP를 보고 패킷을 라우팅 합니다.
L4스위치는 TCP/UDP 프로토콜에서 스위칭을 수행하므로 TCP와 UDP의 포트를 보고 적적할 서버로 패킷을 전송한다. 즉, L4주소는 포트번호를 뜻하며 여기서 포트번호는 웹은 HTTP 80, FTP 20/21, 텔넷 23번 등을 뜻합니다.
같은 IP에 대하여 포트번호가 다를 경우 다른 서버로 보낼 수 있습니다.
- Failover 기능이 지원된다.
https://yeoulcoding.tistory.com/127
https://coding-chobo.tistory.com/38
https://klero.tistory.com/entry/L2-L3-L4-L7-%EC%8A%A4%EC%9C%84%EC%B9%98-%EA%B5%AC%EB%B6%84-%EB%B0%8F-%EA%B8%B0%EB%B3%B8%EC%A0%81%EC%9D%B8-%EC%84%A4%EB%AA%85
https://velog.io/@ckstn0777/%EB%84%A4%ED%8A%B8%EC%9B%8C%ED%81%AC-%ED%97%88%EB%B8%8C-%EC%8A%A4%EC%9C%84%EC%B9%98-%EB%9D%BC%EC%9A%B0%ED%84%B0-%EA%B3%B5%EC%9C%A0%EA%B8%B0
https://onecoin-life.com/19