이 문서는 유튜브 '널널한 개발자 TV'님의 강의를 토대로 작성되었습니다.
#1 OSI 7계층과 DoD 4계층 모델
OSI-7 7계층의 구분 개념적인 모델
H/W 영역 : L1, L2
S/W 영역 (Kernel ) : L3, L4
S/W 영역 (USER, Application) : L5, L6, L7
DoD 4계층 모델 ( TCP/IP 4계층 ) 구분 개념적인 모델
H/W 영역 : Access (Network Interface)
S/W 영역 (Kernel ) : Network(Internet) / IP 주소 , Transport / Port 번호
S/W 영역 (USER, Application) : Application / MAC
*식별자
4계층 모델의 구현
H/W 영역 : Network Interface Card ( NIC )
S/W 영역 (Kernel ) : Driver(NIC 하드웨어를 동작시키는 Device Driver 존재) , IP, TCP
S/W 영역 (USER, Application) : Socket (File/커널의 구성요소를 User Mode Application에 추상화할 때, 네트워크에 관련된 추상화 File은 Socket이라고 부른다.), Process
소켓이 무엇인가?
TCP/IP 소켓이란, TCP를 user mode application이 접근할 수 있도록 File형식으로 추상화한 인터페이스
MAC address, IP 주소, Port 번호 👉 식별자 ! .... 무엇에 대한 식별자?
#2 MAC, IP 주소, Port 번호.... ?
MAC : NIC에 대한 식별자
NIC란, LAN 카드(유선/무선)를 말한다.
ex) 노트북에 유선과 무선 랜카드가 있다 -> NIC이 두 개 있다.
NIC란 호스트를 식별하는 것이 아니다. 어떤 호스트에 장착된 부품에 불과하다.
MAC 주소는 하드웨어 주소이다. MAC주소는 바꿀 수 있다.
IP 주소 : Host에 대한 식별자
Host란, 인터넷에 연결된 컴퓨터
ex) 한 컴퓨터에 IP주소는 몇 개? -> n개
why? NIC 한 개에 n개의 IP주소를 '바인딩'할 수 있다.
Port 번호 : Process 식별자? Service 식별자? 인터페이스 번호?
여러 가지 관점으로 해석된다. User mode, Kernel mode, H/W mode에서 각각 다르게 해석한다.
HOST : 네트워크에 연결된 컴퓨터
(1) Net 이용 주체 : End-point. 단말기. Peer, Server, Client...
(2) Net 자체 : Switch라고 부른다. Router, F/W, IPS...
인터넷이란, 라우터와 DNS의 집합체이다.
IP 주소는 8비트씩 끊어서 표시한다.
IP 주소 = Network ID+ Host ID
IP 주소에서 Netword ID의 길이를 나타내는 것이 서브넷 마스크(넷 마스크)이다.
IP주소와 서브넷 마스크를 bit 연산(AND)한 값이 Network ID이다.
그 외의 값이 Host ID이다.
개발자의 관점에서 Port 번호 : Process 식별자.
Socket에 붙는 정보 중 하나가 Port번호 / 기본적으로 16비트 정보.
경우의 수 2^16 > 0~65535 > 0과 65535는 안 쓴다 > 1~65534
Port번호를 식별하여 Process에 접근한다.
Switch(교차로), Switching(선택)?
Switching이란 어떤 인터페이스(경로)를 선택하는 일이다.
라우터는 기본적으로 L3(IP) Switching을 한다.
패킷 단위의 데이터가 라우터에 도착하면 Switching을 한다.
라우팅 테이블을 기준으로 최단 경로로 Switching을 한다.
#3 데이터 단위
Socket(File) 수준의 데이터 단위는 Stream이다 ( 용량이 계속 늘어날 수 있다. )
시작은 있는데 끝은 모른다.
TCP 데이터 단위 : Segment
IP 데이터 단위 : Packet
MAC 데이터 단위 : Frame
Application Process 가 File에 Stream데이터를 Write 한다.
Stream데이터가 TCP수준에 가면 분해(Segmentation)가 일어난다.
Stream 데이터를 일정 길이로 자른다.
일정 길이의 최대 값 : Maximum Segment Size
MMS는 Packet의 크기에 따라 결정된다.
Packet의 최대 크기 : Maximum Transfort Unit (1500 bytes)
#4 LAN과 WAN의 구분
Local과 Wide > 지역의 크기가 기준???
Logical(S/W) > Virtual
Internet은 Virtual Net > WAN / IP주소
Physical(Ethernet) > LAN / MAC 주소(48bit)
LAN이란?
물리적인 설명이 되는 네트워크. MAC 주소가 중요한 네트워크. 방송주소가 도달하는 범위.
#5 패킷의 생성 원리
Segment(L4) : 내용물 > Payload로 간다.
Packet(L3) = Header + Payload(1460 bytes) *encapsulation
Header = IP(L3, 20 bytes) + TCP(L4, 20bytes)
Deep Packet Inspection (DPI): Packet의 Payload를 조사하는 것.
Packet이 H/W수준에서 한번 더 캡슐화가 된 것 = Frame(L2)
#6 L2스위치(MAC 주소)
MAC 주소(48bit)
L2 Access : Endpoint(NIC)가 네트워크에서 처음 만나는 스위치 "방"
L2 Distribution : L2 Access를 위한 스위치 "한 층"
Uplink : L2 Access에서 L2 Distribution스위치로 가는 트래픽 (상위 계층 스위치로 가는 트래픽)
Link-up : 녹색(연결)
Link-down : 연결이 끊겼다
#7 IP헤더 형식과 의미
IP헤더의 TTL(Time To Live) 값이 라우터를 하나 지날 때마다 1씩 감소한다.
TTL은 8비트로 표현된다 > 255번 지나면 TTL은 0이 된다. > 라우터가 패킷을 버린다.
Protocol : L4 헤더 유형 확인. TCP? UDP?
Header checksum : 헤더의 오류 확인
Sourc address : 출발지 주소
Destination address : 목적지 주소
Wireshark ?
다음 포스팅에서는 라우터의 구조와 네트워크의 심화적인 부분에 대해 포스팅하겠다.
긴 글 읽어주셔서 감사드립니다.
22.12.10
'TIL (Today I Learned) > 컴퓨터 시스템(CS)' 카테고리의 다른 글
[CS] 네트워크 기초, Proxy #3 (1) | 2022.12.10 |
---|---|
[CS] 네트워크 기초, 네트워크 망 #2 (0) | 2022.12.10 |
[CS] CS:APP #9 (1) | 2022.12.06 |
[CS] 가상 메모리 Hybrid system #5 (0) | 2022.12.02 |
[CS] 가상 메모리 Segmentation system #4 (1) | 2022.12.02 |
댓글