네트워크

※ 네트워크(+주홍철)_복습(2)

hakstroy 2025. 8. 30. 21:23

※ 네트워크(+주홍철)_복습(2)

TCP/IP 4계층 모델 > 인터넷 프로토콜 스위트(internet protocol suite)
 : 인터넷에서 컴퓨터들이 서로 정보를 주고받는 데 쓰이는 프로토콜의 집합이다.

계층 구조
 : TCP/IP 계층은 4개의 계층을 가지고 있으며 OSI 7계층과 많이 비교한다.
[TCP/IP - 7계층]
애플리케이션 - 프레젠테이션 - 세션 - 전송 - 인터넷 - 데이터 링크 - 물리 계층
[TCP/IP - 4계층]
애플리케이션(5~7) - 전송(4) - 네트워크(3) - 데이터 링크(1~2) 계층
#특징 
 : 이 계층들은 특정 계층이 변경되었을 때 다른 계층이 영향을 받지 않도록 설계되었다.
[TCP/IP - 4계층]
: 애플리케이션 계층
 - FTP / HTTP / SSH / SMTP / DNS ... 등등
: 전송 계층
 - TCP / UDP / QUIC... 등등
: 인터넷 계층
 - IP / ARP / ICMP... 등등
: 링크 계층
 - 이더넷... 등등

애플리케이션 계층
 : FTP, HTTP, SSH, SMTP, DNS등 응용 프로그램이 사용되는 프로토콜 계층이다.
 : 웹 서비스, 이메일 등등 서비스를 실질적으로 사람들에게 제공하는 계층이다.
**FTP : 장치와 장치 간의 파일을 전송하는 데 사용되는 표준 통신 프로토콜이다.
**HTTP : World Wide Web을 위한 데이터 통신의 기초이자 웹 사이트를 이용하는 데 쓰는 프로토콜이다.
**SSH : 보안되지 않은 네트워크에서 네트워크 서비스를 안전하게 운영하기 위한 암호화 네트워크 프로토콜이다.
**SMTP : 전자 메일 전송을 위한 인터넷 표준 통신 프로토콜이다.
**DNS : 도메인 이름과 IP 주소를 매핑해주는 서버이다.

전송 계층
 : 송신자(보내는 자)와 수신자(받는 자)를 연결하는 통신 서비스를 제공한다.
 : 연결 지향 데이터 스트림 지원, 신뢰성, 흐름 제어를 제공한다.
 : TCP, UDP 대표적으로 있다.
**TCP
 : 패킷 사이의 순서를 보장한다. 
 : 연결지향 프로토콜을 사용해서 연결 한다.
 : 신뢰성을 구축해서 수신 여부를 확인한다.
 : 가상 회선 패킷 교환 방식을 이용한다.
**UDP
 : 순서를 보장하지 않는다.
 : 수신 여부를 확인하지 않는다.
 : 단순히 데이터만 전달한다.

가상 회선 패킷 교환 방식
 : 각 패킷에는 가상 회선 식별자가 포함되며 모든 패킷을 전송하면 가상 회선이 해제되고
 패킷들은 전송된 순서대로 도착하는 방식이다. 

데이터그램 패킷 교환 방식
 : 패킷이 독립적으로 이동하며 최정의 경로를 선택해서 간다.
 : 하나의 메시지에서 분할된 여러 패킷은 서로 다른 경로로 전송될 수 있으며, 도착한 순서가 다를 수 있다.

**3-way handshake : TCP는 신뢰성을 확보할 때 3-웨이 핸드셰이크라느 작업을 진행한다.
**4-way handshake : TCP가 연결을 해제할 때 4-웨이 핸드셰이크라는 과정이 진행된다.
**SYN(SYNchronization) : 연결 요청 플래그
**ACK(ACKnowledgement) : 응답 플래그
**ISN(Initial Sequence Numbers) : 초기 네트워크 연결을 할 때 할당된 32비트 고유 시퀀스 번호이다.
**데이터 무결성 : 데이터의 정확성과 일관성을 유지하고 보증하는 것이다.

인터넷 계층
 : 장치로부터 받은 네트워크 패킷을 IP 주소로 지정된 목적지로 전송하기 위해 사용되는 계층이다.
 : IP, ARP, ICMP 등이 있으며 패킷을 수신해야 할 상대의 주소를 지정하여 데이터를 전달한다.
 : 상대방이 제대로 받았는지에 대해 보장하지 않는 비연결형적인 특징을 가지고 있다.

링크 계층
 : 전선, 광섬유, 무선 등으로 실질적으로 데이터를 전달하여 장치 간에 신호를 주고받는 규칙을 정하는 계층이다.
**전이중화 통신(유선 LAM) : 양쪽 장치가 "동시에" 송수신할 수 있는 방식
**CSMA/CD : 반이중화 방식이며, 데이터를 보낸 이후 충돌이 발생한다면 일정 시간 이후 재전송하는 방식이다.
**반이중화 통신(무선 LAM) : 양쪽 장치 통신은 가능하지만, "동시에" 통신할 수 없다.

PDU
 : 네트워크의 어떠한 계층에서 계층으로 데이터가 전달될 때 한 덩어리의 단위이다.

네트워크 기기 > 네트워크 기기의 처리 범위
 : 각 계층마다 처리하는 기기가 다르다.
 : 상위 계층 기기는 하위 계층을 처리할 수 있다.(그 반대는 처리 불가)
[각 계층의 네트워크 기기]
 : 애플리케이션 계층 - L7 스위치
 : 인터넷 계층 - L3 스위치
 : 데이터 링크 계층 - L2 스위치, 브리지
 : 물리 계층 - NIC(MAC), 리피터, AP(공유기)

애플리케이션 계층을 처리하는 기기
 : L7 스위치가 있다.

L7 스위치
 : 스위치는 여러 장비를 연결하고 데이터 통신을 중재하며 목적지가 연결된 포트로만 전기 신호를 보내
 데이터를 전송하는 통신 네트워크 장비이다.
 : 로드 밸런서라고도 하며, 서버 부하를 분산하는 기기이다.
**헬스 체크 : 전송 주기와 재전송 횟수 등을 설정한 이후 반복적으로 서버에 요청을 보내는 것이다. 

인터넷 계층을 처리하는 기기
 : L3 스위치, 라우터가 있다.

라우터
 : 여러 개의 네트워크를 연결하고, 분할하고구분시켜주는 역할을 한다.
 : 다른 네트워크에 존재하는 장치끼리 서로 데이터를 주고받을 때 패킷 소모를 최소화하고 경로를 
 최적화하여 최소 경로로 패킷을 포워딩(전달)하는 라우팅을 하는 장비이다.

L3 스위치
 : L2스위치의 기능과 라우팅 기능을 갖춘 장비이다.
 : L3스위치를 라우터라고 해도 무방하다.

데이터 링크 계층을 처리하는 기기
 : L2 스위치와 브리지가 있다.

L2 스위치
 : 장치들의 MAC 주소를 MAC 주소테이블을 통해 관리하며, 연결된 장치로부터 패킷이 왔을 때 패킷 전송을 담당
 : IP 주소를 기반으로 라우팅은 불가능하다.

브리지
 : 두 개의 LAN을 상호 접속할 수 있도록 하는 통신망 연결 장치이다.
 : 포트와 포트 사이의 다리 역할을 하며 장치에서 받아온 MAC 주소를 MAC 주소 테이블로 관리한다.

물리 계층을 처리하는 기기
 : NIC(MAC), 리피터, AP(공유기)가 있다.

NIC(MAC)
 : 2대 이상의 컴퓨터 네트워크를 구성하는 데 사용한다.
 : 네트워크와 빠른 속도로 데이터를 송수신 할 수 있도록 컴퓨터 내에 설치하는 확장 카드이다.

리피터
 : 들어오는 약해진 신호 정도를 증폭하여 다른 쪽으로 전달하는 장치이다.

IP 주소 > ARP
 : 컴퓨터와 컴퓨터 간의 통신은 흔히들 IP 주소 기반으로 통신한다고 알고 있지만 정확히는 IP 주소에서 ARP를 
 통해 MAC 주소를 찾아서 MAC 주소를 기반으로 통신한다.
 : IP 주소로부터 MAC 주소를 구하는 IP와 MAC 주소의 다리 역할을 하는 프로토콜이다. 
 : 가상 주소인 IP 주소를 실제 주소인 MAC 주소로 변환한다.
**RARP : 실제 주소인 MAC 주소를 가상 주소인 IP 주소로 변환한다. (ARP 반대)

**브로드캐스트 : 송신 호스트와 전송한 데이터가 네트워크에 연결돈 모든 호스트에 전송되는 방식이다.
**유니캐스트 : 고유 주소로 식별된 하나의 네트워크 목적지에 1:1로 데이터를 전송하는 방식이다.
**라우팅 : IP 주소를 찾아가는 과정이다.

라우팅 테이블
 : 송신지에서 수신지까지 도달하기 위해 사용되며 라우터에 들어가 있는 목적지 정보들과 그 목적지로 가기 위한
 방법이 들어있는 리스트를 뜻한다.

게이트웨이
 : 서로 다른 통신망, 프로토콜을 사용하는 네트워크 간의 통신을 가능하게 하는 관문 역할을 한다.
 : 사용자는 인터넷에 접속하기 위해 수많은 게이트웨이를 거쳐야 한다.
 : 게이트웨이는 서로 다른 네트워크상의 통신 프로토콜을 변환해주는 역할이다.

HTTP
 : 전송 계층 위에 있는 애플리케이션 계층으로서 웹 서비스 통신에 이용한다.

**RTT : 패킷이 목적지에 도달하고 나서 다시 출발지로 돌아오기까지 걸리는 시간(패킷 왕복 시간)
**스트림(stream) : 시간이 지남에 따라 사용할 수 있게 되는 일련의 데이터 요소를 가리키는 데이터 흐름이다.
**해시 : 다양한 길이를 가진 데이터를 고정된 길이를 가진 데이터로 매핑한 값
**해싱 : 임의의 데이터를 해시로 바꿔주는 일이며 해시 함수가 이를 담당한다.
**해시 함수 : 임의의 데이터를 입력으로 받아 일정한 길이의 데이터로 바꿔주는 함수이다.