ip 프로토콜 학습
ip 패킷에 해당하는 필드들을 다 합해보면 총 20바이트가 나온다. tcp 헤더 역시 20 바이트가 나온다. 인터넷상에 존재하는 패킷들 대부분 tcp segment들을 담은거겠지? 그래서 쉽게 => tcp 패킷
이라 불리는데 이걸 보면은 ip 헤더, tcp 헤더 / 헤더만 40 바이트 나머지는 실제 애플리케이션 메시지다. 그래서 기본적으로 애플리케이션 메세지에다가 40 바이트 오버헤드가 덧붙여져서 간다.
그런데 인터넷에 돌아다니는 패킷들을 조사해보면 달랑 40 바이트 패킷들이 많아 왜일까? => tcp ack들이다 ! 파일 전송 보낼 때 데이터 보내지 않고 ack 만 보내니까 ~~
보통 ip 주소는 하나씩 가지고 있는데 특수한 예가 있다 =>특수한 컴퓨터? 라우터 : 인터페이스 여러개 두면서 각각 다른 네트워크 연결되어 있고 각각 ip 주소를 갖는다.
같은 네트워크에 해당하는 host들은 같은 네트워크 id를 가지도록 했다.
과거에 어떤식으로 ip주소가 네트워크에 붙어있는 기관에 배분됐는지 말해보자
8비트 단위로 끊어졌었음 !
야!너무 유연하지 않잖아. 클래스 개념 없애 !!!
=> CIDR 탄생
현재 우리가 사용하는 ip주소는
32비트 짜리 주소공간이고, 인터페이스를 지칭한다.
실제 내부적으로는 앞부분 네트워크 id , 뒷부분은 host id로 되어있다.
32비트 공간 의미는 이론상으로 인터넷에서 host 전체 몇개까지 지원 가능한거냐 ? ip 버전4는 2의 32 승 host 가능 (40억 정도) 처음에 70년대 초에 아이고 많다 ! 했음. 갑자기 인터넷이 상업화되면서 90년대 초부터 불길해짐,,, ㅋㅋ 95년 인터넷이 상업화되었을 때 기하급수적으로 host 개수가 늘어나면서 몇 년 내로 주소 공간 고갈 ,,, 그래서 앞으로 새로운 버전으로 나가자. 95년부터 디자인한게 ip버전 6,, 128 비트 필드로 바꿨다. 2의 128승 host 지원 가능하다. 이건 셀 수가 없음. 주소공간을 걱정하지 않게 됐음. 이게 1996년 이야기다. 올해 2015년 ip 버전 4 쓰고 있다... 왜그러냐? 디바이스 엄청 많잖아. 최소 3-4개씩 갖고 있으니까 ip 주소 공간 넘어선지 오래다. ip 버전 4로 어떻게 버티나? 공간자체는 고정되어있는데, 사용하는 사람은 많다? 사람들이 주소 공간을 공유하면서 쓰고 있구나!!! 그 트릭이 => NAT(Network address translation) 트릭이다 ~~~ 근본적으로 해결한게 아니라 트릭으로 버티고 있기 때문이다 ~~ 좋은 기법만은 아니야
인터넷 상에서 데이터를 주고 받기 위해서 고유한 ip 주소를 가지고 있어야 하는데, 고유한 ip 주소를 갖는 주소 공간이 부족하다. 그래서 nat 사용 방식이서는 ~
한양대 네트워크에서는 ~ 이 둘이 고유한 ip 주소를 사용한다. 그런데 이 ip 패킷이 외부로 나가면 안돼 ! 나갈 때에는 nat 기능을 하는 게이트웨이 라우터의 이건 전세계적으로 유일해 .
문제1) 계층 violation
문제2) 서버를 사용할 수 없음(이걸 깊이 생각해봐)
NAT 를 사용하면 서버를 사용할 수 없는 이유, 사용하려면 굳이 어떻게 해야할지를 생각해보세욤 !
ip주소는 host의 interface 찾아갈 때 쓰는 것
port 넘버는 host를 찾아가서 host 내부에서 process를 찾아갈 때 쓰는 것