1. 인터넷
인터넷이 있는데, 자 요 인터넷 하는 과정을 이야기 해봅시다
인터넷 집에서 인터넷 쓰는데, 인터넷이 어케 돌아가는지 한 번 보자
인터넷은 뭐 인터넷이고
한 국가가 쓰는게 아니라 범 지구적으로 씀. 인터넷 프로토콜 = 약속, 한 국가의 대통령이 방문한다? 국문총리가 나가있고.. 이런거 프로토콜임
가. 개요
나. ARPANET
처음에 나온 것 소련 냉전시대떄 미국의 고민이 통신-전화-를 소련이 핵공격으로 통 교환기를 파괴시키면 전체 네트워크가 마비가 되는게 문제였음. 반격이 불가능함. 근데 배런이라는 수학자가 분산형 스위칭 시스템을 제안함. 무슨말이냐 처음에는 그냥 통신하고 있어요. 근데 소련이 공격해서 그 지역 네트워크를 공격했네? 그럼 직접 그 동네까지 가야함. 근데 그 당시 스위치가 사람의 개입 없이 스스로 방향을 바꾸게 하는 것임. (바둑판 모양) 그래서 반격할 수 있게 하는거, 이게 알파넷 -.> 펜타곤에서 만듦
소련,냉전, 핵전쟁
톨 교환기(시외 전화국), 전화 중심, 우리나라에도 혜화 교환국이 서울시내 톨 교환기임. 군인이 지키고 있음.
알파넷 = 인터넷의 시조
다. 네트워크 표준화
표준을 지켜야 수출이 가능함. 표준을 안 지키면 제품이 안 돌아감, 이게 표준이 OSI에서 재정했음.
라. DNS 서버
사람은 네이버, 다음 기억함. 근데 네이버 아이피 주소 기억 못함. 다음 아이피 ㅂ주소 기억 못함. 그래서 이걸 관리해줘야하는데 그게 마로 도메인 네임 시스템DNS임. 사용자가 구글.컴을 켬. 그럼 DNS에서 구글 닷컴의 아이피 어드레스를 알려줌. 그게DNS임.
제어판 설정
집에서는 DHCP로 자동 아이피씀. 100만개의 IP를 KT가 가짐. 고객은 300만명이라면, IP가 부족하지만 300만명이 동시에 IP를 이용하진 않고 1/3만 이용하더라.. 돌려막기임. ㅎ
회사에서는 IP부터 DNS까지 다 세팅함. -> 고정아이피임. 내 IP에 박힌 아이피가 바뀌지 않음. 로그에 남기려고하는거임. -> 나중에 책임물리려고 하는거임.

이더넷 프레임을 모두 채워야 인터넷이 됨.
수신자맥-송신자맥=송신IP-수신IP-송신Port-수신Port-Data-FCS
이렇게 있으면 송수신 포트 80 웹서버->웹서버
송신 아이피=나, 수신 아이피 = DNS 물어보고 받아오기 -> 도멩인 이름을 논리적인 IP로 바꿔줌.
수신자 맥 = 나랑 붙은 첫번 째 라우터의 맥 어드레스 -> ARP 프로토콜로 물어봐야 함. -> 기본 게이트 웨이임. 컴퓨터 켜면 기본 게이트웨이에게 니 맥 아이디 뭐냐고 물어봄.
송신자 맥 = 내 맥어드레스
마. MAC 프레임 구조
맥프레임은 2계층에서 만들어 지는 데이터임. 맥프레임=이더넷 프레임.
맥프레임은 OSI7 레이어가 내 pc에 논리적으로 숨은거임. 내가 이메일을 써서 샌드를 누르면
응용
-> 전송(TCP세그먼트, 송수신, 시퀀스, 어액프리신핀)
-> 네트워크(ip 패킷, 송수신 ip주소, 버전, 헤드랭스,)
-> 데이터링크(수송신 맥 어드레스, 에러제어 코드, 이더넷 프레임이라고도 함, 송신자 맥 어드레스 = 내 pc에 꽂혀있는 렌카드의 맥 어드레스, 수신자 맥 어드레스는 나랑 붙은 첫번쨰 장치에 꽂혀있는 맥 어드레스, 장치-장치=링크) -> 맥은 링크를 하나 건널 때마다 바뀜.
| 수신 MAC |
송신자 MAC | 송신 IP |
수신 IP |
송신 Port |
수신 Port |
Application Data | FCS | ||||
| TCP 세그먼트, 송수신 포트, 시퀀스(카운터), 어액프리신핀 | |||||||||||
| IP 패킷 -> ip 패킷, 송수신 ip주소, 버전, 헤드랭스: DNS | |||||||||||
| MAC 프레임(이더넷 프레임) -> 맥, 렌카드, ARP | |||||||||||
인터넷을 하려면 이걸 채워야함.
내 아이피는 내 제어판에 있어서 아니까 앎, 맥은 전원을 켜면 옆에 애한테 물어봄.
바. 웹서버 연결
나랑 붙어있는 첫 번째 라우터의 IP = 게이트웨이의 IP
-> 셋팅하고 껐다 켜야 연결됨. 켜질 때 ARP가 작동하니까...
OSI 7 레이어가 숨어있음. 포트 넘버 = TCP세그먼트 -> 네트워크(DNS: 아이피 채우기) -> 데이터링크(맥 어드레스는 ARP로 물어봄. 그럼 인터넷이 됨. 이놈의 맥 주소를 물어보는게 ARP)
장치와 장치간을 링크라고 부름. -> 맥주소는 링크마다 달라짐.
DNS도 두개로 물어봄.
둘 중에 먼저 답변 오는 놈은 받고요 뒤에 오는 답변은 무시함.
2. ARP와 RARP
ARP -> 맥 주소 가져옴
IP주소를 이용해서 라우터 랜카드의 어드레스를 받아오는 것
-> 논리적 주소를 이용해서 렌카드의 논리적 주소를 찾는 일
ARP, RARP = 3계층 프로토콜
가. 개념
나. 정적 매핑과 동적 매핑
1) 정적 매핑 -> 거의 없음.
2) 동적 매핑 -> 거의 이거 쓰고 그냥 전원 끄고 켜면 알아서 자기 맥 주소 알려줌,내 컴퓨터가 알아서 세팅이 되어있음.
다. ARP 동작과정
내가 아침에 전원을 켜면 라우터 ip에 맞춰 이 ip는 나한테 맥주소 알려줭~ 함. (브로드 캐스트 함) 그럼 해당 라우터가 맥 주소 알려줌. -> 응답은 유니캐스트(1:1 전송)로 알려줌. -> 서로를 알게 됨.
1) ARP 서비스가 사용될 수 있는 경우
라. RARP
DHCP, 내 PC에 IP주소가 필요해, 그럼 라우터에서 내 맥주소를 알려주면 라우터가 내가 쓸 IP주소를 넘겨줌. 이게 RARP
KT의 DHCP서버에 맥 주소를 보내면 IP를 발급해줌. (구조는 RARP인데, 이거로 대체되어서 RARP를 자주 쓰진 않게 됨.)
1980년 과학자들이 편지지를 만든거임. 보내는 사람 = 송신자 IP, 받는 사람 = 수신자 IP
편지를 붙이려면 우체국의 위치를 알아야 함 = 라우터
집에서는 유동아이피(DHCP), 회사는 고정아이피(로그 남겨서 추적해야함)
3계층 라우터는 내 아래있는 pc들의 Ip어드레스와 MAC주소를 알아야해. 아침에 컴퓨터 전원을 켬, 그럼 해당 PC가 ARP함. 그럼 서로의 IP를 알게됨. 그럼 라우터에 ip와 맥 주소 리스틀가 생김.
L2 스위치도 자신 아래에 있는 pc들의 mac주소를 받음. 1포트에 ㅇㅇ:ㅇㅇ:ㅇㅇ:ㅇㅇ:ㅇㅇ:ㅇㅇ이 있구나, 하면서
근데 L2 아래 L2(1)있을 수 있잖음 그럼, 2포트에 L2에 해당하는 PC들의 맥 주소를 저장함 세개라면 2포트에 ㅇㅇ:ㅇㅇ,ㅇㅇ:ㅇㅇ,ㅇㅇ:ㅇㅇ이런식으로 표기 됨.
그 아래 허브를 넣을 수 있고, 이건 충돌도메인(CSMA/CD), 해커가 프리스퀘어스 모드로 스위치 재밍하면서 스니핑 공격할 수 있음.
마. Proxy ARP
다른 장치를 대신해서 ARP 응답을 보내는 기술
💡 왜 사용하나요?
가장 큰 이유는 서로 다른 네트워크(Subnet)에 있는 장치들이 마치 같은 네트워크에 있는 것처럼 통신하게 만들기 위해서입니다.
- 호스트의 설정 간소화: 호스트가 디폴트 게이트웨이 설정을 모르거나, 서브넷 마스크 설정이 잘못되어 외부 네트워크를 내부 네트워크로 착각할 때 통신을 도와줍니다.
- 네트워크 구조 숨기기: 외부에서는 내부의 복잡한 구조를 알 필요 없이 라우터하고만 통신하면 되므로 보안이나 관리 면에서 이점이 있습니다.
⚙️ 동작 원리
- 호스트 A가 다른 네트워크에 있는 호스트 B의 IP로 데이터를 보내고 싶어 합니다.
- 그런데 호스트 A는 호스트 B가 자기와 같은 네트워크에 있다고 착각하고 ARP Request를 뿌립니다. ("B야, 맥 주소 뭐야?")
- 원래라면 라우터를 넘어가지 못해 응답이 없어야 하지만, 중간에 있는 라우터가 호스트 B로 가는 길을 알고 있다면 대신 응답합니다. ("내가 B 대리인이야. 내 MAC 주소로 보내!")
- 호스트 A는 라우터의 MAC 주소를 받아 데이터를 보내고, 라우터는 이를 받아 실제 호스트 B에게 전달합니다
3. TCP 3-way Hand Shake
가) 개념
이더넷 프레임 채우고 진행됨. 우리 통신할까?
나) 설명
다) 작동 방식
웹브라우저가 웹 서버에 싱크를 보냄,
웹서버는 싱크+애크를 보냄
웹 브라우저는 애크를 보냄.
-> 그럼 이제 해당경로 셋팅되고(세션이 성립됨) 광속보다 조금 느리게 데이터를 주고 받음.
세션이 설정되면 웹브라우저가 웹서버에 리퀘스를 줌 그럼 웹서버는 데이터를 줌 때 주고 받는 데이터가 태그임.
내 pc의 웹 브라우저는 태그밖에 있는 텍스트를 태그 안에 있는 규칙에 따라 내용을 띄움. (오늘의 뉴스~ 희희)
다 보내면
웹서버가 FIN 보냄, 그럼 응답으로 FIN+ACK 보냄, 그럼 응답으로 ACK 보냄.
왜 이렇게 함?
여기있는 수많은 라우터들은 나만쓰는게 아니라 다른 사람도 써야해서 메모리를 지워주는거임. 서버가 먼저 끊기도하고, 클라이언트가 끊기도 하고
어액프리신핀으로 3웨이 함.
첫 싱크 000010 응답으로 010010, 애크는 010000
복습!
내가 지금 앉아서 글쓰고 샌드 누르면
응용계층 = 데이터 만듦
표현계층 = 표현 형태 바꿈+앞에 헤더 붙임
= 동기신호 붙임
= 잘게 쪼개고 YCP 헤더 붙여서 TCP세그먼트 만듦
= IP헤더 붙여서 IP 패킷 만들고 -> 종단간 담당
= MAC+ 테일러 붙여서 맥프레임(이더넷 프레임) 만들고 보냄. 링크라는건 장치와 장치의 관계임. 이 송신자와 수신자는 건너 뛸때마다 계속 바뀜. -> 링크 담당 -> 건너 뛸때마다 홉이 하나씩 줄어듦, 장치를 건너 뛸때 홉이라고 함. -> 맥주소는 ARP로 알아옴.(브로드캐스트->유니캐스트), 모든 라우터는 인접 장비의 MAC주소를 받아 알고 있음. -> 라우터마다 수많은 PC가 있음. 나의 IP어드레스와 맥 주소를 라우터가 알고 있음. 내 PC의 렌카드의 맥 어드레스를 라우터가 셋팅하고 있음. 해당 이동 아이피에 따라 맥프레임을 맞춰 이더넷프레임을 보냄, L2에서 받아서 맥을보고 전송시킴. 쭉 가서 1계층까지 감
= 비트스트림( 1계층 허브는 모든 PC들에게 정보를 뿌림. 근데 나한테 오는 정보가 아니면 버림. 아니면 받음)
-> 이러면 도착~
-> 3웨이 핸드쉐이크 시작(셋팅)되고, 그리고 여기있는 장치들의 메모리가 셋팅이 됨.
링크는 계속뭐가 바뀜 건너뛸 때마다, 링크의 구조는 계속 바뀌면서 ㅅ신자에 날라옴. 한 번 온게 싱크, 싱크액크, ㅇㅑㄱ크, 데이터 주고 받고, 세션 해제 하는게 3웨이
4. 링크와 종단 간 담당
가) 데이터 링크
장치 간 링크
나) 종단 간 프로토콜
3계층 연결
5. 반송파 감지 다중접속
1) 개념
클라우드가 인터넷이고 인터넷에는 수많은 라우터가 있고, 어딘가에 웹서버도 있겠지. 이동통신 프로토콜이 있고, 이걸로 통화함. 근데 요즘은 휴대폰으로 인터넷도 함. 근데 이동통신 프로토콜과 인터넷 프로토콜은 달라서 이종망간 연결 장비가 필요하고 그게 게이트웨이임.
어딘가에 와이파이가 있음. 인터넷 할 때 앞서 한거보다는 와이파이로 연결하는게 더 가까움(과정이 줆)
내가 l2 스위치의 l2스위치의 l1허브에 있다고 가정하고, 기본게이트웨이를 연결한다면 나랑 붙어있는 첫번째 라우터가 기본게이트 웨이이고 ARP해서 기본게이트웨이 MCA를 획득 해야함. 기본 통신을 해서 라우터 아래있는 PC들의 IP와 맥주소를 알고 있음. 내가 내 컴퓨터의 전원을 켜면 ARP하니까. 라우터 테이블에 아이피와 맥 어드레스 올라감. 스위치MAC 주소테이블에도 올라감. (처음에 스위치는 Flooding하고, 응답이 오면 스위치는 포트와 MAC 주소를 학습테이블에 추가함)
유선은 CSMA/CD
무선(와이파이) CSMA/CA
2) 종류
가) CSMA/CD: 유선, 감지(Detection)
나) CSMA/CA: 무선 ,회피(Avoidance)
3) CSMA-CD
가) 개념
IEEE 802.3이 표준임.
허브를 쓰면 그 자체가 충돌 도메인이 되고, 정상적인 랜카드는 일단 받지만 수신자 맥 주소가 내꺼가 아니면 버림. 근데 내가 맞으면 받음. 허브를 쓰면 그 자체가 충돌 도메인임. 전기 신호가 모두에게 감. 세 사람이 줄을 잡고 있어요. 만약에 그 중 한 명이 데이터를 보낸다-줄을 흔든다-면 나머지 둘은 줄을 들고만 있어야지. 줄 흔든애가 데이터를 보내는 걸 알 수 있음.
나) 반송파 감지 다중 접속/충돌 탐지
송신자와 수신자가 있음. (충돌 도메인 안에) 송신자가 데이터를 보낸다는 건 랜카드에서 송신자가 데이터를 보냄. 응용->물리로 데이터가 쭉 감. 랜카드에는 송신버퍼와 수신버퍼가 있는데, 랜카드 송신버퍼에 데이터가 쌓임. 랜카드는 ㅇㅎ 내가 지금 송신버퍼에 데이터가 있으니까 전기를 보내야겠네~ 하는게 CSMA/CD임. 즉, 전송데이터를 확인했다는 송신버처에 데이터가 있다는 말임. 그럼 첫번 째 하는 일이 Carrier Sense가 수신 버퍼를 확인하고 수신버퍼에 뭔가 데이터가 있으면 충돌 도메인에 있는 다른 호스트가 데이터를 보내고 있다는 의미이기 때문에 다시 위로 올라가서 기다림. 기다리다가 캐리어센스를 보니까 값이 없네? 그러면 송신버퍼를 보냄. 보낸 다음에 충돌을 확인함(Collision Detection: 수신버퍼를 확인) 근데 수신버퍼에 값이 있으면 충돌난거라 그럼 백도어(위로 올라가기)함. 근데 데이터가 없으면 전송완료함.
임의 시간동안 대기한 다음에 다시 시작한다.
--> 타임이 정확하게 맞지 않고 살짝 어긋나있음.
4) CSMA-CA: 전파, 와이파이
가) 개념
전파는 방향성이 없음. 사방팔방 360도로 퍼짐. 그러다보니 유선에서의 CSMA-CD를 쓸 수 없음. (가는 라인이 정해져있지 않음)
그래서 만들어짐.
전파에 송신자와 수신자가 있고 전파를 주고 받을 때 주변에 있는 애들은 가만히 있어야함.
A,B,C라고 불리는 각각의 노드가 있다고 가정하자.
A노드는 송신자, B노드는 수신자, C노드는 hidden node임.
A가 쏜 전파가 비까지는 갈거임. 비가 쏜건 에이까지 감. 이렇게 에이이비가 통신할 때 씨가 전파를 쏘면 비까지 가겠지. 그럼 충돌남. 그래서 A-b가 통신할 때 C는 전파를 쏘면 안됨. dpdlrk wjsvkfmf에이가 전파를 쏘면 비도 전파를 쏘겠지 이떄 씨는 가만히 있어야함. 에이가 전파를 쏠때 씨가 쏘면 충돌나고 총신이 안됨. 에이가 전파쏠 때 씨는 쏘면 안됨. 에이가 전파쏠때 씨는 쏘면 안됨. 에이가 쏠때 내가 비랑 n초간 통신할거니까 주변놈들 전파쓰지 마셈이라고 알려줌. 근데 C는 A범위보다 멀어서 정보를 받을 수 없음. 그래서 B가 A의 전파를 받은 후 B도 주변에 전파쏘지 말라고 알림. 그럼 씨가 ㅇㅎ 함.
근데 A가 전파를 쎄게 쏴서 얼음~하면 안됨. 전파라는 건 하나의 출력을 세게하면 나머지는 통신이 안되기 때문에 전파법에 의해 출력이 정해져있음.
그럼 방법은?
나) Hidden Node 문제 해결을 위해 RTS, CTS 패킷 이용
A가 RTS를 뿌림 -> 나 이 시간동안 B랑 통신할거니까 이 시간동안 전파 쏘지 마셈: NAV(RTS)를 함
B가 받아서 응답하고 알림(CTS) -> 나 이 시간동안 A랑 통신할거니까 이 시간동안 전파 쏘지 마셈: NAV(CTS)를 함
이걸 C가 받아서 응답하고 기다림.
A와 B는 통신함(Frame)
통신이 끝나면 B는 잘받았다는 신호화 함께 A,C에게 ACK를 보냄
6. 네트워크 계층(3계층)의 IPv4 Addressing
가. 개념 및 등장배경
아이피 주소는 이진수임. 예를들어 내 PC에 IP주소를 확인해보니 121:139:38:45라고 치자. 이걸 이진수로 바꾸면
01111001100010110010011000101101
11111111 = 255 -> 그래서 아이피 주소가 255.255.255.255가 최대인 것
나. IPv4 주소 파악하기
1) 내 PC의 IP주소를 확인한다.
다. 클래스의 구분
1) 클래스의 구분
이런 로직이 내 pc에 있음.
첫번째 아이피의 비트가
0이면 A클래스 아이피
10이면 B클래스 아이피
110이면 C클래스 아이피
1110이면 D클래스 아이피
1111이면 E클래스 아이피
이 로직이 우리 피시에 있음.
2) IP 주소 클래스 범위 설정
| 클래스 | 가장 작은 수 (모두 0으로 셋팅) | 가장 큰 수 (모두 1로 셋팅) |
| A | 00000000 -> 0 | 01111111 -> 127 |
| B | 10000000 -> 128 | 10111111 -> 191 |
| C | 11000000 -> 192 | 11011111 -> 223 |
| D | 11100000 -> 224 | 11101111 ->239 |
3) IP주소 클래스 범위
| 클래스 | 구성 | 범위 |
| A | 0 ~ 127 | 0.0.0.1 ~ 127.255.255.254 |
| B | 128 ~ 191 | 128.0.0.1 ~ 191.255.255.254 |
| C | 192 ~ 223 | 192.0.0.1 ~ 223.255.255.254 |
| D | 223 ~ 239 | 224.0.0.0 ~ 239.255.255.255 |
| E | 240 ~ 255 | 240.0.0.0 ~ 255.255.255.255 |
dkdlvl eo아이피 대역도 몇가지 약속이 있어서 몇 개 빼야함.
0.0.0.0 예약 되어 있음. 네트워크 저네를 나타내는 주소로 제외.
각각 클래스의 첫번째와 마지막주소는 각각 네트워크(첫주소)와 브로드캐스트 주소로 제외한다.
-> 근데 D는 네트워크와 브로드캐스트 안씀.
E클래스는 실험 연구용임.
4) 즉 첫 구분자의 숫자에 따라 클래스가 결정된다.
라. 클래스의 용도
1) 개념

A 클래스는 126개 기관이 1,600만명의 아이피를 부여할 수 있음. 네트워크 아이디는 라우터용, 호스트는 일반 PC 부여용
-> 기관 수가 적고 사람 수가 많음. 이런거 받는 회사는 아메이칸 플랫폼, 한국 KT 등 통신사에서 하나 받음. 하나의 통신사가 1,600만명의 고객 수용가능
B 클래스는 16,000개 기관 6만명, 사실 우리나라 통신사는 이거로 받지 않았을까 싶음 A는 넘 비싸, 예를들어 우리회사에 직원이 5먼명이다. 그럼 B클래스 하나 받으면 되지만, 그렇게 큰 회사는 많지 않지~
C 클래스는 200만개 기관 255명. 근데 2개가 예약되어 있으니까 253명에게만 줄 수 있음;;
이게 설계가 웃긴게, 우리 회사에 직원 5명 밖에 없는데 식당에서 255명분 자리를 줘버림;; 어리둥절..
우리는 5자리만 필요한데... 250자리 어케해...
그래서 CIDR에서의 서브네팅이라는게 생김.
서브네팅: 네트워크를 늘리고 호스트를 줄이는 것
근데 이번엔 직원이 260명이야.. 근데 좌석 255*2를 받을 수는 없자나...
그래서 나온게 CIDR의 슈퍼네팅임.
슈퍼네팅: 호스트를 늘리고 네트워크를 줄이는 것
D클래스는 멀티캐스트, 인터넷으로 축구보고 야구 보는 것.
2) 클래스의 용도
가) A클래스
서브넷 마스크는 255.0.0.0
라우터에게 내가 A클래스에 속해있다고 알려주는 행위를 하는 것임.
나) B클래스
서브넷 마스크는 255.255.0.0
다) C클래스
대부분의 사용자가 여기 포진되어 있음.
서브넷 마스크는 255.255.255.0
라) D클래스
멀티캐스팅 용.
IPv4에서는 클래스 IP를 쓰지만 IPv6에서는 클래스 아이피가 빠짐.
3) 공인 IP와 사설 IP
가) 공인 IP
인터넷 통신용,
나) 사설 IP
호스트 구분용, 이것만 가지고는 통신이 안됨. 근데 왜 쓸까? 특정 네트워크에서 호스트 구분용으로 사용함. 내 맘 대로 씀.
특정 A클래스에서 이걸 사설 아이피로 쓰자고 약속한거임. 규칙이 없음;

인터넷과 연동되지 않는 독립된 네트워크 -> PC구분용으로 쓰자.
집 IP는 192.168로 시작한다..!..
마. 서브넷 마스크
1) 개념
A클래스 255.0.0.0(/8)
B클래스 255.255.0.0(/16)
C클래스 255.255.255.0(/24)
-> /8에서 8은 prefix(접두사)를 의미한다
255는 0이 8개. 그래서 A의 프리픽스가 /8임.
제어판에 보면 있음. 대부분 255.255.255.0임.
이게 다 C클래스라 그럼. 어지간한 회사는 다 C클래스임.

각 IP주소 클래스 별 서브넷 마스크
| A 클래스 | 255.0.0.0/8 |
| B 클래스 | 255.255.0.0/16 |
| C 클래스 | 255.255.255.0/24 |
| D 클래스 | 멀티 캐스트 주소 |
| E 클래스 | 연구용 주 |
/n은 프리픽스임. 1의 갯수가 8개, 16개, 24개
우리회사 직원이 5명인데 C클래스 받으면 꽤 낭비지. (255개니까)
그래서 얘를 여러개로 쪼개서 우리는 5개만 쓰고, 나머지는 다른 테이블에 양보하라고 서브넷 마스크가 있음. 대부분이 C클래스임.
바. CIDR -> 사이다
Classless Inter-Domain Routing 클래스 없는 도메인 간 라우팅 기법
Inter-Domain: 도메인(네트워크 그룹)들 사이의
1) 개념
서브네팅은 호스트를 줄인다 즉 내가 필요한게 5개니까 난 5개만 쓰고 다른 네트워크는 남들이 쓰슈~
슈퍼네팅은 호스트를 늘리는 것
기존의 C클래스인데 하나를 받으면 낭비가 심함. 그래서 비트 하나로 구분할 수 있는 경우의 수는 1또는 0임0> 2개
비트 할당량을 2개로 쪼개고, 비트가 두개면 4개로 쪼개짐. 나 이중 한 비트만 쓸테니까 나머지는 다른 사람들이 쓰슝 하고 넘김.
서브넷팅: 네트워크 한개면 너무 낭비라 네트워크를 쪼개서 나는 이것만 쓰고 나머지 네트웤은 다른 이들이 써라.
슈퍼네팅: 호스트를 늘리는게 슈퍼네팅
초기에는 직원이 5명이었는데 회사가 커져서 직원이 300명이 됨. 그렇다고 C클래스 하나 더 받으면 낭비가 심해지니까 호스트를 늘리는 것임.
2) 서브넷팅
가) 개념
HOST를 줄인다.
호스트를 줄이고 네트워크를 키움. 11111111.11111111.11111111.11100000 -> 하나의 네트워크를 2^3 -> 8개로 쪼갰음. 나는 1/8 C 클래스만 쓸거야. 나머지는 남들이 쓰셈.
-> 서브넷마스크 255.255.255.255.224: 아 DIDR에서 서브네팅을 사용했구나
-> prefix 255.255.255.224/27 -> 프리픽스가 27임. -> 하나의 네트워크를 논리적으로 8개(2^3)로 쪼갰군이 되는 것임.
나) 서브네팅 장점
IP의 손실을 줄일 수 있음.
보안성 항샹 -> 안 쪼갰으면 다 브로트캐스트 했을텐데, 쪼개니까 브로드캐스드가 나한테 쪼개진 애들한테만 감
트래픽 감소
3) 슈퍼네팅
HOST를 늘린다.
11111111.11111111.11111000.00000000
호스트가 늘어남. 슈퍼네팅은 호스트를 늘리는건데, IPv4에서 IPv6에서 전환까지 과도기적인 상황에서 사용함.
웃픈건 아직도 씀 ㅎ; 미국, 일본 등이 쓰거던.....
C 클래스가 192.168.1.0이면 내가 할당받은게 1임. 기본이 C클래스임.
서브넷 마스크는 255.255.255.0임.
근데 슈퍼네팅해서
11111111.11111111.11111000.00000000이면
서브넷 마스크가 255.255.248.0임. 이걸보면 얘가 슈퍼네팅했구나를 알 수 있음.
슈퍼네팅된 서브넷 마스크 계산방법: 같은 비트끼리는 1 다른 비트는 그 시점부터 전체가 0
...어...
11000000.10101000.00000001.00000000
11000000.10101000.00000101.00000000
11111111.11111111.11111000.00000000
-> 빨간 숫자 지점부터 다르기 때문에 다른 비트는 그 시점부터 전체가 0이다.
....그냥 그렇구나 넘어가고 나중에 관심 생기면 배우셈.
4) 문제
| 2^7 | 2^6 | 2^5 | 2^4 | 2^3 | 2^2 | 2^1 | 2 |
| 128 | 64 | 32 | 16 | 8 | 4 | 2 | 1 |
가) PC 28대를 4개의 네트워크로 서브넷 구성하려고 할 때 서브넷마스크 값은 다음과 같다.
- 총 PC 28대를 4개의 네트워크로 구성하려면 서브넷 마스크 값은 255.255.255.224가 된다.
호스트가 23대임. 이걸 네개의 네트워크로 쪼갬. 그럼 필요한 비트는 2비트임 00,01,10,11
하나의 네트워크를 4개로 쪼개서 나는 그중 한 칸만 쓰고 나머지는 다른 사람에게 분배해라 라는 의미임.
디폴트 서브넷마스크는 11111111.11111111.11111111.00000000
그런데 서브네팅은 호스트를 줄이는 것임.
28대 pc+스위치+브로드캐스트 -> 30개의 아이피가 필요함. = 5개의 비트가 필요함(2^5 = 32)
그래서 3개 비트가 남음. 그래서 11111111.11111111.111111111.11100000가 됨
그래서 서브넷 마스크가 255.255.255.224가 됨.
? 근데 4개로 쪼갠다고 했는데 왜 앞에서부터 비트가 6개일까? 왜 1110000일까?
4개에서 네트워크(스위치)와 브로드캐스트용으로 2개가 더 필요, 즉 6개의 네트워크 필요, 따라서 3개의 비트가 필요하다.
이하, 재미나이
28개의 PC를 4개의 방에 8개씩 n빵해서 넣는게 아니라, pc가 28개씩 4개의 방에 들어가는거.
그래서 32개인 11100000이 되고, 대역은 000,001,010,,,,이 됨.
이중 4개의 네트워크(000,001,010,011)를 우리회사가 쓴다고 생각하면 됨. -> 그러니까 걍 헷갈리라고 낸거...
그거랑 별개로 2555.255.255.224를 서브넷 마스크로 갖는데, 서브넷 마스크가 네트워크와 호스트를 가르는 기준선이라 그럼.
나) C 클래스 어드레스를 할당받은 사업장에서 팀별로 네트워크를 나누어 사용하려고 한다. 한 팀이 12개의 서브넷 ID를 원할 경우 이 사업장의 서브넷 마스크는?
11111111.11111111.111111111.11110000 = 255.255.255.240
11110000 = 16+32+64+128
참고.문제1) 128.23.16.0/20이 시작 주소인 IP주소 블록을 동일한 크기의 8개 주소 블록으로 나눌경우 얻어지는 서브넷의 시작 주소로 옳은 것은?
1. 128.23.0.0/23
2. 128.23.2.0/23
3. 128.23.20.0/23
4. 128.23.32.0/23
비유하자면 **서브넷 마스크는 '자(Rule)'**이고, **서브넷 시작점은 '눈금(Address)'**입니다.
프리픽스 20이 의미하는 것 -> 1이 앞에서부터 20개인 네트워크임.
128.23.16.0을 2진수로 바꾸면
10000000.00010111.00010000.00000000이고
네트워크 주소/호스트주소는
11111111.11111111.1111/0000.00000000임
그리고 이걸 8개로 쪼개라함.
그럼 네트워크 주소/호스트주소는
11111111.11111111.1111111/0.00000000가 됨
그럼 가질 수 있는 서브넷은 000,001,010,011,100,101,110,111로 8개임
근데 시작주소가 128.23.16.0이라서 여기서부터 2진법 000,001,010...을 표현하면
나올 수 있는 서브넷의 시작 주소는
10000000.00010111.00010000.00000000 = 128.23.16.0
10000000.00010111.00010010.00000000 = 128.23.18.0
10000000.00010111.00010100.00000000 = 128.23.20.0
10000000.00010111.00010110.00000000 = 128.23.22.0
10000000.00010111.00011000.00000000 = 128.23.24.0
10000000.00010111.00011010.00000000 = 128.23.26.0
10000000.00010111.00011100.00000000 = 128.23.28.0
10000000.00010111.00011110.00000000 = 128.23.30.0
이 됨.
따라서 답은 위에서 하나에 해당하는 서브넷을 찾으면 됨. -> 여기서는 3
-> 참고로 내가 위의 서브넷 8개를 모두 사용할 때 네트워크 주소는 128.23.16.0이고, 브로드캐스트 주소는 128.23.31.255임.
- 네트워크 ID: "너 어느 동네 사니?"에 대한 대답 (주소의 앞부분)
- 호스트 ID: "그 동네 몇 번지에 사니?"에 대한 대답 (주소의 뒷부분)
- 서브넷 마스크: "어디서부터 동네 이름이고 어디서부터 번지수인지" 알려주는 기준선
- 브로드캐스트: 같은 동네 모든 PC에게 보내는 전체 방송.
- 브로드캐스트 주소: 그 방송을 할 때 사용하는 전용 채널 번호(방의 마지막 주소).
- 서브네팅과의 관계: 방송 소음이 너무 커지지 않도록 방 크기를 적당히 나누는 작업.
참고 문제2) 네트워크 ID 210.182.73.0을 몇개의 서브넷으로 나누고, 각 서브넷은 적어도 40개 이상의 Host ID를 필요로한다. 적절한 서브넷 마스크 값은?
255.255.255.192
-> 서브넷은 네트워크 IP와 브로드캐스트 ID가 필요, 즉 42개의 IP주소가 필요
문제3) 10.0.0.0 네트워크 전체에서 마스크 값으로 255.240.0.0을 사용할 경우 유효한 서브네트 ID(시작주소)는?
255.240.0.0
11111111.11110000.00000000.00000000인데
B클래스의 앞의 네자리로 서브넷 하겠다. 따라서 나올 수 있는 경우의 수는
00000000~00001111 = 0~15 --시작주소--> 10.0.0.0
00010000~00011111 = 16~31 --시작주소--> 10.16.0.0
00100000~00101111 = 32~47 --시작주소--> 10.32.0.0
00110000~00111111 = 48~63 --시작주소--> 10.48.0.0
.
.
.
7. DHCP와 NAT
가. 개요
인터넷이 되려면 IP주소가 필요함. 근데 요즘은 IP가 필요한CCTV이런것도 있지. CCTV가 양방향이 되는거임. 인터넷을 통해서 관리자가 볼 수 있는 CCTV 등. 이게 문제가 됨. 중국제 CCTV, 월패드 카메라가 해킹되면 우리집 안방을 볼 수 있음.
아무튼 인터넷이 되려면 통신이 되려면 아ㅊ이피 주소가 부여되어 있어야함.
IPv4주소 체계로 현재 43억개 정도 부여가능.
근데 부족함 ㅎ;; 공인 아이피 할당 끝났음 ㅎ
1) IP주소
2) IPv4주소 체계
3) 공인 IP
4) 사설 IP
이거 가지고는 인터넷이 안되지만, 호스트 구분용으로 쓸 수 있음.
사설 아이피 대역은 약속임. 관리자가 임의대로 아이피를 부여해도 상관 무!
인터넷은 안됨.
| A 클래스 | 10.0.0.0~10.255.255.255 |
| B 클래스 | 172.16.0.0~172.31.255.255 |
| C 클래스 | 192.168.0.0~192.168.255.255 |
5) 고정 IP와 유동 IP
고정 IP는 회사, 아이피 추적해야하니까
유동 IP는 집. 집은 매번 아이피 대역이 다름. 만약 내 홈페이지를 만들려고 해. 그걸 외부에서 보려면 통신사에 전화해서 유동 IP를 고정아이피로 변경해야함. 왜냐면 통신사가 100만개의 IP를 확보했어도 고객은 300만명이기 때문, 300만명이 동시에 접속하지 않기 때문에 IP 돌려막기를 하는거라고..
집에서는 DHCP 프로토콜을 이용해서 통신사에서 확보한 남는 IP를 부여함.
나. DHCP와 NET의 등장배경
NAT장비는 아이피 공유기임.
다. DHCP
- 유동아이피임. 아이피 돌려막기 중임.
우리집이 있고 kt에서 구축한 DHCP클라이언트와 DHCP서가 있다,
내가 집 컴퓨터를 켜면 DHCP 클라이언트에게 IP달라고 함.
-> [클라->서버] 그럼 클라이언트가 서버에 요청함
-> [서버 -> 클라]DHCP offer(응답)
-> [클라-> 서버] DHCP Request(IP 요청) "우리 고객님이 컴퓨터 한댕, IP필요행"
-> [서버->클라] DHCP Ack 서버가 가진 아이피중 남는 아이피 할당
-> [클라 -> 호스트] IP할당
1) DHCP의 유용성
2) DHCP 동작과정
3) DHCP의 단점
인터넷을 안써도 일단 IP를 할당해봄.
라. IP 공유기 NAT
1) 개념
사설 IP를 써서 PC를 구분함.
우리집에 컴퓨터가 4대라고 치자. 그럼 NAT 하나만 공인 아이피를 쓰고, 컴퓨터들에게는 사설 IP를 부여.
하나의 IP를 여러명이 쓰기 위해 사용함.
2) NAT의 동작방식
우리집에 컴퓨터가 안방, 애들방 이런식으로 4대가 있음. 웹 서버는 뭐 네이버라고 치고, 그럼 nat장비 하나만 공인 아이피를 쓰고, 그 아래 pc들은 사설 아이피를 부여하는 것임. 사설 아이피로 통신은 안되고 호스트 구분용으로만 사용함. 여기에 각각의 포트 넘버를 부여함. 그래서 1번피시는 1.1.1.1의 11111번포트로 사설아이피를 만들고, 이걸 인터넷을 해야하니까 nat의 중계테이블에서 1.1.1.1 11111을 공인 IP(192.168.33.3)의 11111포트를 부여해서 인터넷을 할 수 있게 함.
2번 피시는 사설 아이피 2.2.2.2에 포트넘버 22222를 공인아이피 192.168.33.3에 22222로 통신함.
통신사가 보니까 아이피는 하난데 포트넘버는 계속 바뀌네? -> 공유기 떼라고 전화옴 ^^ 아이피 하나당 피시 한대로 계약하라고 ㅎㅎ ^^;;
NAT 장비는 아이피 공유기임.
보안 향상됨. 내부 아이피가 노출이 안되니까.
3) 목적
4) 종류
가) 개념
나) Static NAT
다) Dynamic NAT
5) 특징
아이피 주소 문제를 해결할 수 있음.
주소변환 기능도 있음.
내부 IP를 노출하지 않아 보안적으로 이득임.
6) NAT의 유용성
7) PAT: NAT이랑 비슷하고 NAT보다 성능 좋음.
8) 사설 IP 범위

마. DHCP와 NAT비교
우리가 집에서 인터넷 할 때, 제어판 셋팅 자동으로 하고
NAT은 하나의 공인 아이피를 가지고 여러대의 IP를 사설 아이피를 이용해서 인터넷을 할 수 있게 하는 것
'정보보안기사 > 2024 최적합 정보보호론' 카테고리의 다른 글
| PART4. 네트워크 보안 - SECTION 3. 라우터와 라우팅 프로토콜 (0) | 2026.02.13 |
|---|---|
| PART4. 네트워크 보안 - SECTION 2. 인터넷 - 문제풀이 (0) | 2026.02.11 |
| PART4. 네트워크 보안 - SECTION 1. 네트워크 개요 - 문제풀이 (0) | 2026.02.08 |
| PART4. 네트워크 보안 - SECTION 1. 네트워크 개요 (1) | 2026.02.08 |
| PART3. 접근통제 - 문제풀이 (0) | 2026.02.05 |