코드온 CS 스터디
학습 기간
2024.09.07.(토) ~ 13.(금)
2주차 학습 주제
- 네트워크 기초
- 처리량과 지연 시간: 네트워크 성능의 주요 지표
- 네트워크 토폴로지: 네트워크의 구조와 병목 현상
- 네트워크 프로토콜 표준화: 프로토콜이 표준화된 과정과 중요성
- TCP/IP 4계층 모델
- 계층 구조: TCP/IP 모델의 각 계층과 역할
- PDU: 프로토콜 데이터 유닛과 각 계층의 데이터 단위
1. 네트워크 기초
1. 처리량과 지연 시간
지연 시간 및 처리량은 컴퓨터 네트워크의 성능을 측정하는 두 가지 지표이다. 이는 네트워크가 데이터 패킷을 대상으로 전송할 수 있는 속도를 확인하여 네트워크 속도를 결정할 수 있다. 지연 시간과 처리량에 영향을 미치는 주요 원인으로는 네트워크 정체, 프로토콜 효율성, 네트워크 인프라 등이 있다.
- 처리량; Throughput
처리량은 반면에 처리량은 특정 시간 동안 실제로 네트워크를 통과할 수 있는 평균 데이터 양을 말한다. 목적지에 성공적으로 도착한 데이터 패킷의 수와 데이터 패킷 손실을 나타낸다. 처리량에 따라 네트워크에 동시에 액세스할 수 있는 사용자 수가 결정된다.
- 측정 방법 : 처리량은 보통 비트/초(bps)로 측정되며, 네트워크의 대역폭과 관련이 있다. 처리량이 높을수록 많은 양의 데이터를 빠르게 전송할 수 있다.
- 측정 단위 : 네트워크 처리량을 초당 비트 수(bps)로 측정했으나, 데이터 전송 기술이 발전으로 초당 킬로바이트(KBps), 초당 메가바이트(MBps), 심지어 초당 기가바이트(GBps) 단위로 처리량을 측정한다.
- 지연 시간; Latency
지연 시간은 네트워크 통신의 지연으로, 네트워크를 통해 데이터를 전송하는 데 걸리는 시간을 보여준다. 지연이나 랙이 길게 발생하는 네트워크는 지연 시간이 길고, 응답 시간이 빠른 네트워크는 지연 시간이 짧다.- 측정 방법 : 핑 시간을 측정하여 네트워크 지연 시간을 측정할 수 있다. 데이터 패킷을 전송하고 해당 패킷이 도착했다는 확인을 받는다.
- 측정 단위 : 밀리초 단위로 측정하며, 단위의 숫자가 클수록 네트워크 성능이 느리다.
2. 네트워크 토폴로지
- 네트워크 토폴로지
네트워크 토폴로지는 네트워크 상의 다양한 노드, 장치, 접속부가 어떻게 물리적 혹은 논리적으로 배치되어 있는지를 나타낸다. 네트워크를 하나의 도시로 생각하였을때 토폴로지는 도로를 표시한 지도로 표현할 수 있다. - 접근법
- 물리적 토폴로지 : 노드와 전선, 케이블 등등 네트워크 사이의 물리적 연결 및 상호 연관을 나타낸다.
- 논리적 토폴로지 : 추상적이고 전략적으로 네트워크 배치의 방식과 이유, 데이터가 네트워크를 통해 어떻게 흐르는지를 개념적으로 이해할 수 있다.
- 주요 토폴로지
- 스타 토폴로지: 가장 흔하게 사용되는 토폴로지로 모든 장치가 중앙의 허브에 연결된다. 중앙 허브가 장애가 발생하면 전체 네트워크에 영향을 줄 수 있다.
- 버스 토폴로지: 모든 장치가 하나의 주요 케이블에 연결된다. 네트워크의 데이터 흐름은 케이블 경로를 따르며, 케이블의 장애가 네트워크 전체에 영향을 미친다.
- 링 토폴로지: 각 장치가 원 또는 고리 모양으로 배열된다. 네트워크의 데이터흐름은 케이블 경로에 따라 한 방향 혹은 양방향을 흐른다. 각 장치 옆에 두 개의 다른 장치가 연결되어 있으며 양 옆의 장치에서 장애가 발생하면 네트워크 전체가 영향을 받을 수 있다.
- 메쉬 토폴로지: 모든 장치가 점 대 점으로 상호 연결된 구조로 복잡한 구조를 띈다. 부분 연결형 메시 토폴로지는 일부 노드들은 두세 개 장치들과만 연결된 반면, 완전 연결형 메시 토폴로지는 모든 노드가 상호연결된다.
- 트리 토폴로지: 모든 장치가 나무 줄기처럼 중앙 노드에서 가지처럼 뻗어나간다. 부모-자식 계층을 형성하며 높은 신뢰성과 장애 허용성을 제공합니다.
- 병목현상
- 정의: 전체 시스템의 성능이나 용량이 하나의 구성 요소로 인해 제한을 받는 현상을 말한다.
- 해결 방법: 네트워크가 어떤 토폴로지를 갖는지를 안다면 회선을 적절하게 추가하여 해결할 수 있습니다.
3. 네트워크 프로토콜 표준화
- 네트워크 프로토콜
네트워크 프로토콜은 장치끼리 데이터를 주고받기 위해 설정된 공통된 인터페이스를 말한다. 네트워크에서 데이터 통신을 위한 규칙과 형식을 정의합니다. 주요 통신 프로토콜로는 TCP/IP, UDP, HTTP/HTTPS 등이 있다. - 프로토콜 표준화
- 국제표준화기구(ISO), 국제전기통신연합(ITU), 인터넷 엔지니어링 태스크 포스(IETF)와 같은 표준화 기관에 의해 이루어진다.
- 본 기관들은 글로벌 표준을 개발하고 관리하여 통신 프로토콜의 일관성과 호환성을 보장한다.
- 프로토콜 표준화 필요성
- 모든 송신자와 모든 수신자가 표준화된 프로토콜을 지키면 서로 통신이 가능하다.
- 프로토콜이 표준화되어 있지 않다면, 특정 송신자는 자신의 프로토콜과 일치한 특정 수신자에게만 데이터를 송신할 수 있게 된다.
- 제조업체와 서비스 제공업체는 호환성 문제를 최소화하고, 소비자에게 더 나은 사용자 경험을 제공한다.
2. TCP/IP 4계층 모델
1. 계층 구조
TCP/IP 모델은 4개의 계층으로 구성되어 있으며, 각 계층은 특정 기능을 담당한다.
- 1계층 - 네트워크 인터페이스 계층; Network Interface Layer
- 역할 : 실제 네트워크 하드웨어와 연결되는 계층으로, 데이터 프레임을 전송한다. 물리적인 주소로 MAC을 사용한다.
- 데이터 단위 : 프레임(Frame)
- 전송 주소 : MAC
- OSI 7계층 대응 : 물리계층과 데이터 링크 계층
- 예시 : MAC, LAN, 패킷망 등
- 2계층 - 인터넷 계층; Internet Layer
- 역할 : 통신 노드 간의 IP 패킷을 전송하고 라우팅하는 역할을 한다.
- 데이터 단위 : 패킷(Packet)
- 전송 주소 : IP
- OSI 7계층 대응 : 네트워크 계층
- 예시 : IP, ICMP, ARP 등
- 3계층 - 전송 계층; Transport Layer
- 역할 : 데이터 전송의 신뢰성을 보장하며, 세그먼트 또는 데이터그램을 처리한다.
- 데이터 단위 : 세그먼트(Segment)
- 전송 주소 : Port
- OSI 7계층 대응 : 전송 계층
- 에시 : TCP, UDP 등
- 4계층 - 응용 계층; Application Layer
- 역할 : 사용자 응용 프로그램이 네트워크 서비스를 사용할 수 있도록 지원한다.
- 데이터 단위 : 데이터(Data) / 메세지(Message)
- OSI 7계층 대응 : 세션 계층, 표현 계층, 응용 계층
- 예시 : HTTP, FTP, SMTP 등
2. PDU; Protocol Data Unit
- PDU
PDU는 각 계층에서 헤더와 데이터를 합친 부분을 말한다.
각 계층은 자신의 PDU에 헤더 정보를 추가하거나 제거하여 데이터의 전송 및 수신을 관리한다.
계층화된 접근 방식은 데이터 전송의 효율성과 신뢰성을 높이며, 네트워크 통신을 보다 효과적으로 처리할 수 있다.
각 계층은 데이터를 특정 형태로 캡슐화하여 상위 계층으로 전달한다. - PDU 계층 및 명칭
- 1계층 - 물리 계층 : 비트 (Bits)
- 2계층 - 데이터 링크 계층 : 프레임(Frame)
- 3계층 - 네트워크 계층 : 패킷(Packet)
- 4계층 - 트랜스포트 계층 : 세그먼트(Segment)
- 나머지(5~7계층) - 세션계층, 프레젠테이션 계층, 애플리케이션 계층 : 데이터(Data)
참고 자료
- https://aws.amazon.com/ko/compare/the-difference-between-throughput-and-latency/
- https://www.edrawsoft.com/kr/for-beginners/what-is-network-topology.html
- https://moosongsong.github.io/junior-be-interview/03_네트워크/토폴로지와%20병목현상.html#병목현상
- https://hoonsb.tistory.com/69
- https://gkgkghj12.com/entry/통신-프로토콜의-발전과-표준화
- https://hahahoho5915.tistory.com/15
- https://velog.io/@dyunge_100/Network-TCPIP-4계층에-대하여
후기
학교에서 통신 부분을 학습했었지만, 다시 내용을 보니 새롭게 느껴졌습니다.
익숙한 내용이지만 온전히 학습하여 설명할 수 있을 정도로 학습하는 것은 더 많은 노력이 필요한 일 같습니다.
'[9oorm x kakao] 구름톤 유니브 3기 > [구름톤 유니브] KDT 스터디' 카테고리의 다른 글
[코드온 - 5주차] 데이터베이스 기본과 ERD (3) | 2024.10.08 |
---|---|
[코드온 - 4주차] 프로세스와 스레드 (2) | 2024.10.01 |
[코드온 - 3주차] 운영체제 기초 및 메모리 관리 (0) | 2024.09.24 |
[코드온 - 1주차] 디자인 패턴과 프로그래밍 패러다임 (3) | 2024.09.24 |