이 책을 네트워크 수업 전에 봤더라면.. 내 학점이 달랐을까?
"데이터 통신의 단계와 순서"를 보여주는 설계도
데이터 내용, 헤더, 송수신 순서를 결정
프로토콜은 각 계층마다 존재하며, 각 계층의 프로토콜이 모여 Protocol Suite가 된다.
이 모델을 통해 일련의 OSI Standard Protocol Suite를 만들었지만, TCP/IP Protocol Suite가 오늘날의 De facto standard.
TCP/IP Model과 OSI Model은 아무런 관련이 없다.
각 계층은 그 하위 계층의 상황은 전혀 생각하지 않는다
케이블이 연결된 기기에 신호를 '전달'한다
"컴퓨터와 신호의 중개역"
NIC (Network Interface Card) : for LAN (Local Area Network) cable
DCE : for WAN
Flooding : 신호가 들어오면 -> 그 외 모든 포트 (Collision Range) 로 송신 => 충돌 위험
세그먼트에서 '데이터의 송수신'을 고려/제어한다
세그먼트 : 신호가 도달하는 범위
LAN -> Ethernet Rule 사용 (de facto)
비트열에 의미 주기
프레이밍을 시행해 송수신되는 신호가 '데이터가 된다.
preamble로서 0, 1을 교대로 보내 clock sync
*wire shark : 패킷캡쳐, 즉 NIC가 수신한 모든 ethernet frame을 capture
2계층의 Physical Address
Media Access Control
MAC 주소는 인터페이스 당 하나이며, 고유하다.
'세그먼트 간'에 데이터를 송수신한다
이 세그먼트를 (협의의) '네트워크'라고 부름
네트워크들을 서로 연결하는 것을 Internetwork 라고 부름
IP를 통해 addressing, routing을 수행한다.
3계층의 Logical Address
어드레싱과 라우팅
IP는 '소속된 네트워크 내에서' 유일하다.
IP = 32 bits = network # + computer(host) # = "어느 네트워크의 어느 컴퓨터"
*bit가 중요하다. 십진수로 표기된 것을 보고 혼동 노노
Dynamic Host Configuration Protocol
수동 설정 대신, DHCP 서버가 대여해주는 ip를 사용 (브로드캐스트 사용)
Address Resolution Protocol
APR Table : IP-MAC 매칭표. 표가 비었으면 브로드캐스트
Domain Name Server
도메인-IP 매칭표
송신처 MAC : NIC를 장착하면 바로 알 수 있음
송신처 IP : 수동 또는 DHCP 로 할당
수신처 IP : DNS로 획득
수신처 MAC : ARP로 확인
이후 데이터 전송 진행
목적지까지 도달하는 과정에서,
라우터(hop)는 네트워크 간 경계에 배치되어, 다음 수신처를 결정한다.
라우터가 없으면 다른 네트워크는 (설령 같은 허브일지라도) 데이터를 절대 전송할 수 없다. 그래서 일반적으로 각 컴퓨터는 default gateway 지정해둔다.
라우터에 인터페이스가 세개라면 -> 세 개의 네트워크에 소속된 셈
Longest Rule : 테이블에 있는 destination-nextRouter 조합에서, 지금 요청이 들어온 destination ip와 기존 destination들 중 제일 prefix가 많이 겹치는 쪽으로 결정해서 해당 nextRouter로 전송
Internet Control Message Protocol
에러 보고 프로토콜
IP 패킷(데이터그램)의 TTL이 만료되었을 때 에러를 제공한다.
*IP 패킷의 TTL과 DNS 레코드의 TTL은 다름. IP 패킷의 TTL은 1 hop마다 1씩 감소
ping
ICMP를 사용한다traceroute
는 ttl을 1씩 늘려가는 방식으로 라우팅 루트를 기록한다.신뢰성이 높은 전송을 수행한다 (신뢰성을 높인다)
Network Address Transmission
"내부 네트워크"를 구축하는 기술
내부 네트워크에서도 TCP/IP 통신을 하기 위해 사설 IP 주소를 할당해줌.
그런데 두 명의 내부 사용자가 동시에 global ip를 쓰려고 하면, 패킷이 돌아올 때 어느쪽에 데이터를 넣어줄지가 불분명하다 -> 동시 접속 불가
*추가 설명 : https://5kyc1ad.tistory.com/254
이에 따라, NAPT (Network Address Port Transmission) 가 등장 : 내부적으로 포트까지 하나씩 할당해주기 때문에 여러 기기가 동시에 인터넷 접속 가능
애플리케이션 간 대화가 세션으로서 성립하도록 제어한다 (Dialog Control)
*5,6,7은 TCP/IP 모델의 경우 통합해서 하나의 프로토콜이 된 경우가 많다 (ex. http)
컴퓨터 간 데이터 형식의 차이(OS, hardware)를 변환해 제거한다
압축이나 암호화도 수행한다.
(각각의 목적에 따라) 네트워크 서비스를 제공한다
각 목적에 따른 프로토콜이 존재한다
혹은, "tls/ssl은 무슨 레이어인가?"
우선, OSI 모델로 접근하는 건 정말 안좋은 생각이다. 그보다는 TCP/IP 모델 위에 5번째 '보안' 레이어를 얹었다고 이해하는 것이 좋다.