728x90
IPV4 주소의 기본 구조
IPv4 -> 32Bit로 구성되어 있으며, 8Bit * 4로 되어있다.(최대 0~255를 2진법으로 나타낸 수가 4개)

- ipconfig를 통해, 현재 내 IP 주소를 알 수 있다.
- 8Bit씩, (.)도트 값을 통해 구분한다.
- IP 주소는 크게 Network ID(24 Bit), Host ID(8 Bit)로 구분한다.
- Network ID를 주소, Host ID를 번지로 외우자
- Network ID를 가지고 주소로 이동시킨 뒤, HostID를 통해 상세 주소로 이동하는 것으로 생각하면 외우기 쉽다.
L3 Packet

- Packet이라는 말은 L3 IP Packet으로 외우자
- Header와 Payload로 나뉘며, 이는 상대적인 분류이다.
- 최대 크기는 MTU 이다.
- MTU는 Header + payload이다. -> 1500byte(1.4kb) 정도밖에 안 된다.
- Packet을 크기가 매우 작기 때문에 택배 상자로 생각하면 이해하기 쉽다.
- Header는 송장(전송할 위치) Payload가 내용물이다.
- Wireshark를 통해 Packet을 분석할 수 있다.
Encapsulation

- 택배 상자에 물건을 넣어 밀봉하는 것과 동일하며, 특정한 것을 단위화 한 것을 Encapsulation이라고 한다.
- Encapsulation은 즉, 특정 데이터를 Payload에 포장(Header/Payload)하고, Header를 와 함께 밀봉하는 것으로 생각하자
패킷의 생성과 전달


- 어느 발신자/ 수신자(Process)가 물건(Data)을 전달할 때, 택배(Packet)로 만든 후, 택배 기사(GateWay)에 전달을 하게 되는데, 택배(라우팅)를 통해 집(Host)까지 도착을 하게 될 것이고, Port 번호를 보고 수신자에게 전달을 해준다.
- Data가 Socket을 Send 하여 TCP -> IP -> Driver를 통과하여 Encapsulator가 되고, 해당 데이터가 전달이 된다.
계층별 데이터 단위

- User Mode에서는 데이터 단위가 Stream이며, Socket을 통해 커널 계층으로 전달된다.
- 보통 Stream Size가 MSS/MTU 보다 크기 때문에 전달할 때 보통 나눠서(쪼개서) 전달하게 된다.
- TCP는 데이터 단위가 Segment이며, 최대 크기는 MSS(Max Segment Size)이다.
- IP는 데이터 단위가 IP이며, 최대 크기는 MTU이다.
- H/W 에서는 데이터 단위가 Frame이다.
TCP/IP 송.수신 구조
송신

- User mode에서 전달해야 하는 데이터를 Stream이라고 부른다.
- Stream 데이터를 쪼개서 Buffer에 담고, 이를 다시 쪼개어서 TCP 계층으로 전달하는데, 이때 단위가 세그먼트이다.
- 해당 세그먼트를 IP 계층으로 보낼 때, 다시 택배 박스에 담듯이 포장을 해야 되는데, 이때 IP 계층으로 보내는 단위가 즉, 패킷이다.
- 패킷을 다시, H/W 영역으로 전달할 때(비유하자면 트럭) 단위를 Frame이라고 하며, 물건을 전송할 때 하나의 트럭에 보내지 않듯이 여러 Gateway를 거쳐서 전달한다.(트럭이 바뀔 수 있다)
- 송신하는 과정에서는 항상 Encapsulation이 일어난다.
수신

- Frame에서 Packet을 꺼내고, 해당 Packet에서 Segment를 뽑아서 Socket I/O Buffer에 채운다.
- TCP에서는 받은 세그먼트를 잘 받았다고 응답을 보내야 하고 이를 ACK라고 한다(이때 I/O Buffer의 여유 공간도 같이 보낸다)
- 이때의 여유 공간을 Window Size라고 하며, 이 공간이 없어 Full이 나면 Zero Window 오류가 발생한다.(해당 이슈는 End-point에 Application에서 오류가 발생한 것으로 확신할 수 있다.)
- 수신하는 과정에서는 항상 Decapsulation이 일어난다.
728x90
'네트워크 > 네트워크 핵심이론 - 기초' 카테고리의 다른 글
| Ch03. L4 수준 대표주자 TCP와 UDP - TCP (0) | 2024.10.28 |
|---|---|
| Ch03. L3 수준에서 외울 것들 - IP (0) | 2024.10.15 |
| Ch02. L2 수준에서 외울 것들 (0) | 2024.10.02 |
| Ch01. Internet 기반 네트워크 입문 (0) | 2024.10.02 |