네트워크란?
→ 인터넷, 정보공유, 망, 통신 우리가 생각하는 것들.
Protocol이란?
→ 통신 규약.
통신이란?
→ 정보를 나르는 것.
∴ 인터넷에서 정해진 약속으로 통신하는 것이 네트워크 프로토콜
(간단히 더 쉽게 네트워크는 2대의 컴퓨터가 서로 통신하는 것)
그렇다면 통신 약속 중 가장 유명하면서 대중적인 표준은?
→ OSI 7 계층 (Open Systems Interconnection Reference Model)
직역 : Open 공개 / System 사전에 정의된 행위를 하는 것 / Interconnection 통신 / Reference = 참조 / Model = 모델
만든 주체는?
→ ISO (국제표준기구)
컴퓨터가 네트워크 통신을 하기 위해서는 여러가지 기능과 역할이 있다.
즉, 분업화를 했다. 이것이 계층 = OSI 7 계층
통신을 하기 위해서는 3가지 주체가 필요하다.
→ LAN카드, OS(운영체제), 응용프로그램
LAN 카드는 L1, L2 계층 즉 물리 계층과 데이터 계층을 담당한다.
OS(운영체제)는 L3, L4 계층 즉 네트워크 계층과 전송 계층을 담당한다.
응용 프로그램은(Application)은 L5, L6,L7 즉 세션 계층, 표현 계층, 응용 프로그램 계층을 담당한다.
OSI 7계층
계층 | 이름 | 역할 |
1계층 | 물리적 계층 | 전기적 신호 담당(0 ,1) |
2계층 | 데이터 계층 | 랜 카드(=이더넷,MAC)를 통한 통신 |
3계층 | 데이터 계층 | IP(유일한 식별자) 주소 관리 |
4계층 | 전송 계층 | 정보 확인(신뢰성 있는 통신인지) |
5계층 | 세션 계층 | 동기화, 세션 유지 |
6계층 | 표현 계층 | 인코딩, 암호화 |
7계층 | 응용 계층 | 응용 프로그램 수행 |
Frame
L1과 L2 계층의 데이터와 헤더를 합친 것이 Frame(프레임)
Preamble : 사전에 정보가 온다고 신호로 알려 주는 것(받는 사람을 위해 존재, 신호는 전기적 신호(0, 1)를 말하는 것)
정확히는 송/수신 속도 일치에 주목적을 둠
SFD(Start Delimiter) : 신호가 한 박자 쉬고 간다고 알려주는 것. Bit열에서 Byte 단위로 식별 변경
Destination Address / Source Address : 목적지 주소와 출발지 주소. 즉 MAC 주소다.
Length(Type) : 2계층에서 3계층으로 넘어갈 때 어떤 식별자(어떤 프로토콜로 갈 지 알 수 없다.)
실제 3계층에는 1000개 이상의 프로토콜이 존재한다.
EX) Wireshark에서 확인 시 Length(Type)0x0800이 대부분 이다.(IPv4)
→ 출발지 주소 + 목적지 주소 + Lenth(Type) = 14 Byte = 이더넷 Header 이다.
데이터는 최대 1500Byte
FCS(Frame Check Sequence) : 무결성 체크(4Byte)
밑에서 다시 애기하겠지만 TCP Header의 최소 크기 20Byte + TCP Header의 최소 크기 20Byte + Frame Header 14Byte
따라서 프레임의 최소 사이즈는 54Byte이다.
IP(IPv4) 프로토콜 개요
- 비 연결형 프로토콜(Connectionless Protocol) : 연결 상태를 유지하지 않기 때문에 패킷 순서를 보장하지 않음.
- 비 신뢰성 프로토콜(Unreliable Protocol) : 신뢰성 있는 통신을 보장하지 않음
- 패킷을 분할/병합하는 기능을 수행
- Header Checksum만 제공
- Best Effort 방식의 전송기능
IP 프로토콜의 가장 중요한 점을 1개만 꼽자면 ?
→ 오직 빠르게만 전송하는 것이 목적이다.(쿠팡맨이라고 생각하면 된다.)
IP 프로토콜 구조
그림에서 볼 수 있듯 IP Header는 20Byte 이다.
0~31Bi = 4Byte
4Byte가 총 5개 Ver(Version Number)~DA IP(Destination IP)까지 20Byte가 Header이다.
1층의 Version Number(0.5Byte) : IPv4프로토콜을 담고있다. Version 4를 쓰면 IPv4가 들어간다.
IPv4는 대부분의 패킷이 4로 시작한다.(WireShark를 통해 확인 할 수 있다.)
Header Length : Header 크기ㅏ 20Byte인데 Header Length안에서는 단위가 다르다. 4Byte가 1로 들어온다.
따라서 Header 크기가 20이므로 5가 들어간다.(IHL이 Heder Length이다)
WireShark로 보면 대부분 패킷이 45로 시작한다.(IPv4에서 Header Length가 5 이므로)
4(IPv4)와 5가 합쳐져서 45이다.
Packet Length(Total Length)는 1500이 넘으면 잡아낸다. Frame Data에서 1500Byte밖에 못 보내므로
Identification(ID값) : 같은 영화를 분류하면 ID값이 같다. ex) A영화를 분할하면 A ID값만 존재. B영화를 분할하면 B영화 ID값으로만 나뉜다.
MF(More Framgment) : 마지막 패킷인지 아닌지 확인하는 것 마지막 패킷이면 0이 들어간다. 처음과 중간 패킷이면 1이 들어간다.
DF(Don't Fragment) : 이 패킷이 완벽하면 더 이상 나누지 말라는 뜻. 패킷 분할 금지
Time to Live(TTL) : 라우터를 거칠 때 마다 -1 이 된다. TTL값이 0이 되면 라우터에서 Drop이 된다. 즉 쓰레기 값이 된다.(버려진다는 뜻)
Nmap으로 상대방의 OS를 알 수 있는 이유가 TTL 때문이다.
OS 마다 TTL 초기값이 정해져 있다. 따라서 tracert로 알아 낼 수 있는 이유(TTL 값과 초기값을 빼서 비교해보면 된다.)
CIDR(Subnet Mask)
네트워크 기본 클래스
A, B, C 는 유니캐스트 통신에 사용한다.
멀티캐스트 사용 시 쓰는 주소
D Class (맨 앞에 비트가 1110인 공통 비트 클래스)
224.0.0.0 ~ 239.255.255.255 Subnet mask 없다.
1100000. 1110 1111.
IANA 예비용으로 예약한 주소
E Class (240~255)
240.0.0.0 ~ 255.255.255
예비용 주소라 사용할 일이 거의 드물다.
설정이 불가능한 주소
- D Class 224.0.0.0 ~ 239.255.255.255 사용 O , 설정 X
- E Class 240.0.0.0 ~ 255.255.255.255 사용 X , 설정 X
- 0.x.x.x 0.0.0.0 ~ 0.255.255.255 사용 X, 설정 X
- Local loopback 127.0.0.0 ~ 127.255.255.255 사용 O, 설정 X
- 네트워크 이름, 서브넷 브로드케스트 주소 사용 O, 설정 X
EX) 121.160.42.11 255.255.255.0
네트워크 주소 121.160.42.0 브로드캐스트 주소 121.160.42.255
서브넷 마스크
Prefix Mask / 설정 가능한 IP 주소 개수
Prefix Mask는 앞에서 부터 1로 표기하는 것
255.255.255.255 /32
255.255.255.0 /24 네트워크 주소가 24개 따라서 호스트 주소는 8개
255.255.0.0 /16
255.0.0.0 /8
0.0.0.0 /0
설정 가능한 IP 주소 개수
255.255.255.255
255.255.255.0 2^8 - 2 = 254개 ( 2개 빼는 이유는 네트워크와 브로드캐스트 주소를 뺸 것)
255.255.0.0 2^16 -2 = 65,534개
255.0.0.0 2^24 - 2 = 16,777,214개
0.0.0.0
다른 예제
255.255.255.252 /30 2^2 -2 = 2개
255.255.255.240 /28 2^4 -2 =14개
255.255.255.224 /27 2^5 -2 = 30개
255.255.255.128 /25 2^7 -2 = 126개
255.255.254.0 /23 2^9 -2 = 510개
255.255.248.0 /21 2^11 -2 = *개
즉, 앞에서 부터 1의 개수를 표기한 것
Classful vs Classless
Classful : Subnet을 무시하고 기존 Class 형태를 따른다
Classless : Subnet의 형태에 따라 네트워크 형태를 가진다
'기타 > 인턴활동' 카테고리의 다른 글
네트워크 기초 교육 - 4주차(UDP, TCP , 3Way Handshake, SLB) (0) | 2021.06.24 |
---|---|
네트워크 기초 교육 - 3주차(Router동작, Router Protocol, NAT, DHCP ) (0) | 2021.06.23 |
네트워크 기초 교육 - 2주차(L2 Switch 동작 방식, vLAN 의 이해, Trunk & Ethernetchannel, L3 Switching & HSRP ) (0) | 2021.06.22 |
기초 직무 교육 - 2일차(재직증명서, 휴가 신청서, 메일작성법, 동영상 요약 등) (0) | 2021.06.16 |
기초 직무 교육 - 1일차(사내 인사, 오피스 투어, 기초 소양 교육) (0) | 2021.06.15 |