인터넷 주소를 구분하는 방법은 인터넷 클래스로 구분하는 방법이 있다.
ip주소는 32비트로 구성
보통 abc 클래스를 사용
d클래스 멀티캐스트
e클래스 예비용
a - 첫바이트 정의 2에 24승
b - 두번째까지 2에 16승
c - 세번째까지 2에 8승
제일 작은숫자 제일 큰숫자는 사용불가 (0은 네트워크 주소 255는 브로드캐스트 주소)
같은 그룹이 아니면 서로가 통신이 안된다.
로칼 네트워크는 혼자서 가능
원격 네트워크(리모트 네트워크)는 디폴트게이트웨이에 의지(위탁)
A반 서로 이름불러서 통신 (로칼)
B반은 문에다가 누구를 세워놓고(디폴트 게이트웨이) 통신을 한다. (원격 네트워크)
자기 ip주소를 보고 클래스를 확인한다. 만약 c클래스고 3덩이가 같다. 같으면 로칼 다르면 리모트 (인간적인 생각)
ip가 가진 주소를 서로 파악해서 같은 네트워크인지 확인하고 로칼, 리모트 구분한다.
네트워크 주소를 어떻게 끄집어내는지
앤드 연산을 한다 a 앤드 1(항등원) = a, a 앤드 0 = 0 그래서 네트워크 주소만 뽑힌다.
서브넷 마스크가 자기가 속한 네트워크 주소를 뽑아낼수 있는 거다
기본 게이트웨이 - 로칼이 아닌 리모트를 할 때 필요하다.
cdns서버주소 - 없으면 불편 ip주소를 직접 입력해야함
ip주소를 2진수로 나열, 서브넷 마스크를 2진수로 나열 비트가 앤드연산을 함 그럼 네트워크 주소가 나옴 목적지와 나의 네트워크 주소를 비교연산한다. 같으면 로칼 다르면 리모트
예) c클래스 경우 xxx.xxx.xxx.125, 255.255.255.0 앤드연산 -> xxx.xxx.xxx.0
xxx.xxx.xxx.128, 255.255.255.0 앤드연산 -> xxx.xxx.xxx.0 서로 네트워크 주소가 같음
ip 프로토콜(배스트 에폴트 프로토콜, 무책임)은 비연결형이다. TCP 연결형 UDP 비연결형
연결형은 계속 연결해서 반응을 한다. (전화, TCP(쓰리웨이 핸드쉐이킹)) 연결형은 콜 셋업을 해야함 TCP는 쓰리웨이 핸드쉐이킹 방식으로 셋업을 한다.
비연결형은 일방적으로 때린다. 보내면 끝
인터넷 통신이 복잡한 이유가 효율을 높여야 하기도 하고 거미줄처럼 연결되어 있다.
데이터를 보낼때 여러가지에 경로가 있다.(가장빠른경로로감) 하나의 데이터가 쪼개져서 여러 경로를 통해서 갈수도 있다. 그러면 문제가 발생하는데 도착시간에 차이가 생길수있다.
TCP는 이런 문제가 생겨도 해결할수있다. UDP는 안됨
ip를 쓰기 위해서 데이터에 최소 20바이트를 붙힌다.(헤더) 발신지(송신지)의 ip주소 수신지의 ip주소(4바이트), 버전(ip버전 4, 6), 헤더의 길이( 01010101010101011101 이런식으로 데이터가 가니 길이도 알아야한다. 어디부터 어디까지가 길이인지 컴퓨터는 모른다, 가변적(옵션)이기도 해서 알아야 한다), DS필드(우선순위결정), 토탈랭스(전체 ip의 길이)
데이터가 4계층에서 짤려서 날라가는데 4계층에서 이미 짤려서 내려와있다 ip는 3계층이기 때문 ip패킷의 최대크기는 1500바이트. MTU(맥시멈 트랜스퍼 유닛) 만약 중계기가 MTU가 500이다. 그럼 1500을 받아도 500만 보낸다 1000바이트는 유실됨. 그럼 최대크기를 줄이라고 한다. 그럼 ip패킷이 다시한번 쪼갠다 (4계층에서 또 못쪼갬) 저기 id fl fr 여기가다 여기서 쓰는거다. Ttl은 무한루프를 방지 좀비패킷이 돌아다닌다. (죽어야하는데 안죽고 계속 살아있는거, 계속 리소스(메모리)를 처먹고있다. 보통 윈도우은 128을 둠 라우터(네트워크 장비)를 지날때마다 한개씩 차감해서 0이되면 결국 사망함) 프로토콜(상위 프로토콜이 뭔지), ... 얘 뒤에 붙은게 세그먼트
댓글 없음:
댓글 쓰기