본문 바로가기
IT/네트워크

네트워크 기초2 - OSI 4계층 심화

by 미니송 2017. 7. 31.




네트워크 기본 개념에 대한 정리


이번 포스팅은 네트워크 기본 개념에 대한 정리에 대해 하겠습니다. 제가 네트워크 공부를 할 때 정리했던 자료입니다. 끝까지 읽어도 모르는 부분은 있겠지만 충분히 도움이 될만한 내용들입니다. 


네트워크

한대 혹은 그 이상의 컴퓨터를 연결하여 근거리나 원거리 통신을 제공하고 서로 연결된 요소들 간의 데이터 등을 전송하는 통신망입니다.


Protocol(프로토콜)

프로토콜은 서로 다른 언어를 사용하는 사람끼리의 의견 조정을 위한 회의에서 서로의 의견을 충분히 교환할 수 있는 대화의 방식과 같은 것입니다. 네트워크에서의 통신 프로토콜은 네트워크의 데이터 흐름에 영향을 주는 중요한 요소로서 통신이 이루어지는 두 컴퓨터는 반드시 동일한 프로토콜을 사용해야 됩니.



OSI 7 계층 및 TCP/IP 계층




[OSI 7계층과 TCP/IP 계층]


TCP/IP 모델

미국에서 개발한 인터넷의 기본 통신 프로토콜, 미국방성 모델을 기반으로 개발 하였다. TCP는 연결지향형 프로토콜이며 세션의 연결과 종료, 흐름제어, 패킷의 분할 및 재조립을 담당하고 IP는 비연결지향형 프로토콜로 데이터 전송을 담당합니.



OSI 7계층

국제표준화기구(ISO)가 컴퓨터 통신 구조의 모델과 앞으로 개발될 프로토콜의 표준적인 뼈대를 제공하기 위해서 개발된 참조 모델입니다.

 

Layer 1 – 물리(Physical) 계층

Layer 2 – 데이터링크(Datalink) 계층

Layer 3 – 네트워크(Network) 계층

Layer 4 – 전송(Transport) 계층

Layer 5 – 세션(Session) 계층

Layer 6 – 표현(Presentation) 계층

Layer 7 – 응용(Application) 계층


계층을 올라갈 때는 앞에 헤더를 붙이게 되고 계층을 내려갈 때는 앞의 헤더를 제거하면서 내려갑니. 각 계층 마다 제거할 수 있는 헤더가 있고 헤더를 제거하지 못하면 안에 들어있는 데이터를 볼 수 없습니다.



Layer 1 – 물리(Physical) 계층 (Bit)

물리 계층은 전기적 신호(signal)를 통한 통신을 말한다. 케이블의 연결, 케이블의 종류, 전원의 연결 등이 있으며, 동축케이블, UTP, STP 케이블 등이 있습니다. L1 장비의 기능은 Flooding이며 모든 곳으로 전달한다. 또한 L1 장비는 Hub와 같이 전기적 신호를 증폭 시켜주는 역할을 수행합니.

UTP 케이블 (다이렉트) – Layer가 다를 시 사용 ex) PC–Switch, Router-Switch

UTP 케이블 (크로스) – 같은 기종일 경우 사용 ex) PC-PC, Router-Router, PC-Router


Layer2 – 데이터링크(Datalink) 계층 (프레임)

L2 장비의 기능은 Switching이다. Switching이란 L2 주소(MAC)을 기반으로 Data 전송을 결정합니. (Data Destination 주소, Mac Table 주소 참조) 물리적인, 평면적인 특징을 가지며 제한된 네트워크에서만 사용 가능합니.



스위치와 브리지의 차이점

스위치와 브리지의 차이는 이름과 가격 인기도가 있지만 가장 중요한 차이점은 스위치는 하드웨어적인 ASIC으로 제어하고 브리지는 소프트웨어적으로 제어한다는 점이 다릅니. 또한 스위치는 Cut-through방식과 Store-and-forwarding방식을 이용할 수 있는데 브리지는 Cut-through방식만 이용 가능합니.



MAC(Media Access Control)

48bit 이며 24bit는 제조사 24bit는 일련번호로 되어있습니다. Lan cardNIC(Network Interface Card)는 같은 말을 의미합니.

유니캐스트는 특정한 하나의 주소에 전송하는 것을 의미하고, 브로드캐스트는 해당 서브넷에 속하는 모든 장비에 전송하는 것을 의미하고, 멀티캐스트는 특정한 그룹에 속하는 호스트에 전송하는 것을 의미합니.



CSMA/CD (Carrier sense Multiple Access / Collision Detection)

한 번에 하나씩 보낼 수 있고 Collision 발생시 재전송을 하는데 15번 재전송 후 되지 않을 시 파기합니. Collision Domain이란 Collision이 발생할 때 영향을 받는 영역을 말하고 콜리전(충돌)이란 CSMA/CD방식에서 한 PC가 통신 중일 때 다른 PC가 같이 보낼 때 발생합니. 브리지나 스위치는 콜리전 도메인을 나눠주는 역할을 합니. Filtering 기능을 이용해서 콜리전도메인을 나눠주며 같은 세그먼트 상에 있을 때 보내지 않는 방법으로 나눌 수 있습니다.



MAC 주소

기본동작 – Learning, Flooding, Forwarding, Filtering, Aging

Learning - MAC주소를 배웁니

Flooding - 들어온 포트를 제외한 나머지 모든 포트로 뿌립니.

Forwarding - 목적지를 알고 넘어가야 할 때 그 목적지로 전송합니.

Filtering - 목적지를 알지만 같은 세그먼트 상에 있는 경우 / 막습니다.

Aging – 정해진 시간 안에 데이터가 들어오지 않으면 데이터 삭제합니.

L2 관련기술 – STP, VLAN, VTP



STP(Spanning Tree Protocol)

스위치나 브리지에서 발생하는 Flooding에 의한 루핑(Looping)을 해결하기 위한 프로토콜, 정하는 방법 1-네트워크 당 하나의 루트브리지를 갖습니. 2-루트브리지가 아닌 나머지 모든 브리지는 무조건 하나씩의 루트포트를 가진다. 3-세그먼트당 하나씩의 데지그네이티드 포트(Designated port)를 가집니. 루트포트나 데지그네이티드 포트가 아닌 나머지 모든 포트는 막는다. 루트브리지는 정하는 방법은 누가 더 작은 Root BID(Bridge ID), 루트브리지까지 더 작은 Path cost, 누구의 BID(sender BID)가 더 낮은가, 누구의 포트ID가 더 낮은가 등이 있습니다. 스패닝트리 개선법에는 RSTP(Rapid Spanning Tree Protocol), Port Fast, Up-link Fast, Backbone fast등이 있으며 전부 스패닝 트리보다 Convergence Time이 적습니다. Convergence Time은 장애가 나거나 새로운 장비가 들어왔을 때 변화에 대처하는 시간입니.



BPDU(Bridge Protocol Data Unit)- Root BID, Root Path Cost, Sender BID, PORT ID

BPDU에는 Root BID, Root Path Cost, Sender BID, Port ID등의 정보가 들어 있다. 이러한 정보들을 비교해서 가장 작은 값이 루트 브리지가 됩니다. 또한 계속 BPDU를 교환하고 있습니다.



VLAN(Virtual LAN)

가상으로 Local Area network를 나눌 수 있고 브로드캐스트 도메인을 나눠 줄 수 있다. 한대의 스위치를 마치 여러 대의 분리된 스위치처럼 사용하고, 하나의 포트를 통해 전송할 수 있습니다. VLAN을 넘어가기 위해서는 3계층 장비인 Router가 필요합니.



VTP(Vlan Trunking Protocol)

VLAN정 후 한 포트를 가지고 VLAN 정보를 교환 할 수 있도록 만든 프로토콜입니. VLAN은 태그를 붙이고 다니게 되며 그 태그 안에 VLAN 정보가 들어있습니다. VTP Server modeVTP client mode, VTP Transparent mode 설정이 가능하며 client는 서버의 설정을 가져올 수 있습니다.



IP주소 (네트워크 부분 + 호스트 부분) ipv4 - 32bit, ipv6 – 64bit

IP주소에는 Class가 존재하고 A Class, B Class, C Class, D Class, E Class가 있다. 5가지의 클래스 중D Class는 브로드캐스트용으로 사용되며, E Class는 연구용으로 사용됩니. 한 네트워크는 하나의 브로드캐스트 영역이고 라우터를 거치지 않고도 통신이 가능한 영역을 의미합니.

클래스 A는 맨 앞 1bit0이고 네트워크 번호가 처음 1-126까지 나올 수 있고 호스트 수는 16,777,214개가 나올 수 있습니다. 클래스 B는 맨 앞 2bit10이고 네트워크 번호가 128.1-191.254까지 사용할 수 있고 호스트 수는 65534개를 사용할 수 있습니다. 클래스 C는 맨 앞 3bit100이고 네트워크 번호가 192.0.1-223.255.254까지 나올 수 있습니다. 호스트 수는 254개 입니. IP 주소는 호스트부분이 모두 0인 경우 네트워크 자체를 의미하고 모두 1인경우 브로드캐스트 주소를 의미합니.



Subnet(서브넷)

서브넷으로 나누는 가장 큰 이유는 브로드캐스트 영역을 나누는 것과 IP주소를 아끼기 위해서 사용합니. Subnet Mask(서브넷 마스크) IP 주소를 가지고 어디까지가 네트워크 부분이고, 어디까지가 호스트 부분인지 나타냅니.

IP주소 AND 서브넷마스트 = 서브넷 네트워크 -> IP주소와 서브넷마스크를 AND연산을 하면 서브넷 네트워크가 나오게 됩니. 서브넷마스크는 이진수로 표현하면 1이 연속적으로 나오고, 0이 나오는게 규칙이다. 사용 가능한 호스트 수 = 로 계산 합니.



Layer3 – 네트워크(Network) 계층 (패킷)

L3 장비는 라우터이고 L3 장비의 기능은 RoutingL3 Switching이며, 네트워크 간의 연결을 담당하고 L3 정보(Packet Destination IP, Route Table)를 기반으로 Data 전송을 결정합니. 라우팅 알고리즘은 동적 라우팅 알고리즘(Dynamic Routing)과 정적 라우팅(Static Routing)이 있습니다.



정적 라우팅(Static Routing)

네트워크 관리자가 패킷의 경로를 수동으로 구성하는 라우팅 방식입니. 네트워크 환경 변화와는 무관하게 항상 같은 경로로만 라우팅 경로의 설정 및 유지합니다.



동적 라우팅 알고리즘(Dynamic Routing)

디스턴스벡터와 링크스테이트가 있습니다. 디스턴스벡터는 거리와 벡터 만을 위주로 만들어진 라우팅 알고리즘이며 한 라우터가 모든 라우팅 정보를 가지고 있을 필요가 없기 때문에 라우팅 테이블이 적고 구성이 간단합니. 종류에는 RIP, IGRP등이 있다. 링크스테이트는 한 라우터가 목적지까지 가는 모든 정보를 알고 있습니다. 메모리와 자원 소모가 높다. 종류는 OSPF 등이 있습니다.



Administrative Distance(AD)

한 라우터에서 라우팅 프로토콜을 두 개 이상 사용한다면 프로토콜별로 값이 정해져 있습니다. RIP(120), IGRP(100), OSPF(110), Connected(0), Static Interface(0), Static next hop(1)

RIP(Routing Information Protocol) 프로토콜 내부용 라우팅 프로토콜, 좋은 길을 결정하는 기준은 홉카운트이며 최대 홉카운트는 15개입니. 표준 라우팅 프로토콜이며 단점은 오로지 홉카운트에만 의존하므로 속도나 신뢰도 확인이 불가능합니.

IGRP(interior Gateway Routing Protocol) 프로토콜 내부용 라우팅 프로토콜이며 디스턴스 벡터 알고리즘을 사용합니. 시스코에서 개발했으며 시스코 라우터에서만 사용가능합니. 경로선택에는 bandwidth, Delay, Reliability, Load, MTU등을 사용합니.

OSPF(Open Shortest Path First) 프로토콜 – OSPFIP패킷 안에 프로토콜 번호 89번으로 들어간다. OSPF는 링크 스테이트 알고리즘이고 Area라는 개념을 사용해 전체 네트워크를 작은 영역으로 나누어 효율적인 관리가 가능하고, Route Summarization을 지원하고 라우팅 경로를 하나로 묶는게 가능합니.



디스턴트벡트 알고리즘의 문제점

업데이트 시간이 있기 때문에 라우팅 루핑이 발생할 수 있다. 따라서 라우팅 루핑 방지 기술이 나오게 됩니.



L3의 루핑(Looping) 방지 기술

Max hop count – 최대 홉카운트를 15로 맞추고 15가 넘어가면 unreachable로 되게 합니다.

Hold down Timer – 더 나쁜 홉카운트를 무시합니.

Split Horizon – 라우팅 정보가 들어온 곳으로는 같은 정보를 내보낼 수 없습니다.

Route Poisoning – 다운된 네트워크를 무한대값으로 바꿔 테이블에서 사용할 수 없도록 합니.

Poison Reverse – 라우팅 정보를 되돌려주지만 이 값을 무한대로 합니.

 


VRF(Virtual Routing and Forwarding)

IP 네트워크 라우터에 포함된 기술로 라우터에서 라우팅 테이블이 여러 개 존재하고 여러 개의 장치를 사용하지 않고 네트워크 경로를 분리하도록 함으로서 성능을 향상시킵니. 따라서 트래픽은 자동적으로 분리가 되고 또한 VRF는 네트워크 보안성이 증가되고 암호와 인증의 필요성이 감소되는 것입니. ISP는 종종 VRF의 장점을 이용하여 VPN 사용 고객을 분리합니.



Layer4 – 전송 계층(Transport Layer)

전송 계층은 양 끝단(End to end)의 사용자들이 신뢰성 있는 데이터를 주고 받을 수 있도록 해주어, 상위 계층들이 데이터 전달의 유효성이나 효율성을 생각하지 않도록 해줍니. 시퀀스 넘버 기반의 오류 제어 방식을 사용합니.



HTTP(Hyper Text Transfer Protocol)

www상에서 정보를 주고받을 수 있는 프로토콜입니. 주로 HTML 문서를 주고받는 데에 쓰이며 TCP, UDP를 사용하며 80번 포트를 사용합니. 보안 강화 버전으로 HTTPS가 있으며 포트번호는 443을 사용합니.



FTP(File Transfer Protocol)

TCP/IP 네트워크 상에서 컴퓨터 파일을 교환 제어용 포트로 21, 데이터 전송용 포트로 20번을 사용 FTP는 제어용 포트와 데이터용 포트 2개를 연결하는데 Active모드와 Passive모드가 있습니다.

Active모드는 클라이언트가 21번 포트에 TCP 제어 연결을 생성하고 데이터를 받을 필요가 생기면 클라이언트는 서버의 제어포트로 PORT M 명령을 보냅니. 서버의 데이터 포트인 20번 포트에서 클라이언트 M번 포트로 접속하여 데이터를 송신합니. (서버 - 사용포트 20, 21)

Passive모드는 클라이언트가 서버의 제어포트인 21번 포트에 TCP 제어 연결을 생성하고 데이터를 받을 필요가 생기면 클라이언트는 서버의 제어포트로 PASV명령을 보낸다. 서버가 적절한 포트번호 M을 송신하면 클라이언트는 임의의 N번 포트로 서버의 M번 포트에 접속해 데이터를 수신합니. (서버 - 사용포트 20, M)



HA(High Availability)

고가용성이라고도 하고 서버와 네트워크, 프로그램 등의 정보시스템이 상당히 오랜 기간 동안 지속적으로 정상 운영이 가능한 생태 = 가용성이 높습니다. 클러스터 구성을 통해 2개중 1개의 서버에 장애 발생시 다른 1개가 대신할 수 있습니다. (이중화, failover, 클러스터, Active/Standby)



점보프레임

원래의 MTU사이즈는 1500또는 1492바이트이다. 점보프레임의 MTU9k = 9000 입니. 한 번에 9000바이트를 보낼 수 있도록 사이즈를 늘린 것이 점보프레임이고 받는 호스트가 점보프레임과 사이즈가 맞지 않는 경우 짤라서 보내고 받은 쪽에서 재조립을 하게 됩니다.






§ 글에 틀린점이 있다면 충분히 수정의 의지가 있으니 고운말로 지적 부탁드립니다. 

§ 공감을 눌러주시면 글을 작성하는데 큰 힘이 됩니다. 


댓글