728x90
복습하기 위해 학부 수업 내용을 필기한 내용입니다.
이해를 제대로 하지 못하고 정리한 경우 틀린 내용이 있을 수 있습니다.
그러한 부분에 대해서는 알려주시면 정말 감사하겠습니다.
▶Introduction
- Internet Protocol(IP)은 네트워크 layer에서 TCP/IP procotol에 의해 사용되는 전송 메커니즘이다.
▶Datagrams
- 네트워크(인터넷) layer의 packet을 'datagrams'이라고 한다.
- Datagram은 header와 data의 두 부분으로 구성된 가변 길이 packet으로 구성된다.
- header의 길이는 20 ~ 60 Byte이며 routing 및 전송에 필수적인 정보를 포함한다.
- TCP/IP에서는 header를 4Byte 섹션으로 표시하는 것이 일반적이다.
Header : Control 정보 - 오류 나면 의미 없어진다.
VER (4bit) : 0~15까지 기능, 지금은 ver6까지 있다.
HLEN (4bit) : 단위는 word(4Byte), 최대 15*4 = 60Byte
Service type (8bit) : 뒤에 데이터가 어떤 데이터인지... (잘 안 쓰인다.)
Total length (16bit) : Header + Data 전체 길이
Identificatoin (16bit) : packet ID (flagmemtation 하고 관련)
Flags (3bit) : fragment 됐냐 안됐냐?
Fragmentation offset (13bit) : 상대적인 위치
Time to live (TTL / 8bit) : 생존 시간, packet이 얼마나 살아 있나? (단위 hop)
ex. 10 hop → router 10개 거칠 수 있다.
packet이 안 죽고 무제한 돌면 문제가 생기니까 제한을 둔다.
총길이 field는 header를 포함한 Datagram의 총길이를 정의한다.
→ header + data의 length
MTU (Maximum Transmission Unit)
▶Fragmentation
- Datagram은 다른 네트워크를 통해 이동할 수 있다.
- 각 router는 수신한 frame에서 IP datagram의 캡슐화를 해제하고 처리한 다음 다른 frame에 캡슐화한다.
- 수신된 frame의 형식과 크기는 frame이 방금 이동한 physical network에서 사용되는 protocol에 따라 달라진다.
- 전송된 frame의 형식과 크기는 frame이 이동할 physical network에서 사용되는 protocol에 따라 달라진다.
datagram안에 data만 쪼갤 수 있다.
header는 쪼갤 수 없다.
D (Do not fragment) : 쪼개지마 → 없애고 다시 요청
M (More fragments) : 쪼개졌다.
원래 3bit지만 실제로는 2bit만 쓴다.
00 : 쪼갤 수 있는데 쪼개지 않는다.
01 : 조갤 수 있는데 쪼갠다.
10 : 쪼갤 수 없다.
11 : 올 수 없다.
(header를 뺀)
flag 3bit를 쓰니까 8로 나눈다.
▶Options
- IP datagram의 header는 고정 부분과 가변 부분의 두 부분으로 구성된다.
- 고정 부분은 20Byte 길이를 가진다.
- 변수 부분은 최대 40Byte의 option으로 구성된다.
- 이름에서 알 수 있듯이 datagram에는 option이 필요하지 않다.
- 네트워크 테스트 및 디버깅에 사용할 수 있다.
- Option이 IP header의 필수 부분은 아니지만 IP software의 option 처리가 필요하다.
Single-byte
No operation
End of option
Multiple-byte
Record route (111) : router 정볼르 채워 넣어라.
ex. max route 개수는? 40/4=10? No! type 1개 빼고 9개
Strict source route (1001) : (엄격하게) 없앤다.
Loose source route (11) : 그냥 보내라.
Timestamp (100) : 시간 잴 때
source route : 어디 어디 가라 경로를 미리 지정
NO-OP : 4의 배수 채우려고 (padding)
마음대로!
routing rule 위반
시간 잴 때
▶Checksum (3번째 라인 16bit)
- 대부분의 TCP/IP protocol에서 사용되는 오류 탐지 방법을 checksum이라고 한다.
- checksum은 packet 전송 중에 발생할 수 있는 손상으로부터 보호한다.
- packet에 추가된 중복 정보이다.
- checksum은 보낸 사람에서 계산되고 얻은 값은 packet과 함께 전송한다.
- 수신기는 checksum을 포함한 전체 packet에 대해 동일한 계산을 반복한다.
- 결과가 만족스러우면(아래 참조) packet이 수락되고, 그렇지 않으면 거부한다.
마지막에 result가 0 : 문제가 없다.
0이 아니면 문제가 발생
IP의 checksum은 data가 아닌 header만 포함한다.
728x90
'컴퓨터공학 > 컴퓨터망' 카테고리의 다른 글
[컴퓨터망] Internet Control Message Protocol Version4 (ICMPv4) (0) | 2022.07.02 |
---|---|
[컴퓨터망] Address Resolution Protocol (ARP) (0) | 2022.07.02 |
[컴퓨터망] Delivery and Forwarding of IP Packets (4) | 2022.06.30 |
[컴퓨터망] IPv4 Addresses (0) | 2022.06.30 |
[컴퓨터망] Introduction to Network Layer (0) | 2022.06.29 |