Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
Tags
- Spring
- cs공부
- 자바
- 개발자
- 구현
- 싸피
- 백준
- 클라이언트
- 알고리즘
- 코딩공부
- 서버
- Dynamic Programming
- 스프링 부트와 AWS로 혼자 구현하는 웹 서비스
- Java
- 코딩테스트
- IP
- 프로토콜
- SSAFY
- 알고리즘공부
- 정렬
- DP
- 전송계층
- BAEKJOON
- 네트워크
- 스프링
- 다이내믹프로그래밍
- TCP
- 개발공부
- Lan
- 네트워크모델
Archives
- Today
- Total
오늘 하루, develop
#10. [3계층] 패킷 전송과정 (라우팅테이블, IPv4조각화) 본문
♦ 소개
멀리 있는 컴퓨터끼리 통신하는 과정과 이때 사용되는 라우팅 테이블에 대해 공부해보자!
♦ 라우팅 테이블
윈도우에서 라우팅 테이블 확인
netstat -r
- 라우팅 테이블에 적혀 있는 네트워크 대역으로만 갈 수 있음
- 그래서 기본값으로 0.0.0.0을 둠
♦ 다른 네트워크와 통신하는 과정
상황 : A가 B(192.168.20.20)와 통신하려고 함
1. A가 라우팅 테이블 확인
- B의 네트워크 대역이 A의 라우팅 테이블에 없으면 갈 수 없음
- B의 네트워크 대역인 192.168.20.0/24가 있음 -> 목적지로 가려면 일단 192.168.10.1로 가라!
2. 패킷 생성 및 다음 노드로 전달
- ICMP 요청이므로 Type은 8
✅ 이더넷 프로토콜의 목적지 MAC 주소는 어디일까?
→ B가 아닌, 당장 다음 노드의 MAC 주소!! (여기서는 공유기)
3. 공유기가 패킷을 받고 다음 노드로 전달
- 본인의 라우팅 테이블 확인
- 목적지를 찾아서 다음 노드 확인
- 이더넷 프로토콜을 다시 작성 (MAC주소를 모른다면 ARP 먼저 하고 작성)
- 다음 노드에 대한 정보를 바꿔야 함. MAC 주소
- 네트워크 대역이 바뀔 때마다 이더넷 프로토콜은 다시 쓰임
✔ 공유기의 수신, 송신 IP 프로토콜은 동일
✔ 이더넷 프로토콜은 변경됨
- 수신한 이더넷 프로토콜
- 송신할 이더넷 프로토콜
위와 같은 방법으로 B까지 도달
♦ IPv4의 조각화
- 큰 IP 패킷들이 적은 MTU(데이터의 최대 전송 단위. Maximum Transmission Unit)를 갖는 링크를 통하여 전송되려면 여러 개의 작은 패킷으로 쪼개어/조각화 되어 전송돼야 한다.
- 즉, 목적지까지 패킷을 전달하는 과정에 통과하는 각 라우터마다 전송에 적합한 프레임으로 변환이 필요하다.
- 일단 조각화되면, 최종 목적지에 도달할 때까지 재조립되지 않는 것이 일반적이다.
- IPv4에서는 발신지 뿐만 아니라 중간 라우터에서도 IP 조각화가 가능하다.
- IPv6에서는 IP 단편화가 발신지에서만 가능하다.
- 재조립은 항상 최종 수신지에서만 가능하다.
- MTU = 3,300byte일 때, IPv4 프로토콜이 20byte이므로 감안해서 data는 3,300 - 20 = 3,280byte 단위로 쪼갠다.
- offset에 들어가는 수가 크므로 offset을 쓸 때는 8로 나눈다.
- 3280 / 8 = 410이므로 두 번째 패킷의 offset이 410이다.
- MTU가 걸러지는 시점은 IP 헤더가 붙은 직후이다.
✔️ 실습
와이어샤크로 192.168.0.100 -> 192.168.0.51 ping 요청한 후 패킷 캡쳐
- ICMP는 마지막 패킷에만 붙음
- 마지막 패킷 길이 402 = 360 + 8(icmp) + 20(ip) + 14(이더넷)
출처
'네트워크' 카테고리의 다른 글
#12. [4계층] UDP프로토콜이란? (0) | 2024.05.07 |
---|---|
#11. [4계층] 포트번호의 개념, 분류, 확인 방법 (0) | 2024.05.07 |
#9. [3계층] IP 프로토콜이란? (0) | 2024.05.07 |
#8. [3계층] ICMP 프로토콜이란? (0) | 2024.05.07 |
#7. [3계층] ARP 프로토콜의 개념과 통신과정 (0) | 2024.05.07 |