-
외워서 끝내는 네트워크 핵심 이론 - 섹션 3공부/네트워크 2023. 6. 20. 19:06
*IP
L2 : MAC 주소, 48bit
L3 : IPv4 32bit = 8bit * 4
IPv4중 24bit는 Network ID / 8bit는 Host ID 이다
*packet
- L3 IP Packet
- Header 와 payload로 나뉘며 이는 상대적인 분류이다
- 최대크기는 MTU = 1500 bytes, 1.4KB
- Header = 송장
- Payload = 택배박스
*Encapsulation(캡슐화)
- 물건을 상자에 포장한다
- 데이터를 단위화 한다
- 계층이 내려갈수록 캡슐화가 한단계씩 생긴다
- Decapsulation는 반대개념이다
*패킷의 생성과 전달
송신자 -> 책 -> 상자 -> 송장 -> 택배기사 -> 집 -> 송장 -> 상자 -> 책
Process -> Data -> Packet -> Gateway -> Host -> Port(Process)
- Process에서 Process로 전달 된다
*계층별 단위
- L1 ~ L2 : Frame
- L3 : Packet
- L4 : Segment
- L5 ~ L7 : Stream(socket)
*파일 전송 과정
1. Process에서 전송할 데이터를 Buffer 나눠서 에 복사한다
2. 복사된 데이터를 Socket I/O Buffer에 Send 한다
3. Socket I/O Buffer는 나눠 받은 데이터를 다시 합친다
4. TCP는 Socket I/O Buffer의 데이터를 Segmentation 하여 Segment 한개씩 나누며 번호를 부여한다
5. IP는 Segment를 패킷에 담아 외부로 전송한다
6. 전송받은 PC는 역순으로 Segment를 받아 Socket I/O Buffer에 Read를 한다
7. 전송을 받은 Process는 받은 Segment의 번호를 송신측에 현재의 Buffer의 여유 공간과 함께 ACK를 보낸다
8. 송신측은 몇개를 더 보낸 상태에서 ACK를 대기하고 ACK를 받으면 다시 더 데이터를 송신한다
*파일 전송 과정중 생길 수 있는 문제
1. Loss : 데이터 유실
2. Re-trans : 데이터 중복
- 수신측에서 ACK가 없어 전송을 못 받았다고 판단해 다시 재 전송을 했느나 받았던 상태
3. Out of Order : 잘못된 순서
4. Zero Window : 수신측에 Buffer의 여유 공간이 없는 상황
*IPv4 Header
- 패킷의 Header, payload 중 Header 부분
- 패킷의 크기는 MTU(1500byte, 1.4KB)

- 1행
Vesion : 패킷의 버전
ex)IPv4
IHL : 해더의 길이, 보통 20byte
Total Length : 패킷의 길이
- 3행(단편화와 관련)
TTL : 패킷이 네트워크 상에서 소모할수 있는 비용
- 소모시키는 비용은 Hop이다
Protocol : 패킷의 해석을 위한 정보
ex) TCP, UDP 등 프로토콜의 번호
Header Checksum : 패킷을 손상 여부 확인을 위한 정보
- 4행
Source Address : 출발지 IP 주소
- 5행
Destination Address : 목적지 IP 주소
*Subnet Mask
- Net ID와 Host ID를 구분하기 위해 사용된다
-ex) IP 주소와 255.255.255.0을 AND 연산을 하면
0을 제외한 나머지 부분은 IP 주소와 동일하게 나오고
0에 나온 주소로 Host를 구분한다
- CIDR : SubNet Mask를 1의 갯수로 구분해서 나눈다
ex) 192.0.01/24 1이 연속으로 24개 있다
* Broadcast
Host ID가 모두 255인경우
같은 네트워크 대역에게 모두 데이터를 보낸다
* LoopBack Address
- Host자신을 가리키는 주소
- 내 프로세스 통신을 위한 주소
- IPC 사용
- L4 계층에서 이하로 나가지 않는다
*TTL(Time To Live)
- 인터넷은 라우터의 집합체라고 할 수 있는 논리 네트워크
- 인터넷 ≒ Route + DNS
- 패킷은 인터넷 상에서 경로에 따라 통신을 한다
- TTL은 인터넷 상에서 패킷 무한히 돌아 다니지 못하도록 제한을 둔다
- 무한히 돌면 네트워크에 문제가 생긴다
*단편화
- MTU는 통상 1500Byte이다
- 만약 수신측에서 1400Byte 이면 보내는 송신측에서 2개로 나누어 보낸다

- 나눠진 둘은 거의 동일 하나 디테일한 옵션에 차이가 있다
- 수신측에서 두개를 받아 직접 합친다
- 단편화가 일어 나지 않도록 처음부터 낮춰서 보내면 문제가 해결된다
- 요즘은 단편화가 거의 일어나지 않지만 VPN IPSEC 으로 인해 생길 수 있다
*DHCP
- ISP : IP 주소를 서비스 하는 회사
- IP, Subnet Mask, Gateway , DNS 인터넷 사용을 위한 필수 설정
- DHCP는 주소를 할당하는 서버와 할당받으려는 클라이언트로 구성 되어 있어
자동으로 내가 사용하는 네트워크 사용에 맞는 설정을 준다
- DHCP 요청 방법
1. 같은 네트워크 대역에 있는 DHCP 서버를 찾기위해 클라이언트는 Broadcast를 보낸다
2. 찾아진 DHCP는 클라이언트에게 인터넷 설정을 위한 정보를 준다
*Broadcast의 한계선은 Gateway 이다
*ARP
- A(Address) : IPv4, MAC 주소에 해당된다
- IP주소로 MAC주소를 알려할 때 사용된다
ex) ARPReq = Gateway의 MAC 주소를 알려고 할때, DHCP에서 알려주지 않는다
- Gateway의 MAC 주소는 인터넷 통신을 위해 반드시 필요하다
- L2계층에서 보내는 데이터의 목적지의 주소는 Gateway의 MAC주소이다
- Gateway를 통해 인터넷 상으로 데이터가 전달이 된다
- Gateway는 L3의 적혀있는 IP 주소를 보고 인터넷으로 전송한다
*Ping RTT(Round Trip Time)
- Ping은 RTT를 측정하는 프로그램이다
- RTT는 서버와의 통신의 걸리는 시간이다
- ICMP를 사용
- DOS 공격으로 악용해 사용가능하다
'공부 > 네트워크' 카테고리의 다른 글
외워서 끝내는 네트워크 핵심 이론 - 섹션 5 (0) 2023.06.24 외워서 끝내는 네트워크 핵심 이론 - 섹션 4 (0) 2023.06.23 외워서 끝내는 네트워크 핵심 이론 - 섹션 2 (0) 2023.06.19 외워서 끝내는 네트워크 핵심 이론 - 섹션 1 (0) 2023.06.18 외워서 끝내는 네트워크 핵심 이론 - 섹션 0 (0) 2023.06.18