
TCP 5계층 그림
: 데이터들의 집합
: 규약
: 통신이 되기까지의 절차를 7개로 나눠놓음
응용: 편지의 내용을 씀
표현: 편지의 언어
세션: 유지 시간, TCP/IP 세션을 만들고 연결
— TCP 의 애플리케이션 계층 -
전송: 등기(TCP, 받는 사람에게 서명을 받음), 우편(UDP, 그냥 보내서 분실이 일어날 수 있음) 등 전송 방식을 정함
네트워크: 주소(받는 사람) - IP
데이터링크: 주소(보내는 사람) - MAC
물리: 실제로 물리적 선이 연결되는 계층
TCP: 안전성, 웹
UDP: 속도, 전화나 실시간 방송 등 패킷이 계속해서 실시간으로 빠르게 전달돼서 패킷이 소설돼도 크게 티가 안남
: 응용 계층에서 가장 중요함
: 서비스를 구별해주는 번호
: 각 서비스에 접근할 수 있게 해주는 번호

LISTEN 첫번째 행: 22번 포트를 사용하는 서비스를 사용 중이다
*포트는 클라이언트, 서버 양측 모두 사용(같은 프로토콜을 사용해야 하므로)
: 가장 기본이 되는 통신
방화벽에서 다시 등장
포트 번호는 TCP/UDP 프로토콜과 항상 함께 다님
→ 이 3개를 합쳐서 소켓이라고 함. 이 세개를 가지고 하는 통신을 소켓 통신



→ 단일 프로세스를 사용함을 알 수 있음(비신뢰성 통신)
TCP는 소프트웨어에 이미 내장되어있음

도식 그리는 툴: draw.io

ping 192.168.3.92 ✔ base 11:07:46
PING 192.168.3.92 (192.168.3.92): 56 data bytes
64 bytes from 192.168.3.92: icmp_seq=0 ttl=64 time=13.882 ms
64 bytes from 192.168.3.92: icmp_seq=1 ttl=64 time=14.782 ms
64 bytes from 192.168.3.92: icmp_seq=2 ttl=64 time=13.393 ms
64 bytes from 192.168.3.92: icmp_seq=3 ttl=64 time=5.896 ms
64 bytes from 192.168.3.92: icmp_seq=4 ttl=64 time=5.164 ms
64 bytes from 192.168.3.92: icmp_seq=5 ttl=64 time=12.621 ms
64 bytes from 192.168.3.92: icmp_seq=6 ttl=64 time=14.198 ms
64 bytes from 192.168.3.92: icmp_seq=7 ttl=64 time=9.320 ms
64 bytes from 192.168.3.92: icmp_seq=8 ttl=64 time=9.471 ms
64 bytes from 192.168.3.92: icmp_seq=9 ttl=64 time=7.284 ms
64 bytes from 192.168.3.92: icmp_seq=10 ttl=64 time=13.319 ms
64 bytes from 192.168.3.92: icmp_seq=11 ttl=64 time=8.341 ms
64 bytes from 192.168.3.92: icmp_seq=12 ttl=64 time=17.022 ms
64 bytes from 192.168.3.92: icmp_seq=13 ttl=64 time=13.419 ms
^C
--- 192.168.3.92 ping statistics ---
14 packets transmitted, 14 packets received, 0.0% packet loss
round-trip min/avg/max/stddev = 5.164/11.294/17.022/3.522 ms192.168.3.100
192.168.3.100 - IP 주소 (IPv4)
192.168.3.101 - IP 주소 (IPv4)
[이진수 변환]
11000000.10101000.00000011/.01100100
11000000.10101000.00000011/.01100101
`공통영역(서브넷 마스크) | 다른 영역(호스트 영역)`
[공통 영역을 전부 1로 채우고 다른 영역은 전부 0으로 채움]
11111111.11111111.11111111.00000000
: 255.255.255.0
192.168.3.100**/24**192.168.3.**0**/24 → 0의 시작점이 서브넷의 폭172.31.0.0/16 → 공통 영역 점 2개까지, 그러므로 1의 개수 16개 → 255.255.0.0 → 저 공통 영역이 작을수록 네트워크 망은 더 크고 넓은 것IP 주소의 첫 주소와 끝 주소는 사용할 수 없음. (256 -2 = 254 개 사용 가능?)
시작 주소는 서브넷주소이므로 ip주소에 포함 안됨
마지막 주소는 확성기 역할이므로 포함 안됨
192.168.3.0/26 0~63 (그러나 앞뒤로 2개는 사용 못하므로 62개 사용 가능)
192.168.3.64/26 64~127
192.168.3.128/26 128~191
192.168.3.192/26 192~255
192.168.3.0/31
→ 가능한 ip 주소인가?
→ 불가능. 왠지는 제대로 못들음
192.168.3.0/24
192.168.0.1
IPv4 에 따르면 2^32 = 43억개 가량. 당연히 다 소모가 될 것
그래서 우려먹기 위해 나온 개념이
→ 아예 처음에 IPv4 개발자들은 모자랄 거란 생각을 못함
→ 목적에 맞춰 IP를 분산시키자
→ 클래스 라는 개념이 등장
전체: 0.0.0.0 ~ 255.255.255.255
절반씩 뎅겅뎅겅 잘라서 지정함(공인 IP?)
A 클래스: 국가 0.0.0.0~127.255.255.255
B 클래스: 기업 128.0.0.0~191.255.255.255
C 클래스: 개인 192.0.0.0~223.255.255.255
— (아래는 중요하지 않고 잘 사용x)
D 클래스: 연구? 224.0.0.0~239.255.255.255
E 클래스: 연구? 240.0.0.0~255.255.255.255
A 클래스(국가)에서 아래만큼을 떼서 사설로 쓰자
10.0.0.0~10.255.255.255
서브넷마스크: 10.0.0.0/8
→ 왜 8?
B 클래스에서도 떼어와서 사설로 쓰자
172.16.0.0~172.31.255.255
서브넷마스크: 172.16.0.0/12
→ 왜 12?
C 클래스에서도 떼어와서 사설로 쓰자
192.168.0.0~192.168.255.255
서브넷마스크: 192.168.0.0/16
→ 왜 16?
우리도 사설 네트워크를 쓰고 있음.
사설 네트워크를 쓰고 있어서 IP가 부족하지 않은 것
서브넷마스크 등장
💡사설 네트워크를 사용하는데 어떻게 공인 IP와 통신할 수 있을까?
: NAT(Network Address Translation) 게이트웨이
라우터가 NAT 를 가지고 있음

안에선 사설이지만 나갈 땐 공인으로 바뀔 수 있게 함
그래서 공인IP 와 통신할 수 있게 됨
그럼 어떻게 돌아오느냐? NAT가? 기억해?놓음?

녹음 처음 부분 듣기
: DHCP는 Dynamic Host Configuration Protocol의 약자로, 네트워크에 연결된 장치들에게 IP 주소와 기타 네트워크 설정을 자동으로 할당하는 프로토콜

처음엔 ip 주소가 없음
ip 주소가 없는 상태로 서버를 먼저 찾음 68번 포트로
→ 마지막 주소 브로드캐스트로 찾음
서버가 그 브로드캐스트 요청을 받아서 다시 브로드캐스트로 응답을 보내는데, 그때 할당해줄 ip 주소를 yiaddr 에 적어서 넘겨줌.
lifetime(ip 임대시간) 만큼 할당해줄 수 있다고 말해줌(실제로 할당x)
실제로 할당해달라고 다시 요청을 보내고, 이젠 브로드캐스트말고 다른 세션으로 바꾸자고 id 바꿀수도 있음
요청을 받아들이면 ip 주소를 할당받음
→ ip주소가 바뀐다는 것 자체가 갑자기 위치가 바뀌는 것이므로 DHCP의 클라이언트는 개인 폰, 컴퓨터 등이 대부분
⇒ 이 과정을 아래와 같을 때 실행
다양한 서버
NGINX
HTTP
FTP
DB
DHCP

라우터는 3계층 장비
스위치는 2계층 장비(데이터링크, 물리) → ip주소 권한 x
스위치가 mac 주소를 기록해서 이 mac주소가 외부로 나가려고 한다고? 라우터에게 알려줌
IP 주소의 역할은 라우터에서 끝남
라우터에서 스위치로 넘겨줄 땐 IP 주소 사용 X, MAC 주소 사용
스위치가 각 컴퓨터를 찾을 땐 MAC 주소 사용
MAC 주소 테이블을 주기적으로 업데이트하는데? 만약 그 테이블에 없다면 브로드캐스트로 뿌려서 해당 컴퓨터를 찾는다?
그래서 스위치도 브로드캐스트를 많이 사용