네트워크의 규칙
프로토콜
💡 프로토콜이란?
- 네트워크에서 문제없이 통신하려면 규칙(약속)을 지켜야 한다.
- 예를 들어 서로 다른 언어를 사용한다면 대화를 나눌 수 없다. 같은 언어를 사용하자는 규칙을 미리 만들어두면 문제없이 대화할 수 있다.
- 이와 같이 컴퓨터 간에 정보를 주고받을 때의 통신 방법에 대한 규칙이나 표준을 프로토콜이라고 한다.
패킷
💡 패킷이란?
- 패킷은 컴퓨터 간에 데이터를 주고받을 때 네트워크를 통해 전송되는 작은 조각을 말한다.
- 큰 데이터가 있더라도 작게 나누어서 보내는 게 규칙이다.
- 데이터는 택배처럼 작게 포장해서 보낸다. (패킷 = 택배)
- 왜 굳이 작게 나누는가?
- 큰 데이터를 그대로 보내면 그 데이터가 네트워크의 대역폭을 너무 많이 차지(점유)해서 다른 패킷의 흐름을 막을 위험이 있다.
- 네트워크와 도로망은 비슷하다. 차선 두 개를 모두 대형 트럭이 점령해 버리면 교통 정체가 일어난다. 마찬가지로 큰 데이터를 네트워크로 내보내면 정체가 발생한다.
- 큰 데이터가 있더라도 작게 나누어서 보내는 게 규칙이다.
- 목적지에서는 나눠진 패킷을 원래대로 되돌리는 작업을 해야한다.
- 목적지로 보내진 패킷이 전송한 순서대로 도착하지 않을 수도 있고, 패킷이 전송될 때 네트워크가 지연되어서 늦게 도착하거나 패킷이 누락되기도 한다.
- 그래서 목적지에 도착한 패킷은 순서 없이 제각각 도착한다.
- 원래대로 되돌리기 위해서 송신 측에서 수신 측으로 패킷을 보낼 때는 패킷에 순서대로 번호를 붙여서 보낸다. 그럼 번호에 맞춰서 정렬하면 되니까 순서가 꼬여도 괜찮다.
- 디지털 데이터이기 때문에 순서대로 도착하지 않아도 되돌릴 수 있다.
- 목적지로 보내진 패킷이 전송한 순서대로 도착하지 않을 수도 있고, 패킷이 전송될 때 네트워크가 지연되어서 늦게 도착하거나 패킷이 누락되기도 한다.
TCP/IP(Transmission Control Protocol, 전송 제어 프로토콜/Internet Protocol, 인터넷 프로토콜)
💡 TCP/IP란?
- 컴퓨터가 서로 통신하는 경우, 특정 규칙이나 프로토콜을 사용해 순서대로 데이터를 전송 및 수신할 수 있다.
- 인터넷에서 데이터를 전송하는 데 사용되는 프로토콜 세트(통신 규칙의 모음) 중 하나가 TCP/IP이다.
- TCP/IP는 4계층 또는 5계층으로 구성되어 OSI 7계층을 대체한다.
- 이러한 계층은 데이터 전송의 각 단계에서 앱과 기기의 작업을 설명한다.
💡 IP (인터넷 프로토콜)
- 인터넷의 주소 체계
- 소스 장치에서 대상 장치로 정보 패킷(패킷 조각)을 전달하는 것이 핵심 기능
- 패킷 순서 지정 또는 오류 검사를 처리하지 않음
- 데이터를 수신했다는 확인을 소스에 보내지 않음
- -> 처리할 다른 프로토콜이 필요함 -> TCP (전송 제어 프로토콜)
💡 TCP (전송 제어 프로토콜)
- 한 기기에서 다른 기기로 데이터를 전송하는 것을 담당
- IP와 함께 사용해 발신자와 대상 사이의 연결을 유지하며 패킷 순서를 보장
💡 TCP/IP의 관계
- 퍼즐에 메세지를 작성해 우편으로 보내는 것!
- 퍼즐에 메시지를 작성 → 퍼즐은 여러 조각으로 나뉨
- 퍼즐의 조각들은 각각 다른 우편 경로를 통해 전달되는데 조각마다 걸리는 시간이 다름
- 다른 경로를 통해 전달된 퍼즐들은 순서가 뒤죽박죽되어 있을 수 있음
- IP의 역할?
- 각 조각이 목적지 주소에 도착하도록 함
- TCP의 역할?
- 조각들을 올바른 순서로 맞춤
- 누락된 조각을 다시 보내달라고 요청
- 발신자에게 조각을 받았음을 알려줌
- 첫 번째 조각을 보내기 전부터 마지막 조각을 보낸 후까지 발신자와의 접속을 유지
💡 TCP를 통해 이메일을 전송한다면?
- 연결이 설정되고, 3-way 핸드셰이크가 만들어진다.
- 소스가 SYN 최초 요청 패킷을 대상 서버로 보냄
- 대상 서버가 SYN-ACK 패킷을 보내 이 과정에 동의함
- 소스가 대상에 ACK 패킷을 보내 이 과정을 확인 후 메시지 컨텐츠를 전송
- 이메일 메시지는 패킷으로 분할된 후 인터넷으로 보내지며, 인터넷에서는 게이트웨이를 거쳐 장치에 도착
- 분할된 패킷들이 다시 TCP에 의해 조립되어 이메일의 원래 메시지로 구성됨
- 출처
- 도서 [모두의 네트워크]
- https://www.ibm.com/docs/ko/aix/7.1?topic=management-transmission-control-protocolinternet-protocol
- https://aws.amazon.com/ko/what-is/osi-model/?trk=faq_card
- https://www.cloudflare.com/ko-kr/learning/ddos/glossary/tcp-ip/
- https://nordvpn.com/ko/blog/tcp-ip-protocol/
- http://www.ktword.co.kr/test/view/view.php?no=310
'💾 CS' 카테고리의 다른 글
패킷, 비트와 바이트, LAN/WAN (0) | 2024.06.17 |
---|---|
OSI 7계층, 캡슐화, 비캡슐화, PDU (0) | 2024.05.10 |
LAN, MAN, WAN (0) | 2024.05.08 |
시스템 콜(system call) (0) | 2024.05.08 |
HTTP 상태 코드(HTTP Status Code) (0) | 2024.05.07 |