3/26 네트워크 정리

ip header의 길이는?
ip (ihl)헤더는 4비트-> 총 ip_4 헤더의 크기 20바이트
ip header 구조상 필요한 어떤 정보들을 포함 하는가 ?>
필드에 들어가는 값
version(4비트) : 아이피 버전이 들어감
Header Length 4비트 : 아이피 헤더의 길이를 32비트 단위로 나타냄
Type-of-service flags : 서비스의 우선 순위 번호별
0 : 보통 -> 보통의 데이터로 취급, 대부분의 ip 데이터는 이쪽에 속함
1: 최소화 -> ip가 가장 비용이 적게 드는 경로를 통해 패킷을 라우트 할 것을 요구하는 경우
2:신뢰성 최대화 -> ip가 가장 신뢰성 있는 네트워크를 통해 패킷을 라우팅할 것을 요구
4: 처리량 최대화 -> ip가 가장 신뢰성 있는 네트워크를 통해 패킷을 라우팅할 것을 요구 할떄
8:지연 최소화 -> ip가 보통 데이터 보다 더 신속한 패킷의 라우트를 요구 하는 경우
15:보안 최대화 -> ip가 가 가장 안전한 경로를 통해 패킷을 라우트를 요구 할 때
토탈 length -> 상위 계층에서 data + 헤더 받은 값에서 총 바이트 크기 (프레그먼트가 됐으면 바이트 단위로 계산)
프레그먼트 offset(13비트) : 데이터를 담을 양 바이트 담김 첫번째 수로 표기
*여기서 프레그먼트의 예시를 들면*
5000바이트의 크기를 한번에 보낸다 치면 MTU는 1500이다.
MTU는 데이터링크 계층으로 보낼 최대 바이트 수
IP헤더의 크기는 20 ~60바이트이다.
최소 IP 헤더가 20바이트 이면 ....... 상위 계층으로 부터 1480바이트를 받아야 한다.
PING을 치면 커맨드창에 5000바이트를 한번에 보내는 명령어를 치고
보내면 데이터를 0~1479 ip flag는 M=1 , 1480~2959(1480 바이트) flag는 M=1 , 2960~4440(1480바이트)/ ip flag는 M=1 를 보내고 ICMP는 Frag m=0, d=0 나머지 바이트
fragement offset의 순서 = 0
fragement offset의 순서 = 1480
fragement offset의 순서 = 2960
fragement offset의 순서 = 4440
/total legnth = 1500
/total legnth = 1500
/total legnth = 1500
나머지 500
4개의 정보를 만들고 조각으로 나눠서 fragmentaion을 해서 아래 계층으로 보내고 추후 fcs, 데이터링크 계층에서 헤더 붙고 해서 1514바이트됨 -> 도착지에서는 프레그먼트 아이디를 보고 다시 패킷을 재조립
프레그먼트 아이덴티피파이어(16): 데이터가 프래그먼트 되었을 때 조각을 다시 결합기 위해서 목적지에서 할려고 식별 용도
프레그먼트 플래그(3비트) : 플래그 0은 false, 플래그 1은 true 라고 생각
ip flags x는 예약된 flag
ip flags D는 프레그먼트 안함
ip flags m은 더 프레그먼트화 해야함
TTL(8비트) : 데이터를 전달 할 수 없는 것으로 판단되어 소멸되기 이전의 데이터가 이동할 수 있는
단계수0이 되면 라우터는 패킷 버림
Protocol identifier 8bits :상위 계층의 프로토몰 tcp, udp, icmp, igmp등 적어 놓음
header checksum(16비트)
ip 헤더의 체크섬을 저장
src ip address (32bits) 출발지 ip주소
dst ip address (32bits) 출발지 ip주소
---------------------------------------------------------------------------------------------------------------------------------------------------
ip를 전송하다가 여러가지 이유로 라우터가 패킷을 drop한다
에러를 알려주는 프로토콜은?
->icmp
icmp프로토콜 가장 많은 에러를 발생되는 type의 값과 의미
destination unreachable, time exceeded, redirect, source quench

0 : 에코 응답
3 : 수신처 도달 불가능
4 : 발신 제한
5 : 라우트 변경
8 : 에코 요구
11 : 시간 초과
12 : 파라미터 불량
13 : 타임스탬프 요구
14 : 타임스탬프 응답
15 : 정보 요구
16 : 정보 응답
17 : 주소 마스크 요구
18 : 주소 마스크 응답
--------------------------------------------------주요 icmp 에러 응답 메시지
현재 RFC 6335 3개로 분류 <-포트의 번호 번위로 클라이언트 및 서버를 구분한다.
System port 1~1023 : 서버용 포트
user port (1,024~49,151) :기업에서 주로 사용 레지스트리 / 서버용 포트(업체마다 다름)
dynamic port (private port) : 49,152~65,525 : 클라이언트 포트 라고도 불림
--------------------------------------------------------------------------------------------------------------------------------------
윈도우 운영체제에서 tcp upd 세션 정보를 확인하는 명령어는>?netstat -na
icmp 프로토콜로 사용되는 os상의 유틸리티 명령어는 ? => ping? , tracert
------------------------------------------------------------------------------------------------------------------------------------
<사설아이피는 내부 인터넷은 상관 없는데 외부로 연결 할때는 공인 ip주소로 바꿔야한다 뭘로? NAT으로>
사설 ip 주소대역
A class 10.x.x.x (사설일때) 10.0.0.0/8 10.0.0.0~10.255.255.255
B class 172.16~31.xx 172.16.0.0/12 172.16.0.0~172.31.255.255
<B 클래스는 16개 있음 31-16=15 인데 총 16개 +1함>
172는 8비트로 이루어져 있는데 16부터 31을 2진수로 바꾸면 앞에 4비트는 같음
그래서 서브넷 마스크는 12임 B클래스이지만 원래는
C class 192.168.xx 192.168.0.0/16 192.168.0.0 ~192.168.255.255
Class 예시 <-사설 ip 주소 c class
192.168.0.0/24 ~ 192.168.0.255
192.168.1.0/24~ 192.168.1.255
....192.168.255.0~192.168.255.255
--------------------------------------------------------------------------------------------------------------------------------------------
아래는 ip a b c d e 클래스 범위
| 클래스 | 십진수 | 이진수 |
| A | 1~127 (0.0.0.0 ~ 127.255.255.255) | 0XXX XXXX |
| B | 128~191(128.0.0.0 ~ 191.255.255.255) | 10XX XXXX |
| C | 192~223 (192.0.0.0 ~ 233.255.255.255) | 110X XXXX |
| D | 224~239 | 1110 XXXX |
| E | 240~254 | 1111 XXXX |
D E 특수용도 E는 실험실 연구용