네트워크란 노드와 링크가 서로 연결되어 있거나 연결되어 있으며 리소스를 공유하는 집합이다.
노드 = 서버, 라우터, 스위치 등 네트워크 장비, 링크 = 유션 or 무선
처리량은 성공적으로 전달된 데이터의 양을 말하고 얼만큼의 트랙픽을 처리했는지 나타낸다.(단위 : bps)
트래픽 : 특정 시점에 링크 내에 흐르는 데이터의 양을 말한다.
지연시간은 요청이 처리되는 시간을 말하며 데이터가 두 장치 사이를 왕복하는데 걸린 시간을 말한다. 매체 타입(유무선), 패킷 크기, 라우터의 패킷 처리 시간에 영향을 받는다.
노드와 링크의 배치 방식이자 연결 형태이다.
노드의 수정이 쉽고 특정 노드에 트래픽이 집중되면 하위 노드에 영향을 끼칠 수 있다.
설치 비용이 적고 신뢰성이 우수하며 중앙 통신 회선에 노드를 추가하거나 삭제하기 쉽지만 스푸핑이 가능하다.
스푸핑은 LAN상에서 송신부의 패킷을 송신과 관련 없는 다른 호스트에 가지 않도록 하는 스위칭 기능을 마시키거나 속여 특정 노드에 해당 패킷이 오도록 처리한다.
노드 추가가 쉽고 에러 탐지 및 패킷 충돌 가능성이 적다. 또한,하위 노드에 장애 대처성이 좋으며 다른 노드에 영향을 끼치는 것이 적다. 중앙 노드 장애시에는 전체 네트워크가 사용 불가하며 설치 비용이 고가이다.
고리모양의 길을 통해 패킷을 처리한다.
노드 수가 증가해도 네트워크 상의 손실이 거의 없고 충돌 가능성이 적고 노드의 고장 발견이 쉽다. 하지만 네트워크 구성 변경이 어렵고 회선에 장애 발생시 전체 네트워크에 영향이 크다.
여러 경로가 존재해 장애가 발생해도 네트워크 사용이 가능하며 트래픽 분산 처리가 가능하지만 노드의 추가가 어렵고 구축, 운용 비용이 고가이다.
병목현상은 전체 시스템의 성능이나 용량이 하나의 구성 요소로 인해 제한을 받는 현상을 말한다.
LAN은 근거리 통신망을 의미하며 한 건물 내에서 운영되며 전송속도가 빠르고 혼잡도가 낮다
MAN은 대도시 지역 네트워크를 의미하며 전송 속도는 평균이며 LAN보다 혼잡도가 높다.
WAN은 광역 네트워크를 의미하며 국가 or 대륙 같은 지역에서 운영한다. 존송 속도는 낮으며 MAN보다 혼잡도가 높다.
ping은 네트워크 상태를 확인하려는 대상 노드를 향해 일정 크기의 패킷을 전송하는 명령어이다.
이를 통해 노드의 패킷 수신 상태와 도달하기까지의 시간등을 알 수 있고, 네트워크 연결 상태를확인할 수 있다.
접속되어 있는 서비스들의 네트워크 상태를 표시하는 데 사용되며 네트워크 접속, 라우팅 테이블, 네트워크 프로토콜 등 리스트를 보여줍니다. 주로 서비스의 포트가 열려 있는지 확인할 때 사용한다.
DNS에 관련된 내용을 확인하기 위해 쓰며 특정 도메인에 매핑된 IP를 확인한다.
윈도우 tracert / 리눅스 traceroute
목적지 노드까지 네트워크 경로 확인시 사용한다. 어느 구간에서 응답 시간이 느린지 확인할 수 있다.
인터넷 프로토콜 스위트는 인터넷에서 컴퓨터들이 서로 정보를 주고 받는 데 쓰이는 프로토콜의 집합이며, 이를 TCP/IP 4계층 모델로 설명하거나 OSI 7계층 모델로 설명한다.
FTP, HTTP, SSH, SMTP, DNS 등 응용 프로그램이 사용되는 계층이며 웹 서비스, 이메일 등 서비스를 실적으로 제공하는 층이다.
송수신자를 연결하는 통신 서비스를 제공하며 연결 지향 데이터 스트림 지원, 신뢰성, 흐름 제어를 제공할 수 있으며 애플리케이션과 인터넷 계층 사이의 데이터가 전달될 때 중계 역할을 한다.
TCP는 패킷 사이의 순서를 보장하고 연결지향 프로토콜을 사용해서 연결을 하여 신뢰성을 구축하고 수신 여부를 확인하며 '가상회선 패킷 교환 방식'을 사용한다.
UDP는 순서를 보장하지 않고 각 패킷에는 가상회선 식별자가 포함되며 모든 패킷을 전송하면 가상회선이 해제되고 패킷들은 전송된 '순서대로' 도착하는 방식을 말한다.
가상회선 패킷 교환 방식은 각 패킷에는 가상회선 식별자가 포함되면 모든 패킷을 전송하면 가상회선이 해제되고 패킷들은 전송된 '순서대로' 도착하는 방식을 말한다.
데이터그램 패킷 교환 방식이 독립적으로 이동하여 최적의 경로를 선택하여 가는데, 하나의 메세지에서 분할된 여러 패킷은 서로 다른 경로로 전송될 수 있으며 도착한 '순서가 다를 수'있는 방식을 뜻합니다.
클라이언트와 서버가 통신할 때 세단계 과정을 거친다.
SYN 단계 : 클라이언트는 서버에 클라이언트의 ISN을 담아 SYN을 보낸다. ISN은 새로운 TCP 연결의 첫 번째 패킷에 할당된 임의의 시퀀스 번호를 말하며 장치마다 다를 수 있다.
SYN + ACK 단계 : 서버는 클라이언트의 SYN을 수신하고 서버의 ISN을 보내며 승인 번호로 클라이언트의 ISN+1을 보낸다.
ACK 단계 : 클라이언트는 서버의 ISN + 1한 값인 승인번호를 담아 ACK를 서버에 보낸다.
SYN : 연결 요청 플래그
ACK : 응답 플래그
ISN : 네트워크 연결시 할당된 32비트 고유 시퀀스 번호
이 과정 이후 신뢰성이 구축되고 데이터 전송을 시작한다. TCP는 이 과정을 거쳐 신뢰성 있는 계청 UDP는 이과정이 없어 시뢴성이 없는 계층이라 한다.
1번 : 클라이언트가 연결 종료 시에 FIN으로 설정된 세그먼트 전송 후 클라이언트는 FIN_WAIT_1 상태로 들어가 서버의 응답을 기다립니다.
2번 : 서버는 클라이언트로 ACK라는 승인 세그먼트를 전송한 후 CLOSE_WAIT 상태에 들어가 클라이언트가 세그먼트를 받으면 FIN_WAIT_2 상태에 들어간다.
3번 : 서버는 ACK를 보내고 일정 시간 후에 클라이언트에 FIN이라는 세그먼트를 보낸다.
장치로부터 받은 네트워크 패킷을 IP주소의 목적지로 전송하기 위해 사용되는 계층이다.
패킷을 수신해야 할 상대의 주소를 지정해 데이터를 전달한다. 상대방이 받았는지 보장하지 않는 비연결형적인 특징을 가진다.
전선, 광섬유, 무선 등으로 실질적으로 데이터를 전달하며 장치 간 신호를 주고받는 '규칙'을 정하는 계층이다.
이를 물리, 데이터 링크 계층으로 나누기도 하는데 , 물리는 유무선 LAN을 통해 0과 1로 이루어진 데이터를 계층을 말하며 데이터 링크 계층은 '이더넷 프레임'을 통해 에러 확인, 흐름 제어, 접근 제어를 담당하는 계층을 말한다.
양쪽 장치가 동시에 송수신할 수 있는 방식을 말한다. 이는 송신로와 수신로로 나눠서 데이터를 주고 받으며 현대의 고속 이더넷은 이 방식을 기반으로 통신한다.
반이중화 통신 방식 중 하나이다. 이 방식은 데이터를 보낸 이후 충돌이 발생 시 일정 시간 후 재전송한다. 이는 송수신로를 가각 두지 않고 한 경로로 데이터를 보내기 떄문에 충돌에 대비해야 했다.
양쪽 장치는 서로 통신하지만 동시에는 불가능하며 한 번에 한 방향만 통신할 수 있다.
반이중화 통신 중 하나로 데이터를 보내기 전 일련의 과정을 기반으로 사전에 가능한 한 충돌을 방지하는 방식이다.
데이터 링크 계층은 이더넷 프레임을 통해 전달받은 데이터의 에러를 검출하고 캡슐화하여 다음과 같은 구조를 가진다.
HTTP를 통해 웹서버에 있는 데이터를 요청한다고 생각해보자
캡슐화 과정 : 상위 계층의 헤더와 데이터를 하위 계층의 데이터 부분에 포함시켜 해당 계층의 헤더를 삽입하는 과정이다.
- 에플리케이션 계층 데이터가 전송 계층으로 전달된다.
- 전송 계층에서 '세그먼트' or '데이터그램'화되며 TCP(L4) 헤더가 붙는다
- 인터넷 계층에서 IP(L3) 헤더가 붙고 '패킷'화가 된다.
- 링크 계층으로 전달되며 프레임 헤더와 프레임 트레일러가 붙어 '프레임'화가 된다.
비캡슐화 과정 : 하위 계층에서 상위 계층으로 가며 각 계층의 헤더를 제거하는 과정을 말한다.
- 링크 계층부터 프레임화된 데이터는 패킷화를 거친다.
- 세그먼트, 데이터그램화를 거쳐 메시지화가 된다.
- 애플리케이션의 PDU인 메시지로 전달된다.
네트워크의 어떠한 계층에서 계층으로 데이터가 전달될 때 한 덩어리의 단위를 PDU(Protocol Data Util)라고 한다.
PDU는 제어 관련 정보들이 포함된 '헤더', 데이터를 의미하는 '페이로드'로 구성되어 있으며 계층마다 부르는 명칭이 다르다.
PDU 중 비트로 송수신하는 것이 가장 빠르고 효율성이 높지만 애플리케이션층에서는 문자열을 기반으로 송수신을 하는데, 그 이유는 헤더에 authorization 값 등 다른 값들을 넣는 확장이 쉽기 때문이다.
서적을 읽다보니 전공을 했지만 새롭게 알게되는 정보들이 생각보다 많아서 좋은 것 같다고 느꼈다.