네트워크의 기초 구성 요소
본 내용은 "혼자 공부하는 네트워크 1장" 내용을 기반으로 작성하였습니다.
네트워크의 구성 요소
- host : 네트워크 가장자리에 위치한 노드. 서버, 데스크톱, 스마트폰 등의 네트워크 기기
- server : 어떠한 서비스를 제공하는 host
- client : 어떠한 서비스를 요청하는 host
- 네트워크 장비 : 네트워크 가장자리에 위치하지 않은 노드로 호스트가 정보를 주고 받는 것을 도움 ex). 이더넷 허브, 스위치, 라우터, 공유기
- 통신 매체 : 각 노드를 연결하는 매체
- 메시지 : 통신 매체로 연결된 노드가 주고받는 정보
네트워크 분류
[네트워크 범위]
- LAN (Local Area Network) : 근거리 연결 통신망
- WAN (Wide Area Network) : 원거리 연결 통신망
- ISP (Internet Service Provider) : 인터넷 제공 업체로, 원거리 연결 통신망을 구축하고 제공하는 업체들. Ex). lg u+
[메시지 교환 방식]
- 회선 교환 네트워크 : 회선을 연결하는 메시지 교환 방식. 전화망에 주로 사용하나, 회선을 유지하는 자원 낭비가 심해서 인터넷에서는 대부분 사용하지 않음.
- 패킷 교환 네트워크 : 패킷을 이용하는 메시지 교환 방식. 회선 교환 네트워크와 달리 전송 경로를 독점하지 않아서 네트워크 이용 효율이 높음
- 패킷 스위치 : 패킷이 수신지까지 도달할 수 있도록 최적의 경로를 결정하거나 패킷의 송수신지를 식별하는 중간 노드. 라우터와 스위치 등이 있음.
[통신 범위]
- 유니캐스트 : 1 대 1로 데이터를 주고 받음
- 브로드 캐스트 : 자신을 제외한 모든 호스트에게 메시지 전달
패킷
- 정의 : 패킷 교환 네트워크에서 전송되는 포맷된 데이터 단위
- 사용 이유
- 네트워크 부하 관리 : 큰 데이터를 한 번에 보낼 경우, 네트워크의 과부하를 걸거나 대역폭을 독점할 가능성이 높음
- 대역폭 : 네트워크가 특정 단위시간동안 전송할 수 있는 최대 데이터 용량
- 처리량 : 네트워크가 실제로 단위시간동안 처리할수 있는 데이터 용량
- 데이터 오류 처리 용이성 : 큰 데이터의 오류가 발생 시, 이를 검증하고 다시 처리하는 시간이 오래 걸림.
- 지연 시간 감소 : 네트워크 전송 시, 처리 완료까지 더 큰 시간이 소요되나 작은 데이터는 보내서 먼저 클라이언트가 처리할 수 있음
- 네트워크 신뢰성 향상
- 네트워크의 비정상 종료 후, 재연결 시 이미 보낸 데이터를 다시 보낼 필요가 없고 이후부터 보내면 됨.
- 손실 복구 : 손실된 데이터를 모두 보낼 필요 없이, 손실된 패킷만 다시 보내면 됨.
- 구성요소
- 헤더 : 송수신지 등의 부가 정보, 길이 등등
- 페이로드 : 내용물
- 트레일러 : CRC 등 패킷의 데이터 무결성 검사를 위한 도구 등이 있음
- CRC(Cyclic Redundancy Check) : 데이터를 다항식으로 간주하고, 생성 다항식을 통하여 나머지를 검증하는 방식. 패킷이 정상적이라면, 나눗셈을 적용했을 때 0이 나와야함, 0이 나오지 않을 시 잘못된 것으로 간주함.
네트워크 참조 모델 (OSI 7계층, TCP/IP 4계층)
- 대표적으로 OSI 7계층과 TCP/IP 4계층이 있다.
- 실제로는 이렇게 구성되지 않는 네트워크도 많다. 하지만, 이런 모델을 참조하면 네트워크 구성과 설계가 용이하며 문제 진단과 해결이 편하다.
[OSI 7계층]
- 각 계층이 존재하며 역할이 있습니다.
- 물리 계층 : 네트워크 장비와 통신 매체를 통해서 비트 데이터를 송수신 받는 계층
- Data-Link 계층 : 네트워크 주변 장치 간의 정보를 주고받는 계층입니다. 물리 계층을 통해 주고 받은 정보가 오류가 없는 지 확인하고 네트워크 송수신지를 특정합니다.
- 네트워크 계층 : 네트워크 간의 통신이 이루어집니다. 호스트와 네트워크를 식별하고 경로를 결정합니다
- 전송 계층 : 패킷이 정상적으로 보내졌는 지, 순서가 바뀌었는 지 등 신뢰성 있는 전송이 이루어지도록 합니다.
- 세션 계층 : 호스트와 응용 프로그램의 연결을 맺고 끊는 역활을 수행합니다.
- 표현 계층 : 언어를 사람 또는 컴퓨터가 이해할 수 있도록 변환하거나 압축, 암호화를 진행합니다.
- 응용 계층 : 응용 프로그램과 맞닿아 있는 계층으로, 다양한 프로토콜이 사용됩니다.
- 각 계층을 지나며 패킷에 헤더 및 트레일러를 붙여나가는데 이를 캡슐화라합니다. (반대로 읽을 때는 역캡슐화)
- 캡슐화는 각 계층이 모듈화가 되면서 각각의 데이터에 대해서 독립적인 구조를 얻습니다. 독립적인 구조를 바탕으로 데이터 손상이나 정확성을 확인할 수 있고 이를 통해서 신뢰성 및 무결성을 얻을 수 있습니다.
- 데이터 암호화 등 보안을 높일 수 있습니다.
- DPI(Deep Packet Inspection) : 실제 패킷 내부를 검사함. 악성 트래픽 차별, DDos, 바이러스 공격에 효과적임. 하지만, 성능이나 개인정보 보호법에 걸릴 수 있음.
[PDU (Protocal Data Unit)]
- 프로토콜 별 데이터 유닛으로 각 계층에서 다루는 데이터를 의미함
- Network 계층에서 Packet과 Network 전체적으로 쓰는 패킷의 의미가 중복되어서 전자의 경우 IP 패킷이라 부름
참고자료
- 혼자 공부하는 네트워크 1장 : https://www.youtube.com/watch?v=-ZQqH_qVK00&list=PLVsNizTWUw7HfOCgvlfHIDPPo3TE-2iQM&index=7
- cloudFlare : https://www.cloudflare.com/ko-kr/learning/network-layer/what-is-a-packet/
- 토스 payments 개발자센터 : https://docs.tosspayments.com/resources/glossary/packet
- CRC 설명 : https://star7sss.tistory.com/860
- Anlab - 패킷 뜯어보기 : https://asec.ahnlab.com/ko/156/