패킷이란?
인터넷에서 두 장치간 데이터를 주고받을 때, 사진이나 동영상 등들은 모두 패킷이라는 형태로 교환되거나 그룹화된다.
패킷은 0과 1로 구성된 데이터다. 이진수 신호는 주파수 변조라는 과정을 거쳐서 전송된다.
패킷 전송
패킷을 전송하는 방식을 결정하는 약속을 프로토콜이라고 하고 패킷이 전송되는 프로토콜은 다음과 같다.
1.TCP : 정확하고 완전한 패킷을 보내지만 속도가 느림
2.UDP : 정확한 패킷을 전달하나 순서보다 속도를 우선시한다.
3.QUIC : 여러개의 빠른 UDP연결을 활용하지만 TCP 처럼 신뢰할 수 있는 방법으로 데이터 전송
4.IP : 인터넷 프로토콜, IP주소와 IP 패킷의 형식을 규정하는데 쓰고있다
- 인터넷상 다른기기와 소통하려면 주소형식이 반드시 인터넷 프로토콜 표준을 따라야 한다.
네트워크 주소 변환(NAT)
인터넷에 사설망이 연결되고 라우터를 거쳐 패킷을 보낼 때 , 라우터는 네트워크 주소 변환 기술을 활용해서 패킷의 주소 형식을 다시 작성한다.
NAT를 사용하면 라우터는 패킷을 보낸 쪽의 정보를 모두 메모리에 저장한다.
다시말해 우리가 일상생활에서 사용하는 컴퓨터들은 사설 IP를 사용하는 디바이스이고 , 라우터의 공용 IP를 빌려 인터넷에 접속한다고 보면 된다. 라우터의 전원이 꺼지면 모든 정보는 사라진다.
IPv4
NAT는 IP버전4 (IPv4)에서만 사용한다. IPv4는 점으로 구분된 숫자 블록 4개로 구성되고, 각 블록은 0~255까지 범위가 설정되어있다.
192.151.111.21 과 같은 형식이다. 이 4개의 숫자 블록은 한 묶음당 8비트로 구성된 4개의 묶음인다.
위 숫자는 십진수 숫자이지만 컴퓨터는 저 숫자를 이진수로 풀어서 받아들인다.
사설 IP 주소의 형태도 정해져있는데 크게 세종류가 있다.
1) 192.168.XXX.XXX
2) 10.XXX.XXX.XXX
3) 172.16.XXX.XXX ~ 172.31.XXX.XXX
사설IP를 제외한 다른 모든 주소는 공용IP주소다.
IPv4의 단점은 주소를 약 43억개밖에 만들지 못한다는 것이다. 그래서 IPv6이 나왔는데 16비트로 된 숫자 블록 8개로 구성한다.
2001:0DB8:0000:001:0010:001F
IP라우팅
패킷은 어떻게 전송될까?
패킷은 패킷 헤더가 있다. 헤더에는 태그가 달려있다. 태그에는 수신 및 발신 주소의 정보가 포함되어있다. 그래서 패킷이 어디에서 와서 어디로 가는지 알 수 있다.
라우터에서 디바이스로부터 받은 패킷을 바로 다른 IP주소로 곧장 보내지 않는다. 데이터를 받은 라우터는 대형 라우터로 패킷을 다시 보낸다. 대형 라우터는 패킷의 태그를 읽어서 네트워크에 있는 목적지로 패킷을 보내거나 그 주변의 라우터에 보낸다.
그럼 패킷을 임의로 변조할 수 있을까? 그렇다. 패킷을 임의로 바꾸는 것을 IP스푸핑 이라고 한다. IP스푸핑은 누군가 임의로 패킷의 정보를 바꿔 보내는 것을 말한다. IP스푸핑을 막고자 하는 의도로 만들어진 것이 IPSec이다. IPSec을 사용하는 디바이스나 라우터는 신뢰할 수 없거나 유효하지 않은 것으로 보이는 패킷을 모두 배재한다.
IPSec이 이렇게 패킷을 배재하는 것을 서비스 거부(Dos, Denial-of-Service)라고 한다. 뉴스에서 디도스공격이라고 많이 들어봤을텐데, 디도스는 분산 서비스 거부 공격(Distributed Denial of Service attack)을 줄인 말이다. 누군가 임의로 패킷의 발신지를 모두 다르게 하여 한꺼번에 많은 패킷을 보내 응답하지 못하게 하는 공격이다.
'전기,전자,드론,IT' 카테고리의 다른 글
DNS에 대한 간단한 개념 (0) | 2024.02.11 |
---|---|
통신 프로토콜 간단 설명 : UDP, TCP, QUIC (1) | 2024.02.04 |
인터넷의 작동 원리 (0) | 2024.01.31 |
개발 기초 용어 (0) | 2024.01.23 |
드론 문제 발생 시 대처법 알기 (0) | 2019.12.31 |